@shapeshift-labs/loom 0.1.15 → 0.1.17

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 (59) hide show
  1. package/README.md +156 -6
  2. package/dist/capabilities.d.ts.map +1 -1
  3. package/dist/capabilities.js +21 -3
  4. package/dist/capabilities.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +160 -2
  7. package/dist/cli.js.map +1 -1
  8. package/dist/delegate.d.ts +9 -4
  9. package/dist/delegate.d.ts.map +1 -1
  10. package/dist/delegate.js +113 -3
  11. package/dist/delegate.js.map +1 -1
  12. package/dist/graph-frontier-run-convert.d.ts +6 -0
  13. package/dist/graph-frontier-run-convert.d.ts.map +1 -0
  14. package/dist/graph-frontier-run-convert.js +219 -0
  15. package/dist/graph-frontier-run-convert.js.map +1 -0
  16. package/dist/graph-frontier-run-records.d.ts +9 -0
  17. package/dist/graph-frontier-run-records.d.ts.map +1 -0
  18. package/dist/graph-frontier-run-records.js +105 -0
  19. package/dist/graph-frontier-run-records.js.map +1 -0
  20. package/dist/graph-frontier-run.d.ts +6 -0
  21. package/dist/graph-frontier-run.d.ts.map +1 -0
  22. package/dist/graph-frontier-run.js +63 -0
  23. package/dist/graph-frontier-run.js.map +1 -0
  24. package/dist/graph-live.d.ts +6 -0
  25. package/dist/graph-live.d.ts.map +1 -0
  26. package/dist/graph-live.js +251 -0
  27. package/dist/graph-live.js.map +1 -0
  28. package/dist/graph.d.ts +42 -1
  29. package/dist/graph.d.ts.map +1 -1
  30. package/dist/graph.js +824 -1
  31. package/dist/graph.js.map +1 -1
  32. package/dist/help.d.ts.map +1 -1
  33. package/dist/help.js +27 -0
  34. package/dist/help.js.map +1 -1
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/output.d.ts.map +1 -1
  40. package/dist/output.js +45 -1
  41. package/dist/output.js.map +1 -1
  42. package/dist/status-ui-health.d.ts +4 -0
  43. package/dist/status-ui-health.d.ts.map +1 -0
  44. package/dist/status-ui-health.js +91 -0
  45. package/dist/status-ui-health.js.map +1 -0
  46. package/dist/status-ui.d.ts +40 -0
  47. package/dist/status-ui.d.ts.map +1 -0
  48. package/dist/status-ui.js +249 -0
  49. package/dist/status-ui.js.map +1 -0
  50. package/dist/status.d.ts.map +1 -1
  51. package/dist/status.js +5 -1
  52. package/dist/status.js.map +1 -1
  53. package/dist/swarm.d.ts.map +1 -1
  54. package/dist/swarm.js +2 -0
  55. package/dist/swarm.js.map +1 -1
  56. package/dist/types.d.ts +409 -0
  57. package/dist/types.d.ts.map +1 -1
  58. package/frontier.source-policy.json +21 -1
  59. package/package.json +5 -3
