@stigmer/react 3.1.3 → 3.1.4

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 (151) hide show
  1. package/composer/SessionComposer.d.ts +31 -0
  2. package/composer/SessionComposer.d.ts.map +1 -1
  3. package/composer/SessionComposer.js +12 -4
  4. package/composer/SessionComposer.js.map +1 -1
  5. package/execution/ArtifactApplyButton.d.ts +25 -0
  6. package/execution/ArtifactApplyButton.d.ts.map +1 -0
  7. package/execution/ArtifactApplyButton.js +21 -0
  8. package/execution/ArtifactApplyButton.js.map +1 -0
  9. package/execution/ArtifactContentBody.d.ts +36 -0
  10. package/execution/ArtifactContentBody.d.ts.map +1 -0
  11. package/execution/ArtifactContentBody.js +62 -0
  12. package/execution/ArtifactContentBody.js.map +1 -0
  13. package/execution/ArtifactDocument.d.ts +48 -0
  14. package/execution/ArtifactDocument.d.ts.map +1 -0
  15. package/execution/ArtifactDocument.js +89 -0
  16. package/execution/ArtifactDocument.js.map +1 -0
  17. package/execution/ArtifactPreviewModal.d.ts +4 -4
  18. package/execution/ArtifactPreviewModal.d.ts.map +1 -1
  19. package/execution/ArtifactPreviewModal.js +15 -142
  20. package/execution/ArtifactPreviewModal.js.map +1 -1
  21. package/execution/ArtifactRow.d.ts +49 -0
  22. package/execution/ArtifactRow.d.ts.map +1 -0
  23. package/execution/ArtifactRow.js +56 -0
  24. package/execution/ArtifactRow.js.map +1 -0
  25. package/execution/ArtifactsWidget.d.ts +6 -9
  26. package/execution/ArtifactsWidget.d.ts.map +1 -1
  27. package/execution/ArtifactsWidget.js +15 -19
  28. package/execution/ArtifactsWidget.js.map +1 -1
  29. package/execution/index.d.ts +8 -2
  30. package/execution/index.d.ts.map +1 -1
  31. package/execution/index.js +4 -1
  32. package/execution/index.js.map +1 -1
  33. package/execution/useArtifactContent.d.ts +6 -1
  34. package/execution/useArtifactContent.d.ts.map +1 -1
  35. package/execution/useArtifactContent.js +7 -2
  36. package/execution/useArtifactContent.js.map +1 -1
  37. package/execution/useArtifactInspection.d.ts +85 -0
  38. package/execution/useArtifactInspection.d.ts.map +1 -0
  39. package/execution/useArtifactInspection.js +143 -0
  40. package/execution/useArtifactInspection.js.map +1 -0
  41. package/execution/useCreateAgentExecution.d.ts +11 -0
  42. package/execution/useCreateAgentExecution.d.ts.map +1 -1
  43. package/execution/useCreateAgentExecution.js +1 -0
  44. package/execution/useCreateAgentExecution.js.map +1 -1
  45. package/index.d.ts +3 -3
  46. package/index.d.ts.map +1 -1
  47. package/index.js +2 -2
  48. package/index.js.map +1 -1
  49. package/internal/MermaidDiagram.d.ts +47 -0
  50. package/internal/MermaidDiagram.d.ts.map +1 -0
  51. package/internal/MermaidDiagram.js +118 -0
  52. package/internal/MermaidDiagram.js.map +1 -0
  53. package/internal/markdown-components.d.ts.map +1 -1
  54. package/internal/markdown-components.js +34 -0
  55. package/internal/markdown-components.js.map +1 -1
  56. package/internal/mermaid-loader.d.ts +26 -0
  57. package/internal/mermaid-loader.d.ts.map +1 -0
  58. package/internal/mermaid-loader.js +34 -0
  59. package/internal/mermaid-loader.js.map +1 -0
  60. package/internal/mermaid-theme-css.d.ts +41 -0
  61. package/internal/mermaid-theme-css.d.ts.map +1 -0
  62. package/internal/mermaid-theme-css.js +179 -0
  63. package/internal/mermaid-theme-css.js.map +1 -0
  64. package/internal/slug.d.ts +9 -5
  65. package/internal/slug.d.ts.map +1 -1
  66. package/internal/slug.js +10 -6
  67. package/internal/slug.js.map +1 -1
  68. package/package.json +5 -4
  69. package/session/SessionViewer.d.ts.map +1 -1
  70. package/session/SessionViewer.js +91 -18
  71. package/session/SessionViewer.js.map +1 -1
  72. package/session/artifact-document.d.ts +13 -0
  73. package/session/artifact-document.d.ts.map +1 -0
  74. package/session/artifact-document.js +22 -0
  75. package/session/artifact-document.js.map +1 -0
  76. package/session/facets/ArtifactsTab.d.ts +30 -4
  77. package/session/facets/ArtifactsTab.d.ts.map +1 -1
  78. package/session/facets/ArtifactsTab.js +32 -10
  79. package/session/facets/ArtifactsTab.js.map +1 -1
  80. package/session/index.d.ts +2 -1
  81. package/session/index.d.ts.map +1 -1
  82. package/session/index.js +4 -1
  83. package/session/index.js.map +1 -1
  84. package/session/useSessionArtifacts.d.ts +17 -0
  85. package/session/useSessionArtifacts.d.ts.map +1 -1
  86. package/session/useSessionArtifacts.js +16 -5
  87. package/session/useSessionArtifacts.js.map +1 -1
  88. package/session/useSessionConversation.d.ts +17 -1
  89. package/session/useSessionConversation.d.ts.map +1 -1
  90. package/session/useSessionConversation.js +32 -4
  91. package/session/useSessionConversation.js.map +1 -1
  92. package/session/useSessionPageFlow.d.ts.map +1 -1
  93. package/session/useSessionPageFlow.js +1 -0
  94. package/session/useSessionPageFlow.js.map +1 -1
  95. package/session/useSessionPanel.d.ts +20 -0
  96. package/session/useSessionPanel.d.ts.map +1 -1
  97. package/session/useSessionPanel.js +13 -0
  98. package/session/useSessionPanel.js.map +1 -1
  99. package/session/useSessionRailViews.d.ts +13 -1
  100. package/session/useSessionRailViews.d.ts.map +1 -1
  101. package/session/useSessionRailViews.js +5 -3
  102. package/session/useSessionRailViews.js.map +1 -1
  103. package/src/composer/SessionComposer.tsx +69 -1
  104. package/src/composer/__tests__/SessionComposer-editing.test.tsx +128 -0
  105. package/src/execution/ArtifactApplyButton.tsx +79 -0
  106. package/src/execution/ArtifactContentBody.tsx +255 -0
  107. package/src/execution/ArtifactDocument.tsx +344 -0
  108. package/src/execution/ArtifactPreviewModal.tsx +39 -405
  109. package/src/execution/ArtifactRow.tsx +165 -0
  110. package/src/execution/ArtifactsWidget.tsx +24 -33
  111. package/src/execution/__tests__/ArtifactContentBody.test.tsx +131 -0
  112. package/src/execution/__tests__/ArtifactDocument.test.tsx +100 -0
  113. package/src/execution/__tests__/ArtifactRow.test.tsx +139 -0
  114. package/src/execution/__tests__/ArtifactsWidget.test.tsx +78 -0
  115. package/src/execution/__tests__/message-entry.test.tsx +50 -2
  116. package/src/execution/__tests__/useArtifactInspection.test.tsx +151 -0
  117. package/src/execution/__tests__/useCreateAgentExecution.test.tsx +35 -0
  118. package/src/execution/index.ts +14 -2
  119. package/src/execution/useArtifactContent.ts +7 -0
  120. package/src/execution/useArtifactInspection.ts +252 -0
  121. package/src/execution/useCreateAgentExecution.ts +12 -0
  122. package/src/index.ts +11 -2
  123. package/src/internal/MermaidDiagram.tsx +164 -0
  124. package/src/internal/__tests__/a11y/mermaid-theme.a11y.test.tsx +122 -0
  125. package/src/internal/__tests__/markdown-components.test.tsx +93 -1
  126. package/src/internal/__tests__/mermaid-diagram.test.tsx +282 -0
  127. package/src/internal/markdown-components.tsx +36 -1
  128. package/src/internal/mermaid-loader.ts +44 -0
  129. package/src/internal/mermaid-theme-css.ts +178 -0
  130. package/src/internal/slug.ts +10 -6
  131. package/src/session/SessionViewer.tsx +177 -33
  132. package/src/session/__tests__/SessionViewer-artifactTabs.test.tsx +210 -0
  133. package/src/session/__tests__/SessionViewer-editResubmit.test.tsx +233 -0
  134. package/src/session/__tests__/useSessionArtifacts.test.ts +57 -0
  135. package/src/session/__tests__/useSessionConversation.test.tsx +172 -1
  136. package/src/session/__tests__/useSessionPanel.test.ts +70 -1
  137. package/src/session/artifact-document.ts +23 -0
  138. package/src/session/facets/ArtifactsTab.tsx +66 -18
  139. package/src/session/facets/__tests__/ArtifactsTab.test.tsx +111 -47
  140. package/src/session/index.ts +5 -1
  141. package/src/session/useSessionArtifacts.ts +16 -5
  142. package/src/session/useSessionConversation.ts +48 -6
  143. package/src/session/useSessionPageFlow.ts +1 -0
  144. package/src/session/useSessionPanel.ts +41 -0
  145. package/src/session/useSessionRailViews.tsx +21 -1
  146. package/styles.css +1 -1
  147. package/execution/ArtifactCard.d.ts +0 -81
  148. package/execution/ArtifactCard.d.ts.map +0 -1
  149. package/execution/ArtifactCard.js +0 -130
  150. package/execution/ArtifactCard.js.map +0 -1
  151. package/src/execution/ArtifactCard.tsx +0 -320
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Token-driven `themeCSS` for Mermaid diagram interiors.
3
+ *
4
+ * Mermaid's built-in `default`/`dark` themes color a diagram's SVG interior
5
+ * with a fixed palette that ignores the host's `--stgm-*` preset (Corporate,
6
+ * Fintech, ...). The obvious fix — feeding resolved tokens into Mermaid's
7
+ * `themeVariables` — is blocked: our tokens are authored in `oklch()`, and
8
+ * Mermaid's color engine (`khroma`) parses only hex/rgb/hsl/keyword, so it
9
+ * throws or NaNs on `oklch(...)`. (Mermaid also gates every `themeVariables`
10
+ * value through the allowlist `^[\d "#%(),.;A-Za-z]+$`, which excludes `-` and
11
+ * would blank any `var(--...)`.)
12
+ *
13
+ * Instead we hand Mermaid this CSS via `initialize({ themeCSS })`. Mermaid
14
+ * injects it into the diagram's own `<style>` block, scoped under the render
15
+ * id (`#stgm-mermaid-N`), *after* the theme palette it computes. Because every
16
+ * selector in that block is id-prefixed, our rules and the palette's rules sit
17
+ * at equal specificity, so ours win by source order — and `!important` makes
18
+ * that bulletproof against the few palette rules that are themselves important
19
+ * or inlined. Crucially, `themeCSS` never passes through khroma, so the
20
+ * `oklch()`-backed `var(--stgm-*)` references flow straight to the browser,
21
+ * which resolves them against the `.stgm` scope the SVG lives in. That is why
22
+ * interiors track the active preset *and* color mode live, with no JS color
23
+ * reading and no re-render on theme change.
24
+ *
25
+ * `initialize({ theme })` still selects the built-in `default`/`dark` theme as
26
+ * the base, so any element or diagram type we do not target here degrades to
27
+ * Mermaid's stock palette — never a blank or mis-colored diagram.
28
+ *
29
+ * Palette intent (subtle surfaces + brand accents — legibility over brand
30
+ * saturation): node/actor bodies sit on a muted surface with quiet
31
+ * token-colored borders and edges; labels use the standard foreground; the
32
+ * brand `--stgm-primary` is reserved for structural headers (subgraph/cluster
33
+ * titles, sequence loop/section titles, the sequence-number badge).
34
+ *
35
+ * Coverage is the two families agents emit overwhelmingly — flowchart and
36
+ * sequence — plus the shared marker/edge-label chrome. Both label render paths
37
+ * are handled: SVG `text`/`tspan` (via `fill`) and HTML labels inside
38
+ * `foreignObject` (via `color`).
39
+ */
40
+ export const MERMAID_THEME_CSS = `
41
+ /* Shared: edge arrowheads / markers */
42
+ .marker {
43
+ fill: var(--stgm-border) !important;
44
+ stroke: var(--stgm-border) !important;
45
+ }
46
+ .marker.cross {
47
+ stroke: var(--stgm-border) !important;
48
+ }
49
+
50
+ /* Flowchart: node bodies */
51
+ .node rect,
52
+ .node circle,
53
+ .node ellipse,
54
+ .node polygon,
55
+ .node path {
56
+ fill: var(--stgm-muted) !important;
57
+ stroke: var(--stgm-border) !important;
58
+ }
59
+ .node .neo-node {
60
+ stroke: var(--stgm-border) !important;
61
+ }
62
+ .node .katex path {
63
+ fill: var(--stgm-foreground) !important;
64
+ stroke: var(--stgm-foreground) !important;
65
+ }
66
+
67
+ /* Flowchart: node labels (SVG text and HTML spans) */
68
+ .label {
69
+ color: var(--stgm-foreground) !important;
70
+ }
71
+ .label text,
72
+ .label span {
73
+ fill: var(--stgm-foreground) !important;
74
+ color: var(--stgm-foreground) !important;
75
+ }
76
+
77
+ /* Flowchart: edges */
78
+ .edgePath .path,
79
+ .flowchart-link {
80
+ stroke: var(--stgm-border) !important;
81
+ }
82
+ .arrowheadPath,
83
+ .root .anchor path {
84
+ fill: var(--stgm-border) !important;
85
+ stroke: var(--stgm-border) !important;
86
+ }
87
+
88
+ /* Flowchart: edge labels sit on the diagram surface for legibility */
89
+ .edgeLabel,
90
+ .edgeLabel p,
91
+ .edgeLabel rect,
92
+ .labelBkg {
93
+ background-color: var(--stgm-card) !important;
94
+ fill: var(--stgm-card) !important;
95
+ }
96
+
97
+ /* Flowchart: subgraph clusters — muted surface, brand-accent title */
98
+ .cluster rect {
99
+ fill: var(--stgm-muted-subtle) !important;
100
+ stroke: var(--stgm-border) !important;
101
+ }
102
+ .cluster-label text,
103
+ .cluster text {
104
+ fill: var(--stgm-primary) !important;
105
+ }
106
+ .cluster-label span,
107
+ .cluster span {
108
+ color: var(--stgm-primary) !important;
109
+ }
110
+
111
+ /* Sequence: actors and lifelines */
112
+ .actor {
113
+ fill: var(--stgm-muted) !important;
114
+ stroke: var(--stgm-border) !important;
115
+ }
116
+ text.actor > tspan {
117
+ fill: var(--stgm-foreground) !important;
118
+ }
119
+ .actor-line {
120
+ stroke: var(--stgm-border) !important;
121
+ }
122
+
123
+ /* Sequence: messages */
124
+ .messageLine0,
125
+ .messageLine1 {
126
+ stroke: var(--stgm-border) !important;
127
+ }
128
+ [id$="-arrowhead"] path,
129
+ [id$="-crosshead"] path {
130
+ fill: var(--stgm-border) !important;
131
+ stroke: var(--stgm-border) !important;
132
+ }
133
+ .messageText {
134
+ fill: var(--stgm-foreground) !important;
135
+ }
136
+
137
+ /* Sequence: number badge — brand accent with its paired foreground */
138
+ [id$="-sequencenumber"] {
139
+ fill: var(--stgm-primary) !important;
140
+ }
141
+ .sequenceNumber {
142
+ fill: var(--stgm-primary-foreground) !important;
143
+ }
144
+
145
+ /* Sequence: alt/opt/loop boxes and labels */
146
+ .labelBox {
147
+ fill: var(--stgm-muted-subtle) !important;
148
+ stroke: var(--stgm-border) !important;
149
+ }
150
+ .labelText,
151
+ .labelText > tspan {
152
+ fill: var(--stgm-foreground) !important;
153
+ }
154
+ .loopText,
155
+ .loopText > tspan,
156
+ .sectionTitle,
157
+ .sectionTitle > tspan {
158
+ fill: var(--stgm-primary) !important;
159
+ }
160
+ .loopLine {
161
+ stroke: var(--stgm-border) !important;
162
+ }
163
+
164
+ /* Sequence: notes and activations */
165
+ .note {
166
+ fill: var(--stgm-muted-subtle) !important;
167
+ stroke: var(--stgm-border) !important;
168
+ }
169
+ .noteText,
170
+ .noteText > tspan {
171
+ fill: var(--stgm-foreground) !important;
172
+ }
173
+ .activation0,
174
+ .activation1 {
175
+ fill: var(--stgm-muted) !important;
176
+ stroke: var(--stgm-border) !important;
177
+ }
178
+ `;
179
+ //# sourceMappingURL=mermaid-theme-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mermaid-theme-css.js","sourceRoot":"","sources":["../../src/internal/mermaid-theme-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0IhC,CAAC"}
@@ -7,17 +7,21 @@
7
7
  *
