@xyne/workflow-ui 1.3.9 → 1.3.11

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 (217) hide show
  1. package/dist/components/builder/AddStepButton.d.ts +6 -0
  2. package/dist/components/builder/AddStepButton.d.ts.map +1 -0
  3. package/dist/components/builder/AddStepButton.js +7 -0
  4. package/dist/components/builder/AddStepButton.js.map +1 -0
  5. package/dist/components/builder/BranchEdge.d.ts +3 -0
  6. package/dist/components/builder/BranchEdge.d.ts.map +1 -0
  7. package/dist/components/builder/BranchEdge.js +19 -0
  8. package/dist/components/builder/BranchEdge.js.map +1 -0
  9. package/dist/components/builder/BuilderToolbar.d.ts +10 -0
  10. package/dist/components/builder/BuilderToolbar.d.ts.map +1 -0
  11. package/dist/components/builder/BuilderToolbar.js +16 -0
  12. package/dist/components/builder/BuilderToolbar.js.map +1 -0
  13. package/dist/components/builder/StepConfigDrawer.d.ts +11 -0
  14. package/dist/components/builder/StepConfigDrawer.d.ts.map +1 -0
  15. package/dist/components/builder/StepConfigDrawer.js +21 -0
  16. package/dist/components/builder/StepConfigDrawer.js.map +1 -0
  17. package/dist/components/builder/StepNode.d.ts +15 -0
  18. package/dist/components/builder/StepNode.d.ts.map +1 -0
  19. package/dist/components/builder/StepNode.js +56 -0
  20. package/dist/components/builder/StepNode.js.map +1 -0
  21. package/dist/components/builder/StepPalette.d.ts +7 -0
  22. package/dist/components/builder/StepPalette.d.ts.map +1 -0
  23. package/dist/components/builder/StepPalette.js +83 -0
  24. package/dist/components/builder/StepPalette.js.map +1 -0
  25. package/dist/components/builder/StepPicker.d.ts +9 -0
  26. package/dist/components/builder/StepPicker.d.ts.map +1 -0
  27. package/dist/components/builder/StepPicker.js +95 -0
  28. package/dist/components/builder/StepPicker.js.map +1 -0
  29. package/dist/components/builder/TriggerConfigPanel.d.ts +10 -0
  30. package/dist/components/builder/TriggerConfigPanel.d.ts.map +1 -0
  31. package/dist/components/builder/TriggerConfigPanel.js +49 -0
  32. package/dist/components/builder/TriggerConfigPanel.js.map +1 -0
  33. package/dist/components/builder/TriggerNode.d.ts +9 -0
  34. package/dist/components/builder/TriggerNode.d.ts.map +1 -0
  35. package/dist/components/builder/TriggerNode.js +30 -0
  36. package/dist/components/builder/TriggerNode.js.map +1 -0
  37. package/dist/components/builder/TriggerPicker.d.ts +8 -0
  38. package/dist/components/builder/TriggerPicker.d.ts.map +1 -0
  39. package/dist/components/builder/TriggerPicker.js +61 -0
  40. package/dist/components/builder/TriggerPicker.js.map +1 -0
  41. package/dist/components/builder/WorkflowBuilder.d.ts +20 -0
  42. package/dist/components/builder/WorkflowBuilder.d.ts.map +1 -0
  43. package/dist/components/builder/WorkflowBuilder.js +157 -0
  44. package/dist/components/builder/WorkflowBuilder.js.map +1 -0
  45. package/dist/components/builder/edge-types.d.ts +3 -0
  46. package/dist/components/builder/edge-types.d.ts.map +1 -0
  47. package/dist/components/builder/edge-types.js +5 -0
  48. package/dist/components/builder/edge-types.js.map +1 -0
  49. package/dist/components/builder/node-types.d.ts +3 -0
  50. package/dist/components/builder/node-types.d.ts.map +1 -0
  51. package/dist/components/builder/node-types.js +11 -0
  52. package/dist/components/builder/node-types.js.map +1 -0
  53. package/dist/components/builder/v2/AddStepButton.d.ts +6 -0
  54. package/dist/components/builder/v2/AddStepButton.d.ts.map +1 -0
  55. package/dist/components/builder/v2/AddStepButton.js +6 -0
  56. package/dist/components/builder/v2/AddStepButton.js.map +1 -0
  57. package/dist/components/builder/v2/BranchEdge.d.ts +3 -0
  58. package/dist/components/builder/v2/BranchEdge.d.ts.map +1 -0
  59. package/dist/components/builder/v2/BranchEdge.js +46 -0
  60. package/dist/components/builder/v2/BranchEdge.js.map +1 -0
  61. package/dist/components/builder/v2/LoopBodyEdge.d.ts +7 -0
  62. package/dist/components/builder/v2/LoopBodyEdge.d.ts.map +1 -0
  63. package/dist/components/builder/v2/LoopBodyEdge.js +19 -0
  64. package/dist/components/builder/v2/LoopBodyEdge.js.map +1 -0
  65. package/dist/components/builder/v2/LoopbackEdge.d.ts +10 -0
  66. package/dist/components/builder/v2/LoopbackEdge.d.ts.map +1 -0
  67. package/dist/components/builder/v2/LoopbackEdge.js +26 -0
  68. package/dist/components/builder/v2/LoopbackEdge.js.map +1 -0
  69. package/dist/components/builder/v2/StepNode.d.ts +21 -0
  70. package/dist/components/builder/v2/StepNode.d.ts.map +1 -0
  71. package/dist/components/builder/v2/StepNode.js +36 -0
  72. package/dist/components/builder/v2/StepNode.js.map +1 -0
  73. package/dist/components/builder/v2/StepPicker.d.ts +8 -0
  74. package/dist/components/builder/v2/StepPicker.d.ts.map +1 -0
  75. package/dist/components/builder/v2/StepPicker.js +73 -0
  76. package/dist/components/builder/v2/StepPicker.js.map +1 -0
  77. package/dist/components/builder/v2/TerminalNode.d.ts +6 -0
  78. package/dist/components/builder/v2/TerminalNode.d.ts.map +1 -0
  79. package/dist/components/builder/v2/TerminalNode.js +7 -0
  80. package/dist/components/builder/v2/TerminalNode.js.map +1 -0
  81. package/dist/components/builder/v2/TriggerNode.d.ts +10 -0
  82. package/dist/components/builder/v2/TriggerNode.d.ts.map +1 -0
  83. package/dist/components/builder/v2/TriggerNode.js +20 -0
  84. package/dist/components/builder/v2/TriggerNode.js.map +1 -0
  85. package/dist/components/builder/v2/TriggerPicker.d.ts +7 -0
  86. package/dist/components/builder/v2/TriggerPicker.d.ts.map +1 -0
  87. package/dist/components/builder/v2/TriggerPicker.js +45 -0
  88. package/dist/components/builder/v2/TriggerPicker.js.map +1 -0
  89. package/dist/components/builder/v2/WorkflowBuilder.d.ts +14 -0
  90. package/dist/components/builder/v2/WorkflowBuilder.d.ts.map +1 -0
  91. package/dist/components/builder/v2/WorkflowBuilder.js +189 -0
  92. package/dist/components/builder/v2/WorkflowBuilder.js.map +1 -0
  93. package/dist/components/builder/v2/edge-types.d.ts +3 -0
  94. package/dist/components/builder/v2/edge-types.d.ts.map +1 -0
  95. package/dist/components/builder/v2/edge-types.js +9 -0
  96. package/dist/components/builder/v2/edge-types.js.map +1 -0
  97. package/dist/components/builder/v2/icons.d.ts +25 -0
  98. package/dist/components/builder/v2/icons.d.ts.map +1 -0
  99. package/dist/components/builder/v2/icons.js +43 -0
  100. package/dist/components/builder/v2/icons.js.map +1 -0
  101. package/dist/components/builder/v2/layout-engine.d.ts +76 -0
  102. package/dist/components/builder/v2/layout-engine.d.ts.map +1 -0
  103. package/dist/components/builder/v2/layout-engine.js +465 -0
  104. package/dist/components/builder/v2/layout-engine.js.map +1 -0
  105. package/dist/components/builder/v2/node-types.d.ts +3 -0
  106. package/dist/components/builder/v2/node-types.d.ts.map +1 -0
  107. package/dist/components/builder/v2/node-types.js +11 -0
  108. package/dist/components/builder/v2/node-types.js.map +1 -0
  109. package/dist/components/builder/v2/theme.d.ts +28 -0
  110. package/dist/components/builder/v2/theme.d.ts.map +1 -0
  111. package/dist/components/builder/v2/theme.js +63 -0
  112. package/dist/components/builder/v2/theme.js.map +1 -0
  113. package/dist/components/builder/v3/CitationEditor.d.ts.map +1 -1
  114. package/dist/components/builder/v3/CitationEditor.js +10 -1
  115. package/dist/components/builder/v3/CitationEditor.js.map +1 -1
  116. package/dist/components/builder/v3/VariablePickerPopover.d.ts +1 -1
  117. package/dist/components/builder/v3/VariablePickerPopover.d.ts.map +1 -1
  118. package/dist/components/builder/v3/VariablePickerPopover.js +3 -3
  119. package/dist/components/builder/v3/VariablePickerPopover.js.map +1 -1
  120. package/dist/components/dashboard/WorkflowSummaryEditor.d.ts +11 -0
  121. package/dist/components/dashboard/WorkflowSummaryEditor.d.ts.map +1 -0
  122. package/dist/components/dashboard/WorkflowSummaryEditor.js +46 -0
  123. package/dist/components/dashboard/WorkflowSummaryEditor.js.map +1 -0
  124. package/dist/components/execution/ExecutionEdge.d.ts +4 -0
  125. package/dist/components/execution/ExecutionEdge.d.ts.map +1 -0
  126. package/dist/components/execution/ExecutionEdge.js +27 -0
  127. package/dist/components/execution/ExecutionEdge.js.map +1 -0
  128. package/dist/components/execution/ExecutionHeader.d.ts +2 -2
  129. package/dist/components/execution/ExecutionHeader.d.ts.map +1 -1
  130. package/dist/components/execution/ExecutionHeader.js +4 -2
  131. package/dist/components/execution/ExecutionHeader.js.map +1 -1
  132. package/dist/components/execution/ExecutionJourney.d.ts.map +1 -1
  133. package/dist/components/execution/ExecutionJourney.js +1 -248
  134. package/dist/components/execution/ExecutionJourney.js.map +1 -1
  135. package/dist/components/execution/ExecutionStepNode.d.ts +14 -0
  136. package/dist/components/execution/ExecutionStepNode.d.ts.map +1 -0
  137. package/dist/components/execution/ExecutionStepNode.js +47 -0
  138. package/dist/components/execution/ExecutionStepNode.js.map +1 -0
  139. package/dist/components/execution/ExecutionTabs.d.ts +34 -0
  140. package/dist/components/execution/ExecutionTabs.d.ts.map +1 -0
  141. package/dist/components/execution/ExecutionTabs.js +257 -0
  142. package/dist/components/execution/ExecutionTabs.js.map +1 -0
  143. package/dist/components/execution/ExecutionTriggerNode.d.ts +9 -0
  144. package/dist/components/execution/ExecutionTriggerNode.d.ts.map +1 -0
  145. package/dist/components/execution/ExecutionTriggerNode.js +15 -0
  146. package/dist/components/execution/ExecutionTriggerNode.js.map +1 -0
  147. package/dist/components/execution/ExecutionViewer.d.ts.map +1 -1
  148. package/dist/components/execution/ExecutionViewer.js +3 -2
  149. package/dist/components/execution/ExecutionViewer.js.map +1 -1
  150. package/dist/components/execution/StepAgentPanels.d.ts +9 -0
  151. package/dist/components/execution/StepAgentPanels.d.ts.map +1 -0
  152. package/dist/components/execution/StepAgentPanels.js +133 -0
  153. package/dist/components/execution/StepAgentPanels.js.map +1 -0
  154. package/dist/components/execution/execution-layout.d.ts +31 -0
  155. package/dist/components/execution/execution-layout.d.ts.map +1 -0
  156. package/dist/components/execution/execution-layout.js +90 -0
  157. package/dist/components/execution/execution-layout.js.map +1 -0
  158. package/dist/components/execution/journey-model.d.ts +112 -0
  159. package/dist/components/execution/journey-model.d.ts.map +1 -0
  160. package/dist/components/execution/journey-model.js +277 -0
  161. package/dist/components/execution/journey-model.js.map +1 -0
  162. package/dist/components/execution/origin/OriginTrace.d.ts.map +1 -1
  163. package/dist/components/execution/origin/OriginTrace.js +66 -29
  164. package/dist/components/execution/origin/OriginTrace.js.map +1 -1
  165. package/dist/components/shared/AttachmentCard.d.ts +6 -0
  166. package/dist/components/shared/AttachmentCard.d.ts.map +1 -1
  167. package/dist/components/shared/AttachmentCard.js +99 -5
  168. package/dist/components/shared/AttachmentCard.js.map +1 -1
  169. package/dist/components/shared/DocumentViewer.d.ts +4 -2
  170. package/dist/components/shared/DocumentViewer.d.ts.map +1 -1
  171. package/dist/components/shared/DocumentViewer.js +8 -8
  172. package/dist/components/shared/DocumentViewer.js.map +1 -1
  173. package/dist/components/shared/JsonTreeViewer.d.ts +9 -0
  174. package/dist/components/shared/JsonTreeViewer.d.ts.map +1 -0
  175. package/dist/components/shared/JsonTreeViewer.js +46 -0
  176. package/dist/components/shared/JsonTreeViewer.js.map +1 -0
  177. package/dist/components/shared/viewers/PdfView.d.ts +38 -0
  178. package/dist/components/shared/viewers/PdfView.d.ts.map +1 -0
  179. package/dist/components/shared/viewers/PdfView.js +439 -0
  180. package/dist/components/shared/viewers/PdfView.js.map +1 -0
  181. package/dist/hooks/use-execution-viewer.d.ts.map +1 -1
  182. package/dist/hooks/use-execution-viewer.js +17 -1
  183. package/dist/hooks/use-execution-viewer.js.map +1 -1
  184. package/dist/layout-engine/components.d.ts +5 -0
  185. package/dist/layout-engine/components.d.ts.map +1 -0
  186. package/dist/layout-engine/components.js +171 -0
  187. package/dist/layout-engine/components.js.map +1 -0
  188. package/dist/layout-engine/evaluate.d.ts +9 -0
  189. package/dist/layout-engine/evaluate.d.ts.map +1 -0
  190. package/dist/layout-engine/evaluate.js +66 -0
  191. package/dist/layout-engine/evaluate.js.map +1 -0
  192. package/dist/layout-engine/index.d.ts +22 -0
  193. package/dist/layout-engine/index.d.ts.map +1 -0
  194. package/dist/layout-engine/index.js +22 -0
  195. package/dist/layout-engine/index.js.map +1 -0
  196. package/dist/layout-engine/parse.d.ts +9 -0
  197. package/dist/layout-engine/parse.d.ts.map +1 -0
  198. package/dist/layout-engine/parse.js +213 -0
  199. package/dist/layout-engine/parse.js.map +1 -0
  200. package/dist/layout-engine/render.d.ts +5 -0
  201. package/dist/layout-engine/render.d.ts.map +1 -0
  202. package/dist/layout-engine/render.js +150 -0
  203. package/dist/layout-engine/render.js.map +1 -0
  204. package/dist/layout-engine/types.d.ts +65 -0
  205. package/dist/layout-engine/types.d.ts.map +1 -0
  206. package/dist/layout-engine/types.js +11 -0
  207. package/dist/layout-engine/types.js.map +1 -0
  208. package/dist/styles.css +8 -2
  209. package/package.json +2 -1
  210. package/dist/components/schema-form/AttachmentField.d.ts +0 -16
  211. package/dist/components/schema-form/AttachmentField.d.ts.map +0 -1
  212. package/dist/components/schema-form/AttachmentField.js +0 -139
  213. package/dist/components/schema-form/AttachmentField.js.map +0 -1
  214. package/dist/utils/map-lanes.d.ts +0 -35
  215. package/dist/utils/map-lanes.d.ts.map +0 -1
  216. package/dist/utils/map-lanes.js +0 -48
  217. package/dist/utils/map-lanes.js.map +0 -1
