@tangle-network/sandbox-cli 0.21.64 → 0.21.65

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 (136) hide show
  1. package/README.md +31 -3
  2. package/SKILL.md +29 -1
  3. package/dist/graph-native-CS_TmaCK.mjs +1 -0
  4. package/dist/graph-viewer/Analytics-bWsqhurt.js +1001 -0
  5. package/dist/graph-viewer/{AnswerStrip-DhwqOyxI.js → AnswerStrip-COxV7gLW.js} +2 -2
  6. package/dist/graph-viewer/Checks-CQGmKcQ0.js +164 -0
  7. package/dist/graph-viewer/Conversations-DgCshBAf.js +627 -0
  8. package/dist/graph-viewer/{Files-DtZhf0ii.js → Files-CvIOGrAs.js} +81 -90
  9. package/dist/graph-viewer/LiveRun-DHmsr6F7.js +311 -0
  10. package/dist/graph-viewer/{Outputs-QET3nPPp.js → Outputs-rwBg_x36.js} +4 -4
  11. package/dist/graph-viewer/Overview-C150tkVa.js +194 -0
  12. package/dist/graph-viewer/{RunOverview-DJQDAMIx.js → RunOverview-CSqsunqf.js} +2 -2
  13. package/dist/graph-viewer/RunPage-F_prVwiV.js +286 -0
  14. package/dist/graph-viewer/Timeline-BFDywlmz.js +335 -0
  15. package/dist/graph-viewer/Today-BdDuqZGF.js +623 -0
  16. package/dist/graph-viewer/Topology-SAfGtd5u.js +238 -0
  17. package/dist/graph-viewer/Traces-BYqXaS_s.js +254 -0
  18. package/dist/graph-viewer/{WallPages-4d9QUZDq.js → WallPages-MM70VZrC.js} +48 -30
  19. package/dist/graph-viewer/agent-runtime.js +55 -55
  20. package/dist/graph-viewer/{data-BJmP7F1M.js → data-DTGmre1W.js} +31 -27
  21. package/dist/graph-viewer/harness-sessions.js +1 -1
  22. package/dist/graph-viewer/index.js +1357 -1392
  23. package/dist/graph-viewer/{lazy-pages-DM0cZM10.js → lazy-pages-BYuq_L_n.js} +9 -5
  24. package/dist/graph-viewer/{outputs-model-CGdvjkQh.js → outputs-model-CHTx8rMz.js} +2 -2
  25. package/dist/graph-viewer/{viewer/plain-words-CgvxtEOa.js → plain-words-BrMHl0On.js} +9 -4
  26. package/dist/graph-viewer/receipt.js +2 -2
  27. package/dist/graph-viewer/record-CsP_3NJS.js +612 -0
  28. package/dist/graph-viewer/record-part-CuT9Xw37.js +334 -0
  29. package/dist/graph-viewer/record.js +2 -336
  30. package/dist/graph-viewer/report-viewer.js +65 -65
  31. package/dist/graph-viewer/report.js +1 -1
  32. package/dist/graph-viewer/research-publication.js +1 -1
  33. package/dist/graph-viewer/{run-files-C1NgzM0l.js → run-files-BckQDdTD.js} +1 -1
  34. package/dist/graph-viewer/{run-receipt-Bvi4-KVM.js → run-receipt-Bt2iXJUy.js} +1 -0
  35. package/dist/graph-viewer/schemas/agent-workspace.play.v1.json +3 -0
  36. package/dist/graph-viewer/schemas/agent-workspace.plays.v1.json +2 -0
  37. package/dist/graph-viewer/schemas/agent-workspace.run.v1.json +1 -0
  38. package/dist/graph-viewer/styles.css +4559 -2385
  39. package/dist/graph-viewer/trace-spans.js +1 -1
  40. package/dist/graph-viewer/ui-xa5w5bEN.js +889 -0
  41. package/dist/graph-viewer/viewer/{AgentGraphCanvas-CMdOlSlh-4EervjeC.js → AgentGraphCanvas-B74GN1o6-BZEumF7-.js} +2610 -2707
  42. package/dist/graph-viewer/viewer/Analytics-E3XS570U.js +1002 -0
  43. package/dist/graph-viewer/viewer/{AnswerStrip-CGUyXuYH.js → AnswerStrip-B7xMU57A.js} +2 -2
  44. package/dist/graph-viewer/viewer/Checks-CJ5XSHbv.js +165 -0
  45. package/dist/graph-viewer/viewer/Conversations-AX8G7Qyl.js +904 -0
  46. package/dist/graph-viewer/viewer/Files-DxL1576V.js +630 -0
  47. package/dist/graph-viewer/viewer/LiveRun-B-BckyEj.js +820 -0
  48. package/dist/graph-viewer/viewer/{Outputs-CumGyjQo.js → Outputs-BoIpgfMv.js} +24 -23
  49. package/dist/graph-viewer/viewer/Overview-Dzg5XJgy.js +436 -0
  50. package/dist/graph-viewer/viewer/RunPage-NtevWXBs.js +285 -0
  51. package/dist/graph-viewer/viewer/{Scores-ZS16yk0n.js → Scores-Dgv4WePL.js} +3 -3
  52. package/dist/graph-viewer/viewer/Timeline-CzY3LVDu.js +335 -0
  53. package/dist/graph-viewer/viewer/Today-Bi9IIwuh.js +623 -0
  54. package/dist/graph-viewer/viewer/Topology-CzjqSFXH.js +239 -0
  55. package/dist/graph-viewer/viewer/Traces-CMX0H1VU.js +254 -0
  56. package/dist/graph-viewer/viewer/{WallPages-CzWpyIfp.js → WallPages-Clj4bORg.js} +50 -32
  57. package/dist/graph-viewer/viewer/addon-webgl-BSCscllv.js +4027 -0
  58. package/dist/graph-viewer/viewer/agent-record-BrP-ENHg.css +2 -0
  59. package/dist/graph-viewer/viewer/{bot-D6Nrej7Z.js → bot-BaQU59LG.js} +1 -1
  60. package/dist/graph-viewer/viewer/{chevron-right-D_5IKLxu.js → chevron-right-Xn05jYLT.js} +1 -1
  61. package/dist/graph-viewer/viewer/{createLucideIcon-yH0cxLMy.js → createLucideIcon-BSphcoOJ.js} +1 -1
  62. package/dist/graph-viewer/viewer/dashboard-D3JhmRhe-DSl0zhkw.js +371 -0
  63. package/dist/graph-viewer/viewer/{data-CkWfWr7i.js → data-CVHeKhrh.js} +144 -139
  64. package/dist/graph-viewer/viewer/dist-4_KJz8ZM.js +349 -0
  65. package/dist/graph-viewer/viewer/dist-Dy-wrdTt.js +1615 -0
  66. package/dist/graph-viewer/viewer/es2015-utW4DTOJ.js +3506 -0
  67. package/dist/graph-viewer/viewer/{final-output-kwY11u9X.js → final-output-BYT-g-9j.js} +1 -1
  68. package/dist/graph-viewer/viewer/flow-waterfall-model-DvrgPLGS-BdThSFH-.js +2696 -0
  69. package/dist/graph-viewer/viewer/git-branch-BzTbIcYL.js +28 -0
  70. package/dist/graph-viewer/viewer/{highlights-Btsi5OXl.js → highlights-DWeSCtiR.js} +4 -4
  71. package/dist/graph-viewer/viewer/jsx-runtime-DPT6sCLq.js +319 -0
  72. package/dist/graph-viewer/viewer/lazy-pages-ChiMJ8r_.js +803 -0
  73. package/dist/graph-viewer/viewer/{markdown-CX_sVrXB.js → markdown-lADwhD7y.js} +2324 -2608
  74. package/dist/graph-viewer/viewer/model-brand-bTcMjQtB-RSb7EbGB.js +476 -0
  75. package/dist/graph-viewer/viewer/{page-header-Brq611fd.js → page-header-QbUg8F8i.js} +12 -11
  76. package/dist/graph-viewer/{plain-words-CgvxtEOa.js → viewer/plain-words-BrMHl0On.js} +9 -4
  77. package/dist/graph-viewer/viewer/primitives-znfPK9NP-B6UO7uDr.js +346 -0
  78. package/dist/graph-viewer/viewer/react-DQ7E2Epi.js +4254 -0
  79. package/dist/graph-viewer/viewer/{react-dom-t1L4_-il.js → react-dom-BEusmvQH.js} +1 -1
  80. package/dist/graph-viewer/viewer/record-DZnT6SWN-H-ul3U3a.js +3523 -0
  81. package/dist/graph-viewer/viewer/record-W39D5MO-.js +1 -0
  82. package/dist/graph-viewer/viewer/record-part-CbweyYoV.js +335 -0
  83. package/dist/graph-viewer/viewer/{segmented-control-BaJmvTNd.js → segmented-control-Di1mbQlP.js} +27 -26
  84. package/dist/graph-viewer/viewer/{shiki-Qnby7Sh6.js → shiki-BfNNlmfZ.js} +15 -15
  85. package/dist/graph-viewer/viewer/status-meta-S0kV_RDp.js +273 -0
  86. package/dist/graph-viewer/viewer/{stream-tokenizer-CWtnjmRd.js → stream-tokenizer-B5wWaM3U.js} +12 -12
  87. package/dist/graph-viewer/viewer/{themes-1i1fzpRk.js → themes-DuRxHiga.js} +1 -1
  88. package/dist/graph-viewer/viewer/ui-Co03nZUX.js +889 -0
  89. package/dist/graph-viewer/viewer/utils-BuObIC0n.js +1815 -0
  90. package/dist/graph-viewer/viewer/workbench-E6_5q_oL.js +28351 -0
  91. package/dist/graph-viewer/viewer/workflows--mZpHYqo.js +3298 -0
  92. package/dist/graph-viewer/viewer/workspace-cKs9sGEO.js +2468 -0
  93. package/dist/graph-viewer/{workspace-model-Ewf17pTW.js → workspace-model-BkPl_J8E.js} +1 -1
  94. package/dist/graph-viewer/workspace-viewer.js +7452 -7489
  95. package/dist/graph-viewer/workspace.js +1 -1
  96. package/dist/index.mjs +27 -22
  97. package/package.json +9 -8
  98. package/dist/graph-viewer/Analytics-DFWW8Phh.js +0 -938
  99. package/dist/graph-viewer/Checks-qgqV4xgV.js +0 -155
  100. package/dist/graph-viewer/Conversations-CGB45kpj.js +0 -545
  101. package/dist/graph-viewer/LiveRun-C21wUKAY.js +0 -210
  102. package/dist/graph-viewer/Overview-BjeLsA2I.js +0 -506
  103. package/dist/graph-viewer/RunPage-CkkcBEUe.js +0 -258
  104. package/dist/graph-viewer/Timeline-C2Xolk0t.js +0 -293
  105. package/dist/graph-viewer/Today-BVVDtSVN.js +0 -660
  106. package/dist/graph-viewer/Topology-DO5XX8e4.js +0 -545
  107. package/dist/graph-viewer/Traces-BhMxjNgw.js +0 -259
  108. package/dist/graph-viewer/part-events-BrLrg_EV.js +0 -276
  109. package/dist/graph-viewer/record-part-CZal_IMH.js +0 -1408
  110. package/dist/graph-viewer/ui-D8QZRsC3.js +0 -938
  111. package/dist/graph-viewer/viewer/Analytics-DD__nbLm.js +0 -939
  112. package/dist/graph-viewer/viewer/Checks-Ds5M7eAW.js +0 -156
  113. package/dist/graph-viewer/viewer/Conversations-C1n0EBBd.js +0 -819
  114. package/dist/graph-viewer/viewer/Files-Cjr7NMU_.js +0 -448
  115. package/dist/graph-viewer/viewer/LiveRun-uPTkPSjo.js +0 -6772
  116. package/dist/graph-viewer/viewer/Overview-4Umk14_2.js +0 -507
  117. package/dist/graph-viewer/viewer/RunPage-DZlBW7Va.js +0 -257
  118. package/dist/graph-viewer/viewer/Timeline-BnK6-yBR.js +0 -294
  119. package/dist/graph-viewer/viewer/Today-a_-oNigi.js +0 -660
  120. package/dist/graph-viewer/viewer/Topology-CQPCLQT6.js +0 -546
  121. package/dist/graph-viewer/viewer/Traces-C0IGk0L4.js +0 -259
  122. package/dist/graph-viewer/viewer/WorkflowGraph-DZ3xejKE-jRXKeSrg.js +0 -1559
  123. package/dist/graph-viewer/viewer/agent-record-Dw772ROs.css +0 -2
  124. package/dist/graph-viewer/viewer/agent-timeline-Cs9Qbpvo.js +0 -1798
  125. package/dist/graph-viewer/viewer/dist-C1-7EfoW.js +0 -488
  126. package/dist/graph-viewer/viewer/file-text-m7a3piQF.js +0 -47
  127. package/dist/graph-viewer/viewer/jsx-runtime-DQWyJOhv.js +0 -2136
  128. package/dist/graph-viewer/viewer/lazy-pages-BowaGsg-.js +0 -20
  129. package/dist/graph-viewer/viewer/model-brand-bTcMjQtB-fagiBQam.js +0 -723
  130. package/dist/graph-viewer/viewer/popover-CvOAjlnk.js +0 -5329
  131. package/dist/graph-viewer/viewer/react-CY3IbSNO.js +0 -4262
  132. package/dist/graph-viewer/viewer/record-part-D3_Anfpe.js +0 -1329
  133. package/dist/graph-viewer/viewer/terminal-83J_I4Ne.js +0 -52
  134. package/dist/graph-viewer/viewer/ui-C9b1rIUH.js +0 -938
  135. package/dist/graph-viewer/viewer/workspace-CekmOBs3.js +0 -25100
  136. package/dist/graph-viewer/viewer/x-DOc2URqZ.js +0 -56
