@stigmer/react 3.0.9-dev.20260615145121 → 3.0.9-dev.20260615153829

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/execution/ArtifactContentRenderer.d.ts.map +1 -1
  2. package/execution/ArtifactContentRenderer.js +7 -3
  3. package/execution/ArtifactContentRenderer.js.map +1 -1
  4. package/execution/ArtifactPreviewModal.d.ts +3 -3
  5. package/execution/ArtifactPreviewModal.js +4 -4
  6. package/execution/ArtifactPreviewModal.js.map +1 -1
  7. package/execution/MessageEntry.d.ts.map +1 -1
  8. package/execution/MessageEntry.js +7 -3
  9. package/execution/MessageEntry.js.map +1 -1
  10. package/execution/PlanArtifactCard.d.ts +25 -14
  11. package/execution/PlanArtifactCard.d.ts.map +1 -1
  12. package/execution/PlanArtifactCard.js +25 -10
  13. package/execution/PlanArtifactCard.js.map +1 -1
  14. package/execution/PlanCompletionCard.d.ts +12 -9
  15. package/execution/PlanCompletionCard.d.ts.map +1 -1
  16. package/execution/PlanCompletionCard.js +14 -9
  17. package/execution/PlanCompletionCard.js.map +1 -1
  18. package/execution/use-build-from-plan-hotkey.d.ts +19 -0
  19. package/execution/use-build-from-plan-hotkey.d.ts.map +1 -0
  20. package/execution/use-build-from-plan-hotkey.js +30 -0
  21. package/execution/use-build-from-plan-hotkey.js.map +1 -0
  22. package/internal/markdown-components.d.ts +18 -0
  23. package/internal/markdown-components.d.ts.map +1 -1
  24. package/internal/markdown-components.js +33 -0
  25. package/internal/markdown-components.js.map +1 -1
  26. package/package.json +4 -4
  27. package/portal-container.d.ts +9 -6
  28. package/portal-container.d.ts.map +1 -1
  29. package/portal-container.js +9 -6
  30. package/portal-container.js.map +1 -1
  31. package/provider.d.ts.map +1 -1
  32. package/provider.js +41 -19
  33. package/provider.js.map +1 -1
  34. package/src/__tests__/provider-theme-scope.test.tsx +94 -0
  35. package/src/execution/ArtifactContentRenderer.tsx +11 -2
  36. package/src/execution/ArtifactPreviewModal.tsx +7 -7
  37. package/src/execution/MessageEntry.tsx +14 -3
  38. package/src/execution/PlanArtifactCard.tsx +60 -51
  39. package/src/execution/PlanCompletionCard.tsx +20 -13
  40. package/src/execution/__tests__/ArtifactContentRenderer.test.tsx +47 -0
  41. package/src/execution/__tests__/ArtifactPreviewModal.test.tsx +6 -6
  42. package/src/execution/__tests__/MessageThread.test.tsx +3 -3
  43. package/src/execution/__tests__/PlanArtifactCard.test.tsx +120 -31
  44. package/src/execution/__tests__/PlanCompletionCard.test.tsx +31 -2
  45. package/src/execution/__tests__/message-entry.test.tsx +27 -0
  46. package/src/execution/use-build-from-plan-hotkey.ts +39 -0
  47. package/src/internal/__tests__/markdown-components.test.tsx +53 -0
  48. package/src/internal/markdown-components.tsx +36 -0
  49. package/src/portal-container.ts +9 -6
  50. package/src/provider.tsx +70 -23
  51. package/src/session/inspector/__tests__/ArtifactsTab.test.tsx +7 -7
  52. package/styles.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactContentRenderer.d.ts","sourceRoot":"","sources":["../../src/execution/ArtifactContentRenderer.tsx"],"names":[],"mappings":"AAcA,iDAAiD;AACjD,MAAM,WAAW,4BAA4B;IAC3C,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAmB,EACnB,SAAS,GACV,EAAE,4BAA4B,2CAkB9B"}
1
+ {"version":3,"file":"ArtifactContentRenderer.d.ts","sourceRoot":"","sources":["../../src/execution/ArtifactContentRenderer.tsx"],"names":[],"mappings":"AAeA,iDAAiD;AACjD,MAAM,WAAW,4BAA4B;IAC3C,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAmB,EACnB,SAAS,GACV,EAAE,4BAA4B,2CAkB9B"}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useState } from "react";
3
+ import { useMemo, useState } from "react";
4
4
  import Markdown from "react-markdown";
5
5
  import { cn } from "@stigmer/theme";
6
- import { MARKDOWN_COMPONENTS, REMARK_PLUGINS, } from "../internal/markdown-components";
6
+ import { MARKDOWN_COMPONENTS, REMARK_PLUGINS, unwrapEnclosingMarkdownFence, } from "../internal/markdown-components";
7
7
  import { getArtifactRenderMode, } from "./artifact-utils";