@@ -0,0 +1,277 @@
1
+ import { detectBranchesFromConfig } from '../../utils/branch-detection.js';
2
+ import { buildIterations, iterationItemValues } from '../../utils/iterations.js';
3
+ export function branchesOf(step, stepMeta) {
4
+ if (!step.config || typeof step.config !== 'object')
5
+ return {};
6
+ return detectBranchesFromConfig(step.config, stepMeta.get(step.type)?.configSchema);
7
+ }
8
+ export function branchSections(step, stepMeta) {
9
+ const entries = Object.values(branchesOf(step, stepMeta));
10
+ if (stepMeta.get(step.type)?.branchModel === 'iterate') {
11
+ return [{ steps: entries[0]?.steps ?? [] }];
12
+ }
13
+ return entries.map((b) => ({ label: b.label, steps: b.steps }));
14
+ }
15
+ /** Whether a construct iterates a single body over runtime items (MAP concurrent, LOOP sequential). */
16
+ export function isIterating(branchModel) {
17
+ return branchModel === 'map' || branchModel === 'iterate';
18
+ }
19
+ /** Config body steps of a single-body iterating construct (MAP / LOOP). */
20
+ export function bodyStepsOf(step, stepMeta) {
21
+ return Object.values(branchesOf(step, stepMeta))[0]?.steps ?? [];
22
+ }
23
+ /** Runtime iterations of a MAP/LOOP step as drillable folders (empty before it runs). */
24
+ export function iterationViewsOf(step, stepMeta, records) {
25
+ const body = bodyStepsOf(step, stepMeta);
26
+ const values = iterationItemValues(records, step.id);
27
+ return buildIterations(step.id, records).map((it) => ({
28
+ ctrlId: step.id,
29
+ index: it.index,
30
+ label: values[it.index] ? `Item ${String(it.index)} · ${values[it.index]}` : `Item ${String(it.index)}`,
31
+ states: it.states,
32
+ prefix: it.prefix,
33
+ bodySteps: body,
34
+ }));
35
+ }
36
+ /** Worst-meaningful status across a subtree (recurses into branches). */
37
+ export function rollup(steps, states, stepMeta) {
38
+ const acc = [];
39
+ const walk = (list) => {
40
+ for (const s of list) {
41
+ const st = states.get(s.id)?.status ?? 'pending';
42
+ acc.push(st);
43
+ // A step whose own status is terminal already reflects its whole subtree — don't
44
+ // descend. Descending visits not-taken conditional branches, whose steps stay
45
+ // pending forever; the canonical case is a gate that resolved to its empty
46
+ // else-branch, leaving the if-branch's "hold" step pending — that lone pending
47
+ // would otherwise drag a fully-completed group down to 'pending' and hide it.
48
+ if (st === 'completed' || st === 'failed' || st === 'skipped')
49
+ continue;
50
+ // Live construct: follow the taken branch of a resolved if/switch, else all branches.
51
+ const taken = takenBranch(s, stepMeta, states);
52
+ if (taken)
53
+ walk(taken);
54
+ else
55
+ for (const b of Object.values(branchesOf(s, stepMeta)))
56
+ walk(b.steps);
57
+ }
58
+ };
59
+ walk(steps);
60
+ if (acc.some((s) => s === 'failed'))
61
+ return 'failed';
62
+ if (acc.some((s) => s === 'running'))
63
+ return 'running';
64
+ if (acc.some((s) => s === 'paused'))
65
+ return 'paused';
66
+ if (acc.length > 0 && acc.every((s) => s === 'completed' || s === 'skipped')) {
67
+ return acc.every((s) => s === 'skipped') ? 'skipped' : 'completed';
68
+ }
69
+ return 'pending';
70
+ }
71
+ /**
72
+ * The single ENTERED branch of a resolved exclusive construct (CONDITIONAL / SWITCH) —
73
+ * the if-block to inline. Null for loops, parallels, not-yet-resolved (pending) constructs,
74
+ * and non-constructs, which stay as drill-in folders.
75
+ */
76
+ export function takenBranch(step, stepMeta, states) {
77
+ if (stepMeta.get(step.type)?.branchModel === 'iterate')
78
+ return null; // loop
79
+ const branches = branchesOf(step, stepMeta);
80
+ const keys = Object.keys(branches);
81
+ if (keys.length === 0)
82
+ return null; // not a construct
83
+ if (keys.some((k) => k.startsWith('branches.')))
84
+ return null; // parallel (all branches run)
85
+ // "Entered" = a direct step of the branch has started — a SHALLOW check by design.
86
+ // Using rollup() here recurses into the branch's OWN nested if-blocks, whose
87
+ // not-taken (pending) sub-branches make a fully-run branch look pending; then no
88
+ // branch qualifies and the whole subtree collapses to pending. A direct step's
89
+ // status is the reliable "did control reach this branch" signal.
90
+ const entered = Object.values(branches).filter((b) => b.steps.some((s) => {
91
+ const st = states.get(s.id)?.status;
92
+ return st != null && st !== 'pending' && st !== 'skipped';
93
+ }));
94
+ return entered.length === 1 ? entered[0].steps : null; // exactly one taken → inline
95
+ }
96
+ /** Flatten resolved if-blocks in place (recursively) so drilling can still find nested constructs. */
97
+ export function effectiveSteps(steps, stepMeta, states) {
98
+ const out = [];
99
+ for (const step of steps) {
100
+ const inline = takenBranch(step, stepMeta, states);
101
+ if (inline)
102
+ out.push(...effectiveSteps(inline, stepMeta, states));
103
+ else
104
+ out.push(step);
105
+ }
106
+ return out;
107
+ }
108
+ /**
109
+ * A group's members — descends through inlined (taken) if-block branches so a
110
+ * group nested inside a resolved conditional is still found when drilled into.
111
+ * A matching step is kept raw (not descended) so its own conditionals inline at display.
112
+ */
113
+ export function membersOfGroup(steps, groupId, stepMeta, states) {
114
+ const out = [];
115
+ for (const s of steps) {
116
+ if (s.groupId === groupId) {
117
+ out.push(s);
118
+ continue;
119
+ }
120
+ const taken = takenBranch(s, stepMeta, states);
121
+ if (taken)
122
+ out.push(...membersOfGroup(taken, groupId, stepMeta, states));
123
+ }
124
+ return out;
125
+ }
126
+ /** Resolve the current drill level (sections + breadcrumb) from the path by id. */
127
+ export function resolveLevel(rootSteps, stepMeta, path, records, states) {
128
+ let sections = [{ steps: rootSteps }];
129
+ const crumbs = [{ label: 'Run' }];
130
+ let insideGroupId;
131
+ for (const d of path) {
132
+ if (d.kind === 'group') {
133
+ const members = membersOfGroup(sections.flatMap((s) => s.steps), d.id, stepMeta, states);
134
+ if (members.length === 0)
135
+ break;
136
+ sections = [{ steps: members }];
137
+ insideGroupId = d.id;
138
+ }
139
+ else if (d.kind === 'iterationItem') {
140
+ // Drill into one MAP/LOOP iteration → its config body with that iteration's
141
+ // states + node-path prefix. Rendering from here is identical to any level.
142
+ const view = (sections[0]?.iterations ?? []).find((v) => v.index === d.index);
143
+ if (!view)
144
+ break;
145
+ sections = [{ steps: view.bodySteps, states: view.states, selectionPrefix: view.prefix }];
146
+ insideGroupId = undefined;
147
+ }
148
+ else {
149
+ // Inline resolved if-blocks so a construct nested in a taken branch stays findable.
150
+ const step = sections.flatMap((s) => effectiveSteps(s.steps, stepMeta, states)).find((s) => s.id === d.id);
151
+ if (!step)
152
+ break;
153
+ if (isIterating(stepMeta.get(step.type)?.branchModel)) {
154
+ // Drill into a MAP/LOOP → list its runtime iterations (empty pre-run → config body).
155
+ const iterations = iterationViewsOf(step, stepMeta, records);
156
+ sections = iterations.length > 0 ? [{ steps: [], iterations }] : branchSections(step, stepMeta);
157
+ }
158
+ else {
159
+ // Plain construct: resolves its branches from config. NOTE: a construct
160
+ // drilled from *inside* an iteration loses that iteration's prefix/states
161
+ // (we resolve from root), so its sub-steps fall back to the aggregated bare-id
162
+ // view — same known limitation as nested control in the graph. Flat bodies
163
+ // (the common case) are unaffected.
164
+ sections = branchSections(step, stepMeta);
165
+ }
166
+ insideGroupId = undefined;
167
+ }
168
+ crumbs.push({ label: d.label });
169
+ }
170
+ return { sections, crumbs, insideGroupId };
171
+ }
172
+ export function stepRow(step, stepMeta) {
173
+ const meta = stepMeta.get(step.type);
174
+ const branchCount = Object.keys(branchesOf(step, stepMeta)).length;
175
+ return branchCount > 0 ? { kind: 'construct', step, meta, branchCount } : { kind: 'leaf', step, meta };
176
+ }
177
+ /** A step's row(s): a resolved if-block inlines its taken branch (recursively); else a single row. */
178
+ export function rowsForStep(step, groups, stepMeta, ignoreGroupId, states, hoistedGroupIds) {
179
+ const inline = takenBranch(step, stepMeta, states);
180
+ return inline ? buildRows(inline, groups, stepMeta, ignoreGroupId, states, hoistedGroupIds) : [stepRow(step, stepMeta)];
181
+ }
182
+ export function buildRows(steps, groups, stepMeta, ignoreGroupId, states, hoistedGroupIds) {
183
+ const rows = [];
184
+ const emittedGroups = new Set();
185
+ let i = 0;
186
+ while (i < steps.length) {
187
+ const step = steps[i];
188
+ const gid = step.groupId;
189
+ const group = gid && gid !== ignoreGroupId ? groups?.find((g) => g.id === gid) : undefined;
190
+ if (group && gid) {
191
+ i++;
192
+ // A group's steps can be non-contiguous in config order (another group interleaved).
193
+ // Emit the group once — at its first member, with ALL its members — otherwise it
194
+ // renders as duplicate folders, one per contiguous run.
195
+ if (emittedGroups.has(gid))
196
+ continue;
197
+ emittedGroups.add(gid);
198
+ // A group hoisted to the top level (config `pinned`) is rendered there only — drop it
199
+ // from every nested view so it isn't duplicated once it has "come outside".
200
+ if (hoistedGroupIds?.has(gid))
201
+ continue;
202
+ const members = membersOfGroup(steps, gid, stepMeta, states);
203
+ // A single-member group adds no value as a folder — float the member up
204
+ // so it's one click to its detail, not a drill into a one-item list.
205
+ if (members.length === 1)
206
+ rows.push(...rowsForStep(members[0], groups, stepMeta, ignoreGroupId, states, hoistedGroupIds));
207
+ else
208
+ rows.push({ kind: 'group', group, members });
209
+ }
210
+ else {
211
+ rows.push(...rowsForStep(step, groups, stepMeta, ignoreGroupId, states, hoistedGroupIds));
212
+ i++;
213
+ }
214
+ }
215
+ // Hide not-yet-executed (pending) nodes — the views list only the executed path.
216
+ return rows.filter((row) => {
217
+ if (row.kind === 'iteration')
218
+ return true;
219
+ if (row.kind === 'group')
220
+ return rollup(row.members, states, stepMeta) !== 'pending';
221
+ const st = states.get(row.step.id)?.status
222
+ ?? (row.kind === 'construct' ? rollup([row.step], states, stepMeta) : 'pending');
223
+ return st !== 'pending';
224
+ });
225
+ }
226
+ /**
227
+ * The deepest running/paused leaf in the DISPLAYED tree (paused preferred) — where
228
+ * the run currently "is" — with the drill path to reach it. Null if nothing is active.
229
+ */
230
+ export function findLivePath(steps, groups, stepMeta, states, ignoreGroupId, basePath) {
231
+ const rank = (s) => (s === 'paused' ? 2 : s === 'running' ? 1 : 0);
232
+ let best = null;
233
+ const consider = (c) => {
234
+ if (!c)
235
+ return;
236
+ const b = best;
237
+ if (b === null || rank(c.status) > rank(b.status) || (rank(c.status) === rank(b.status) && c.path.length > b.path.length))
238
+ best = c;
239
+ };
240
+ for (const row of buildRows(steps, groups, stepMeta, ignoreGroupId, states)) {
241
+ if (row.kind === 'leaf') {
242
+ const st = states.get(row.step.id)?.status ?? 'pending';
243
+ if (st === 'paused' || st === 'running') {
244
+ consider({ path: basePath, stepId: row.step.id, status: st, label: row.step.title || row.meta?.name || row.step.type });
245
+ }
246
+ }
247
+ else if (row.kind === 'group') {
248
+ const members = membersOfGroup(steps, row.group.id, stepMeta, states);
249
+ consider(findLivePath(members, groups, stepMeta, states, row.group.id, [...basePath, { kind: 'group', id: row.group.id, label: row.group.title }]));
250
+ }
251
+ else if (row.kind === 'construct') {
252
+ const label = row.step.title || row.meta?.name || row.step.type;
253
+ for (const sec of branchSections(row.step, stepMeta)) {
254
+ consider(findLivePath(sec.steps, groups, stepMeta, states, undefined, [...basePath, { kind: 'construct', id: row.step.id, label }]));
255
+ }
256
+ }
257
+ }
258
+ return best;
259
+ }
260
+ /** Tally each executable leaf's status across the active path (resolved if-blocks inlined). */
261
+ export function tallyLeaves(steps, stepMeta, states) {
262
+ const counts = { pending: 0, running: 0, completed: 0, failed: 0, paused: 0, skipped: 0 };
263
+ for (const s of effectiveSteps(steps, stepMeta, states)) {
264
+ const branches = Object.values(branchesOf(s, stepMeta));
265
+ if (branches.length === 0) {
266
+ counts[states.get(s.id)?.status ?? 'pending'] += 1;
267
+ }
268
+ else {
269
+ for (const b of branches) {
270
+ const sub = tallyLeaves(b.steps, stepMeta, states);
271
+ Object.keys(counts).forEach((k) => { counts[k] += sub[k]; });
272
+ }
273
+ }
274
+ }
275
+ return counts;
276
+ }
277
+ //# sourceMappingURL=journey-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey-model.js","sourceRoot":"","sources":["../../../src/components/execution/journey-model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OriginTrace.d.ts","sourceRoot":"","sources":["../../../../src/components/execution/origin/OriginTrace.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAU3D,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4DAA4D;IAC5D,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,wBAAgB,kBAAkB;;kBAIhB,MAAM,YAAY,MAAM,EAAE,cAAa,QAAQ,EAAE;;EAIlE;AAID,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,+BAsB/I;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,SAAc,EACd,SAAS,EACT,MAAM,EACN,SAAS,GACV,EAAE;IACD,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,sCAKA;AAID,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,EACH,OAAO,EACP,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,GACV,EAAE;IACD,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,sCAiHA"}
1
+ {"version":3,"file":"OriginTrace.d.ts","sourceRoot":"","sources":["../../../../src/components/execution/origin/OriginTrace.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAU3D,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4DAA4D;IAC5D,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,wBAAgB,kBAAkB;;kBAIhB,MAAM,YAAY,MAAM,EAAE,cAAa,QAAQ,EAAE;;EAIlE;AAID,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,+BAsB/I;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,SAAc,EACd,SAAS,EACT,MAAM,EACN,SAAS,GACV,EAAE;IACD,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7F,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,sCAKA;AAID,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,EACH,OAAO,EACP,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,GACV,EAAE;IACD,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,sCAqIA"}
@@ -14,13 +14,12 @@ import { useState, useEffect, useMemo } from 'react';
14
14
  import { extractRefPath } from '@xyne/workflow-sdk/builder';
15
15
  import { cn } from '../../shared/cn.js';
16
16
  import { SidePanelShell } from '../SidePanelShell.js';
17
- import { AttachmentList } from '../../shared/AttachmentCard.js';
17
+ import { AttachmentList, FileTypeBadge } from '../../shared/AttachmentCard.js';
18
18
  import { DocumentViewer } from '../../shared/DocumentViewer.js';
19
19
  import { DocPreviewContext } from '../../shared/DocPreviewContext.js';
20
20
  import { useWorkflowClient } from '../../../hooks/use-workflow-client.js';
21
21
  import { JsonView } from '../../shared/JsonView.js';
22
22
  import { resolveRef, getOriginRefs, } from './origin-resolver.js';
23
- const MAX_DEPTH = 8;
24
23
  export function useOriginInspector() {
25
24
  const [inspected, setInspected] = useState(null);
26
25
  return {
@@ -54,43 +53,89 @@ export function OriginPanel({ inspected, ctx, onClose, width, onWidthChange, exp
54
53
  // Tab set scoped to the inspected field: the origin trace + one tab per
55
54
  // attached document. Switching fields rebuilds the set (resets to origin).
56
55
  const docs = useMemo(() => (inspected ? collectDocs(inspected, ctx) : []), [inspected, ctx]);
56
+ // The inspected field's live value — used to auto-highlight the cited
57
+ // passage when a document tab that carries a page number is opened.
58
+ const fieldValue = useMemo(() => {
59
+ for (const ref of inspected?.autoRefs ?? []) {
60
+ const v = resolveRef(ref, ctx).value;
61
+ if (typeof v === 'string' && v.trim())
62
+ return v.trim();
63
+ if (typeof v === 'number')
64
+ return String(v);
65
+ }
66
+ return undefined;
67
+ }, [inspected, ctx]);
68
+ // Document tabs are opened on demand — clicking a preview/eye on an
69
+ // attachment adds a tab; nothing is pre-opened. Keyed by the attachment ref.
70
+ const [openTabs, setOpenTabs] = useState([]);
57
71
  const [activeTab, setActiveTab] = useState('origin');
58
- useEffect(() => { setActiveTab('origin'); }, [inspected]);
72
+ useEffect(() => { setActiveTab('origin'); setOpenTabs([]); }, [inspected]);
59
73
  if (!inspected)
60
74
  return null;
61
- const { autoRefs, citations } = inspected;
62
- const multi = autoRefs.length > 1;
63
- const activeDoc = typeof activeTab === 'number' ? docs[activeTab] : undefined;
75
+ const { citations } = inspected;
76
+ const activeDoc = activeTab === 'origin' ? undefined : docs.find((d) => d.data === activeTab);
64
77
  const openDocTab = (att) => {
65
- const i = docs.findIndex((d) => d.data === att.data);
66
- if (i >= 0)
67
- setActiveTab(i);
78
+ const d = docs.find((x) => x.data === att.data);
79
+ if (!d)
80
+ return;
81
+ setOpenTabs((t) => (t.includes(d.data) ? t : [...t, d.data]));
82
+ setActiveTab(d.data);
83
+ };
84
+ const closeDocTab = (data) => {
85
+ setOpenTabs((t) => t.filter((x) => x !== data));
86
+ setActiveTab((cur) => (cur === data ? 'origin' : cur));
68
87
  };
69
- return (_jsxs(SidePanelShell, { accentClassName: "border-t-0", width: width, onWidthChange: onWidthChange, minWidth: expanded ? 360 : undefined, maxWidth: expanded ? Math.max(640, (typeof window !== 'undefined' ? window.innerWidth : 1400) - 440) : undefined, className: className, children: [_jsxs("div", { className: "flex shrink-0 items-center justify-between gap-3 border-b border-[var(--wui-border)] px-4", style: { minHeight: '53px' }, children: [_jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-[var(--wui-fg-muted)]", children: "Value origin" }), _jsx("p", { className: "truncate text-[13px] font-semibold text-[var(--wui-fg)]", title: inspected.label, children: inspected.label })] }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close", className: "grid h-7 w-7 shrink-0 place-items-center rounded-[var(--wui-radius-sm)] text-[var(--wui-fg-muted)] transition-colors hover:bg-[var(--wui-bg-subtle)]", children: _jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), docs.length > 0 && (_jsxs("div", { className: "flex shrink-0 border-b border-[var(--wui-border)] bg-[var(--wui-bg-muted)]", children: [_jsx(OriginTab, { active: activeTab === 'origin', onClick: () => setActiveTab('origin'), title: `${inspected.label}: origin`, icon: _jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })] }), children: `${inspected.label}: origin` }), docs.map((d, i) => (_jsx(OriginTab, { active: activeTab === i, onClick: () => setActiveTab(i), title: d.name, icon: _jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z" }), _jsx("polyline", { points: "13 2 13 9 20 9" })] }), children: d.name }, d.data)))] })), activeDoc ? (_jsx("div", { className: "min-h-0 flex-1 overflow-auto bg-[var(--wui-bg-subtle)]", children: _jsx(DocumentViewer, { url: client.uploads.url(activeDoc), mimeType: activeDoc.mimeType, name: activeDoc.name }) })) : (_jsx(DocPreviewContext.Provider, { value: docs.length > 0 ? openDocTab : null, children: _jsxs("div", { className: "flex-1 space-y-4 overflow-y-auto px-4 py-4", children: [autoRefs.length > 0 && (_jsxs("section", { className: "space-y-2", children: [_jsx(SectionHeader, { children: "Where it came from" }), _jsx("p", { className: "text-[12px] leading-relaxed text-[var(--wui-fg-muted)]", children: multi
70
- ? `This value is assembled from ${String(autoRefs.length)} sources:`
71
- : 'This value comes from:' }), autoRefs.map((ref) => (_jsx(OriginNode, { refPath: ref, ctx: ctx, depth: 0, visited: new Set([ref]), onClose: onClose }, ref)))] })), citations.length > 0 && (_jsxs("section", { className: "space-y-2", children: [_jsxs(SectionHeader, { children: ["Supporting sources", _jsx("span", { className: "ml-1.5 rounded-full bg-[color-mix(in_srgb,var(--wui-primary)_12%,transparent)] px-1.5 py-px text-[9px] font-semibold text-[var(--wui-primary)]", children: "added by author" })] }), _jsx("p", { className: "text-[12px] leading-relaxed text-[var(--wui-fg-muted)]", children: "Reference material attached to help you verify this value:" }), citations.map((c, i) => (_jsx(CitationNode, { citation: c, ctx: ctx, onClose: onClose }, `${c.ref}-${String(i)}`)))] })), autoRefs.length === 0 && citations.length === 0 && (_jsx("p", { className: "text-[12px] leading-relaxed text-[var(--wui-fg-muted)]", children: "This value was entered directly \u2014 it isn\u2019t derived from an earlier step." }))] }) }))] }));
88
+ return (_jsxs(SidePanelShell, { accentClassName: "border-t-0", width: width, onWidthChange: onWidthChange, minWidth: expanded ? 360 : undefined, maxWidth: expanded ? Math.max(640, (typeof window !== 'undefined' ? window.innerWidth : 1400) - 440) : undefined, className: className, children: [_jsxs("div", { className: "flex shrink-0 items-center justify-between gap-3 border-b border-[var(--wui-border)] px-4", style: { minHeight: '53px' }, children: [_jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-[var(--wui-fg-muted)]", children: "Value origin" }), _jsx("p", { className: "truncate text-[13px] font-semibold text-[var(--wui-fg)]", title: inspected.label, children: inspected.label })] }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close", className: "grid h-7 w-7 shrink-0 place-items-center rounded-[var(--wui-radius-sm)] text-[var(--wui-fg-muted)] transition-colors hover:bg-[var(--wui-bg-subtle)]", children: _jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("div", { className: "flex shrink-0 border-b border-[var(--wui-border)] bg-[var(--wui-bg-muted)]", children: [_jsx(OriginTab, { active: activeTab === 'origin', onClick: () => setActiveTab('origin'), title: `${inspected.label}: source`, icon: _jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })] }), children: `${inspected.label}: source` }), openTabs.map((data) => {
89
+ const d = docs.find((x) => x.data === data);
90
+ if (!d)
91
+ return null;
92
+ return (_jsx(OriginTab, { active: activeTab === data, onClick: () => setActiveTab(data), title: d.name, icon: _jsx(FileTypeBadge, { name: d.name, size: "sm" }), onCloseTab: () => closeDocTab(data), children: d.name }, data));
93
+ })] }), activeDoc ? (_jsx("div", { className: "min-h-0 flex-1 overflow-auto bg-[var(--wui-bg-subtle)]", children: _jsx(DocumentViewer, { url: client.uploads.url(activeDoc), mimeType: activeDoc.mimeType, name: activeDoc.name, page: activeDoc.page, highlightQuery: activeDoc.page !== undefined ? fieldValue : undefined }) })) : (_jsx(DocPreviewContext.Provider, { value: docs.length > 0 ? openDocTab : null, children: _jsxs("div", { className: "flex-1 space-y-4 overflow-y-auto px-4 py-4", children: [citations.length > 0 && (_jsxs("section", { className: "space-y-2", children: [_jsxs(SectionHeader, { children: ["Supporting sources", _jsx("span", { className: "ml-1.5 rounded-full bg-[color-mix(in_srgb,var(--wui-primary)_12%,transparent)] px-1.5 py-px text-[9px] font-semibold text-[var(--wui-primary)]", children: "added by author" })] }), _jsx("p", { className: "text-[12px] leading-relaxed text-[var(--wui-fg-muted)]", children: "Reference material attached to help you verify this value:" }), citations.map((c, i) => (_jsx(CitationNode, { citation: c, ctx: ctx, onClose: onClose }, `${c.ref}-${String(i)}`)))] })), citations.length === 0 && (_jsx("p", { className: "text-[12px] leading-relaxed text-[var(--wui-fg-muted)]", children: "No supporting sources are attached to this value." }))] }) }))] }));
72
94
  }