@@ -0,0 +1,249 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { abs, pathExists } from './common.js';
4
+ import { readCollectionHealth, targetHealth } from './status-ui-health.js';
5
+ export async function readUiLaunchStatus(root) {
6
+ const detected = await detectLoomUiTargets(root);
7
+ return {
8
+ command: 'loom ui <run-or-collection>',
9
+ dashboardCommand: 'loom swarm dashboard <run-or-collection>',
10
+ runFlag: '--run <run-dir>',
11
+ collectionFlag: '--collection <collection-dir-or-json>',
12
+ continuationFlag: '--continuation <continuation-dir-or-json>',
13
+ argumentForms: [
14
+ '--run <path>',
15
+ '--run=<path>',
16
+ '--collection <path>',
17
+ '--collection=<path>',
18
+ '--continuation <path>',
19
+ '--continuation=<path>'
20
+ ],
21
+ shortcuts: [
22
+ 'Bare run paths are forwarded as --run.',
23
+ 'Paths ending in collected, collection, or collection.json are forwarded as --collection.',
24
+ 'Equals-form source and server options are normalized before launching frontier-loom-ui.'
25
+ ],
26
+ health: summarizeUiLaunchHealth(detected),
27
+ dashboardUrl: 'http://127.0.0.1:<assigned-port>/',
28
+ dashboardUrlNote: 'frontier-loom-ui prints the active URL when launched; pass --port <port> for a stable URL.',
29
+ detected
30
+ };
31
+ }
32
+ export function loomStatusMessage(uiLaunch) {
33
+ const detected = detectedUiTargets(uiLaunch.detected);
34
+ if (detected.length > 0) {
35
+ const count = detected.length;
36
+ return [
37
+ `loom project detected; ${count} UI target${count === 1 ? '' : 's'} available via loom ui <path>`,
38
+ 'ui target health:',
39
+ ...detected.slice(0, 6).map(formatUiTargetStatusLine),
40
+ ...(detected.length > 6 ? [`- ${detected.length - 6} more UI target${detected.length - 6 === 1 ? '' : 's'} in status --json`] : [])
41
+ ].join('\n');
42
+ }
43
+ return 'loom project detected; launch the dashboard with loom ui <run-or-collection>';
44
+ }
45
+ async function detectLoomUiTargets(root) {
46
+ const detected = [];
47
+ await detectUiTargetsInDir(root, root, detected);
48
+ for (const parent of ['agent-runs', '.loom/runs']) {
49
+ await detectUiTargetsInDir(root, abs(root, parent), detected);
50
+ }
51
+ const seen = new Set();
52
+ return detected.filter((item) => {
53
+ const key = `${item.kind}:${item.path}`;
54
+ if (seen.has(key))
55
+ return false;
56
+ seen.add(key);
57
+ return true;
58
+ });
59
+ }
60
+ async function detectUiTargetsInDir(root, dir, out) {
61
+ const entries = await safeReadDir(dir);
62
+ if (!entries)
63
+ return;
64
+ await addUiTargetIfPresent(root, dir, out);
65
+ for (const entry of entries) {
66
+ if (!entry.isDirectory())
67
+ continue;
68
+ const child = path.join(dir, entry.name);
69
+ await addUiTargetIfPresent(root, child, out);
70
+ await addCollectionTargetIfPresent(root, path.join(child, 'collected'), out);
71
+ }
72
+ }
73
+ async function addUiTargetIfPresent(root, dir, out) {
74
+ if (await isCollectionTarget(dir)) {
75
+ await addUiTarget(root, dir, 'collection', '--collection', out);
76
+ return;
77
+ }
78
+ if (await isRunTarget(dir))
79
+ await addUiTarget(root, dir, 'run', '--run', out);
80
+ }
81
+ async function addCollectionTargetIfPresent(root, dir, out) {
82
+ if (await isCollectionTarget(dir))
83
+ await addUiTarget(root, dir, 'collection', '--collection', out);
84
+ }
85
+ async function addUiTarget(root, targetPath, kind, flag, out) {
86
+ const relative = path.relative(root, targetPath).replaceAll(path.sep, '/') || '.';
87
+ const artifacts = await collectUiArtifacts(root, targetPath, kind);
88
+ const collectionHealth = kind === 'collection' ? await readCollectionHealth(targetPath) : {};
89
+ const dataSource = `${flag} ${relative}`;
90
+ out.push({
91
+ kind,
92
+ path: relative,
93
+ flag,
94
+ command: `loom ui ${relative}`,
95
+ dashboardCommand: `loom swarm dashboard ${relative}`,
96
+ explicitCommand: `loom ui ${flag} ${relative}`,
97
+ dataSource,
98
+ dataSourcePath: relative,
99
+ dashboardUrl: 'http://127.0.0.1:<assigned-port>/',
100
+ dashboardUrlState: 'assigned-on-launch',
101
+ health: targetHealth(kind, artifacts, collectionHealth),
102
+ artifacts: artifacts.map((artifact) => artifact.path),
103
+ activeArtifacts: artifactPathsByRole(artifacts, 'active'),
104
+ healthArtifacts: artifactPathsByRole(artifacts, 'health'),
105
+ landedArtifacts: artifactPathsByRole(artifacts, 'landed'),
106
+ ...collectionHealth
107
+ });
108
+ }
109
+ async function isRunTarget(dir) {
110
+ const runMarkers = ['codex-events.jsonl', 'codex-stderr.log', 'prompt.md', 'last-message.md'];
111
+ for (const marker of runMarkers) {
112
+ if (await pathExists(path.join(dir, marker)))
113
+ return true;
114
+ }
115
+ return false;
116
+ }
117
+ async function isCollectionTarget(dir) {
118
+ if (await pathExists(path.join(dir, 'collection.json')))
119
+ return true;
120
+ const basename = path.basename(dir).toLowerCase();
121
+ return basename === 'collected' && await pathExists(dir);
122
+ }
123
+ async function safeReadDir(dir) {
124
+ try {
125
+ return await fs.readdir(dir, { withFileTypes: true });
126
+ }
127
+ catch {
128
+ return undefined;
129
+ }
130
+ }
131
+ function runArtifactSpecs() {
132
+ return [
133
+ { label: 'events', relativePath: 'codex-events.jsonl', role: 'active' },
134
+ { label: 'stderr', relativePath: 'codex-stderr.log', role: 'active' },
135
+ { label: 'prompt', relativePath: 'prompt.md', role: 'active' },
136
+ { label: 'last-message', relativePath: 'last-message.md', role: 'active' }
137
+ ];
138
+ }
139
+ function collectionArtifactSpecs() {
140
+ return [
141
+ { label: 'collection', relativePath: 'collection.json', role: 'health' },
142
+ { label: 'compact-dashboard', relativePath: 'compact-dashboard.json', role: 'health' },
143
+ { label: 'apply-ledger', relativePath: 'apply-ledger/apply-ledger.json', role: 'landed' },
144
+ { label: 'apply-ledger', relativePath: 'apply-ledger.json', role: 'landed' },
145
+ { label: 'artifact-store', relativePath: 'artifact-store/artifact-store.json', role: 'health' },
146
+ { label: 'evidence-index', relativePath: 'evidence-index.json', role: 'health' },
147
+ { label: 'merge-index', relativePath: 'merge-index.json', role: 'health' },
148
+ { label: 'queue-overlay', relativePath: 'queue-overlay.json', role: 'health' }
149
+ ];
150
+ }
151
+ async function collectUiArtifacts(root, targetPath, kind) {
152
+ const artifacts = [];
153
+ const specs = kind === 'run' ? runArtifactSpecs() : collectionArtifactSpecs();
154
+ for (const spec of specs) {
155
+ const absolutePath = path.join(targetPath, spec.relativePath);
156
+ if (!await pathExists(absolutePath))
157
+ continue;
158
+ artifacts.push({
159
+ label: spec.label,
160
+ path: path.relative(root, absolutePath).replaceAll(path.sep, '/'),
161
+ role: spec.role
162
+ });
163
+ }
164
+ return artifacts;
165
+ }
166
+ function artifactPathsByRole(artifacts, role) {
167
+ return artifacts.filter((artifact) => artifact.role === role).map((artifact) => artifact.path);
168
+ }
169
+ function summarizeUiLaunchHealth(targets) {
170
+ return {
171
+ targetCount: targets.length,
172
+ runCount: targets.filter((target) => target.kind === 'run').length,
173
+ collectionCount: targets.filter((target) => target.kind === 'collection').length,
174
+ activeJobs: sumNumberField(targets, 'activeJobs'),
175
+ landed: sumNumberField(targets, 'landed'),
176
+ applied: sumNumberField(targets, 'applied'),
177
+ committed: sumNumberField(targets, 'committed'),
178
+ skipped: sumNumberField(targets, 'skipped'),
179
+ usefulPatchCount: sumNumberField(targets, 'usefulPatchCount'),
180
+ stalePatchCount: sumNumberField(targets, 'stalePatchCount'),
181
+ failed: sumNumberField(targets, 'failed'),
182
+ activeArtifactPaths: uniqueStrings(targets.flatMap((target) => target.activeArtifacts)),
183
+ landedArtifactPaths: uniqueStrings(targets.flatMap((target) => target.landedArtifacts)),
184
+ healthArtifactPaths: uniqueStrings(targets.flatMap((target) => target.healthArtifacts))
185
+ };
186
+ }
187
+ function formatUiTargetStatusLine(target) {
188
+ const details = [
189
+ `dashboard=${target.command}`,
190
+ `url=${target.dashboardUrl}`,
191
+ `source=${target.dataSource}`,
192
+ `health=${target.health}`
193
+ ];
194
+ if (typeof target.total === 'number')
195
+ details.push(`total=${target.total}`);
196
+ if (typeof target.activeJobs === 'number')
197
+ details.push(`active jobs=${target.activeJobs}`);
198
+ if (typeof target.landed === 'number')
199
+ details.push(`landed=${target.landed}`);
200
+ if (typeof target.applied === 'number')
201
+ details.push(`applied=${target.applied}`);
202
+ if (typeof target.committed === 'number')
203
+ details.push(`committed=${target.committed}`);
204
+ if (typeof target.skipped === 'number')
205
+ details.push(`skipped=${target.skipped}`);
206
+ if (typeof target.failed === 'number')
207
+ details.push(`failed=${target.failed}`);
208
+ if (typeof target.usefulPatchCount === 'number')
209
+ details.push(`patches=${target.usefulPatchCount}`);
210
+ if (target.activeArtifacts.length)
211
+ details.push(`active artifacts=${formatPathList(target.activeArtifacts)}`);
212
+ if (target.landedArtifacts.length)
213
+ details.push(`landed artifacts=${formatPathList(target.landedArtifacts)}`);
214
+ if (target.healthArtifacts.length)
215
+ details.push(`health artifacts=${formatPathList(target.healthArtifacts)}`);
216
+ return `- ${target.kind} ${target.path}: ${details.join('; ')}`;
217
+ }
218
+ function formatPathList(paths) {
219
+ const visible = paths.slice(0, 3);
220
+ return `${visible.join(', ')}${paths.length > visible.length ? ` (+${paths.length - visible.length} more)` : ''}`;
221
+ }
222
+ function detectedUiTargets(value) {
223
+ return Array.isArray(value) ? value.filter(isDetectedUiTarget) : [];
224
+ }
225
+ function isDetectedUiTarget(value) {
226
+ return isObject(value) &&
227
+ (value.kind === 'run' || value.kind === 'collection') &&
228
+ typeof value.path === 'string' &&
229
+ typeof value.command === 'string' &&
230
+ typeof value.dataSource === 'string' &&
231
+ typeof value.dashboardUrl === 'string' &&
232
+ typeof value.health === 'string' &&
233
+ Array.isArray(value.activeArtifacts) &&
234
+ Array.isArray(value.landedArtifacts) &&
235
+ Array.isArray(value.healthArtifacts);
236
+ }
237
+ function sumNumberField(targets, key) {
238
+ return targets.reduce((sum, target) => {
239
+ const value = target[key];
240
+ return sum + (typeof value === 'number' ? value : 0);
241
+ }, 0);
242
+ }
243
+ function uniqueStrings(values) {
244
+ return [...new Set(values)];
245
+ }
246
+ function isObject(value) {
247
+ return Boolean(value && typeof value === 'object' && !Array.isArray(value));
248
+ }
249
+ //# sourceMappingURL=status-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-ui.js","sourceRoot":"","sources":["../src/status-ui.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,YAAY,CAAC;AAY/D,wBAAsB,cAAc,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwBhG;AAED,wBAAsB,iBAAiB,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAanG"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,YAAY,CAAC;AAa/D,wBAAsB,cAAc,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0BhG;AAED,wBAAsB,iBAAiB,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAanG"}
package/dist/status.js CHANGED
@@ -2,6 +2,7 @@ import { abs, gitDirtyCount, packageVersion, pathExists, readJson, resolveRoot }
2
2
  import { readLoomConfig } from './config.js';
