@tangle-network/sandbox-cli 0.21.27 → 0.21.28

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 (70) hide show
  1. package/dist/graph-viewer/{Analytics-DocMpB6T.js → Analytics-DFWW8Phh.js} +260 -275
  2. package/dist/graph-viewer/Checks-qgqV4xgV.js +155 -0
  3. package/dist/graph-viewer/{Conversations-CISiWrR9.js → Conversations-CGB45kpj.js} +112 -80
  4. package/dist/graph-viewer/{Files-Dh8p_Fpw.js → Files-DtZhf0ii.js} +121 -106
  5. package/dist/graph-viewer/LiveRun-C21wUKAY.js +210 -0
  6. package/dist/graph-viewer/Overview-BjeLsA2I.js +506 -0
  7. package/dist/graph-viewer/{RunPage-nJwCsArn.js → RunPage-CkkcBEUe.js} +22 -22
  8. package/dist/graph-viewer/{Timeline-bPjhV3il.js → Timeline-C2Xolk0t.js} +84 -84
  9. package/dist/graph-viewer/{Today-pebCsPJ1.js → Today-BVVDtSVN.js} +65 -58
  10. package/dist/graph-viewer/Topology-DO5XX8e4.js +545 -0
  11. package/dist/graph-viewer/{Traces-C5x2UvJh.js → Traces-BhMxjNgw.js} +79 -52
  12. package/dist/graph-viewer/{WallPages-DSmRm2v3.js → WallPages-4d9QUZDq.js} +3 -3
  13. package/dist/graph-viewer/index.js +103 -102
  14. package/dist/graph-viewer/{lazy-pages-CpmkG5o2.js → lazy-pages-DM0cZM10.js} +4 -4
  15. package/dist/graph-viewer/{record-part-Cx9GDQeo.js → record-part-CZal_IMH.js} +382 -352
  16. package/dist/graph-viewer/report-viewer.js +7 -7
  17. package/dist/graph-viewer/styles.css +596 -284
  18. package/dist/graph-viewer/{ui-CEhDqce8.js → ui-D8QZRsC3.js} +143 -111
  19. package/dist/graph-viewer/viewer/{AgentGraphCanvas-D7jjAE6i-DecKyUGA.js → AgentGraphCanvas-CMdOlSlh-4EervjeC.js} +54 -48
  20. package/dist/graph-viewer/viewer/{Analytics-CtKucZjs.js → Analytics-DD__nbLm.js} +203 -218
  21. package/dist/graph-viewer/viewer/{AnswerStrip-DsI9aF-i.js → AnswerStrip-CGUyXuYH.js} +2 -2
  22. package/dist/graph-viewer/viewer/Checks-Ds5M7eAW.js +156 -0
  23. package/dist/graph-viewer/viewer/{Conversations-DQBCyko6.js → Conversations-C1n0EBBd.js} +124 -92
  24. package/dist/graph-viewer/viewer/{Files-B-g25gSO.js → Files-Cjr7NMU_.js} +63 -48
  25. package/dist/graph-viewer/viewer/{LiveRun-BMQnTpTZ.js → LiveRun-uPTkPSjo.js} +1223 -1164
  26. package/dist/graph-viewer/viewer/{Outputs-DXnN1wEQ.js → Outputs-CumGyjQo.js} +6 -6
  27. package/dist/graph-viewer/viewer/Overview-4Umk14_2.js +507 -0
  28. package/dist/graph-viewer/viewer/{RunPage-ChipoSdO.js → RunPage-DZlBW7Va.js} +28 -28
  29. package/dist/graph-viewer/viewer/{Scores-CjriXjf_.js → Scores-ZS16yk0n.js} +3 -3
  30. package/dist/graph-viewer/viewer/{Timeline-DzEzobA0.js → Timeline-BnK6-yBR.js} +24 -24
  31. package/dist/graph-viewer/viewer/{Today-DLHe_wTA.js → Today-a_-oNigi.js} +69 -62
  32. package/dist/graph-viewer/viewer/Topology-CQPCLQT6.js +546 -0
  33. package/dist/graph-viewer/viewer/{Traces-BWBulSPE.js → Traces-C0IGk0L4.js} +75 -48
  34. package/dist/graph-viewer/viewer/{WallPages-Crj-qPoK.js → WallPages-CzWpyIfp.js} +8 -8
  35. package/dist/graph-viewer/viewer/{WorkflowGraph-DYsP_Kcg-C0O7M5iH.js → WorkflowGraph-DZ3xejKE-jRXKeSrg.js} +6 -6
  36. package/dist/graph-viewer/viewer/{agent-timeline-C-UIhXgu.js → agent-timeline-Cs9Qbpvo.js} +437 -425
  37. package/dist/graph-viewer/viewer/{bot-Bivadvxn.js → bot-D6Nrej7Z.js} +1 -1
  38. package/dist/graph-viewer/viewer/{chevron-right-WW7tFY6B.js → chevron-right-D_5IKLxu.js} +1 -1
  39. package/dist/graph-viewer/viewer/{createLucideIcon-Z6KTw8ff.js → createLucideIcon-yH0cxLMy.js} +1 -1
  40. package/dist/graph-viewer/viewer/{data-azhapQrS.js → data-CkWfWr7i.js} +1 -1
  41. package/dist/graph-viewer/viewer/{dist-CyOc-K4O.js → dist-C1-7EfoW.js} +3 -3
  42. package/dist/graph-viewer/viewer/{file-text-B34N7Soo.js → file-text-m7a3piQF.js} +1 -1
  43. package/dist/graph-viewer/viewer/{final-output-Db2D9cMT.js → final-output-kwY11u9X.js} +1 -1
  44. package/dist/graph-viewer/viewer/{highlights-Bgg6O5ub.js → highlights-Btsi5OXl.js} +2 -2
  45. package/dist/graph-viewer/viewer/{jsx-runtime-BSzbUOFc.js → jsx-runtime-DQWyJOhv.js} +1 -1
  46. package/dist/graph-viewer/viewer/{lazy-pages-fgtpXQ00.js → lazy-pages-BowaGsg-.js} +6 -6
  47. package/dist/graph-viewer/viewer/{markdown-BpJEJUTW.js → markdown-CX_sVrXB.js} +17 -17
  48. package/dist/graph-viewer/viewer/{model-brand-bTcMjQtB-C9bHPsPk.js → model-brand-bTcMjQtB-fagiBQam.js} +3 -3
  49. package/dist/graph-viewer/viewer/{page-header-C6YCPkzJ.js → page-header-Brq611fd.js} +3 -3
  50. package/dist/graph-viewer/viewer/{popover-DrLB9iar.js → popover-CvOAjlnk.js} +4 -4
  51. package/dist/graph-viewer/viewer/{react-CisnW4fB.js → react-CY3IbSNO.js} +24 -24
  52. package/dist/graph-viewer/viewer/{react-dom-C5NDYQCD.js → react-dom-t1L4_-il.js} +1 -1
  53. package/dist/graph-viewer/viewer/{record-part-d0gKKrMI.js → record-part-D3_Anfpe.js} +455 -425
  54. package/dist/graph-viewer/viewer/{segmented-control-ChhLMa6h.js → segmented-control-BaJmvTNd.js} +39 -39
  55. package/dist/graph-viewer/viewer/{shiki-BwlTRTY6.js → shiki-Qnby7Sh6.js} +2 -2
  56. package/dist/graph-viewer/viewer/{stream-tokenizer-CaVb21TO.js → stream-tokenizer-CWtnjmRd.js} +1 -1
  57. package/dist/graph-viewer/viewer/{terminal-BxRacTx0.js → terminal-83J_I4Ne.js} +1 -1
  58. package/dist/graph-viewer/viewer/{themes-BxrCCwH5.js → themes-1i1fzpRk.js} +1 -1
  59. package/dist/graph-viewer/viewer/{ui-DZiGjPwl.js → ui-C9b1rIUH.js} +222 -190
  60. package/dist/graph-viewer/viewer/{workspace-DalRxssx.js → workspace-CekmOBs3.js} +76 -76
  61. package/dist/graph-viewer/viewer/{x-B_F8B4lq.js → x-DOc2URqZ.js} +1 -1
  62. package/dist/graph-viewer/workspace-viewer.js +103 -102
  63. package/package.json +5 -5
  64. package/dist/graph-viewer/Checks-CbnY4tuh.js +0 -113
  65. package/dist/graph-viewer/LiveRun-C-yKwkKs.js +0 -190
  66. package/dist/graph-viewer/Overview-BaXPdCFC.js +0 -477
  67. package/dist/graph-viewer/Topology-CyhuK6XW.js +0 -550
  68. package/dist/graph-viewer/viewer/Checks-DZTgeYlV.js +0 -114
  69. package/dist/graph-viewer/viewer/Overview-u7-8-rGx.js +0 -478
  70. package/dist/graph-viewer/viewer/Topology-Dsmuu27J.js +0 -551