73
- function OriginTab({ active, onClick, title, icon, children }) {
95
+ function OriginTab({ active, onClick, title, icon, children, onCloseTab }) {
74
96
  return (_jsxs("button", { type: "button", onClick: onClick, title: title, className: cn('relative flex min-w-0 flex-1 items-center gap-1.5 border-r border-[var(--wui-border)] px-3 py-2 text-[12px] transition-colors last:border-r-0', active
75
97
  ? 'bg-[var(--wui-bg)] font-medium text-[var(--wui-fg)]'
76
- : 'text-[var(--wui-fg-muted)] hover:bg-[var(--wui-bg-subtle)] hover:text-[var(--wui-fg)]'), children: [active && _jsx("span", { className: "absolute inset-x-0 top-0 h-0.5 bg-[var(--wui-primary)]" }), icon && _jsx("span", { className: "shrink-0 opacity-70", children: icon }), _jsx("span", { className: "min-w-0 truncate", children: children })] }));
98
+ : 'text-[var(--wui-fg-muted)] hover:bg-[var(--wui-bg-subtle)] hover:text-[var(--wui-fg)]'), children: [active && _jsx("span", { className: "absolute inset-x-0 top-0 h-0.5 bg-[var(--wui-primary)]" }), icon && _jsx("span", { className: "shrink-0 opacity-90", children: icon }), _jsx("span", { className: "min-w-0 truncate", children: children }), onCloseTab && (
99
+ // span, not <button> — buttons can't nest. stopPropagation so closing
100
+ // doesn't also activate the tab underneath.
101
+ _jsx("span", { role: "button", tabIndex: 0, "aria-label": "Close document tab", onClick: (e) => { e.stopPropagation(); onCloseTab(); }, onKeyDown: (e) => { if (e.key === 'Enter' || e.key === ' ') {
102
+ e.preventDefault();
103
+ e.stopPropagation();
104
+ onCloseTab();
105
+ } }, className: "ml-auto grid h-4 w-4 shrink-0 place-items-center rounded text-[var(--wui-fg-muted)] transition-colors hover:bg-[color-mix(in_srgb,var(--wui-fg)_10%,transparent)] hover:text-[var(--wui-fg)]", children: _jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) }))] }));
106
+ }
107
+ /** Resolve a citation's `pageNumber` (a literal like "2" or a "{{ref}}") to a
108
+ * usable 1-indexed page, or undefined when absent/unresolvable. */
109
+ function resolveCitationPage(c, ctx) {
110
+ if (!c.pageNumber)
111
+ return undefined;
112
+ const refPath = extractRefPath(c.pageNumber);
113
+ const raw = refPath ? resolveRef(refPath, ctx).value : c.pageNumber;
114
+ const n = Number(raw);
115
+ return Number.isInteger(n) && n >= 1 ? n : undefined;
77
116
  }
