@zaalipro/dsh-workflows 0.1.0-rc.12

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 (229) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +224 -0
  3. package/README.i18n.yaml +4 -0
  4. package/README.md +111 -0
  5. package/README.zh.md +111 -0
  6. package/cordis.patch.yml +10 -0
  7. package/docs/architecture.i18n.yaml +4 -0
  8. package/docs/architecture.md +177 -0
  9. package/docs/architecture.zh.md +177 -0
  10. package/docs/testing.i18n.yaml +4 -0
  11. package/docs/testing.md +125 -0
  12. package/docs/testing.zh.md +125 -0
  13. package/docs/user-guide.i18n.yaml +4 -0
  14. package/docs/user-guide.md +351 -0
  15. package/docs/user-guide.zh.md +351 -0
  16. package/lib/client-types/WorkflowMemberInspector.d.ts +28 -0
  17. package/lib/client-types/WorkflowMemberInspector.d.ts.map +1 -0
  18. package/lib/client-types/WorkflowMemberInspector.js +181 -0
  19. package/lib/client-types/WorkflowMemberInspector.js.map +1 -0
  20. package/lib/client-types/WorkflowRunPanel.d.ts +43 -0
  21. package/lib/client-types/WorkflowRunPanel.d.ts.map +1 -0
  22. package/lib/client-types/WorkflowRunPanel.js +130 -0
  23. package/lib/client-types/WorkflowRunPanel.js.map +1 -0
  24. package/lib/client-types/WorkflowsDashboard.d.ts +49 -0
  25. package/lib/client-types/WorkflowsDashboard.d.ts.map +1 -0
  26. package/lib/client-types/WorkflowsDashboard.js +942 -0
  27. package/lib/client-types/WorkflowsDashboard.js.map +1 -0
  28. package/lib/client-types/adapter.d.ts +60 -0
  29. package/lib/client-types/adapter.d.ts.map +1 -0
  30. package/lib/client-types/adapter.js +117 -0
  31. package/lib/client-types/adapter.js.map +1 -0
  32. package/lib/client-types/chat-renderer.d.ts +10 -0
  33. package/lib/client-types/chat-renderer.d.ts.map +1 -0
  34. package/lib/client-types/chat-renderer.js +11 -0
  35. package/lib/client-types/chat-renderer.js.map +1 -0
  36. package/lib/client-types/contract.d.ts +210 -0
  37. package/lib/client-types/contract.d.ts.map +1 -0
  38. package/lib/client-types/contract.js +37 -0
  39. package/lib/client-types/contract.js.map +1 -0
  40. package/lib/client-types/controller.d.ts +83 -0
  41. package/lib/client-types/controller.d.ts.map +1 -0
  42. package/lib/client-types/controller.js +705 -0
  43. package/lib/client-types/controller.js.map +1 -0
  44. package/lib/client-types/index.d.ts +19 -0
  45. package/lib/client-types/index.d.ts.map +1 -0
  46. package/lib/client-types/index.js +731 -0
  47. package/lib/client-types/index.js.map +1 -0
  48. package/lib/client-types/locales.d.ts +257 -0
  49. package/lib/client-types/locales.d.ts.map +1 -0
  50. package/lib/client-types/locales.js +270 -0
  51. package/lib/client-types/locales.js.map +1 -0
  52. package/lib/client-types/slot-components.d.ts +38 -0
  53. package/lib/client-types/slot-components.d.ts.map +1 -0
  54. package/lib/client-types/slot-components.js +22 -0
  55. package/lib/client-types/slot-components.js.map +1 -0
  56. package/lib/client-types/store.d.ts +69 -0
  57. package/lib/client-types/store.d.ts.map +1 -0
  58. package/lib/client-types/store.js +135 -0
  59. package/lib/client-types/store.js.map +1 -0
  60. package/lib/client-types/workflow-definition.d.ts +52 -0
  61. package/lib/client-types/workflow-definition.d.ts.map +1 -0
  62. package/lib/client-types/workflow-definition.js +135 -0
  63. package/lib/client-types/workflow-definition.js.map +1 -0
  64. package/lib/client.js +11065 -0
  65. package/lib/client.js.map +1 -0
  66. package/lib/compat-engine/index.js +1926 -0
  67. package/lib/compat-engine/index.js.map +1 -0
  68. package/lib/compat-engine/worker.cjs +1500 -0
  69. package/lib/compat-engine/worker.cjs.map +1 -0
  70. package/lib/typert.host.d.ts +3 -0
  71. package/lib/typert.host.js +1709 -0
  72. package/lib/typert.remote-client.d.ts +57 -0
  73. package/lib/typert.remote-client.js +1662 -0
  74. package/lib/types/commands/aliases.d.ts +4 -0
  75. package/lib/types/commands/aliases.d.ts.map +1 -0
  76. package/lib/types/commands/aliases.js +25 -0
  77. package/lib/types/commands/aliases.js.map +1 -0
  78. package/lib/types/commands/index.d.ts +66 -0
  79. package/lib/types/commands/index.d.ts.map +1 -0
  80. package/lib/types/commands/index.js +550 -0
  81. package/lib/types/commands/index.js.map +1 -0
  82. package/lib/types/commands/parser.d.ts +17 -0
  83. package/lib/types/commands/parser.d.ts.map +1 -0
  84. package/lib/types/commands/parser.js +45 -0
  85. package/lib/types/commands/parser.js.map +1 -0
  86. package/lib/types/config.d.ts +71 -0
  87. package/lib/types/config.d.ts.map +1 -0
  88. package/lib/types/config.js +109 -0
  89. package/lib/types/config.js.map +1 -0
  90. package/lib/types/index.d.ts +41 -0
  91. package/lib/types/index.d.ts.map +1 -0
  92. package/lib/types/index.js +483 -0
  93. package/lib/types/index.js.map +1 -0
  94. package/lib/types/invariant.d.ts +21 -0
  95. package/lib/types/invariant.d.ts.map +1 -0
  96. package/lib/types/invariant.js +85 -0
  97. package/lib/types/invariant.js.map +1 -0
  98. package/lib/types/registry/definition.d.ts +24 -0
  99. package/lib/types/registry/definition.d.ts.map +1 -0
  100. package/lib/types/registry/definition.js +189 -0
  101. package/lib/types/registry/definition.js.map +1 -0
  102. package/lib/types/registry/index.d.ts +100 -0
  103. package/lib/types/registry/index.d.ts.map +1 -0
  104. package/lib/types/registry/index.js +899 -0
  105. package/lib/types/registry/index.js.map +1 -0
  106. package/lib/types/registry/names.d.ts +19 -0
  107. package/lib/types/registry/names.d.ts.map +1 -0
  108. package/lib/types/registry/names.js +69 -0
  109. package/lib/types/registry/names.js.map +1 -0
  110. package/lib/types/registry/remote.d.ts +15 -0
  111. package/lib/types/registry/remote.d.ts.map +1 -0
  112. package/lib/types/registry/remote.js +128 -0
  113. package/lib/types/registry/remote.js.map +1 -0
  114. package/lib/types/registry/roots.d.ts +44 -0
  115. package/lib/types/registry/roots.d.ts.map +1 -0
  116. package/lib/types/registry/roots.js +118 -0
  117. package/lib/types/registry/roots.js.map +1 -0
  118. package/lib/types/registry/types.d.ts +62 -0
  119. package/lib/types/registry/types.d.ts.map +1 -0
  120. package/lib/types/registry/types.js +2 -0
  121. package/lib/types/registry/types.js.map +1 -0
  122. package/lib/types/registry/watchers.d.ts +70 -0
  123. package/lib/types/registry/watchers.d.ts.map +1 -0
  124. package/lib/types/registry/watchers.js +152 -0
  125. package/lib/types/registry/watchers.js.map +1 -0
  126. package/lib/types/remote-events.d.ts +42 -0
  127. package/lib/types/remote-events.d.ts.map +1 -0
  128. package/lib/types/remote-events.js +21 -0
  129. package/lib/types/remote-events.js.map +1 -0
  130. package/lib/types/run-recorder.d.ts +44 -0
  131. package/lib/types/run-recorder.d.ts.map +1 -0
  132. package/lib/types/run-recorder.js +356 -0
  133. package/lib/types/run-recorder.js.map +1 -0
  134. package/lib/types/supervisor/canned-validate.d.ts +25 -0
  135. package/lib/types/supervisor/canned-validate.d.ts.map +1 -0
  136. package/lib/types/supervisor/canned-validate.js +122 -0
  137. package/lib/types/supervisor/canned-validate.js.map +1 -0
  138. package/lib/types/supervisor/completion-notice.d.ts +49 -0
  139. package/lib/types/supervisor/completion-notice.d.ts.map +1 -0
  140. package/lib/types/supervisor/completion-notice.js +281 -0
  141. package/lib/types/supervisor/completion-notice.js.map +1 -0
  142. package/lib/types/supervisor/cursors.d.ts +68 -0
  143. package/lib/types/supervisor/cursors.d.ts.map +1 -0
  144. package/lib/types/supervisor/cursors.js +158 -0
  145. package/lib/types/supervisor/cursors.js.map +1 -0
  146. package/lib/types/supervisor/engine-compat.d.ts +48 -0
  147. package/lib/types/supervisor/engine-compat.d.ts.map +1 -0
  148. package/lib/types/supervisor/engine-compat.js +116 -0
  149. package/lib/types/supervisor/engine-compat.js.map +1 -0
  150. package/lib/types/supervisor/index.d.ts +183 -0
  151. package/lib/types/supervisor/index.d.ts.map +1 -0
  152. package/lib/types/supervisor/index.js +2040 -0
  153. package/lib/types/supervisor/index.js.map +1 -0
  154. package/lib/types/supervisor/parallel-compat.d.ts +36 -0
  155. package/lib/types/supervisor/parallel-compat.d.ts.map +1 -0
  156. package/lib/types/supervisor/parallel-compat.js +180 -0
  157. package/lib/types/supervisor/parallel-compat.js.map +1 -0
  158. package/lib/types/supervisor/remote.d.ts +25 -0
  159. package/lib/types/supervisor/remote.d.ts.map +1 -0
  160. package/lib/types/supervisor/remote.js +478 -0
  161. package/lib/types/supervisor/remote.js.map +1 -0
  162. package/lib/types/supervisor/storage/bounded-file.d.ts +41 -0
  163. package/lib/types/supervisor/storage/bounded-file.d.ts.map +1 -0
  164. package/lib/types/supervisor/storage/bounded-file.js +186 -0
  165. package/lib/types/supervisor/storage/bounded-file.js.map +1 -0
  166. package/lib/types/supervisor/storage/details-codec.d.ts +14 -0
  167. package/lib/types/supervisor/storage/details-codec.d.ts.map +1 -0
  168. package/lib/types/supervisor/storage/details-codec.js +359 -0
  169. package/lib/types/supervisor/storage/details-codec.js.map +1 -0
  170. package/lib/types/supervisor/storage/index.d.ts +26 -0
  171. package/lib/types/supervisor/storage/index.d.ts.map +1 -0
  172. package/lib/types/supervisor/storage/index.js +100 -0
  173. package/lib/types/supervisor/storage/index.js.map +1 -0
  174. package/lib/types/supervisor/storage/lease.d.ts +34 -0
  175. package/lib/types/supervisor/storage/lease.d.ts.map +1 -0
  176. package/lib/types/supervisor/storage/lease.js +289 -0
  177. package/lib/types/supervisor/storage/lease.js.map +1 -0
  178. package/lib/types/supervisor/storage/manifest-codec.d.ts +10 -0
  179. package/lib/types/supervisor/storage/manifest-codec.d.ts.map +1 -0
  180. package/lib/types/supervisor/storage/manifest-codec.js +335 -0
  181. package/lib/types/supervisor/storage/manifest-codec.js.map +1 -0
  182. package/lib/types/supervisor/storage/manifest-store.d.ts +99 -0
  183. package/lib/types/supervisor/storage/manifest-store.d.ts.map +1 -0
  184. package/lib/types/supervisor/storage/manifest-store.js +1606 -0
  185. package/lib/types/supervisor/storage/manifest-store.js.map +1 -0
  186. package/lib/types/supervisor/storage/manifest-types.d.ts +269 -0
  187. package/lib/types/supervisor/storage/manifest-types.d.ts.map +1 -0
  188. package/lib/types/supervisor/storage/manifest-types.js +2 -0
  189. package/lib/types/supervisor/storage/manifest-types.js.map +1 -0
  190. package/lib/types/supervisor/storage/private-root.d.ts +143 -0
  191. package/lib/types/supervisor/storage/private-root.d.ts.map +1 -0
  192. package/lib/types/supervisor/storage/private-root.js +860 -0
  193. package/lib/types/supervisor/storage/private-root.js.map +1 -0
  194. package/lib/types/supervisor/storage/recovery.d.ts +14 -0
  195. package/lib/types/supervisor/storage/recovery.d.ts.map +1 -0
  196. package/lib/types/supervisor/storage/recovery.js +126 -0
  197. package/lib/types/supervisor/storage/recovery.js.map +1 -0
  198. package/lib/types/supervisor/storage/run-files.d.ts +67 -0
  199. package/lib/types/supervisor/storage/run-files.d.ts.map +1 -0
  200. package/lib/types/supervisor/storage/run-files.js +346 -0
  201. package/lib/types/supervisor/storage/run-files.js.map +1 -0
  202. package/lib/types/supervisor/types.d.ts +295 -0
  203. package/lib/types/supervisor/types.d.ts.map +1 -0
  204. package/lib/types/supervisor/types.js +3 -0
  205. package/lib/types/supervisor/types.js.map +1 -0
  206. package/lib/types/supervisor/value-view.d.ts +19 -0
  207. package/lib/types/supervisor/value-view.d.ts.map +1 -0
  208. package/lib/types/supervisor/value-view.js +183 -0
  209. package/lib/types/supervisor/value-view.js.map +1 -0
  210. package/lib/types/tool/index.d.ts +86 -0
  211. package/lib/types/tool/index.d.ts.map +1 -0
  212. package/lib/types/tool/index.js +810 -0
  213. package/lib/types/tool/index.js.map +1 -0
  214. package/lib/types/tool/schema.d.ts +158 -0
  215. package/lib/types/tool/schema.d.ts.map +1 -0
  216. package/lib/types/tool/schema.js +137 -0
  217. package/lib/types/tool/schema.js.map +1 -0
  218. package/lib/types/types.d.ts +9 -0
  219. package/lib/types/types.d.ts.map +1 -0
  220. package/lib/types/types.js +3 -0
  221. package/lib/types/types.js.map +1 -0
  222. package/lib/types/user-questions.d.ts +9 -0
  223. package/lib/types/user-questions.d.ts.map +1 -0
  224. package/lib/types/user-questions.js +91 -0
  225. package/lib/types/user-questions.js.map +1 -0
  226. package/package.json +291 -0
  227. package/skills/create-workflow/SKILL.md +166 -0
  228. package/vendor/workflow-engine/LICENSE +21 -0
  229. package/vendor/workflow-engine/README.md +1 -0