@@ -1,13 +1,13 @@
1
1
  import { i as e } from "./rolldown-runtime-DArdT4gl.js";
2
- import { i as t, t as n } from "./jsx-runtime-BSzbUOFc.js";
3
- import { o as r } from "./markdown-BpJEJUTW.js";
4
- import { a as i, i as a, n as o, o as s, t as c } from "./workspace-DalRxssx.js";
5
- import { a as l, i as u, t as d } from "./popover-DrLB9iar.js";
6
- import { t as f } from "./segmented-control-ChhLMa6h.js";
7
- import { a as p, d as m, o as h } from "./ui-DZiGjPwl.js";
8
- import { d as g, t as _ } from "./final-output-Db2D9cMT.js";
9
- import { p as v } from "./data-azhapQrS.js";
10
- import { agentFromParam as y, agentParam as b } from "./RunPage-ChipoSdO.js";
2
+ import { i as t, t as n } from "./jsx-runtime-DQWyJOhv.js";
3
+ import { o as r } from "./markdown-CX_sVrXB.js";
4
+ import { a as i, i as a, n as o, o as s, t as c } from "./workspace-CekmOBs3.js";
5
+ import { a as l, i as u, t as d } from "./popover-CvOAjlnk.js";
6
+ import { t as f } from "./segmented-control-BaJmvTNd.js";
7
+ import { a as p, d as m, o as h } from "./ui-C9b1rIUH.js";
8
+ import { d as g, t as _ } from "./final-output-kwY11u9X.js";
9
+ import { p as v } from "./data-CkWfWr7i.js";
10
+ import { agentFromParam as y, agentParam as b } from "./RunPage-DZlBW7Va.js";
11
11
  //#region src/workspace/ref-file.tsx