8
8
  /**
9
9
  * File-type-aware content renderer for execution artifacts.
@@ -49,7 +49,11 @@ export function ArtifactContentRenderer({ content, fileName, contentType, isTrun
49
49
  }
50
50
  function MarkdownView({ content }) {
51
51
  const [tab, setTab] = useState("rendered");
52
- return (_jsxs("div", { children: [_jsx("div", { className: "flex items-center border-b border-border px-4 py-1.5", children: _jsxs("div", { className: "inline-flex rounded-md bg-muted p-0.5", role: "tablist", "aria-label": "View mode", children: [_jsx(TabButton, { active: tab === "rendered", onClick: () => setTab("rendered"), label: "Rendered" }), _jsx(TabButton, { active: tab === "source", onClick: () => setTab("source"), label: "Source" })] }) }), tab === "rendered" ? (_jsx("div", { className: "p-5", children: _jsx(Markdown, { remarkPlugins: REMARK_PLUGINS, components: MARKDOWN_COMPONENTS, children: content }) })) : (_jsx(LineNumberedPre, { content: content }))] }));
52
+ // A `.md` whose entire body is one ```markdown fence (e.g. a model-wrapped
53
+ // plan) would render flat. Unwrap for the Rendered view only — Source stays
54
+ // byte-faithful to the stored artifact.
55
+ const rendered = useMemo(() => unwrapEnclosingMarkdownFence(content), [content]);
56
+ return (_jsxs("div", { children: [_jsx("div", { className: "flex items-center border-b border-border px-4 py-1.5", children: _jsxs("div", { className: "inline-flex rounded-md bg-muted p-0.5", role: "tablist", "aria-label": "View mode", children: [_jsx(TabButton, { active: tab === "rendered", onClick: () => setTab("rendered"), label: "Rendered" }), _jsx(TabButton, { active: tab === "source", onClick: () => setTab("source"), label: "Source" })] }) }), tab === "rendered" ? (_jsx("div", { className: "p-5", children: _jsx(Markdown, { remarkPlugins: REMARK_PLUGINS, components: MARKDOWN_COMPONENTS, children: rendered }) })) : (_jsx(LineNumberedPre, { content: content }))] }));
53
57
  }
54
58
  function TabButton({ active, onClick, label, }) {
55
59
  return (_jsx("button", { type: "button", role: "tab", "aria-selected": active, onClick: onClick, className: cn("rounded-sm px-2.5 py-1 text-xs font-medium transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", active
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactContentRenderer.js","sourceRoot":"","sources":["../../src/execution/ArtifactContentRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArtifactContentRenderer.js","sourceRoot":"","sources":["../../src/execution/ArtifactContentRenderer.tsx"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export interface ArtifactPreviewContentProps {
25
25
  */
26
26
  readonly onApplied?: (result: ApplyResourceResult) => void;
27
27
  /**
28
- * Optional "Implement" action. When provided, an Implement primary
28
+ * Optional plan-build action. When provided, a "Build from plan" primary
29
29
  * button appears in the action bar (used for plan artifacts: turn the
30
30
  * plan into an Agent run). Clicking it calls `onImplement` then closes
31
31
  * the modal. Omit for non-actionable artifacts.
@@ -107,8 +107,8 @@ export interface ArtifactPreviewModalProps {
107
107
  */
108
108
  readonly onApplied?: (result: ApplyResourceResult) => void;
109
109
  /**
110
- * Optional "Implement" action (see {@link ArtifactPreviewContentProps.onImplement}).
111
- * When provided, an Implement primary button appears; clicking it calls
110
+ * Optional plan-build action (see {@link ArtifactPreviewContentProps.onImplement}).
111
+ * When provided, a "Build from plan" primary button appears; clicking it calls
112
112
  * `onImplement` then closes the modal.
113
113
  */
114
114
  readonly onImplement?: () => void;