3
3
  import { inspectDelegates } from './capabilities.js';
4
4
  import { readHeadRef, readRef } from './store.js';
5
+ import { loomStatusMessage, readUiLaunchStatus } from './status-ui.js';
5
6
  const packageChecks = [
6
7
  { name: '@shapeshift-labs/frontier', required: true },
7
8
  { name: '@shapeshift-labs/frontier-lang', required: true },
@@ -9,6 +10,7 @@ const packageChecks = [
9
10
  { name: '@shapeshift-labs/frontier-lang-compiler', required: true },
10
11
  { name: '@shapeshift-labs/frontier-swarm', required: true },
11
12
  { name: '@shapeshift-labs/frontier-swarm-codex', required: true },
13
+ { name: '@shapeshift-labs/frontier-loom-ui', required: true },
12
14
  { name: '@shapeshift-labs/frontier-framework', required: true }
13
15
  ];
14
16
  export async function readLoomStatus(options = {}) {
@@ -21,10 +23,11 @@ export async function readLoomStatus(options = {}) {
21
23
  const headObject = headRef ? await readRef(root, headRef).catch(() => undefined) : undefined;
22
24
  const packages = await readPackageVersions();
23
25
  const delegates = await inspectDelegates();
26
+ const uiLaunch = await readUiLaunchStatus(root);
24
27
  return {
25
28
  ok: configExists,
26
29
  ready: Boolean(config && graph),
27
- message: configExists ? 'loom project detected' : 'missing loom.json',
30
+ message: configExists ? loomStatusMessage(uiLaunch) : 'missing loom.json',
28
31
  root,
29
32
  configPath: configExists ? abs(root, 'loom.json') : undefined,
30
33
  graphPath,
@@ -32,6 +35,7 @@ export async function readLoomStatus(options = {}) {
32
35
  headRef,
33
36
  headObject,
34
37
  graphSummary: graph?.summary,
38
+ uiLaunch,
35
39
  packages,
36
40
  delegates
37
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../src/swarm.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAErE"}
1
+ {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../src/swarm.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrE"}
package/dist/swarm.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { runDelegateCommand } from './delegate.js';
2
2
  export async function runSwarmCommand(args) {
3
+ if (args[0] === 'dashboard' || args[0] === 'ui')
4
+ return runDelegateCommand('ui', args.slice(1));
3
5
  return runDelegateCommand('swarm', args);
4
6
  }
5
7
  //# sourceMappingURL=swarm.js.map
package/dist/swarm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../src/swarm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAc;IAClD,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../src/swarm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAc;IAClD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC"}