78
117
  /** All distinct documents attached to the inspected field (origin refs + citations). */
79
118
  function collectDocs(inspected, ctx) {
80
119
  const out = [];
81
- const seen = new Set();
82
- const add = (o) => {
120
+ const seen = new Map();
121
+ const add = (o, page) => {
83
122
  for (const a of o.attachments ?? []) {
84
- if (!seen.has(a.data)) {
85
- seen.add(a.data);
86
- out.push(a);
123
+ const existing = seen.get(a.data);
124
+ if (existing) {
125
+ // A citation's page metadata enriches a doc already found via autoRefs.
126
+ if (page !== undefined && existing.page === undefined)
127
+ existing.page = page;
128
+ continue;
87
129
  }
130
+ const entry = page !== undefined ? { ...a, page } : { ...a };
131
+ seen.set(a.data, entry);
132
+ out.push(entry);
88
133
  }
89
134
  };
90
135
  for (const ref of inspected.autoRefs)
91
136
  add(resolveRef(ref, ctx));
92
137
  for (const c of inspected.citations)
93
- add(resolveRef(extractRefPath(c.ref) ?? c.ref, ctx));
138
+ add(resolveRef(extractRefPath(c.ref) ?? c.ref, ctx), resolveCitationPage(c, ctx));
94
139
  return out;
95
140
  }
96
141
  function SectionHeader({ children }) {
@@ -102,15 +147,7 @@ function CitationNode({ citation, ctx, onClose }) {
102
147
  const origin = resolveRef(extractRefPath(citation.ref) ?? citation.ref, ctx);
103
148
  return (_jsx("div", { className: "overflow-hidden rounded-[var(--wui-radius-sm)] border border-[var(--wui-border)] bg-[var(--wui-bg-subtle)]", children: _jsxs("div", { className: "border-l-2 border-[var(--wui-primary)] p-2.5", children: [citation.label && (_jsx("div", { className: "mb-0.5 text-[12.5px] font-semibold text-[var(--wui-fg)]", children: citation.label })), citation.description && (_jsx("p", { className: "mb-1.5 text-[11px] leading-snug text-[var(--wui-fg-muted)]", children: citation.description })), _jsx(OriginBody, { origin: origin, ctx: ctx, onClose: onClose })] }) }));
104
149
  }
105
- // ─── Recursive node ───
106
- function OriginNode({ refPath, ctx, depth, visited, onClose, }) {
107
- const origin = resolveRef(refPath, ctx);
108
- const [open, setOpen] = useState(false);
109
- const traceable = origin.upstreamRefs.filter((r) => !visited.has(r));
110
- const canTrace = traceable.length > 0 && depth < MAX_DEPTH;
111
- return (_jsx("div", { className: "overflow-hidden rounded-[var(--wui-radius-sm)] border border-[var(--wui-border)] bg-[var(--wui-bg-subtle)]", children: _jsxs("div", { className: "border-l-2 border-[var(--wui-border-strong)] p-2.5", children: [_jsx(OriginBody, { origin: origin, ctx: ctx, onClose: onClose }), canTrace && (_jsxs("div", { className: "mt-2", children: [_jsxs("button", { type: "button", onClick: () => setOpen((o) => !o), className: "inline-flex items-center gap-1 text-[11px] font-medium text-[var(--wui-fg-muted)] transition-colors hover:text-[var(--wui-fg)]", children: [_jsx("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", className: cn('transition-transform', open && 'rotate-90'), children: _jsx("polyline", { points: "9 18 15 12 9 6" }) }), open ? 'Hide' : 'Trace back', " (", traceable.length, ")"] }), open && (_jsx("div", { className: "mt-2 space-y-2 border-l-2 border-[var(--wui-border)] pl-2.5", children: traceable.map((r) => (_jsx(OriginNode, { refPath: r, ctx: ctx, depth: depth + 1, visited: new Set([...visited, r]), onClose: onClose }, r))) }))] }))] }) }));
112
- }
113
- /** Inner card content shared by an auto-origin node and an author-citation node. */
150
+ /** Inner card content of an author-citation node. */
114
151
  function OriginBody({ origin, ctx, onClose }) {
115
152
  const [showAll, setShowAll] = useState(false);
116
153
  // The full source object behind this value (a step's whole output, or the request).
@@ -1 +1 @@
1
- {"version":3,"file":"OriginTrace.js","sourceRoot":"","sources":["../../../../src/components/execution/origin/OriginTrace.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OriginTrace.js","sourceRoot":"","sources":["../../../../src/components/execution/origin/OriginTrace.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,12 @@ import type { Attachment } from '@xyne/workflow-sdk';
4
4
  export declare function isAttachment(v: unknown): v is Attachment;
5
5
  /** A non-empty array whose every element is an Attachment. */
6
6
  export declare function isAttachmentArray(v: unknown): v is Attachment[];
7
+ /** Small file-shaped chip carrying the extension — the "PDF logo" of the card.
8
+ * `sm` fits inside tab strips; `md` is the attachment-card row size. */
9
+ export declare function FileTypeBadge({ name, size }: {
10
+ name: string;
11
+ size?: 'md' | 'sm';
12
+ }): import("react").JSX.Element;
7
13
  /**
8
14
  * Renders a single {@link Attachment} as a download card with inline preview
9
15
  * for images / markdown / text. Generic — used wherever an attachment-typed
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentCard.d.ts","sourceRoot":"","sources":["../../../src/components/shared/AttachmentCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CASxD;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,EAAE,CAE/D;AASD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,+BAyExE;AAwFD,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,+BAQ5E;AAaD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,QAAqB,GACtB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,+BA6BA;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,sCAQrH"}
1
+ {"version":3,"file":"AttachmentCard.d.ts","sourceRoot":"","sources":["../../../src/components/shared/AttachmentCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CASxD;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,EAAE,CAE/D;AA8BD;yEACyE;AACzE,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAW,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,+BAmBxF;AAiFD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,+BAgFxE;AA0FD,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,+BAQ5E;AAaD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,QAAqB,GACtB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,+BA6BA;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,sCAQrH"}