@@ -136,9 +136,9 @@ export function ArtifactPreviewContent({ artifact, executionId, org, isTerminal,
136
136
  else if (skillDetection.detected) {
137
137
  ctaLabel = `Push Skill to ${org}`;
138
138
  }
139
- // Implement runs the plan; closing the modal lets the host's submit pipeline
140
- // take over (switch to Agent + send). Single combined handler keeps the
141
- // caller's contract simple ("just give me onImplement").
139
+ // "Build from plan" runs the plan; closing the modal lets the host's submit
140
+ // pipeline take over (switch to Agent + send). Single combined handler keeps
141
+ // the caller's contract simple ("just give me onImplement").
142
142
  const handleImplement = useCallback(() => {
143
143
  onImplement?.();
144
144
  onClose();
@@ -244,7 +244,7 @@ function EntryIcon({ name }) {
244
244
  function ActionBar({ artifact, isDirectory, hasContent, copied, onCopy, isDetected, ctaLabel, isTerminal, isApplying, applyResult, applyError, onApply, onImplement, }) {
245
245
  return (_jsxs("div", { className: "flex items-center justify-between gap-3 border-t border-border px-4 py-3", children: [_jsxs("div", { className: "flex items-center gap-3", children: [!isDirectory && hasContent && (_jsxs("button", { type: "button", onClick: onCopy, "aria-label": copied ? "Copied to clipboard" : "Copy content", className: cn("inline-flex items-center gap-1.5 text-xs font-medium transition-colors", copied
246
246
  ? "text-success"
247
- : "text-muted-foreground hover:text-foreground", FOCUS_RING_CLASSES), children: [copied ? _jsx(CheckIcon, {}) : _jsx(CopyIcon, {}), copied ? "Copied" : "Copy"] })), _jsxs("a", { href: artifact.downloadUrl, download: true, className: cn("inline-flex items-center gap-1.5 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground", FOCUS_RING_CLASSES), children: [_jsx(DownloadIcon, {}), isDirectory ? "Download ZIP" : "Download"] })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-3", children: [onImplement && (_jsxs("button", { type: "button", onClick: onImplement, className: cn("inline-flex items-center gap-1.5 rounded-md px-4 py-1.5 text-xs font-medium transition-colors", "bg-primary text-primary-foreground hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"), children: [_jsx(ImplementIcon, {}), "Implement"] })), applyResult ? (_jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs font-medium text-success", children: [_jsx(CheckIcon, {}), "Applied ", "\u00B7", " ", applyResult.name || applyResult.kind] })) : applyError ? (_jsxs("span", { className: "inline-flex items-center gap-2", role: "alert", children: [_jsx("span", { className: "text-xs text-destructive", children: applyError.message }), _jsx("button", { type: "button", onClick: onApply, className: cn("text-xs font-medium text-destructive underline transition-colors hover:text-destructive-muted", FOCUS_RING_CLASSES), children: "Retry" })] })) : isDetected && ctaLabel ? (_jsx("span", { "data-cursor-target": "apply-resource-button", children: _jsx(ApplyButton, { label: ctaLabel, isTerminal: isTerminal, isApplying: isApplying, onApply: onApply }) })) : null] })] }));
247
+ : "text-muted-foreground hover:text-foreground", FOCUS_RING_CLASSES), children: [copied ? _jsx(CheckIcon, {}) : _jsx(CopyIcon, {}), copied ? "Copied" : "Copy"] })), _jsxs("a", { href: artifact.downloadUrl, download: true, className: cn("inline-flex items-center gap-1.5 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground", FOCUS_RING_CLASSES), children: [_jsx(DownloadIcon, {}), isDirectory ? "Download ZIP" : "Download"] })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-3", children: [onImplement && (_jsxs("button", { type: "button", onClick: onImplement, className: cn("inline-flex items-center gap-1.5 rounded-md px-4 py-1.5 text-xs font-medium transition-colors", "bg-primary text-primary-foreground hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"), children: [_jsx(ImplementIcon, {}), "Build from plan"] })), applyResult ? (_jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs font-medium text-success", children: [_jsx(CheckIcon, {}), "Applied ", "\u00B7", " ", applyResult.name || applyResult.kind] })) : applyError ? (_jsxs("span", { className: "inline-flex items-center gap-2", role: "alert", children: [_jsx("span", { className: "text-xs text-destructive", children: applyError.message }), _jsx("button", { type: "button", onClick: onApply, className: cn("text-xs font-medium text-destructive underline transition-colors hover:text-destructive-muted", FOCUS_RING_CLASSES), children: "Retry" })] })) : isDetected && ctaLabel ? (_jsx("span", { "data-cursor-target": "apply-resource-button", children: _jsx(ApplyButton, { label: ctaLabel, isTerminal: isTerminal, isApplying: isApplying, onApply: onApply }) })) : null] })] }));
248
248
  }