@@ -1,210 +0,0 @@
1
- import { useEffect as e, useMemo as t, useState as n } from "react";
2
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
3
- import { TraceWorkspace as a } from "@tangle-network/sandbox-ui/run";
4
- import { AgentGraph as o } from "@tangle-network/sandbox-ui/workflows";
5
- //#region src/workspace/LiveRun.tsx
6
- var s = (e) => {
7
- let t = e ? Date.parse(e) : NaN;
8
- return Number.isFinite(t) ? t : void 0;
9
- }, c = (e) => e !== void 0 && Number.isFinite(e) ? new Date(e).toISOString() : void 0, l = (e, t) => [...e.workers.map((e) => {
10
- let n = t.find((t) => t.id === e.id);
11
- return {
12
- ...e,
13
- startedAt: e.startedAt ?? c(n?.timing?.startedAt),
14
- endedAt: e.endedAt ?? c(n?.timing?.settledAt ?? n?.settledAt)
15
- };
16
- }), ...t.filter((t) => t.id !== e.id && !e.workers.some((e) => e.id === t.id)).map((e) => ({
17
- id: e.id,
18
- parent: e.parentId,
19
- label: e.label ?? e.id,
20
- runtime: e.runtime,
21
- status: e.status ?? "running",
22
- startedAt: c(e.timing?.startedAt),
23
- endedAt: c(e.timing?.settledAt ?? e.settledAt)
24
- }))], u = (...e) => e.every((e) => e && e.usdKnown !== !1) ? e.reduce((e, t) => e + (t?.usd ?? 0), 0) : void 0, d = (e) => e === "running" ? "running" : e === "done" ? "succeeded" : e === "down" ? "failed" : e === "cancelled" ? "stopped" : "unknown";
25
- function f({ api: c }) {
26
- let [f, p] = n([]), [m, h] = n(null), [g, _] = n(!1), [v, y] = n(!1), [b, x] = n(""), [S, C] = n(0), [w, T] = n(), [E, D] = n("tree");
27
- e(() => {
28
- let e = new EventSource(`${c}/events`);
29
- return e.addEventListener("snapshot", (e) => {
30
- try {
31
- let t = JSON.parse(e.data);
32
- if (!Array.isArray(t.snapshots)) throw Error("Invalid snapshot stream");
33
- p((e) => {
34
- let n = new Map((t.reset ? [] : e).map((e) => [e.root, e]));
35
- for (let e of t.snapshots) n.set(e.root, e);
36
- return [...n.values()];
37
- }), C(t.sequence), h(null), _(!0);
38
- } catch (e) {
39
- h(String(e));
40
- }
41
- }), e.addEventListener("unavailable", () => h("The run snapshot is unavailable")), e.addEventListener("end", () => {
42
- e.close(), y(!0);
43
- }), e.onerror = () => _(!1), () => e.close();
44
- }, [c]);
45
- let O = f.flatMap((e, t) => e.supervisors.map((n) => ({
46
- snapshot: e,
47
- root: t,
48
- run: n,
49
- key: JSON.stringify([e.root, n.id])
50
- }))), k = O.find((e) => e.key === b) ?? O[0], A = k?.snapshot.pursuit?.nodes.filter((e) => e.runId === k.run.id) ?? [], j = (e) => {
51
- let t = A.find((t) => t.id === e);
52
- return [t?.model, t?.backend].filter(Boolean).join(" · ") || void 0;
53
- }, M = k && {
54
- ...k.run,
55
- workers: l(k.run, A)
56
- }, N = M ? Math.min(...[M.startedAt, ...M.workers.map((e) => e.startedAt)].flatMap((e) => e && Number.isFinite(Date.parse(e)) ? [Date.parse(e)] : [])) : void 0, P = t(() => {
57
- let e = k?.snapshot.generatedAt ?? Date.now(), t = N !== void 0 && Number.isFinite(N) ? N : e, n = (M?.workers ?? []).flatMap((n) => {
58
- if (!n.startedAt || !Number.isFinite(Date.parse(n.startedAt))) return [];
59
- let r = Math.max(0, Date.parse(n.startedAt) - t), i = s(n.endedAt) ?? (n.status === "running" ? e : Date.parse(n.startedAt)), a = u(n.spend, n.metered);
60
- return [{
61
- id: n.id,
62
- ...n.parent ? { parentId: n.parent } : {},
63
- name: n.label,
64
- kind: "pipeline",
65
- startMs: r,
66
- endMs: Math.max(r, i - t),
67
- status: n.status === "running" ? "running" : n.status === "down" ? "failed" : "done",
68
- ...a === void 0 ? {} : { costUsd: a },
69
- ...j(n.id) ? { detail: j(n.id) } : {},
70
- ...n.status === "cancelled" ? { outcome: {
71
- tone: "neutral",
72
- label: "Cancelled"
73
- } } : {}
74
- }];
75
- });
76
- return M?.startedAt && M.status !== "unobserved" && !n.some((e) => e.id === M.id) && n.unshift({
77
- id: M.id,
78
- name: "root",
79
- kind: "pipeline",
80
- detail: j(M.id),
81
- startMs: Math.max(0, Date.parse(M.startedAt) - t),
82
- endMs: Math.max(0, Date.parse(M.completedAt ?? new Date(e).toISOString()) - t),
83
- status: M.status === "running" ? "running" : M.status === "down" ? "failed" : "done",
84
- ...u(M.driverSpend) === void 0 ? {} : { costUsd: u(M.driverSpend) },
85
- ...M.status === "cancelled" ? { outcome: {
86
- tone: "neutral",
87
- label: "Cancelled"
88
- } } : {}
89
- }), {
90
- spans: n,
91
- totalMs: Math.max(0, ...n.map((e) => e.endMs)),
92
- promptTokens: 0,
93
- completionTokens: 0,
94
- modelCalls: 0,
95
- toolCalls: 0,
96
- errors: n.filter((e) => e.status === "failed").length
97
- };
98
- }, [
99
- k?.snapshot,
100
- k?.run,
101
- N
102
- ]), F = M?.workers.filter((e) => e.id !== M.id) ?? [], I = M ? [{
103
- id: M.id,
104
- label: "root",
105
- status: d(M.status),
106
- model: j(M.id),
107
- costUsd: u(M.driverSpend),
108
- startedAt: s(M.startedAt),
109
- result: M.status === "cancelled" ? "Cancelled" : void 0
110
- }, ...F.map((e) => ({
111
- id: e.id,
112
- label: e.label,
113
- harness: e.runtime,
114
- model: j(e.id),
115
- status: d(e.status),
116
- costUsd: u(e.spend, e.metered),
117
- startedAt: s(e.startedAt),
118
- turn: e.liveTail?.at(-1),
119
- events: e.liveTail?.slice(-3).map((t, n) => ({
120
- id: `${e.id}:${n}:${t}`,
121
- label: t
122
- })),
123
- result: e.status === "cancelled" ? "Cancelled" : e.verdict
124
- }))] : [], L = new Set(I.map((e) => e.id)), R = F.map((e) => ({
125
- from: e.parent && e.parent !== e.id && L.has(e.parent) ? e.parent : M.id,
126
- to: e.id,
127
- kind: "spawn"
128
- })), z = Object.fromEntries([...(M?.workers ?? []).filter((e) => e.status === "cancelled").map((e) => [e.id, {
129
- status: "stopped",
130
- result: "Cancelled"
131
- }]), ...k?.run.status === "cancelled" ? [[k.run.id, {
132
- status: "stopped",
133
- result: "Cancelled"
134
- }]] : []]);
135
- return /* @__PURE__ */ i("main", {
136
- className: "ws-live",
137
- "data-top-sequence": S,
138
- children: [
139
- /* @__PURE__ */ i("header", { children: [
140
- /* @__PURE__ */ r("h1", { children: "Live agents" }),
141
- /* @__PURE__ */ i("label", { children: ["Run", /* @__PURE__ */ r("select", {
142
- "aria-label": "Run",
143
- value: k?.key ?? "",
144
- onChange: (e) => {
145
- x(e.target.value), T(void 0);
146
- },
147
- children: O.map((e) => /* @__PURE__ */ r("option", {
148
- value: e.key,
149
- children: e.run.id
150
- }, e.key))
151
- })] }),
152
- /* @__PURE__ */ r("span", {
153
- role: "status",
154
- children: v ? "Finished · viewer closed" : g ? "● Connected" : f.length ? "○ Reconnecting" : "Connecting…"
155
- })
156
- ] }),
157
- k?.run.task && k.run.task !== k.run.id && /* @__PURE__ */ r("p", { children: k.run.task }),
158
- m && /* @__PURE__ */ r("p", {
159
- role: "alert",
160
- children: m
161
- }),
162
- (k ? [k.snapshot] : f).filter((e) => e.completeness === "partial").map((e) => /* @__PURE__ */ i("p", {
163
- role: "alert",
164
- children: ["Partial capture: ", e.diagnostics.map((e) => `${e.source}: ${e.reason}`).join(" · ")]
165
- }, e.root)),
166
- k ? /* @__PURE__ */ i("div", {
167
- className: "ws-live-split",
168
- children: [/* @__PURE__ */ i("section", {
169
- "aria-label": "Agent graph",
170
- children: [/* @__PURE__ */ r("div", {
171
- role: "group",
172
- "aria-label": "Graph layout",
173
- children: ["tree", "hub"].map((e) => /* @__PURE__ */ r("button", {
174
- type: "button",
175
- "aria-pressed": E === e,
176
- onClick: () => D(e),
177
- children: e
178
- }, e))
179
- }), /* @__PURE__ */ r(o, {
180
- nodes: I,
181
- edges: R,
182
- layout: E,
183
- live: I.some((e) => e.status === "running"),
184
- selectedId: w ?? null,
185
- onSelect: T,
186
- title: k.run.id,
187
- className: "ws-live-graph"
188
- }, k.key)]
189
- }), /* @__PURE__ */ r(a, {
190
- trace: P,
191
- label: k.run.id,
192
- selectedAgentId: w,
193
- onSelectAgent: T,
194
- live: k.run.status === "running" || M.workers.some((e) => e.status === "running"),
195
- startedAt: Number.isFinite(N) ? N : void 0,
196
- agentCards: z,
197
- summary: !1,
198
- defaultView: "agents",
199
- maxHeight: 650,
200
- streamUrl: (e) => `${c}/agents/${k.root}/${encodeURIComponent(k.run.id)}/${encodeURIComponent(e)}/stream`
201
- }, k.key)]
202
- }) : g && !f.some((e) => e.completeness === "partial") && /* @__PURE__ */ r("p", {
203
- role: "status",
204
- children: "No recorded agents in these roots."
205
- })
206
- ]
207
- });
208
- }
209
- //#endregion
210
- export { f as LiveRun };