@@ -0,0 +1,130 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState, } from 'react';
3
+ import { workflowChatLabelsFromLocale, workflowLocales } from './locales.js';
4
+ import css from './WorkflowRunPanel.module.css';
5
+ const DEFAULT_LABELS = workflowChatLabelsFromLocale(workflowLocales.en);
6
+ function abnormal(status) {
7
+ return status === 'failed' || status === 'cancelled' || status === 'interrupted';
8
+ }
9
+ function factsForPhase(phase) {
10
+ const mode = phase.members.some(member => abnormal(member.status))
11
+ ? 'abnormal'
12
+ : phase.members.some(member => member.status === 'running') ? 'running' : 'clean';
13
+ return { mode, count: phase.members.length };
14
+ }
15
+ function factsForRun(data) {
16
+ const phases = data.phases.map(factsForPhase);
17
+ const mode = abnormal(data.status) || phases.some(phase => phase.mode === 'abnormal')
18
+ ? 'abnormal'
19
+ : data.status === 'running' || phases.some(phase => phase.mode === 'running')
20
+ ? 'running'
21
+ : 'clean';
22
+ return { mode, count: phases.reduce((total, phase) => total + phase.count, 0) };
23
+ }
24
+ export function initialWorkflowDisclosure(facts) {
25
+ return { ...facts, open: facts.mode !== 'clean' };
26
+ }
27
+ /** Force abnormal/running open; auto-fold a clean completion once. */
28
+ export function advanceWorkflowDisclosure(current, facts) {
29
+ if (facts.mode !== 'clean')
30
+ return { ...facts, open: true };
31
+ if (current.mode !== 'clean')
32
+ return { ...facts, open: false };
33
+ if (current.count !== facts.count)
34
+ return { ...facts, open: false };
35
+ return { ...facts, open: current.open };
36
+ }
37
+ function phaseName(phase, labels) {
38
+ if (phase === null)
39
+ return labels.unphased;
40
+ return phase === '' ? labels.emptyPhase : phase;
41
+ }
42
+ function memberName(label, labels) {
43
+ return label === '' ? labels.emptyMember : label;
44
+ }
45
+ function statusSummary(members, labels) {
46
+ const counts = new Map();
47
+ for (const member of members)
48
+ counts.set(member.status, (counts.get(member.status) ?? 0) + 1);
49
+ const order = ['completed', 'running', 'failed', 'cancelled', 'interrupted'];
50
+ return order
51
+ .filter(status => (counts.get(status) ?? 0) > 0)
52
+ .map(status => labels.statusCount(status, counts.get(status) ?? 0))
53
+ .join(' · ');
54
+ }
55
+ function StatusDot({ status }) {
56
+ return _jsx("span", { className: css.stateDot, "data-status": status, "aria-hidden": "true" });
57
+ }
58
+ function DisclosureHeader({ clean, open, onToggle, className, children, }) {
59
+ if (!clean) {
60
+ return (_jsxs("div", { className: className, "data-forced-open": "true", children: [_jsx("span", { className: css.chevron, "aria-hidden": "true", children: "\u203A" }), children] }));
61
+ }
62
+ return (_jsxs("button", { type: "button", className: className, "aria-expanded": open, onClick: onToggle, children: [_jsx("span", { className: css.chevron, "data-open": open ? 'true' : 'false', "aria-hidden": "true", children: "\u203A" }), children] }));
63
+ }
64
+ function MemberRow({ member, labels, isChildAvailable, onOpen, }) {
65
+ const label = memberName(member.label, labels);
66
+ const available = isChildAvailable(member.childId);
67
+ const content = (_jsxs(_Fragment, { children: [_jsx(StatusDot, { status: member.status }), _jsx("span", { className: css.memberLabel, children: label }), _jsx("span", { className: css.memberStatus, children: labels.status[member.status] })] }));
68
+ if (!available)
69
+ return _jsx("div", { className: css.memberRow, "data-member-status": member.status, children: content });
70
+ return (_jsx("button", { type: "button", className: css.memberButton, "data-member-status": member.status, "aria-label": labels.openMember(label), onClick: () => { onOpen(member); }, children: content }));
71
+ }
72
+ function PhaseSection({ phase, choice, labels, isChildAvailable, onToggle, onOpen, }) {
73
+ const clean = choice.mode === 'clean';
74
+ const open = clean ? choice.open : true;
75
+ return (_jsxs("section", { className: css.phase, "aria-label": phaseName(phase.phase, labels), children: [_jsxs(DisclosureHeader, { clean: clean, open: open, onToggle: onToggle, className: css.phaseHeader, children: [_jsx("span", { className: css.phaseTitle, children: phaseName(phase.phase, labels) }), _jsx("span", { className: css.phaseCount, children: labels.inspect(phase.members.length) }), _jsx("span", { className: css.phaseStatus, children: statusSummary(phase.members, labels) })] }), open && (_jsx("div", { className: css.members, children: phase.members.map(member => (_jsx(MemberRow, { member: member, labels: labels, isChildAvailable: isChildAvailable, onOpen: onOpen }, member.seq))) }))] }));
76
+ }
77
+ /** Render one durable workflow run without exposing logical run or child ids. */
78
+ export function WorkflowRunPanel({ node, resolveAndOpenChild, isChildAvailable = () => false, labels: labelOverrides, }) {
79
+ const labels = {
80
+ ...DEFAULT_LABELS,
81
+ ...labelOverrides,
82
+ status: { ...DEFAULT_LABELS.status, ...labelOverrides?.status },
83
+ };
84
+ const runFacts = factsForRun(node.data);
85
+ const [runChoice, setRunChoice] = useState(() => initialWorkflowDisclosure(runFacts));
86
+ const [phaseChoices, setPhaseChoices] = useState(() => new Map(node.data.phases.map(phase => [phase.key, initialWorkflowDisclosure(factsForPhase(phase))])));
87
+ const [navigationFeedback, setNavigationFeedback] = useState();
88
+ const navigationGeneration = useRef(0);
89
+ useEffect(() => {
90
+ setRunChoice(current => advanceWorkflowDisclosure(current, runFacts));
91
+ setPhaseChoices((current) => {
92
+ const next = new Map();
93
+ for (const phase of node.data.phases) {
94
+ const facts = factsForPhase(phase);
95
+ next.set(phase.key, current.has(phase.key)
96
+ ? advanceWorkflowDisclosure(current.get(phase.key), facts)
97
+ : initialWorkflowDisclosure(facts));
98
+ }
99
+ return next;
100
+ });
101
+ }, [node.data, runFacts.count, runFacts.mode]);
102
+ useEffect(() => () => { navigationGeneration.current += 1; }, []);
103
+ const runOpen = runChoice.mode === 'clean' ? runChoice.open : true;
104
+ const openMember = (member) => {
105
+ const generation = ++navigationGeneration.current;
106
+ setNavigationFeedback(undefined);
107
+ void resolveAndOpenChild(member.childId).then(opened => {
108
+ if (generation === navigationGeneration.current && !opened) {
109
+ setNavigationFeedback(labels.childUnavailable);
110
+ }
111
+ }, () => {
112
+ if (generation === navigationGeneration.current)
113
+ setNavigationFeedback(labels.childFailed);
114
+ });
115
+ };
116
+ return (_jsxs("section", { className: css.root, "data-workflow-run": true, "data-run-status": node.data.status, children: [_jsxs(DisclosureHeader, { clean: runChoice.mode === 'clean', open: runOpen, onToggle: () => { setRunChoice(current => ({ ...current, open: !current.open })); }, className: css.runHeader, children: [_jsx("span", { className: css.runName, children: node.data.name }), _jsx("span", { className: css.runCount, children: labels.inspect(runFacts.count) }), _jsxs("span", { className: css.runStatus, children: [_jsx(StatusDot, { status: node.data.status }), labels.status[node.data.status]] })] }), runOpen && (_jsx("div", { className: css.phaseList, children: node.data.phases.length === 0
117
+ ? _jsx("p", { className: css.empty, children: labels.noMembers })
118
+ : node.data.phases.map((phase) => {
119
+ const choice = phaseChoices.get(phase.key) ?? initialWorkflowDisclosure(factsForPhase(phase));
120
+ return (_jsx(PhaseSection, { phase: phase, choice: choice, labels: labels, isChildAvailable: isChildAvailable, onToggle: () => {
121
+ setPhaseChoices((current) => {
122
+ const next = new Map(current);
123
+ next.set(phase.key, { ...choice, open: !choice.open });
124
+ return next;
125
+ });
126
+ }, onOpen: openMember }, `${phase.key}:${choice.mode === 'clean' ? choice.count : 'active'}`));
127
+ }) })), navigationFeedback !== undefined && (_jsx("p", { className: css.navigationFeedback, role: "status", children: navigationFeedback }))] }));
128
+ }
129
+ export default WorkflowRunPanel;
130
+ //# sourceMappingURL=WorkflowRunPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowRunPanel.js","sourceRoot":"","sources":["../../src/client/WorkflowRunPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,MAAM,EACN,QAAQ,GAGT,MAAM,OAAO,CAAA;AAQd,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,GAAG,MAAM,+BAA+B,CAAA;AA2B/C,MAAM,cAAc,GAA2B,4BAA4B,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;AAe/F,SAAS,QAAQ,CAAC,MAAyB;IACzC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,aAAa,CAAA;AAClF,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IACnF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,IAAyB;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;QACnF,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;YAC3E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAA;IACb,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAA;AACjF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAsB;IAC9D,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAA;AACnD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,yBAAyB,CAAC,OAAyB,EAAE,KAAsB;IACzF,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACnE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,KAAoB,EAAE,MAA8B;IACrE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAA;IAC1C,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAA;AACjD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,MAA8B;IAC/D,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAA;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,OAAyC,EAAE,MAA8B;IAC9F,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAA;IACnD,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7F,MAAM,KAAK,GAAiC,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;IAC1G,OAAO,KAAK;SACT,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SAClE,IAAI,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,MAAM,EAA0C;IACnE,OAAO,eAAM,SAAS,EAAE,GAAG,CAAC,QAAQ,iBAAe,MAAM,iBAAc,MAAM,GAAG,CAAA;AAClF,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,QAAQ,GAOT;IACC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,sBAAmB,MAAM,aAChD,eAAM,SAAS,EAAE,GAAG,CAAC,OAAO,iBAAc,MAAM,uBAAS,EACxD,QAAQ,IACL,CACP,CAAA;IACH,CAAC;IACD,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,SAAS,mBACL,IAAI,EACnB,OAAO,EAAE,QAAQ,aAEjB,eAAM,SAAS,EAAE,GAAG,CAAC,OAAO,eAAa,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,iBAAc,MAAM,uBAAS,EAC5F,QAAQ,IACF,CACV,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,MAAM,GAMP;IACC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,CACd,8BACE,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAI,EACpC,eAAM,SAAS,EAAE,GAAG,CAAC,WAAW,YAAG,KAAK,GAAQ,EAChD,eAAM,SAAS,EAAE,GAAG,CAAC,YAAY,YAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAQ,IACvE,CACJ,CAAA;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,cAAK,SAAS,EAAE,GAAG,CAAC,SAAS,wBAAsB,MAAM,CAAC,MAAM,YAAG,OAAO,GAAO,CAAA;IACxG,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,YAAY,wBACP,MAAM,CAAC,MAAM,gBACrB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EACpC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,YAEhC,OAAO,GACD,CACV,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,KAAK,EACL,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,QAAQ,EACR,MAAM,GAQP;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAA;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACvC,OAAO,CACL,mBAAS,SAAS,EAAE,GAAG,CAAC,KAAK,gBAAc,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,aACvE,MAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,CAAC,WAAW,aAE1B,eAAM,SAAS,EAAE,GAAG,CAAC,UAAU,YAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAQ,EACxE,eAAM,SAAS,EAAE,GAAG,CAAC,UAAU,YAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAQ,EAC9E,eAAM,SAAS,EAAE,GAAG,CAAC,WAAW,YAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,GAAQ,IAC9D,EAClB,IAAI,IAAI,CACP,cAAK,SAAS,EAAE,GAAG,CAAC,OAAO,YACxB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC3B,KAAC,SAAS,IAER,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,IAJT,MAAM,CAAC,GAAG,CAKf,CACH,CAAC,GACE,CACP,IACO,CACX,CAAA;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,GAAG,GAAG,EAAE,CAAC,KAAK,EAC9B,MAAM,EAAE,cAAc,GACA;IACtB,MAAM,MAAM,GAA2B;QACrC,GAAG,cAAc;QACjB,GAAG,cAAc;QACjB,MAAM,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE;KAChE,CAAA;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3G,CAAA;IACD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,EAAU,CAAA;IACtE,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QACrE,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAA;YAChD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;gBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;oBACxC,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAqB,EAAE,KAAK,CAAC;oBAC9E,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;YACvC,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAE9C,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC,OAAO,IAAI,CAAC,CAAA,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEhE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAClE,MAAM,UAAU,GAAG,CAAC,MAA6B,EAAQ,EAAE;QACzD,MAAM,UAAU,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAA;QACjD,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAChC,KAAK,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC3C,MAAM,CAAC,EAAE;YACP,IAAI,UAAU,KAAK,oBAAoB,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3D,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;QACH,CAAC,EACD,GAAG,EAAE;YACH,IAAI,UAAU,KAAK,oBAAoB,CAAC,OAAO;gBAAE,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC5F,CAAC,CACF,CAAA;IACH,CAAC,CAAA;IAED,OAAO,CACL,mBAAS,SAAS,EAAE,GAAG,CAAC,IAAI,gDAAqC,IAAI,CAAC,IAAI,CAAC,MAAM,aAC/E,MAAC,gBAAgB,IACf,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,OAAO,EACjC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC,EAClF,SAAS,EAAE,GAAG,CAAC,SAAS,aAExB,eAAM,SAAS,EAAE,GAAG,CAAC,OAAO,YAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAQ,EACrD,eAAM,SAAS,EAAE,GAAG,CAAC,QAAQ,YAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAQ,EACtE,gBAAM,SAAS,EAAE,GAAG,CAAC,SAAS,aAC5B,KAAC,SAAS,IAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAI,EACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAC3B,IACU,EAClB,OAAO,IAAI,CACV,cAAK,SAAS,EAAE,GAAG,CAAC,SAAS,YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBAC5B,CAAC,CAAC,YAAG,SAAS,EAAE,GAAG,CAAC,KAAK,YAAG,MAAM,CAAC,SAAS,GAAK;oBACjD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;wBAC7F,OAAO,CACL,KAAC,YAAY,IAEX,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,GAAG,EAAE;gCACb,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE;oCAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;oCAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;oCACtD,OAAO,IAAI,CAAA;gCACb,CAAC,CAAC,CAAA;4BACJ,CAAC,EACD,MAAM,EAAE,UAAU,IAZb,GAAG,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAaxE,CACH,CAAA;oBACH,CAAC,CAAC,GACF,CACP,EACA,kBAAkB,KAAK,SAAS,IAAI,CACnC,YAAG,SAAS,EAAE,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAC,QAAQ,YAAE,kBAAkB,GAAK,CAC7E,IACO,CACX,CAAA;AACH,CAAC;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,49 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { ClientRunHead, WorkflowRunArtifactChunk, WorkflowRunDetail, WorkflowRunMemberHead, WorkflowDefinitionCard, WorkflowRunsOperations, WorkflowRunsSourceSnapshot } from './contract.js';
3
+ import type { DashboardWorkflowRunsAdapter } from './adapter.js';
4
+ import type { WorkflowRunsController } from './controller.js';
5
+ import { type DashboardLabels } from './locales.js';
6
+ import type { WorkflowsState, WorkflowsStoreInstance } from './store.js';
7
+ export declare const GENERIC_LOAD_ERROR = "Unable to load workflow data. Retry.";
8
+ export declare const GENERIC_CONTROL_ERROR = "Unable to update workflow. Retry.";
9
+ export declare const STALE_CONTROL_ERROR = "workflow run changed; refresh it before applying a control";
10
+ type DashboardOperations = WorkflowRunsOperations & Partial<{
11
+ get(sessionId: string): WorkflowRunsSourceSnapshot;
12
+ subscribe(sessionId: string, listener: (snapshot: WorkflowRunsSourceSnapshot) => void): () => void;
13
+ listDefinitions(sessionId: string, signal?: AbortSignal): Promise<readonly WorkflowDefinitionCard[]>;
14
+ launchDefinition(sessionId: string, name: string, signal?: AbortSignal): Promise<void>;
15
+ }>;
16
+ /** Business dependencies supplied by the browser plugin slot. */
17
+ export interface WorkflowsDashboardInjected {
18
+ readonly operations: WorkflowRunsOperations;
19
+ readonly labels?: DashboardLabels;
20
+ }
21
+ export interface WorkflowsDashboardProps {
22
+ /** Bounded reads and controls. */
23
+ readonly operations?: DashboardOperations;
24
+ /** Compatibility name retained for the package's first preview. */
25
+ readonly controller?: WorkflowRunsController | DashboardWorkflowRunsAdapter;
26
+ /** Slot-owned observable value. Omit when `operations.subscribe` is present. */
27
+ readonly source?: WorkflowRunsSourceSnapshot;
28
+ readonly sessionId?: string;
29
+ readonly open?: boolean;
30
+ readonly invoker?: HTMLElement | null;
31
+ readonly onClose?: () => void;
32
+ /** Interaction store snapshot. When present, selection and mobile view are store-owned. */
33
+ readonly store?: WorkflowsState;
34
+ readonly storeActions?: WorkflowsStoreInstance['actions'];
35
+ readonly labels?: DashboardLabels;
36
+ }
37
+ /** Stable active-oldest/history-newest ordering required by the dashboard. */
38
+ export declare function orderWorkflowRuns(rows: readonly ClientRunHead[]): ClientRunHead[];
39
+ /** Prefer Remote phases; otherwise recover titles from members or the live phase. */
40
+ export declare function declaredWorkflowPhases(execution: WorkflowRunDetail | undefined, selectedRun: ClientRunHead, members: readonly WorkflowRunMemberHead[]): NonNullable<WorkflowRunDetail['phases']>;
41
+ /**
42
+ * Join only a same-revision chunk beginning at the exact prior UTF-8 byte end.
43
+ * Returning undefined forces the UI to preserve the good prefix and retry.
44
+ */
45
+ export declare function appendArtifactChunk(previous: WorkflowRunArtifactChunk, next: WorkflowRunArtifactChunk): WorkflowRunArtifactChunk | undefined;
46
+ /** Full-screen, lazy, revision-aware workflow dashboard. */
47
+ export declare function WorkflowsDashboard({ operations: suppliedOperations, controller, source: suppliedSource, sessionId, open: openProp, invoker, onClose, store, storeActions, labels: labelOverrides, }: WorkflowsDashboardProps): ReactElement | null;
48
+ export default WorkflowsDashboard;
49
+ //# sourceMappingURL=WorkflowsDashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsDashboard.d.ts","sourceRoot":"","sources":["../../src/client/WorkflowsDashboard.tsx"],"names":[],"mappings":"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"}