feat(agent-task): add integration templates - #2957
Conversation
|
View your CI Pipeline Execution ↗ for commit 38fdb0e
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗ ☁️ Nx Cloud last updated this comment at |
There was a problem hiding this comment.
All reported issues were addressed across 8 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## staging #2957 +/- ##
===========================================
- Coverage 49.47% 46.53% -2.94%
===========================================
Files 1246 515 -731
Lines 27108 13604 -13504
Branches 8132 4215 -3917
===========================================
- Hits 13412 6331 -7081
+ Misses 11465 6203 -5262
+ Partials 2231 1070 -1161
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
2 issues found across 10 files (changes from recent commits).
Confidence score: 4/5
- In
service-card.tsx, unconstrained description text can overflow the card and bypass the intended line clamp whenshowDescriptionis enabled; add a width constraint to the text wrapper so long content wraps within the card. - In
service-new.tsx, the<Icon>color class is overridden byBaseServiceCard'scloneElementprops, so the intended brand color is not applied; preserve or explicitly pass the icon color through the card component.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="libs/domains/services/feature/src/lib/service-new/service-card/service-card.tsx">
<violation number="1" location="libs/domains/services/feature/src/lib/service-new/service-card/service-card.tsx:61">
P2: When `showDescription` is enabled, the card uses `items-start`, but this text wrapper has no width constraint. Long descriptions can extend beyond the card instead of wrapping within the card and honoring `line-clamp-3`; make the wrapper full width.</violation>
</file>
<file name="libs/domains/services/feature/src/lib/service-new/service-new.tsx">
<violation number="1" location="libs/domains/services/feature/src/lib/service-new/service-new.tsx:318">
P3: The `text-2xl text-[color:var(--brand-9)]` class on these `<Icon>` elements never takes effect. `BaseServiceCard` renders the icon via `cloneElement(icon, { width: 36, height: 36, className: 'h-9 w-9 shrink-0' })` (service-card.tsx detailedContent), and `cloneElement` overwrites the existing className instead of merging it. As a result the icons on the `Build & deployment optimizer`, `Start from scratch`, and `Need a specific agent? Contact us` cards ignore both `text-2xl` (size) and `var(--brand-9)` (color), rendering at the cloneElement's `h-9 w-9` size with the default inherited color. Drop the className from the JSX (the size is supplied by the card) or make the card merge, and move the brand color onto the `Icon` inside the logo `<span>` where cloneElement won't override it.</violation>
</file>
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
| {cloneElement(icon as ReactElement, { width: 36, height: 36, className: 'h-9 w-9 shrink-0' })} | ||
| <Icon iconName="chevron-right" className="shrink-0 text-sm text-neutral-subtle" /> | ||
| </span> | ||
| <span className="flex min-w-0 flex-col gap-1"> |
There was a problem hiding this comment.
P2: When showDescription is enabled, the card uses items-start, but this text wrapper has no width constraint. Long descriptions can extend beyond the card instead of wrapping within the card and honoring line-clamp-3; make the wrapper full width.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At libs/domains/services/feature/src/lib/service-new/service-card/service-card.tsx, line 61:
<comment>When `showDescription` is enabled, the card uses `items-start`, but this text wrapper has no width constraint. Long descriptions can extend beyond the card instead of wrapping within the card and honoring `line-clamp-3`; make the wrapper full width.</comment>
<file context>
@@ -24,27 +24,47 @@ export type ServiceBlock = {
+ {cloneElement(icon as ReactElement, { width: 36, height: 36, className: 'h-9 w-9 shrink-0' })}
+ <Icon iconName="chevron-right" className="shrink-0 text-sm text-neutral-subtle" />
+ </span>
+ <span className="flex min-w-0 flex-col gap-1">
+ <span className="text-sm font-medium leading-5 text-neutral">{title}</span>
+ <span className="line-clamp-3 text-xs font-normal leading-5 text-neutral-subtle">{description}</span>
</file context>
| <span className="flex min-w-0 flex-col gap-1"> | |
| <span className="flex w-full min-w-0 flex-col gap-1"> |
| )} | ||
| </> | ||
| ) : template.iconName ? ( | ||
| <Icon iconName={template.iconName} iconStyle="regular" className="text-2xl text-[color:var(--brand-9)]" /> |
There was a problem hiding this comment.
P3: The text-2xl text-[color:var(--brand-9)] class on these <Icon> elements never takes effect. BaseServiceCard renders the icon via cloneElement(icon, { width: 36, height: 36, className: 'h-9 w-9 shrink-0' }) (service-card.tsx detailedContent), and cloneElement overwrites the existing className instead of merging it. As a result the icons on the Build & deployment optimizer, Start from scratch, and Need a specific agent? Contact us cards ignore both text-2xl (size) and var(--brand-9) (color), rendering at the cloneElement's h-9 w-9 size with the default inherited color. Drop the className from the JSX (the size is supplied by the card) or make the card merge, and move the brand color onto the Icon inside the logo <span> where cloneElement won't override it.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At libs/domains/services/feature/src/lib/service-new/service-new.tsx, line 318:
<comment>The `text-2xl text-[color:var(--brand-9)]` class on these `<Icon>` elements never takes effect. `BaseServiceCard` renders the icon via `cloneElement(icon, { width: 36, height: 36, className: 'h-9 w-9 shrink-0' })` (service-card.tsx detailedContent), and `cloneElement` overwrites the existing className instead of merging it. As a result the icons on the `Build & deployment optimizer`, `Start from scratch`, and `Need a specific agent? Contact us` cards ignore both `text-2xl` (size) and `var(--brand-9)` (color), rendering at the cloneElement's `h-9 w-9` size with the default inherited color. Drop the className from the JSX (the size is supplied by the card) or make the card merge, and move the brand color onto the `Icon` inside the logo `<span>` where cloneElement won't override it.</comment>
<file context>
@@ -299,16 +300,22 @@ export function ServiceNew({
- iconStyle="regular"
- className="text-base text-[color:var(--brand-9)]"
- />
+ <Icon iconName={template.iconName} iconStyle="regular" className="text-2xl text-[color:var(--brand-9)]" />
) : null}
</span>
</file context>
Summary
Add integration-specific Agent Task templates on top of the trigger/output creation flow.
This PR builds on the Agent Task creation flow merged in #2956.
Screenshots / Recordings
N/A
Testing
domains-services-featurePR Checklist
.cursor/rules)Summary by cubic
Adds integration-specific Agent Task templates for incident.io, Honeybadger, Jira, and Linear, with official logos and credential placeholders. Replaces the single generic Incident Analyser template and updates the agent use-case catalog to render the branded logos, show each use case's description, and label the catalog as Beta. The Jira and Linear coding templates whitelist GitHub, GitLab, and Bitbucket hosts so the agents can open pull requests; the Jira template also whitelists
*.atlassian.netand configures Jira Cloud Basic authentication. The Linear template ships light and dark logo variants.Migration
incident-analysertemplate is replaced byincident-io-analyzerandhoneybadger-incident-analyzer; any links using the old ID break.SLACK_WEBHOOK_URLvariable.Written for commit 38fdb0e. Summary will update on new commits.