8
8
  * Rules (applied in order):
9
9
  * 1. Convert to lowercase
10
- * 2. Replace spaces with hyphens
10
+ * 2. Replace spaces and dots (namespace separators) with hyphens
11
11
  * 3. Strip everything except `a-z`, `0-9`, and `-`
12
12
  * 4. Collapse consecutive hyphens into one
13
13
  * 5. Trim leading / trailing hyphens
14
14
  *
15
+ * Dots are treated as namespace separators (e.g. `platform.sara` → `platform-sara`),
16
+ * matching the backend generators, so namespace-scoped names stay readable.
17
+ *
15
18
  * @example
16
19
  * ```ts
17
- * generateSlug("My Cool Agent") // "my-cool-agent"
18
- * generateSlug("Acme Corp!") // "acme-corp"
19
- * generateSlug(" --hello-- ") // "hello"
20
- * generateSlug("") // ""
20
+ * generateSlug("My Cool Agent") // "my-cool-agent"
21
+ * generateSlug("Acme Corp!") // "acme-corp"
22
+ * generateSlug(" --hello-- ") // "hello"
23
+ * generateSlug("platform.planton-arch") // "platform-planton-arch"
24
+ * generateSlug("") // ""
21
25
  * ```
22
26
  */
23
27
  export declare function generateSlug(name: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"slug.d.ts","sourceRoot":"","sources":["../../src/internal/slug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
1
+ {"version":3,"file":"slug.d.ts","sourceRoot":"","sources":["../../src/internal/slug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
package/internal/slug.js CHANGED
@@ -7,23 +7,27 @@
7
7
  *
8
8
  * Rules (applied in order):
9
9
  * 1. Convert to lowercase
10
- * 2. Replace spaces with hyphens
10
+ * 2. Replace spaces and dots (namespace separators) with hyphens
11
11
  * 3. Strip everything except `a-z`, `0-9`, and `-`
12
12
  * 4. Collapse consecutive hyphens into one
13
13
  * 5. Trim leading / trailing hyphens
14
14
  *
15
+ * Dots are treated as namespace separators (e.g. `platform.sara` → `platform-sara`),
16
+ * matching the backend generators, so namespace-scoped names stay readable.
17
+ *
15
18
  * @example
16
19
  * ```ts
17
- * generateSlug("My Cool Agent") // "my-cool-agent"
18
- * generateSlug("Acme Corp!") // "acme-corp"
19
- * generateSlug(" --hello-- ") // "hello"
20
- * generateSlug("") // ""
20
+ * generateSlug("My Cool Agent") // "my-cool-agent"
21
+ * generateSlug("Acme Corp!") // "acme-corp"
22
+ * generateSlug(" --hello-- ") // "hello"
23
+ * generateSlug("platform.planton-arch") // "platform-planton-arch"
24
+ * generateSlug("") // ""
21
25
  * ```
22
26
  */
23
27
  export function generateSlug(name) {
24
28
  return name
25
29
  .toLowerCase()
26
- .replace(/ /g, "-")
30
+ .replace(/[ .]/g, "-")
27
31
  .replace(/[^a-z0-9-]/g, "")
28
32
  .replace(/-{2,}/g, "-")
29
33
  .replace(/^-+|-+$/g, "");
@@ -1 +1 @@
1
- {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../src/internal/slug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../src/internal/slug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/react",
3
- "version": "3.1.3",
3
+ "version": "3.1.4",
4
4
  "description": "React provider and client hook for the Stigmer platform SDK",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "@bufbuild/protovalidate": "^1.1.1",
39
39
  "@dagrejs/dagre": "^1.1.4",
40
- "@stigmer/theme": "3.1.3",
40
+ "@stigmer/theme": "3.1.4",
41
41
  "diff": "^8.0.3",
42
42
  "fflate": "^0.8.2",
43
43
  "hast-util-to-jsx-runtime": "^2.3.6",
@@ -60,12 +60,13 @@
60
60
  "@codemirror/state": "^6.0.0",
61
61
  "@codemirror/view": "^6.0.0",
62
62
  "@lezer/highlight": "^1.0.0",
63
- "@stigmer/protos": "3.1.3",
64
- "@stigmer/sdk": "3.1.3",
63
+ "@stigmer/protos": "3.1.4",
64
+ "@stigmer/sdk": "3.1.4",
65
65
  "@tanstack/react-table": "^8.20.0",
66
66
  "@xyflow/react": "^12.0.0",
67
67
  "elkjs": "^0.9.0",
68
68
  "lucide-react": ">=0.400.0",
69
+ "mermaid": "^11.0.0",
69
70
  "react": "^19.0.0",
70
71
  "react-dom": "^19.0.0",
71
72
  "react-virtuoso": "^4.0.0",
@@ -1 +1 @@
1
- {"version":3,"file":"SessionViewer.d.ts","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAOzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAoC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA2ErD,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAC7D;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC5C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,GAAG,EACH,gBAAgB,EAChB,YAAmB,EACnB,WAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,QAAuB,EACvB,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,GACV,EAAE,kBAAkB,2CAkSpB"}
1
+ {"version":3,"file":"SessionViewer.d.ts","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAOzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AA0C1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA2ErD,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAC7D;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC5C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,GAAG,EACH,gBAAgB,EAChB,YAAmB,EACnB,WAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,QAAuB,EACvB,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,GACV,EAAE,kBAAkB,2CA0TpB"}
@@ -28,11 +28,13 @@ import { usePlanDraft, planDraftKey } from "./usePlanDraft.js";
28
28
  import { PlanEditor } from "./PlanEditor.js";
29
29
  import { PlanStreamingDocument } from "./PlanStreamingDocument.js";
30
30
  import { PLAN_DOCUMENT_ENTRY_ID, PLAN_DOCUMENT_PATH } from "./plan-document.js";
31
+ import { ARTIFACT_DOCUMENT_ENTRY_ID } from "./artifact-document.js";
32
+ import { ArtifactDocument } from "../execution/ArtifactDocument.js";
31
33
  import { useSessionRailViews } from "./useSessionRailViews.js";
32
34
  import { useSessionPanel } from "./useSessionPanel.js";
33
35
  import { SessionPanelChip } from "./SessionPanelChip.js";
34
36
  import { useSessionWriteBacks } from "./useSessionWriteBacks.js";
35
- import { useSessionArtifacts } from "./useSessionArtifacts.js";
37
+ import { useSessionArtifacts, artifactKey, } from "./useSessionArtifacts.js";
36
38
  import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
37
39
  /**
38
40
  * Where the approved plan mounts in the implement execution's workspace —
@@ -271,6 +273,20 @@ export function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub =
271
273
  : executionId);
272
274
  panel.openPlanDocument();
273
275
  }, [sessionPlan, panel.openPlanDocument]);
276
+ // "Open artifact" (an Artifacts-facet row) → an editor-pane document tab.
277
+ // Writing the editors store re-renders only the panel subtree (which
278
+ // subscribes), never this streaming column. Plan artifacts are routed to the
279
+ // plan tab upstream (in ArtifactsTab), so they never reach here.
280
+ const handleOpenArtifact = useCallback((entry) => {
281
+ panel.openArtifact(entry.artifact);
282
+ }, [panel.openArtifact]);
283
+ // Double-click an artifact row → pin its tab (the leading single click already
284
+ // opened the preview via `handleOpenArtifact`). Mirrors the file tree's
285
+ // preview/pin split; plan artifacts are routed to the plan tab upstream (in
286
+ // ArtifactsTab) and never reach here.
287
+ const handleActivateArtifact = useCallback((entry) => {
288
+ panel.pinArtifact(entry.artifact);
289
+ }, [panel.pinArtifact]);
274
290
  // Open a transcript tool-call file path in the panel's read-only editor.
275
291
  // Resolves the (possibly absolute / subdir-prefixed) path to a
276
292
  // repo/root-relative selection the editor can fetch; on a definite hit it
@@ -294,7 +310,7 @@ export function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub =
294
310
  if (!conv.session && !conv.isLoading) {
295
311
  return _jsx(SessionStarting, {});
296
312
  }
297
- return (_jsxs("div", { className: cn("relative flex h-full w-full flex-col", className), children: [_jsxs("div", { className: "absolute top-2 right-6 z-10 flex items-center gap-2", children: [headerActions, _jsx(SessionPanelChip, { isOpen: panel.isOpen, onToggle: panel.isOpen ? panel.closePanel : panel.openPanel, badgeCount: writeBackCount + artifactCount })] }), _jsx(ThreadSelectionContext.Provider, { value: selectionStore, children: _jsx(ResizableSplit, { resizablePane: "primary", collapsedPane: panel.isOpen ? "none" : "secondary", defaultSize: 420, minSize: 320, maxSize: 640, storageKey: "stgm-session-chat-width", responsiveCollapse: panel.isOpen ? "primary" : "none", ariaLabel: "Resize chat panel", className: "min-h-0 flex-1", primary: _jsx(ConversationColumn, { flow: flow, modelId: modelId, setModelId: setModelId, interactionMode: interactionMode, setInteractionMode: setInteractionMode, composerRef: composerRef, org: org, gitHubConnection: gitHubConnection, enableGitHub: enableGitHub, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, onBuildFromPlan: handleBuildFromPlan, onOpenPlan: handleOpenPlan, isBuildingFromPlan: isBuildingFromPlan, planAttachFailed: planAttachFailed, onDismissPlanAttachFailed: () => setPlanAttachFailed(false), onFilePathClick: handleTranscriptFilePathClick, isEndUser: isEndUser }), secondary: panel.isOpen ? (_jsx(SessionPanelRegion, { flow: flow, org: org, panel: panel, accessSlot: accessSlot, onApplied: onApplied, onImplementPlan: handleBuildFromPlan, implementPlanDisabled: !conv.canSendFollowUp || isBuildingFromPlan, sessionPlan: sessionPlan, streamingPlan: streamingPlan, planDraft: planDraft, openPlanExecutionId: openPlanExecutionId, onOpenPlan: handleOpenPlan, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, workspaceFileLister: workspaceFileLister, workspaceFileReader: workspaceFileReader, workspaceContentSearcher: workspaceContentSearcher, isEndUser: isEndUser })) : null }) })] }));
313
+ return (_jsxs("div", { className: cn("relative flex h-full w-full flex-col", className), children: [_jsxs("div", { className: "absolute top-2 right-6 z-10 flex items-center gap-2", children: [headerActions, _jsx(SessionPanelChip, { isOpen: panel.isOpen, onToggle: panel.isOpen ? panel.closePanel : panel.openPanel, badgeCount: writeBackCount + artifactCount })] }), _jsx(ThreadSelectionContext.Provider, { value: selectionStore, children: _jsx(ResizableSplit, { resizablePane: "primary", collapsedPane: panel.isOpen ? "none" : "secondary", defaultSize: 420, minSize: 320, maxSize: 640, storageKey: "stgm-session-chat-width", responsiveCollapse: panel.isOpen ? "primary" : "none", ariaLabel: "Resize chat panel", className: "min-h-0 flex-1", primary: _jsx(ConversationColumn, { flow: flow, modelId: modelId, setModelId: setModelId, interactionMode: interactionMode, setInteractionMode: setInteractionMode, composerRef: composerRef, org: org, gitHubConnection: gitHubConnection, enableGitHub: enableGitHub, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, onBuildFromPlan: handleBuildFromPlan, onOpenPlan: handleOpenPlan, isBuildingFromPlan: isBuildingFromPlan, planAttachFailed: planAttachFailed, onDismissPlanAttachFailed: () => setPlanAttachFailed(false), onFilePathClick: handleTranscriptFilePathClick, isEndUser: isEndUser }), secondary: panel.isOpen ? (_jsx(SessionPanelRegion, { flow: flow, org: org, panel: panel, accessSlot: accessSlot, onApplied: onApplied, onImplementPlan: handleBuildFromPlan, implementPlanDisabled: !conv.canSendFollowUp || isBuildingFromPlan, sessionPlan: sessionPlan, streamingPlan: streamingPlan, planDraft: planDraft, openPlanExecutionId: openPlanExecutionId, onOpenPlan: handleOpenPlan, onOpenArtifact: handleOpenArtifact, onActivateArtifact: handleActivateArtifact, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, workspaceFileLister: workspaceFileLister, workspaceFileReader: workspaceFileReader, workspaceContentSearcher: workspaceContentSearcher, isEndUser: isEndUser })) : null }) })] }));
298
314
  }
299
315
  const ConversationColumn = memo(function ConversationColumn({ flow, modelId, setModelId, interactionMode, setInteractionMode, composerRef, org, gitHubConnection, enableGitHub, enableLocal, onBrowseLocalFolder, onBuildFromPlan, onOpenPlan, isBuildingFromPlan, planAttachFailed, onDismissPlanAttachFailed, onFilePathClick, isEndUser, }) {
300
316
  const { conv } = flow;
@@ -314,16 +330,37 @@ const ConversationColumn = memo(function ConversationColumn({ flow, modelId, set
314
330
  const handleStop = useCallback(() => {
315
331
  void conv.stop();
316
332
  }, [conv.stop]);
317
- // Edit-and-resubmit: stop the in-flight turn and pre-fill the composer with
318
- // the original text. The append-only execution log can't be rewritten, so
319
- // the user reviews the prefilled message and resubmits it as a NEW execution
320
- // through the normal Send pipeline. The cancelled turn stays in history with
321
- // its phase badge an honest record rather than a silent edit.
333
+ // Edit-and-resubmit: stop the in-flight turn, pre-fill the composer with
334
+ // the original text, and remember which execution is being edited. The
335
+ // append-only execution log is never rewritten submitting while editing
336
+ // creates a NEW execution that carries `supersedesExecutionId`, and the
337
+ // conversation read model hides the superseded turn so the edited message
338
+ // replaces the original in place (Cursor-style, stigmer/stigmer#181).
339
+ //
340
+ // The editing state is explicit (banner + cancel in the composer) so the
341
+ // supersede link only attaches when the user actually resubmits the edit.
342
+ // Cancelling drops the link — a subsequent unrelated message appends
343
+ // normally without hiding any history.
344
+ const [editingExecutionId, setEditingExecutionId] = useState(null);
345
+ const activeExecutionId = conv.activeStreamExecution?.metadata?.id ?? null;
322
346
  const handleEditMessage = useCallback((text) => {
323
347
  void conv.stop();
348
+ setEditingExecutionId(activeExecutionId);
324
349
  composerRef.current?.setMessage(text);
325
350
  composerRef.current?.focus();
326
- }, [conv.stop, composerRef]);
351
+ }, [conv.stop, activeExecutionId, composerRef]);
352
+ const handleCancelEdit = useCallback(() => {
353
+ setEditingExecutionId(null);
354
+ composerRef.current?.setMessage("");
355
+ }, [composerRef]);
356
+ // Submit wrapper that attaches the supersede link while editing, then
357
+ // exits editing mode. Ordinary (non-editing) submits pass through as-is.
358
+ const handleComposerSubmit = useCallback((message, modelName, context) => {
359
+ void flow.handleSubmit(message, modelName, editingExecutionId
360
+ ? { ...context, supersedesExecutionId: editingExecutionId }
361
+ : context);
362
+ setEditingExecutionId(null);
363
+ }, [flow.handleSubmit, editingExecutionId]);
327
364
  // The composer-docked FileReviewDock sits OUTSIDE MessageThread, so the
328
365
  // thread's own FilePathContext provider does not reach it. This provider
329
366
  // gives the dock's file list the same path resolution and click routing
@@ -334,11 +371,14 @@ const ConversationColumn = memo(function ConversationColumn({ flow, modelId, set
334
371
  workspaceEntries: conv.workspaceEntries ?? [],
335
372
  onFilePathClick,
336
373
  }), [conv.workspaceEntries, onFilePathClick]);
337
- return (_jsxs("div", { className: "flex h-full min-w-0 flex-col", children: [_jsx(MessageThread, { executions: conv.completedExecutions, activeStreamExecution: conv.activeStreamExecution, pendingUserMessage: conv.pendingUserMessage, pendingMessageFailed: !!conv.sendError && !!conv.pendingUserMessage, onRetrySend: conv.retryLastSend, onRetryExecution: onRetryExecution, onApprovalSubmit: flow.submitApproval, submittingApprovalIds: conv.submittingApprovalIds, approvalErrors: conv.approvalErrors, showFileReviewRecords: true, onEditMessage: conv.isStoppable ? handleEditMessage : undefined, workspaceEntries: conv.workspaceEntries, onFilePathClick: onFilePathClick, sandboxWorkspaceRoot: flow.sandboxWorkspaceRoot, onBuildFromPlan: onBuildFromPlan, onOpenPlan: onOpenPlan, org: org, planActionsDisabled: !conv.canSendFollowUp || isBuildingFromPlan, planBuildPending: isBuildingFromPlan, contentColumn: "center", className: "flex-1" }), _jsxs("div", { className: CONVERSATION_COLUMN_CLASS, children: [planAttachFailed && (_jsx(PlanAttachFailedNotice, { onDismiss: onDismissPlanAttachFailed })), conv.isReconnecting && _jsx(ReconnectingIndicator, {}), conv.connectTimedOut && (_jsx(ConnectTimedOutBanner, { onRetry: conv.reconnectStream })), conv.isSlow && !conv.connectTimedOut && _jsx(SlowIndicator, {}), conv.streamError && (_jsx(StreamErrorBanner, { error: conv.streamError, onReconnect: conv.reconnectStream })), sendError && _jsx(SendErrorBanner, { error: sendError }), flow.autoApproveAll && (_jsx(AutoApproveIndicator, { onTurnOff: () => flow.setAutoApproveAll(false) })), _jsxs(FilePathContext.Provider, { value: dockFilePathCtx, children: [_jsx(FileChangeProgressBar, { progress: conv.fileChangeProgress }), _jsx(FileReviewDock, { changeSets: conv.fileChangeSets, onSubmit: conv.submitFileDecision, submittingDecisionKeys: conv.submittingFileDecisionKeys, decisionErrors: conv.fileDecisionErrors })] }), _jsx(SessionComposer, { ref: composerRef, onSubmit: flow.handleSubmit, isSubmitting: conv.isSending, disabled: !conv.canSendFollowUp, onStop: conv.isStoppable ? handleStop : undefined, isStopping: conv.isStopping, org: org, harness: flow.harness, defaultModelId: modelId, onModelChange: setModelId, interactionMode: interactionMode, onInteractionModeChange: setInteractionMode, showInteractionModePicker: true, workspace: flow.workspace, gitHubConnection: gitHubConnection, enableGitHub: enableGitHub, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, agentRef: flow.agentRef, onAgentRefChange: flow.setAgentRef, onAgentResolutionChange: flow.setResolution, isDefaultAgent: flow.isDefaultAgent, lockAgent: isEndUser, mcpServerUsages: isEndUser ? undefined : flow.mcpServerUsages, onMcpServerUsagesChange: isEndUser ? undefined : flow.setMcpServerUsages, skillRefs: isEndUser ? undefined : flow.skillRefs, onSkillRefsChange: isEndUser ? undefined : flow.setSkillRefs, sessionVariables: isEndUser ? undefined : flow.sessionVariables, className: "px-4 py-3" })] })] }));
374
+ return (_jsxs("div", { className: "flex h-full min-w-0 flex-col", children: [_jsx(MessageThread, { executions: conv.completedExecutions, activeStreamExecution: conv.activeStreamExecution, pendingUserMessage: conv.pendingUserMessage, pendingMessageFailed: !!conv.sendError && !!conv.pendingUserMessage, onRetrySend: conv.retryLastSend, onRetryExecution: onRetryExecution, onApprovalSubmit: flow.submitApproval, submittingApprovalIds: conv.submittingApprovalIds, approvalErrors: conv.approvalErrors, showFileReviewRecords: true, onEditMessage: conv.isStoppable ? handleEditMessage : undefined, workspaceEntries: conv.workspaceEntries, onFilePathClick: onFilePathClick, sandboxWorkspaceRoot: flow.sandboxWorkspaceRoot, onBuildFromPlan: onBuildFromPlan, onOpenPlan: onOpenPlan, org: org, planActionsDisabled: !conv.canSendFollowUp || isBuildingFromPlan, planBuildPending: isBuildingFromPlan, contentColumn: "center", className: "flex-1" }), _jsxs("div", { className: CONVERSATION_COLUMN_CLASS, children: [planAttachFailed && (_jsx(PlanAttachFailedNotice, { onDismiss: onDismissPlanAttachFailed })), conv.isReconnecting && _jsx(ReconnectingIndicator, {}), conv.connectTimedOut && (_jsx(ConnectTimedOutBanner, { onRetry: conv.reconnectStream })), conv.isSlow && !conv.connectTimedOut && _jsx(SlowIndicator, {}), conv.streamError && (_jsx(StreamErrorBanner, { error: conv.streamError, onReconnect: conv.reconnectStream })), sendError && _jsx(SendErrorBanner, { error: sendError }), flow.autoApproveAll && (_jsx(AutoApproveIndicator, { onTurnOff: () => flow.setAutoApproveAll(false) })), _jsxs(FilePathContext.Provider, { value: dockFilePathCtx, children: [_jsx(FileChangeProgressBar, { progress: conv.fileChangeProgress }), _jsx(FileReviewDock, { changeSets: conv.fileChangeSets, onSubmit: conv.submitFileDecision, submittingDecisionKeys: conv.submittingFileDecisionKeys, decisionErrors: conv.fileDecisionErrors })] }), _jsx(SessionComposer, { ref: composerRef, onSubmit: handleComposerSubmit, isSubmitting: conv.isSending, disabled: !conv.canSendFollowUp, onStop: conv.isStoppable ? handleStop : undefined, isStopping: conv.isStopping, isEditing: editingExecutionId != null, onCancelEdit: handleCancelEdit, org: org, harness: flow.harness, defaultModelId: modelId, onModelChange: setModelId, interactionMode: interactionMode, onInteractionModeChange: setInteractionMode, showInteractionModePicker: true, workspace: flow.workspace, gitHubConnection: gitHubConnection, enableGitHub: enableGitHub, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, agentRef: flow.agentRef, onAgentRefChange: flow.setAgentRef, onAgentResolutionChange: flow.setResolution, isDefaultAgent: flow.isDefaultAgent, lockAgent: isEndUser, mcpServerUsages: isEndUser ? undefined : flow.mcpServerUsages, onMcpServerUsagesChange: isEndUser ? undefined : flow.setMcpServerUsages, skillRefs: isEndUser ? undefined : flow.skillRefs, onSkillRefsChange: isEndUser ? undefined : flow.setSkillRefs, sessionVariables: isEndUser ? undefined : flow.sessionVariables, className: "px-4 py-3" })] })] }));
338
375
  });
339
- function SessionPanelRegion({ flow, org, panel, accessSlot, onApplied, onImplementPlan, implementPlanDisabled, sessionPlan, streamingPlan, planDraft, openPlanExecutionId, onOpenPlan, enableLocal, onBrowseLocalFolder, workspaceFileLister, workspaceFileReader, workspaceContentSearcher, isEndUser, }) {
376
+ function SessionPanelRegion({ flow, org, panel, accessSlot, onApplied, onImplementPlan, implementPlanDisabled, sessionPlan, streamingPlan, planDraft, openPlanExecutionId, onOpenPlan, onOpenArtifact, onActivateArtifact, enableLocal, onBrowseLocalFolder, workspaceFileLister, workspaceFileReader, workspaceContentSearcher, isEndUser, }) {
340
377
  const selectedItem = useSelectedThreadItem();
341
378
  const { editors, activeKey, activeFile, reveal } = useWorkspaceEditors(panel.editorsStore);
379
+ // Session artifacts, deduped by identity — the source both the Artifacts
380
+ // rail-view badge and the open artifact document tabs resolve against.
381
+ const { artifacts: sessionArtifacts } = useSessionArtifacts(flow.allExecutions);
342
382
  // Honor a pending jump-to-line reveal only while it targets the active editor
343
383
  // (an EditorReveal is structurally a RevealTarget). Switching tabs changes
344
384
  // activeKey, so a stale reveal for another tab is naturally ignored.
@@ -379,14 +419,12 @@ function SessionPanelRegion({ flow, org, panel, accessSlot, onApplied, onImpleme
379
419
  // tab and its turn then ended without publishing, with no earlier plan to
380
420
  // fall back to.
381
421
  const openPlanIsLatest = openPlan?.executionId === sessionPlan?.executionId;
382
- const virtualDocuments = useMemo(() => {
383
- return [
384
- {
385
- entryId: PLAN_DOCUMENT_ENTRY_ID,
386
- path: PLAN_DOCUMENT_PATH,
387
- content: streamingPlan ? (_jsx(PlanStreamingDocument, { displayText: streamingPlan.displayText }, `streaming-${streamingPlan.executionId}`)) : openPlan ? (_jsx(PlanEditor, { plan: openPlan, draft: openPlanIsLatest ? planDraft : undefined, onBuildFromPlan: openPlanIsLatest ? onImplementPlan : undefined, buildDisabled: implementPlanDisabled, readOnly: !openPlanIsLatest }, planDraftKey(openPlan))) : (_jsx(PlanUnavailableNotice, {})),
388
- },
389
- ];
422
+ const planVirtualDocument = useMemo(() => {
423
+ return {
424
+ entryId: PLAN_DOCUMENT_ENTRY_ID,
425
+ path: PLAN_DOCUMENT_PATH,
426
+ content: streamingPlan ? (_jsx(PlanStreamingDocument, { displayText: streamingPlan.displayText }, `streaming-${streamingPlan.executionId}`)) : openPlan ? (_jsx(PlanEditor, { plan: openPlan, draft: openPlanIsLatest ? planDraft : undefined, onBuildFromPlan: openPlanIsLatest ? onImplementPlan : undefined, buildDisabled: implementPlanDisabled, readOnly: !openPlanIsLatest }, planDraftKey(openPlan))) : (_jsx(PlanUnavailableNotice, {})),
427
+ };
390
428
  }, [
391
429
  streamingPlan,
392
430
  openPlan,
@@ -395,6 +433,30 @@ function SessionPanelRegion({ flow, org, panel, accessSlot, onApplied, onImpleme
395
433
  onImplementPlan,
396
434
  implementPlanDisabled,
397
435
  ]);
436
+ // The open artifact document tabs (the artifact virtual-document FAMILY).
437
+ // Built in a SEPARATE memo from the plan doc so artifact-tab churn never
438
+ // recreates the plan doc (and vice versa). Bounded to what is actually open:
439
+ // one document per editor whose entry id is the artifact family's, resolved
440
+ // back to its `SessionArtifactEntry` by the same `artifactKey` used to open
441
+ // it (single source of truth for artifact identity). Only the ACTIVE doc's
442
+ // `content` is mounted by the surface, so building these elements is cheap;
443
+ // keying on `contentHash` remounts a tab whose artifact was overwritten by a
444
+ // later execution. A tab whose artifact no longer exists degrades to an
445
+ // honest notice rather than vanishing.
446
+ const artifactByKey = useMemo(() => new Map(sessionArtifacts.map((entry) => [artifactKey(entry.artifact), entry])), [sessionArtifacts]);
447
+ const artifactVirtualDocuments = useMemo(() => {
448
+ return editors
449
+ .filter((editor) => editor.entryId === ARTIFACT_DOCUMENT_ENTRY_ID)
450
+ .map((editor) => {
451
+ const entry = artifactByKey.get(editor.path);
452
+ return {
453
+ entryId: ARTIFACT_DOCUMENT_ENTRY_ID,
454
+ path: editor.path,
455
+ content: entry ? (_jsx(ArtifactDocument, { artifact: entry.artifact, executionId: entry.executionId, org: org, isTerminal: entry.isTerminal, onApplied: onApplied }, entry.artifact.contentHash || editor.path)) : (_jsx(ArtifactUnavailableNotice, {})),
456
+ };
457
+ });
458
+ }, [editors, artifactByKey, org, onApplied]);
459
+ const virtualDocuments = useMemo(() => [planVirtualDocument, ...artifactVirtualDocuments], [planVirtualDocument, artifactVirtualDocuments]);
398
460
  const handleRemoveAgent = useCallback(() => {
399
461
  flow.setAgentRef(null);
400
462
  flow.setResolution(null);
@@ -440,6 +502,8 @@ function SessionPanelRegion({ flow, org, panel, accessSlot, onApplied, onImpleme
440
502
  onApplied,
441
503
  onImplementPlan,
442
504
  onOpenPlan,
505
+ onOpenArtifact,
506
+ onActivateArtifact,
443
507
  });
444
508
  // Explorer-footer folder attach (desktop only — needs the native picker).
445
509
  // Same wiring the retired Workspace tab used.
@@ -479,6 +543,15 @@ function AutoApproveIndicator({ onTurnOff }) {
479
543
  function PlanUnavailableNotice() {
480
544
  return (_jsxs("div", { role: "status", className: "mx-auto flex w-full max-w-3xl flex-col items-center gap-1 px-4 py-8 text-center", children: [_jsx("p", { className: "text-xs font-medium text-foreground", children: "This turn ended before a plan was completed." }), _jsx("p", { className: "text-xs text-muted-foreground", children: "Any partial plan text remains in the conversation." })] }));
481
545
  }
546
+ /**
547
+ * Shown in an artifact document tab whose artifact is no longer among the
548
+ * session's outputs (an edge only reachable if the executions backing the tab
549
+ * changed underneath it). The tab stays closable; the content is honest rather
550
+ * than blank.
551
+ */
552
+ function ArtifactUnavailableNotice() {
553
+ return (_jsxs("div", { role: "status", className: "mx-auto flex w-full max-w-3xl flex-col items-center gap-1 px-4 py-8 text-center", children: [_jsx("p", { className: "text-xs font-medium text-foreground", children: "This artifact is no longer available." }), _jsx("p", { className: "text-xs text-muted-foreground", children: "It may have been replaced by a newer version of this session." })] }));
554
+ }
482
555
  /**
483
556
  * Non-blocking notice for a build that fell back to message-only implement
484
557
  * (the approved plan.md could not be uploaded/attached). The build itself
@@ -1 +1 @@
1
- {"version":3,"file":"SessionViewer.js","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionViewer.js","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Virtual entry id of the artifact document FAMILY. Unlike the plan (one tab
3
+ * per session), artifacts are many: every opened artifact shares this one
4
+ * entry id and is distinguished by its {@link artifactKey}-derived `path`, so
5
+ * `editorKey(ARTIFACT_DOCUMENT_ENTRY_ID, path)` yields one tab per artifact —
6
+ * the VS Code "each file is a tab" model. The NUL-namespaced virtual id can
7
+ * never alias a real workspace entry, and its distinct `"artifact"` kind can
8
+ * never collide with the plan tab's `"plan"` kind.
9
+ *
10
+ * @see artifactKey — the `path` component (an artifact's stable identity)
11
+ */
12
+ export declare const ARTIFACT_DOCUMENT_ENTRY_ID: string;
13
+ //# sourceMappingURL=artifact-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-document.d.ts","sourceRoot":"","sources":["../../src/session/artifact-document.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,QAA6B,CAAC"}