12
12
  var x = /* @__PURE__ */ e(t(), 1), S = n(), C = /* @__PURE__ */ new Set([
13
13
  "image",
@@ -103,9 +103,18 @@ function T({ runUrl: e, base: t, head: n, path: r, headTree: a }) {
103
103
  })] });
104
104
  }
105
105
  //#endregion
106
+ //#region src/workspace/use-phone.ts
107
+ var E = "(max-width: 1023px)";
108
+ function D(e = E) {
109
+ return (0, x.useSyncExternalStore)((t) => {
110
+ let n = window.matchMedia(e);
111
+ return n.addEventListener("change", t), () => n.removeEventListener("change", t);
112
+ }, () => window.matchMedia(e).matches, () => !1);
113
+ }
114
+ //#endregion
106
115
  //#region src/workspace/run/Files.tsx
107
- var E = "Pages", D = "Code", O = (e) => e.name.replaceAll("/", "∕");
108
- function k(e, t) {
116
+ var O = "Pages", k = "Code", A = (e) => e.name.replaceAll("/", "∕");
117
+ function j(e, t) {
109
118
  let [n, r] = (0, x.useState)(/* @__PURE__ */ new Map()), i = t.map((e) => e.id).join("|");
110
119
  return (0, x.useEffect)(() => {
111
120
  let n = new AbortController(), i = !0;
@@ -120,7 +129,7 @@ function k(e, t) {
120
129
  };
121
130
  }, [e, i]), n;
122
131
  }
123
- function A({ api: e, runUrl: t, doc: n, m: r, route: i }) {
132
+ function M({ api: e, runUrl: t, doc: n, m: r, route: i }) {
124
133
  let a = v(`${t}/files`, r.live ? 15e3 : void 0), s = (0, x.useMemo)(() => {
125
134
  if (!a.data) return null;
126
135
  try {
@@ -132,12 +141,12 @@ function A({ api: e, runUrl: t, doc: n, m: r, route: i }) {
132
141
  a.data,
133
142
  n.run.id,
134
143
  e
135
- ]), l = (0, x.useMemo)(() => r.tree.filter((e) => e.node.hasCode).slice(0, 40), [r]), u = y(r, n.run.id, i.params.get("scope")) ?? (i.params.get("scope") === "pages" ? "pages" : null), d = (0, x.useMemo)(() => u === "pages" ? [] : u ? l.filter((e) => e.id === u) : l, [l, u]), f = k(t, d), p = v(`${t}/tree?ref=main`), g = (0, x.useMemo)(() => {
144
+ ]), l = (0, x.useMemo)(() => r.tree.filter((e) => e.node.hasCode).slice(0, 40), [r]), u = y(r, n.run.id, i.params.get("scope")) ?? (i.params.get("scope") === "pages" ? "pages" : null), d = (0, x.useMemo)(() => u === "pages" ? [] : u ? l.filter((e) => e.id === u) : l, [l, u]), f = j(t, d), p = v(`${t}/tree?ref=main`), g = (0, x.useMemo)(() => {
136
145
  let e = [];
137
146
  if (u === null || u === "pages") for (let t of s?.items ?? []) e.push({
138
147
  key: `page:${t.path}`,
139
148
  kind: "page",
140
- tree: `${E}/${t.path.replace(/^pages\//, "")}`,
149
+ tree: `${O}/${t.path.replace(/^pages\//, "")}`,
141
150
  path: t.path,
142
151
  file: t
143
152
  });
@@ -147,7 +156,7 @@ function A({ api: e, runUrl: t, doc: n, m: r, route: i }) {
147
156
  if (!(!i || "error" in i)) for (let a of i.files) e.push({
148
157
  key: `code:${b(n.run.id, r.id)}:${a.path}`,
149
158
  kind: "code",
150
- tree: `${D}/${O(r)}/${a.path}`,
159
+ tree: `${k}/${A(r)}/${a.path}`,
151
160
  path: a.path,
152
161
  agent: r,
153
162
  status: t.has(a.path) ? "M" : "A",
@@ -164,17 +173,17 @@ function A({ api: e, runUrl: t, doc: n, m: r, route: i }) {
164
173
  p.data,
165
174
  u,
166
175
  n.run.id
167
- ]), _ = (0, x.useMemo)(() => new Map(g.map((e) => [e.tree, e])), [g]), C = (0, x.useMemo)(() => Object.fromEntries(g.filter((e) => e.kind === "code").map((e) => [e.tree, e.kind === "code" && e.status === "A" ? "added" : "modified"])), [g]), w = i.params.get("file"), T = g.find((e) => e.key === w) ?? (w ? null : g[0] ?? null), A = !s && !a.error ? "Reading the retained files…" : d.some((e) => !f.has(e.id)) && !g.length ? "Reading the agent branches…" : null, M = m(r, (e) => e.node.hasCode, (e) => {
176
+ ]), _ = (0, x.useMemo)(() => new Map(g.map((e) => [e.tree, e])), [g]), C = (0, x.useMemo)(() => Object.fromEntries(g.filter((e) => e.kind === "code").map((e) => [e.tree, e.kind === "code" && e.status === "A" ? "added" : "modified"])), [g]), w = i.params.get("file"), T = D("(max-width: 720px)"), E = g.find((e) => e.key === w) ?? (w || T ? null : g[0] ?? null), M = !s && !a.error ? "Reading the retained files…" : d.some((e) => !f.has(e.id)) && !g.length ? "Reading the agent branches…" : null, P = m(r, (e) => e.node.hasCode, (e) => {
168
177
  let t = f.get(e.id);
169
- return t && !("error" in t) ? `${t.files.length} files` : "";
170
- }), N = /* @__PURE__ */ (0, S.jsx)(h, {
178
+ return t && !("error" in t) ? `${t.files.length} changed` : "";
179
+ }), F = /* @__PURE__ */ (0, S.jsx)(h, {
171
180
  label: "Files written by",
172
181
  options: [{
173
182
  id: "pages",
174
183
  label: "Pages",
175
- meta: s ? `${s.items.length}` : ""
176
- }, ...M],
177
- all: { label: "All agents" },
184
+ meta: s ? `${s.items.length} pages` : ""
185
+ }, ...P],
186
+ all: { label: "Pages and every branch" },
178
187
  value: u,
179
188
  placeholder: `Search ${l.length} branches`,
180
189
  width: 300,
@@ -183,50 +192,50 @@ function A({ api: e, runUrl: t, doc: n, m: r, route: i }) {
183
192
  scope: e === "pages" ? "pages" : e ? b(n.run.id, e) : null,
184
193
  file: null
185
194
  }),
186
- children: u === "pages" ? "Pages" : u ? r.byId.get(u)?.name ?? "Agent" : "All agents"
195
+ children: u === "pages" ? "Pages" : u ? r.byId.get(u)?.name ?? "Branch" : "All files"
187
196
  });
188
197
  return /* @__PURE__ */ (0, S.jsx)("div", {
189
198
  className: "rp-files",
190
199
  children: /* @__PURE__ */ (0, S.jsx)(c, {
191
200
  paths: g.map((e) => e.tree),
192
201
  status: C,
193
- selectedPath: T?.tree,
202
+ selectedPath: E?.tree,
194
203
  onSelect: (e) => {
195
204
  let t = _.get(e);
196
205
  t && i.go("files", { file: t.key });
197
206
  },
198
207
  onBack: () => i.go("files", { file: null }),
199
- headerActions: N,
208
+ headerActions: F,
200
209
  search: !0,
201
210
  label: "Files",
202
211
  expansionKey: `${n.run.id}:files`,
203
212
  emptyState: /* @__PURE__ */ (0, S.jsx)("p", {
204
213
  className: "ws-status",
205
214
  role: a.error ? "alert" : "status",
206
- children: a.error ? `The retained files are unavailable: ${a.error}` : A ?? "This run left no pages and no branch changed a file."
215
+ children: a.error ? `The retained files are unavailable: ${a.error}` : M ?? "This run left no pages and no branch changed a file."
207
216
  }),
208
- preview: T ? {
209
- path: T.tree,
210
- ...j(T, t, i.href("files", { file: T.key }))
217
+ preview: E ? {
218
+ path: E.tree,
219
+ ...N(E, t, i.href("files", { file: E.key }))
211
220
  } : void 0,
212
221
  style: { height: "100%" }
213
222
  })
214
223
  });
215
224
  }
216
- function j(e, t, n) {
225
+ function N(e, t, n) {
217
226
  return {
218
- actions: /* @__PURE__ */ (0, S.jsx)(N, {
227
+ actions: /* @__PURE__ */ (0, S.jsx)(F, {
219
228
  entry: e,
220
229
  runUrl: t,
221
230
  link: n
222
231
  }),
223
- content: /* @__PURE__ */ (0, S.jsx)(F, {
232
+ content: /* @__PURE__ */ (0, S.jsx)(L, {
224
233
  entry: e,
225
234
  runUrl: t
226
235
  }, e.key)
227
236
  };
228
237
  }
229
- var M = () => {
238
+ var P = () => {
230
239
  let [e, t] = (0, x.useState)(() => {
231
240
  let e = new URLSearchParams(window.location.search).get("fileView");
232
241
  return e === "source" || e === "diff" ? e : "preview";
@@ -239,8 +248,8 @@ var M = () => {
239
248
  e === "preview" ? t.delete("fileView") : t.set("fileView", e), window.history.replaceState(null, "", `${window.location.pathname}${t.size ? `?${t}` : ""}`), window.dispatchEvent(new CustomEvent("rp-file-view", { detail: e }));
240
249
  }];
241
250
  };
242
- function N({ entry: e, runUrl: t, link: n }) {
243
- let [i, o] = M(), [s, c] = (0, x.useState)(!1), m = e.path.split("/").pop() ?? e.path, h = r(e.path), g = [...h === "markdown" || h === "csv" ? [{
251
+ function F({ entry: e, runUrl: t, link: n }) {
252
+ let [i, o] = P(), [s, c] = (0, x.useState)(!1), m = e.path.split("/").pop() ?? e.path, h = r(e.path), g = [...h === "markdown" || h === "csv" ? [{
244
253
  value: "preview",
245
254
  label: "Preview"
246
255
  }, {
@@ -260,39 +269,45 @@ function N({ entry: e, runUrl: t, link: n }) {
260
269
  }), /* @__PURE__ */ (0, S.jsxs)("span", {
261
270
  className: "rp-group ph-hide",
262
271
  children: [
263
- _ && /* @__PURE__ */ (0, S.jsxs)("a", {
264
- className: "rp-btn",
272
+ _ && /* @__PURE__ */ (0, S.jsx)("a", {
273
+ className: "rp-btn ic",
265
274
  href: _,
266
275
  download: m,
267
- children: [/* @__PURE__ */ (0, S.jsx)(p, { name: "download" }), /* @__PURE__ */ (0, S.jsx)("span", { children: "Download" })]
276
+ "aria-label": `Download ${m}`,
277
+ title: "Download",
278
+ children: /* @__PURE__ */ (0, S.jsx)(p, { name: "download" })
268
279
  }),
269
- /* @__PURE__ */ (0, S.jsxs)("button", {
280
+ /* @__PURE__ */ (0, S.jsx)("button", {
270
281
  type: "button",
271
- className: "rp-btn",
282
+ className: "rp-btn ic",
283
+ "aria-label": s ? "Link copied" : "Copy link",
284
+ title: s ? "Copied" : "Copy link",
272
285
  onClick: () => {
273
286
  navigator.clipboard?.writeText(new URL(n, window.location.href).toString()).then(() => {
274
287
  c(!0), window.setTimeout(() => c(!1), 1500);
275
288
  });
276
289
  },
277
- children: [/* @__PURE__ */ (0, S.jsx)(p, { name: s ? "check" : "link" }), /* @__PURE__ */ (0, S.jsx)("span", { children: s ? "Copied" : "Copy link" })]
290
+ children: /* @__PURE__ */ (0, S.jsx)(p, { name: s ? "check" : "link" })
278
291
  }),
279
292
  /* @__PURE__ */ (0, S.jsxs)(d, { children: [/* @__PURE__ */ (0, S.jsx)(l, {
280
293
  asChild: !0,
281
- children: /* @__PURE__ */ (0, S.jsxs)("button", {
294
+ children: /* @__PURE__ */ (0, S.jsx)("button", {
282
295
  type: "button",
283
- className: "rp-btn",
284
- children: [/* @__PURE__ */ (0, S.jsx)(p, { name: "info" }), /* @__PURE__ */ (0, S.jsx)("span", { children: "Provenance" })]
296
+ className: "rp-btn ic",
297
+ "aria-label": "Provenance",
298
+ title: "Provenance",
299
+ children: /* @__PURE__ */ (0, S.jsx)(p, { name: "info" })
285
300
  })
286
301
  }), /* @__PURE__ */ (0, S.jsx)(u, {
287
302
  className: "rp-pop",
288
303
  align: "end",
289
- children: /* @__PURE__ */ (0, S.jsx)(P, { entry: e })
304
+ children: /* @__PURE__ */ (0, S.jsx)(I, { entry: e })
290
305
  })] })
291
306
  ]
292
307
  })]
293
308
  });
294
309
  }
295
- function P({ entry: e }) {
310
+ function I({ entry: e }) {
296
311
  let t = e.path.split("/").pop();
297
312
  if (e.kind === "page") {
298
313
  let n = e.file;
@@ -350,8 +365,8 @@ function P({ entry: e }) {
350
365
  ] })
351
366
  })] });
352
367
  }
353
- function F({ entry: e, runUrl: t }) {
354
- let [n] = M(), i = e.path.split("/").pop() ?? e.path, o = r(e.path), c = o === "markdown" || o === "csv", l = [
368
+ function L({ entry: e, runUrl: t }) {
369
+ let [n] = P(), i = e.path.split("/").pop() ?? e.path, o = r(e.path), c = o === "markdown" || o === "csv", l = [
355
370
  "image",
356
371
  "pdf",
357
372
  "video",
@@ -430,4 +445,4 @@ function F({ entry: e, runUrl: t }) {
430
445
  });
431
446
  }
432
447
  //#endregion
433
- export { A as Files };
448
+ export { M as Files };