249
249
  function ApplyButton({ label, isTerminal, isApplying, onApply, }) {
250
250
  const canApply = isTerminal && !isApplying;
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactPreviewModal.js","sourceRoot":"","sources":["../../src/execution/ArtifactPreviewModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArtifactPreviewModal.js","sourceRoot":"","sources":["../../src/execution/ArtifactPreviewModal.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageEntry.d.ts","sourceRoot":"","sources":["../../src/execution/MessageEntry.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAMpG,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,YAAY,yDAyCvB,CAAC"}
1
+ {"version":3,"file":"MessageEntry.d.ts","sourceRoot":"","sources":["../../src/execution/MessageEntry.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AASpG,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,YAAY,yDAyCvB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { memo, useState } from "react";
3
+ import { memo, useMemo, useState } from "react";
4
4
  import { Streamdown } from "streamdown";
5
5
  import { MessageType } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
6
6
  import { cn } from "@stigmer/theme";
7
- import { MARKDOWN_COMPONENTS } from "../internal/markdown-components";
7
+ import { MARKDOWN_COMPONENTS, unwrapEnclosingMarkdownFence, } from "../internal/markdown-components";
8
8
  import { useRenderTracer } from "../internal/dev";
9
9
  /**
10
10
  * Renders a single message in the conversation thread.
@@ -57,7 +57,11 @@ function EditIcon() {
57
57
  }
58
58
  function AiMessage({ content, isStreaming, className, }) {
59
59
  useRenderTracer("AiMessage", { contentLength: content.length, isStreaming });
60
- return (_jsx("div", { role: "article", "aria-label": "AI response", "aria-busy": isStreaming, className: cn("px-4 py-3", className), children: _jsx("div", { className: "stgm-prose", children: _jsx(Streamdown, { components: MARKDOWN_COMPONENTS, isAnimating: isStreaming, caret: "block", children: content }) }) }));
60
+ // A model that wraps its whole reply in a ```markdown fence (Plan-mode plans
61
+ // most often) would otherwise render as one flat code block. Unwrap it here,
62
+ // at the render seam, so the transcript stays faithful to what the agent sent.
63
+ const markdown = useMemo(() => unwrapEnclosingMarkdownFence(content), [content]);
64
+ return (_jsx("div", { role: "article", "aria-label": "AI response", "aria-busy": isStreaming, className: cn("px-4 py-3", className), children: _jsx("div", { className: "stgm-prose", children: _jsx(Streamdown, { components: MARKDOWN_COMPONENTS, isAnimating: isStreaming, caret: "block", children: markdown }) }) }));
61
65
  }
62
66
  const THINKING_PREVIEW_LENGTH = 80;
63
67
  function ThinkingMessage({ content, isStreaming, className, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"MessageEntry.js","sourceRoot":"","sources":["../../src/execution/MessageEntry.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageEntry.js","sourceRoot":"","sources":["../../src/execution/MessageEntry.tsx"],"names":[],"mappings":"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"}
@@ -6,29 +6,40 @@ export interface PlanArtifactCardProps {
6
6
  /** The published `plan.md` artifact (from `findPlanArtifact`). */
7
7
  readonly artifact: ExecutionArtifact;
8
8
  /**
9
- * Organization slug. Required for the "Review plan" modal (the shared
10
- * {@link ArtifactPreviewModal} uses it for its detection/apply pipeline).
11
- * When omitted, the Review action is hidden — Implement and Download remain.
9
+ * Organization slug. Required for the "Open full" modal (the shared
10
+ * {@link ArtifactPreviewModal} uses it for its detection/apply pipeline and
11
+ * to fetch the content). When omitted, "Open full" is hidden — the prominent
12
+ * "Build from plan" action and "Download" remain.
12
13
  */
13
14
  readonly org?: string;
14
- /** Called when the user clicks "Implement". Hidden when omitted. */
15
+ /** Called when the user clicks "Build from plan". Hidden when omitted. */
15
16
  readonly onImplement?: () => void;
16
- /** Disables the Implement CTA (e.g., while an execution is active). */
17
+ /** Disables the primary CTA (e.g., while an execution is active). */
17
18
  readonly disabled?: boolean;
18
19
  /** Additional CSS classes for the root element. */
19
20
  readonly className?: string;
20
21
  }
21
22
  /**
22
- * Reviewable card shown after a completed Plan-mode execution when the agent
23
- * published a `plan.md` artifact.
23
+ * Action surface for a plan that a completed Plan-mode execution published as a
24
+ * `plan.md` artifact.
24
25
  *
25
- * Presentational by design: it surfaces the plan as a first-class object with
26
- * three actions **Implement** (turn the plan into an Agent run), **Review
27
- * plan** (open the rendered plan in the shared {@link ArtifactPreviewModal},
28
- * the same popup used elsewhere for artifact previews where Copy and an
29
- * Implement CTA also live), and **Download** the `plan.md` file. The plan text
30
- * is the single source of truth (the published artifact); the modal fetches it
31
- * on demand, so the card itself holds no plan content.
26
+ * It is rendered immediately below the plan message in the thread (which already
27
+ * shows the plan as rich markdown — the message renderer unwraps a model's
28
+ * enclosing markdown fence), so this card deliberately holds **no** plan
29
+ * content: the message is the document and this is its action bar. Rendering
30
+ * the plan a second time here would duplicate the same text the message and the
31
+ * "Open full" modal already show.
32
+ *
33
+ * The hierarchy is the point: one prominent, themeable primary action —
34
+ * **Build from plan** — with **Open full** and **Download** as subdued
35
+ * secondaries, so the next step is unmistakable. A small negative top margin
36
+ * pulls the bar against the plan message so the two read as a single
37
+ * first-class plan block.
38
+ *
39
+ * Kept as its own thread item (not merged into the message) on purpose: merging
40
+ * would change the streamed message item's identity at completion and remount
41
+ * the just-streamed plan. Adjacent-and-attached gets the unified look with no
42
+ * remount.
32
43
  *
33
44
  * All visual properties flow through `--stgm-*` tokens; the component is
34
45
  * self-contained and embeddable.
@@ -1 +1 @@
1
- {"version":3,"file":"PlanArtifactCard.d.ts","sourceRoot":"","sources":["../../src/execution/PlanArtifactCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AAI1G,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,6DA4F3B,CAAC"}
1
+ {"version":3,"file":"PlanArtifactCard.d.ts","sourceRoot":"","sources":["../../src/execution/PlanArtifactCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AAK1G,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gBAAgB,6DAyF3B,CAAC"}
@@ -4,24 +4,39 @@ import { memo, useState } from "react";
4
4
  import { cn } from "@stigmer/theme";
5
5
  import { ArtifactPreviewModal } from "./ArtifactPreviewModal";
6
6
  import { formatArtifactSize } from "./artifact-utils";
7
+ import { useBuildFromPlanHotkey } from "./use-build-from-plan-hotkey";
7
8
  /**
8
- * Reviewable card shown after a completed Plan-mode execution when the agent
9
- * published a `plan.md` artifact.
9
+ * Action surface for a plan that a completed Plan-mode execution published as a
10
+ * `plan.md` artifact.
10
11
  *
11
- * Presentational by design: it surfaces the plan as a first-class object with
12
- * three actions **Implement** (turn the plan into an Agent run), **Review
13
- * plan** (open the rendered plan in the shared {@link ArtifactPreviewModal},
14
- * the same popup used elsewhere for artifact previews where Copy and an
15
- * Implement CTA also live), and **Download** the `plan.md` file. The plan text
16
- * is the single source of truth (the published artifact); the modal fetches it
17
- * on demand, so the card itself holds no plan content.
12
+ * It is rendered immediately below the plan message in the thread (which already
13
+ * shows the plan as rich markdown — the message renderer unwraps a model's
14
+ * enclosing markdown fence), so this card deliberately holds **no** plan
15
+ * content: the message is the document and this is its action bar. Rendering
16
+ * the plan a second time here would duplicate the same text the message and the
17
+ * "Open full" modal already show.
18
+ *
19
+ * The hierarchy is the point: one prominent, themeable primary action —
20
+ * **Build from plan** — with **Open full** and **Download** as subdued
21
+ * secondaries, so the next step is unmistakable. A small negative top margin
22
+ * pulls the bar against the plan message so the two read as a single
23
+ * first-class plan block.
24
+ *
25
+ * Kept as its own thread item (not merged into the message) on purpose: merging
26
+ * would change the streamed message item's identity at completion and remount
27
+ * the just-streamed plan. Adjacent-and-attached gets the unified look with no
28
+ * remount.
18
29
  *
19
30
  * All visual properties flow through `--stgm-*` tokens; the component is
20
31
  * self-contained and embeddable.
21
32
  */
22
33
  export const PlanArtifactCard = memo(function PlanArtifactCard({ executionId, artifact, org, onImplement, disabled, className, }) {
23
34
  const [previewOpen, setPreviewOpen] = useState(false);
24
- return (_jsxs("div", { role: "region", "aria-label": "Plan ready to review", className: cn("mx-4 overflow-hidden rounded-md border border-border-muted bg-muted-faint", className), children: [_jsxs("div", { className: "flex items-center gap-3 px-3 py-2.5", children: [_jsx(PlanIcon, {}), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "text-xs font-medium text-foreground", children: "Plan ready to review" }), _jsxs("div", { className: "text-xs tabular-nums text-muted-foreground", children: [artifact.name, " \u00B7 ", formatArtifactSize(artifact.sizeBytes)] })] }), onImplement && (_jsxs("button", { type: "button", disabled: disabled, onClick: onImplement, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5", "text-xs font-medium transition-colors", "bg-primary text-primary-foreground hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: [_jsx(ImplementIcon, {}), "Implement"] }))] }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-4 gap-y-1 border-t border-border-muted px-3 py-1.5", children: [org && (_jsxs("button", { type: "button", onClick: () => setPreviewOpen(true), className: cn("inline-flex items-center gap-1 text-xs font-medium text-primary transition-colors hover:text-primary-muted", FOCUS_RING), children: [_jsx(ExpandIcon, {}), "Review plan"] })), _jsxs("a", { href: artifact.downloadUrl, download: artifact.name, className: cn("inline-flex items-center gap-1 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground", FOCUS_RING), children: [_jsx(DownloadIcon, {}), "Download"] })] }), org && previewOpen && (_jsx(ArtifactPreviewModal, { artifact: artifact, executionId: executionId, org: org, isTerminal: true, open: true, onClose: () => setPreviewOpen(false), onImplement: onImplement }))] }));
35
+ const handleKeyDown = useBuildFromPlanHotkey(onImplement, disabled);
36
+ return (_jsxs("div", { role: "region", "aria-label": "Plan actions", onKeyDown: handleKeyDown, className: cn(
37
+ // `-mt-2` tightens the thread's `gap-4` so the bar attaches to the
38
+ // plan message above it, reading as one first-class plan block.
39
+ "mx-4 -mt-2 flex flex-wrap items-center gap-x-3 gap-y-2 rounded-md", "border border-border-muted bg-muted-faint px-3 py-2", className), children: [_jsx(PlanIcon, {}), _jsx("span", { className: "text-xs font-medium text-foreground", children: "Plan" }), _jsx("span", { className: "text-xs tabular-nums text-muted-foreground-faint", children: formatArtifactSize(artifact.sizeBytes) }), _jsxs("div", { className: "ml-auto flex flex-wrap items-center gap-x-3 gap-y-1.5", children: [org && (_jsxs("button", { type: "button", onClick: () => setPreviewOpen(true), className: cn("inline-flex items-center gap-1 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground", FOCUS_RING), children: [_jsx(ExpandIcon, {}), "Open full"] })), _jsxs("a", { href: artifact.downloadUrl, download: artifact.name, className: cn("inline-flex items-center gap-1 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground", FOCUS_RING), children: [_jsx(DownloadIcon, {}), "Download"] }), onImplement && (_jsxs("button", { type: "button", disabled: disabled, onClick: onImplement, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5", "text-xs font-medium transition-colors", "bg-primary text-primary-foreground hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: [_jsx(ImplementIcon, {}), "Build from plan"] }))] }), org && previewOpen && (_jsx(ArtifactPreviewModal, { artifact: artifact, executionId: executionId, org: org, isTerminal: true, open: true, onClose: () => setPreviewOpen(false), onImplement: onImplement }))] }));
25
40
  });
26
41
  const FOCUS_RING = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:rounded-sm";
27
42
  function PlanIcon() {
@@ -1 +1 @@
1
- {"version":3,"file":"PlanArtifactCard.js","sourceRoot":"","sources":["../../src/execution/PlanArtifactCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanArtifactCard.js","sourceRoot":"","sources":["../../src/execution/PlanArtifactCard.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** Props for {@link PlanCompletionCard}. */
2
2
  export interface PlanCompletionCardProps {
3
- /** Called when the user clicks the "Implement" button. */
3
+ /** Called when the user clicks the "Build from plan" button. */
4
4
  readonly onImplement?: () => void;
5
5
  /** Disables the CTA button (e.g., while an execution is active). */
6
6
  readonly disabled?: boolean;
@@ -8,16 +8,19 @@ export interface PlanCompletionCardProps {
8
8
  readonly className?: string;
9
9
  }
10
10
  /**
11
- * Inline CTA card shown in the {@link MessageThread} after a completed
12
- * Plan-mode execution.
11
+ * Fallback CTA shown in the {@link MessageThread} after a completed Plan-mode
12
+ * execution that did **not** publish a `plan.md` artifact (older executions, or
13
+ * a plan whose upload failed). When a plan artifact exists, the richer
14
+ * {@link PlanArtifactCard} is shown instead.
13
15
  *
14
- * Offers a single "Implement" action that the consumer wires to switch
15
- * the interaction mode to Agent, pre-fill the composer, and focus it.
16
+ * Mirrors `PlanArtifactCard`'s hierarchy one prominent, themeable "Build from
17
+ * plan" primary action with the same card-scoped `Cmd/Ctrl+Enter` accelerator
18
+ * so the two cards feel like the same affordance. The consumer wires the action
19
+ * to switch the interaction mode to Agent and submit the implement turn.
16
20
  *
17
- * Renders nothing when `onImplement` is not provided, so the card is
18
- * fully opt-in from the consumer's perspective.
19
- *
20
- * All visual properties flow through `--stgm-*` tokens.
21
+ * Renders nothing when `onImplement` is not provided, so the card is fully
22
+ * opt-in from the consumer's perspective. All visual properties flow through
23
+ * `--stgm-*` tokens.
21
24
  */
22
25
  export declare const PlanCompletionCard: import("react").NamedExoticComponent<PlanCompletionCardProps>;
23
26
  //# sourceMappingURL=PlanCompletionCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanCompletionCard.d.ts","sourceRoot":"","sources":["../../src/execution/PlanCompletionCard.tsx"],"names":[],"mappings":"AAKA,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,+DAuC7B,CAAC"}
1
+ {"version":3,"file":"PlanCompletionCard.d.ts","sourceRoot":"","sources":["../../src/execution/PlanCompletionCard.tsx"],"names":[],"mappings":"AAMA,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,+DA0C7B,CAAC"}
@@ -2,22 +2,27 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { memo } from "react";
4
4
  import { cn } from "@stigmer/theme";
5
+ import { useBuildFromPlanHotkey } from "./use-build-from-plan-hotkey";
5
6
  /**
6
- * Inline CTA card shown in the {@link MessageThread} after a completed
7
- * Plan-mode execution.
7
+ * Fallback CTA shown in the {@link MessageThread} after a completed Plan-mode
8
+ * execution that did **not** publish a `plan.md` artifact (older executions, or
9
+ * a plan whose upload failed). When a plan artifact exists, the richer
10
+ * {@link PlanArtifactCard} is shown instead.
8
11
  *
9
- * Offers a single "Implement" action that the consumer wires to switch
10
- * the interaction mode to Agent, pre-fill the composer, and focus it.
12
+ * Mirrors `PlanArtifactCard`'s hierarchy one prominent, themeable "Build from
13
+ * plan" primary action with the same card-scoped `Cmd/Ctrl+Enter` accelerator
14
+ * so the two cards feel like the same affordance. The consumer wires the action
15
+ * to switch the interaction mode to Agent and submit the implement turn.
11
16
  *
12
- * Renders nothing when `onImplement` is not provided, so the card is
13
- * fully opt-in from the consumer's perspective.
14
- *
15
- * All visual properties flow through `--stgm-*` tokens.
17
+ * Renders nothing when `onImplement` is not provided, so the card is fully
18
+ * opt-in from the consumer's perspective. All visual properties flow through
19
+ * `--stgm-*` tokens.
16
20
  */
17
21
  export const PlanCompletionCard = memo(function PlanCompletionCard({ onImplement, disabled, className, }) {
22
+ const handleKeyDown = useBuildFromPlanHotkey(onImplement, disabled);
18
23
  if (!onImplement)
19
24
  return null;
20
- return (_jsxs("div", { role: "status", "aria-label": "Plan complete", className: cn("mx-4 flex items-center gap-3 rounded-md border border-border/50", "bg-muted/30 px-3 py-2.5", className), children: [_jsx(PlanCompleteIcon, {}), _jsx("span", { className: "min-w-0 flex-1 text-xs font-medium text-muted-foreground", children: "Plan complete \u2014 ready to implement?" }), _jsxs("button", { type: "button", disabled: disabled, onClick: onImplement, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5", "text-xs font-medium transition-colors", "bg-primary text-primary-foreground", "hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: [_jsx(ImplementIcon, {}), "Implement"] })] }));
25
+ return (_jsxs("div", { role: "status", "aria-label": "Plan complete", onKeyDown: handleKeyDown, className: cn("mx-4 flex items-center gap-3 rounded-md border border-border-muted", "bg-muted-faint px-3 py-2.5", className), children: [_jsx(PlanCompleteIcon, {}), _jsx("span", { className: "min-w-0 flex-1 text-xs font-medium text-muted-foreground", children: "Plan complete \u2014 ready to build?" }), _jsxs("button", { type: "button", disabled: disabled, onClick: onImplement, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5", "text-xs font-medium transition-colors", "bg-primary text-primary-foreground", "hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: [_jsx(ImplementIcon, {}), "Build from plan"] })] }));
21
26
  });
22
27
  function PlanCompleteIcon() {
23
28
  return (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: "shrink-0 text-muted-foreground/70", "aria-hidden": "true", children: [_jsx("path", { d: "M3 4h10M3 8h7M3 12h8" }), _jsx("path", { d: "M12.5 10.5l1.5 1.5-1.5 1.5" })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"PlanCompletionCard.js","sourceRoot":"","sources":["../../src/execution/PlanCompletionCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAYpC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,kBAAkB,CAAC,EACjE,WAAW,EACX,QAAQ,EACR,SAAS,GACe;IACxB,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,CACL,eACE,IAAI,EAAC,QAAQ,gBACF,eAAe,EAC1B,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,yBAAyB,EACzB,SAAS,CACV,aAED,KAAC,gBAAgB,KAAG,EACpB,eAAM,SAAS,EAAC,0DAA0D,yDAEnE,EACP,kBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,EAAE,CACX,yDAAyD,EACzD,uCAAuC,EACvC,oCAAoC,EACpC,wBAAwB,EACxB,yEAAyE,EACzE,kDAAkD,CACnD,aAED,KAAC,aAAa,KAAG,iBAEV,IACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB;IACvB,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAC,mCAAmC,iBACjC,MAAM,aAElB,eAAM,CAAC,EAAC,sBAAsB,GAAG,EACjC,eAAM,CAAC,EAAC,4BAA4B,GAAG,IACnC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,YAElB,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PlanCompletionCard.js","sourceRoot":"","sources":["../../src/execution/PlanCompletionCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAYtE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,kBAAkB,CAAC,EACjE,WAAW,EACX,QAAQ,EACR,SAAS,GACe;IACxB,MAAM,aAAa,GAAG,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEpE,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,CACL,eACE,IAAI,EAAC,QAAQ,gBACF,eAAe,EAC1B,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,EAAE,CACX,oEAAoE,EACpE,4BAA4B,EAC5B,SAAS,CACV,aAED,KAAC,gBAAgB,KAAG,EACpB,eAAM,SAAS,EAAC,0DAA0D,qDAEnE,EACP,kBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,EAAE,CACX,yDAAyD,EACzD,uCAAuC,EACvC,oCAAoC,EACpC,wBAAwB,EACxB,yEAAyE,EACzE,kDAAkD,CACnD,aAED,KAAC,aAAa,KAAG,uBAEV,IACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB;IACvB,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAC,mCAAmC,iBACjC,MAAM,aAElB,eAAM,CAAC,EAAC,sBAAsB,GAAG,EACjC,eAAM,CAAC,EAAC,4BAA4B,GAAG,IACnC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,YAElB,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type KeyboardEvent } from "react";
2
+ /**
3
+ * Card-scoped `Cmd/Ctrl+Enter` accelerator for the "Build from plan" action.
4
+ *
5
+ * Returns an `onKeyDown` handler for a plan card's root element. Because it is
6
+ * attached to the card (not `window`), it fires only when the keystroke
7
+ * originates from within the card — so the SDK never installs a global listener
8
+ * that could hijack a host application's keyboard shortcuts (an embeddable-a11y
9
+ * requirement). The card's primary button stays natively activatable with
10
+ * Enter/Space when focused; this adds the power-user accelerator on top.
11
+ *
12
+ * No-op when there is no action wired or the action is disabled.
13
+ *
14
+ * Shared by {@link PlanArtifactCard} and {@link PlanCompletionCard} so the
15
+ * accelerator's behavior lives in exactly one place and cannot drift between
16
+ * the two cards.
17
+ */
18
+ export declare function useBuildFromPlanHotkey(onImplement: (() => void) | undefined, disabled: boolean | undefined): (event: KeyboardEvent<HTMLElement>) => void;
19
+ //# sourceMappingURL=use-build-from-plan-hotkey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-build-from-plan-hotkey.d.ts","sourceRoot":"","sources":["../../src/execution/use-build-from-plan-hotkey.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,EACrC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAC5B,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAe7C"}
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { useCallback } from "react";
3
+ /**
4
+ * Card-scoped `Cmd/Ctrl+Enter` accelerator for the "Build from plan" action.
5
+ *
6
+ * Returns an `onKeyDown` handler for a plan card's root element. Because it is
7
+ * attached to the card (not `window`), it fires only when the keystroke
8
+ * originates from within the card — so the SDK never installs a global listener
9
+ * that could hijack a host application's keyboard shortcuts (an embeddable-a11y
10
+ * requirement). The card's primary button stays natively activatable with
11
+ * Enter/Space when focused; this adds the power-user accelerator on top.
12
+ *
13
+ * No-op when there is no action wired or the action is disabled.
14
+ *
15
+ * Shared by {@link PlanArtifactCard} and {@link PlanCompletionCard} so the
16
+ * accelerator's behavior lives in exactly one place and cannot drift between
17
+ * the two cards.
18
+ */
19
+ export function useBuildFromPlanHotkey(onImplement, disabled) {
20
+ return useCallback((event) => {
21
+ if (onImplement &&
22
+ !disabled &&
23
+ event.key === "Enter" &&
24
+ (event.metaKey || event.ctrlKey)) {
25
+ event.preventDefault();
26
+ onImplement();
27
+ }
28
+ }, [onImplement, disabled]);
29
+ }
30
+ //# sourceMappingURL=use-build-from-plan-hotkey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-build-from-plan-hotkey.js","sourceRoot":"","sources":["../../src/execution/use-build-from-plan-hotkey.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAsB,MAAM,OAAO,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAqC,EACrC,QAA6B;IAE7B,OAAO,WAAW,CAChB,CAAC,KAAK,EAAE,EAAE;QACR,IACE,WAAW;YACX,CAAC,QAAQ;YACT,KAAK,CAAC,GAAG,KAAK,OAAO;YACrB,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,EAChC,CAAC;YACD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC"}
@@ -15,6 +15,24 @@ export declare const REMARK_PLUGINS: (typeof remarkGfm)[];
15
15
  * removes it before rendering.
16
16
  */
17
17
  export declare function stripFrontmatter(content: string): string;
18
+ /**
19
+ * Unwraps a message the model wrapped entirely in a ```markdown / ```md fence.
20
+ *
21
+ * Some models emit their whole markdown reply inside one fenced block (a
22
+ * Plan-mode plan is the common case). Rendered as-is that becomes a single flat
23
+ * code block instead of rich markdown — headings, lists, and tables collapse to
24
+ * monospace text. This returns the inner markdown in exactly that case and is a
25
+ * no-op for everything else (already-rich markdown, prose, or a reply that is
26
+ * legitimately a single code block).
27
+ *
28
+ * Render-time only: callers pass it the text right before handing it to the
29
+ * markdown renderer, so the transcript and the raw artifact stay faithful to
30
+ * what the agent produced — a single source of truth for the unwrap, with no
31
+ * duplicated logic in the runner. While streaming, the closing fence has not
32
+ * arrived yet, so this no-ops and the live text renders as typed; it unwraps
33
+ * once the block closes.
34
+ */
35
+ export declare function unwrapEnclosingMarkdownFence(content: string): string;
18
36
  /**
19
37
  * Styled react-markdown component overrides for SDK markdown surfaces.
20
38
  *
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-components.d.ts","sourceRoot":"","sources":["../../src/internal/markdown-components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC;;;GAGG;AACH,eAAO,MAAM,cAAc,sBAAc,CAAC;AAI1C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,UA8KjC,CAAC"}
1
+ {"version":3,"file":"markdown-components.d.ts","sourceRoot":"","sources":["../../src/internal/markdown-components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC;;;GAGG;AACH,eAAO,MAAM,cAAc,sBAAc,CAAC;AAI1C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAgBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,UA8KjC,CAAC"}