@sapiom/harness 0.2.7 → 0.4.0
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.
- package/CHANGELOG.md +178 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +21 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/core/adapters/claude-code.d.ts +46 -0
- package/dist/core/adapters/claude-code.d.ts.map +1 -1
- package/dist/core/adapters/claude-code.js +76 -1
- package/dist/core/adapters/claude-code.js.map +1 -1
- package/dist/core/adapters/codex.d.ts +0 -7
- package/dist/core/adapters/codex.d.ts.map +1 -1
- package/dist/core/adapters/codex.js +1 -23
- package/dist/core/adapters/codex.js.map +1 -1
- package/dist/core/agent-deps.d.ts +10 -0
- package/dist/core/agent-deps.d.ts.map +1 -0
- package/dist/core/agent-deps.js +92 -0
- package/dist/core/agent-deps.js.map +1 -0
- package/dist/core/agent-project-discovery.d.ts +32 -0
- package/dist/core/agent-project-discovery.d.ts.map +1 -0
- package/dist/core/agent-project-discovery.js +110 -0
- package/dist/core/agent-project-discovery.js.map +1 -0
- package/dist/core/canvas-body.d.ts +8 -0
- package/dist/core/canvas-body.d.ts.map +1 -1
- package/dist/core/canvas-body.js +26 -2
- package/dist/core/canvas-body.js.map +1 -1
- package/dist/core/canvas-derive.d.ts.map +1 -1
- package/dist/core/canvas-derive.js +6 -2
- package/dist/core/canvas-derive.js.map +1 -1
- package/dist/core/canvas-render.d.ts +15 -0
- package/dist/core/canvas-render.d.ts.map +1 -1
- package/dist/core/canvas-render.js +60 -19
- package/dist/core/canvas-render.js.map +1 -1
- package/dist/core/canvas-run-state.d.ts +7 -0
- package/dist/core/canvas-run-state.d.ts.map +1 -1
- package/dist/core/canvas-run-state.js +41 -3
- package/dist/core/canvas-run-state.js.map +1 -1
- package/dist/core/canvas-template.d.ts +12 -0
- package/dist/core/canvas-template.d.ts.map +1 -1
- package/dist/core/canvas-template.js +47 -5
- package/dist/core/canvas-template.js.map +1 -1
- package/dist/core/definition-slug-resolver.d.ts +10 -1
- package/dist/core/definition-slug-resolver.d.ts.map +1 -1
- package/dist/core/definition-slug-resolver.js +41 -26
- package/dist/core/definition-slug-resolver.js.map +1 -1
- package/dist/core/inject/claude-settings.d.ts +18 -0
- package/dist/core/inject/claude-settings.d.ts.map +1 -1
- package/dist/core/inject/claude-settings.js +17 -2
- package/dist/core/inject/claude-settings.js.map +1 -1
- package/dist/core/install-watcher.d.ts +35 -0
- package/dist/core/install-watcher.d.ts.map +1 -0
- package/dist/core/install-watcher.js +120 -0
- package/dist/core/install-watcher.js.map +1 -0
- package/dist/core/macros.d.ts +6 -4
- package/dist/core/macros.d.ts.map +1 -1
- package/dist/core/macros.js.map +1 -1
- package/dist/core/render-local-run.d.ts +2 -2
- package/dist/core/render-local-run.js +1 -1
- package/dist/core/run-local-bootstrap.d.ts +4 -2
- package/dist/core/run-local-bootstrap.d.ts.map +1 -1
- package/dist/core/run-local-bootstrap.js +4 -2
- package/dist/core/run-local-bootstrap.js.map +1 -1
- package/dist/core/session-manager.d.ts +14 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +70 -3
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/strip-ansi.d.ts +13 -0
- package/dist/core/strip-ansi.d.ts.map +1 -0
- package/dist/core/strip-ansi.js +29 -0
- package/dist/core/strip-ansi.js.map +1 -0
- package/dist/core/template-catalog.d.ts +1 -1
- package/dist/core/template-catalog.d.ts.map +1 -1
- package/dist/core/template-catalog.js +25 -9
- package/dist/core/template-catalog.js.map +1 -1
- package/dist/core/workflow-registry.d.ts +6 -1
- package/dist/core/workflow-registry.d.ts.map +1 -1
- package/dist/core/workflow-registry.js +70 -20
- package/dist/core/workflow-registry.js.map +1 -1
- package/dist/core/workspace-watcher.d.ts +4 -3
- package/dist/core/workspace-watcher.d.ts.map +1 -1
- package/dist/core/workspace-watcher.js +52 -32
- package/dist/core/workspace-watcher.js.map +1 -1
- package/dist/profiles/default.d.ts.map +1 -1
- package/dist/profiles/default.js +10 -7
- package/dist/profiles/default.js.map +1 -1
- package/dist/server/actions.d.ts +11 -8
- package/dist/server/actions.d.ts.map +1 -1
- package/dist/server/actions.js +22 -13
- package/dist/server/actions.js.map +1 -1
- package/dist/server/canvas-render.d.ts +3 -2
- package/dist/server/canvas-render.d.ts.map +1 -1
- package/dist/server/canvas-render.js +2 -1
- package/dist/server/canvas-render.js.map +1 -1
- package/dist/server/canvas.d.ts.map +1 -1
- package/dist/server/canvas.js +6 -20
- package/dist/server/canvas.js.map +1 -1
- package/dist/server/fs.d.ts.map +1 -1
- package/dist/server/fs.js +5 -8
- package/dist/server/fs.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +125 -27
- package/dist/server/index.js.map +1 -1
- package/dist/server/rest.d.ts.map +1 -1
- package/dist/server/rest.js +1 -0
- package/dist/server/rest.js.map +1 -1
- package/dist/server/templates.js +1 -1
- package/dist/shared/types.d.ts +58 -8
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +5 -3
- package/dist/shared/types.js.map +1 -1
- package/dist/web/assets/Geist-Variable-Bj2R_7yk.woff2 +0 -0
- package/dist/web/assets/GeistMono-Variable-Dispecij.woff2 +0 -0
- package/dist/web/assets/index-CRkNIc9y.js +458 -0
- package/dist/web/assets/index-T7PZTM4k.css +32 -0
- package/dist/web/canvas/sess-boot/index.html +6 -3
- package/dist/web/index.html +11 -5
- package/package.json +4 -4
- package/dist/web/assets/index-AAGKe1y6.css +0 -32
- package/dist/web/assets/index-DXRbHg-Q.js +0 -448
package/dist/server/actions.js
CHANGED
|
@@ -17,11 +17,13 @@
|
|
|
17
17
|
* settles. Prod-run is a single request/response returning `{ executionId }`,
|
|
18
18
|
* which the existing live-canvas path then polls via the runs router.
|
|
19
19
|
*
|
|
20
|
-
* Run-local (`POST /api/runs/local`) is the
|
|
21
|
-
* run-local bootstrap child, which runs the workflow in-process
|
|
22
|
-
*
|
|
23
|
-
* then a terminal summary carrying
|
|
24
|
-
*
|
|
20
|
+
* Run-local (`POST /api/runs/local`) is the signed-out sibling: it spawns the
|
|
21
|
+
* run-local bootstrap child, which runs the workflow in-process with Sapiom
|
|
22
|
+
* capability calls served by stubs and streams NDJSON back — one
|
|
23
|
+
* {@link LocalStepTrace} per line, then a terminal summary carrying
|
|
24
|
+
* `unusedStubs`/`stubWarnings`. The runner needs no API key and makes no Sapiom
|
|
25
|
+
* capability request. Arbitrary user step code still executes on the machine
|
|
26
|
+
* and may use its network.
|
|
25
27
|
*/
|
|
26
28
|
import { spawn as spawnChildProcess } from "node:child_process";
|
|
27
29
|
import { createInterface } from "node:readline";
|
|
@@ -147,7 +149,9 @@ function readProjectConfigState(readConfig, projectDir) {
|
|
|
147
149
|
const definitionId = config?.definitionId;
|
|
148
150
|
if (definitionId)
|
|
149
151
|
return { kind: "linked", definitionId };
|
|
150
|
-
return config?.name
|
|
152
|
+
return config?.name
|
|
153
|
+
? { kind: "unlinked", name: config.name }
|
|
154
|
+
: { kind: "unlinked" };
|
|
151
155
|
}
|
|
152
156
|
/**
|
|
153
157
|
* Map an {@link AgentOperationError} (or any thrown value) to a terminal deploy
|
|
@@ -214,10 +218,11 @@ async function withKeyRefreshRetry(provider, createClientFor, invoke) {
|
|
|
214
218
|
* Create the actions router. Mounts:
|
|
215
219
|
* - `POST /api/workflows/:id/deploy` — NDJSON build-status stream.
|
|
216
220
|
* - `POST /api/runs` — `{ executionId }` for a started prod execution.
|
|
217
|
-
* - `POST /api/runs/local` — NDJSON
|
|
221
|
+
* - `POST /api/runs/local` — NDJSON local stub-run trace + summary.
|
|
218
222
|
*
|
|
219
|
-
* Deploy and prod-run run server-side with the held API key; run-local
|
|
220
|
-
*
|
|
223
|
+
* Deploy and prod-run run server-side with the held API key; run-local needs no
|
|
224
|
+
* key and replaces ctx.sapiom calls with stubs, while ordinary author-code side
|
|
225
|
+
* effects remain real. None of them ever involve an AI coding agent.
|
|
221
226
|
*/
|
|
222
227
|
export function createActionsRouter(opts) {
|
|
223
228
|
const router = Router();
|
|
@@ -406,13 +411,15 @@ export function createActionsRouter(opts) {
|
|
|
406
411
|
/**
|
|
407
412
|
* POST /api/runs/local { sourceDir, input?, stubs?, maxAttemptsPerStep? }
|
|
408
413
|
*
|
|
409
|
-
* Runs the workflow at `sourceDir`
|
|
410
|
-
*
|
|
414
|
+
* Runs the workflow at `sourceDir` with Sapiom capability calls served by
|
|
415
|
+
* stubs, in a child process (the run-local bootstrap), and streams the
|
|
411
416
|
* result back as NDJSON: one {@link LocalStepTrace} per line, then a terminal
|
|
412
417
|
* summary line `{ kind: "summary", outcome, output, error, unusedStubs,
|
|
413
418
|
* stubWarnings }`. A run that could not be invoked at all (bad project, bad
|
|
414
419
|
* stub file) yields a terminal `{ kind: "error", outcome: "failed", error }`
|
|
415
|
-
* line instead.
|
|
420
|
+
* line instead. The runner needs no API key and makes no Sapiom capability
|
|
421
|
+
* request; user-authored step code is still ordinary local code and may use
|
|
422
|
+
* the network.
|
|
416
423
|
*
|
|
417
424
|
* The child owns the wire shapes; this handler validates the request, pipes
|
|
418
425
|
* it to the child's stdin, forwards each stdout line unchanged, and (only if
|
|
@@ -499,7 +506,9 @@ export function createActionsRouter(opts) {
|
|
|
499
506
|
res.write(JSON.stringify({
|
|
500
507
|
kind: "error",
|
|
501
508
|
outcome: "failed",
|
|
502
|
-
error: stderrTail.trim() ||
|
|
509
|
+
error: stderrTail.trim() ||
|
|
510
|
+
crashReason ||
|
|
511
|
+
"run-local produced no output",
|
|
503
512
|
}) + "\n");
|
|
504
513
|
}
|
|
505
514
|
res.end();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,9 @@ import { type RenderableSession, type RenderableWorkflow } from "../core/canvas-
|
|
|
11
11
|
export interface CanvasRenderRouterDeps {
|
|
12
12
|
/** Look up a session's cwd + current binding; undefined when unknown. */
|
|
13
13
|
getSession(harnessSessionId: string): RenderableSession | undefined;
|
|
14
|
-
/** The live workflow registry snapshot
|
|
15
|
-
|
|
14
|
+
/** The live workflow registry snapshot, enriched for the session's bound
|
|
15
|
+
* workflow when cloud metadata is available. */
|
|
16
|
+
listWorkflows(session: RenderableSession): readonly RenderableWorkflow[] | Promise<readonly RenderableWorkflow[]>;
|
|
16
17
|
}
|
|
17
18
|
export declare function createCanvasRenderRouter(deps: CanvasRenderRouterDeps): ExpressRouter;
|
|
18
19
|
//# sourceMappingURL=canvas-render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-render.d.ts","sourceRoot":"","sources":["../../src/server/canvas-render.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAU,KAAK,MAAM,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAA0B,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnH,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACpE
|
|
1
|
+
{"version":3,"file":"canvas-render.d.ts","sourceRoot":"","sources":["../../src/server/canvas-render.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAU,KAAK,MAAM,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAA0B,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnH,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACpE;qDACiD;IACjD,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,kBAAkB,EAAE,GAAG,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;CACnH;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,aAAa,CAepF"}
|
|
@@ -16,7 +16,8 @@ export function createCanvasRenderRouter(deps) {
|
|
|
16
16
|
res.status(404).json({ error: `Unknown session '${req.params.sessionId}'` });
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
|
-
const
|
|
19
|
+
const workflows = await deps.listWorkflows(session);
|
|
20
|
+
const outcome = await renderCanvasForSession(session, workflows);
|
|
20
21
|
res.json({ ok: true, ...outcome });
|
|
21
22
|
});
|
|
22
23
|
return router;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-render.js","sourceRoot":"","sources":["../../src/server/canvas-render.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAgC,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAmD,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas-render.js","sourceRoot":"","sources":["../../src/server/canvas-render.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAgC,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAmD,MAAM,0BAA0B,CAAC;AAUnH,MAAM,UAAU,wBAAwB,CAAC,IAA4B;IACnE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/server/canvas.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAU,KAAK,MAAM,IAAI,aAAa,EAA+B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/server/canvas.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAU,KAAK,MAAM,IAAI,aAAa,EAA+B,MAAM,SAAS,CAAC;AAyD5F,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ;iFAC6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;uEACuE;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;AAwF1F,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,aAAa,CAejF"}
|
package/dist/server/canvas.js
CHANGED
|
@@ -24,6 +24,7 @@ import * as path from "node:path";
|
|
|
24
24
|
import { Router } from "express";
|
|
25
25
|
import { CANVAS_DIR, CANVAS_INDEX } from "../shared/types.js";
|
|
26
26
|
import { slugForWorkflowPath } from "../core/canvas-render.js";
|
|
27
|
+
import { renderCanvasMessageDocument } from "../core/canvas-template.js";
|
|
27
28
|
import { isMachineGeneratedCanvas } from "../core/canvas-index-classify.js";
|
|
28
29
|
import { resolveWithinRoot } from "../core/path-safety.js";
|
|
29
30
|
const INDEX_FILENAME = path.basename(CANVAS_INDEX);
|
|
@@ -54,30 +55,15 @@ function contentTypeFor(filePath) {
|
|
|
54
55
|
const CANVAS_CSP = "default-src 'self' data: blob:; script-src 'self' 'unsafe-inline'; " +
|
|
55
56
|
"style-src 'self' 'unsafe-inline'; img-src * data: blob:; connect-src *; " +
|
|
56
57
|
"object-src 'none'; frame-ancestors 'self'";
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
<div>
|
|
62
|
-
<h1 style="font-size: 1.1rem; margin-bottom: 0.5rem;">Nothing rendered yet</h1>
|
|
63
|
-
<p style="margin: 0;">Select an agent in the rail and its step graph renders here automatically.</p>
|
|
64
|
-
</div>
|
|
65
|
-
</body>
|
|
66
|
-
</html>`;
|
|
58
|
+
// Theme-aware (via renderCanvasMessageDocument's `?theme` reader) so these
|
|
59
|
+
// follow the app's light/dark theme — the iframe src carries `?theme=<theme>`.
|
|
60
|
+
// A plain white panel here read as broken inside a dark-themed app.
|
|
61
|
+
const EMPTY_STATE_HTML = renderCanvasMessageDocument("Nothing rendered yet", "Select an agent in the rail and its step graph renders here automatically.");
|
|
67
62
|
/** Served for a BOUND session whose render file hasn't been written yet
|
|
68
63
|
* (render in flight, or a server restart before any re-render). The pane
|
|
69
64
|
* hot-reloads the moment the render lands, so this is only ever briefly
|
|
70
65
|
* visible. */
|
|
71
|
-
const PENDING_RENDER_HTML =
|
|
72
|
-
<html>
|
|
73
|
-
<head><meta charset="utf-8"><title>Canvas — rendering</title></head>
|
|
74
|
-
<body style="font-family: system-ui, sans-serif; display: flex; align-items: center; justify-content: center; height: 100vh; margin: 0; color: #444; text-align: center; padding: 0 2rem;">
|
|
75
|
-
<div>
|
|
76
|
-
<h1 style="font-size: 1.1rem; margin-bottom: 0.5rem;">Rendering agent diagram…</h1>
|
|
77
|
-
<p style="margin: 0;">This pane reloads automatically when the diagram is ready.</p>
|
|
78
|
-
</div>
|
|
79
|
-
</body>
|
|
80
|
-
</html>`;
|
|
66
|
+
const PENDING_RENDER_HTML = renderCanvasMessageDocument("Rendering agent diagram…", "This pane reloads automatically when the diagram is ready.");
|
|
81
67
|
/** `relative === null` means "the canvas root" — what it resolves to depends
|
|
82
68
|
* on the session's current binding, decided per request so switching the
|
|
83
69
|
* bound workflow needs no file rewrite at all. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/server/canvas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAA6D,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAEnD,MAAM,UAAU,GAA2B;IACzC,OAAO,EAAE,0BAA0B;IACnC,MAAM,EAAE,yBAAyB;IACjC,KAAK,EAAE,gCAAgC;IACvC,MAAM,EAAE,gCAAgC;IACxC,OAAO,EAAE,iCAAiC;IAC1C,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,2BAA2B;CACpC,CAAC;AAEF,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC;AACxF,CAAC;AAED,kFAAkF;AAClF,6EAA6E;AAC7E,8EAA8E;AAC9E,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,uBAAuB;AACvB,MAAM,UAAU,GACd,qEAAqE;IACrE,0EAA0E;IAC1E,2CAA2C,CAAC;AAE9C,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/server/canvas.ts"],"names":[],"mappings":"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"}
|
package/dist/server/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/server/fs.ts"],"names":[],"mappings":"AAUA,OAAO,EAAU,KAAK,MAAM,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/server/fs.ts"],"names":[],"mappings":"AAUA,OAAO,EAAU,KAAK,MAAM,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAQ/D,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUrE,wBAAgB,cAAc,IAAI,aAAa,CAyF9C"}
|
package/dist/server/fs.js
CHANGED
|
@@ -9,7 +9,7 @@ import * as fs from "node:fs/promises";
|
|
|
9
9
|
import * as os from "node:os";
|
|
10
10
|
import * as path from "node:path";
|
|
11
11
|
import { Router } from "express";
|
|
12
|
-
import {
|
|
12
|
+
import { isAgentProjectScanIgnoredDir, readAgentProjectMarker, } from "../core/agent-project-discovery.js";
|
|
13
13
|
import { hasTraversalSegment } from "../core/path-safety.js";
|
|
14
14
|
const MAX_RESULTS = 200;
|
|
15
15
|
function expandHome(input) {
|
|
@@ -84,13 +84,10 @@ export function createFsRouter() {
|
|
|
84
84
|
// able to show a folder it can't inspect.
|
|
85
85
|
const dirs = await Promise.all(candidates.map(async (dir) => ({
|
|
86
86
|
...dir,
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
.stat(path.join(dir.path, AGENT_PROJECT_MARKER))
|
|
92
|
-
.then((stats) => stats.isFile())
|
|
93
|
-
.catch(() => false),
|
|
87
|
+
// Match the recursive registry: ignored children are not scan targets,
|
|
88
|
+
// and a marker must parse as a top-level JSON object (including `{}`).
|
|
89
|
+
hasAgentProject: !isAgentProjectScanIgnoredDir(dir.name) &&
|
|
90
|
+
(await readAgentProjectMarker(dir.path)) !== null,
|
|
94
91
|
})));
|
|
95
92
|
const response = {
|
|
96
93
|
path: resolved,
|
package/dist/server/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/server/fs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAgC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/server/fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,OAAO,KAAK,EAEV,QAAQ,EACR,cAAc,EACd,WAAW,EAKZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAuCpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,OAAO,KAAK,EAEV,QAAQ,EACR,cAAc,EACd,WAAW,EAKZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAuCpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAqFtD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IACxD;;;;;;;wDAOoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC;;0EAEsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;6CAEyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;+EAE2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;gFAE4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;yEAEqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;uDAMmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;mFAE+E;IAC/E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;gEAG4D;IAC5D,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC;;6DAEyD;IACzD,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC;IACnC;;+EAE2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC;AA6HD,eAAO,MAAM,WAAW,GACtB,SAAS,oBAAoB,KAC5B,OAAO,CAAC,aAAa,CAgzCvB,CAAC"}
|
package/dist/server/index.js
CHANGED
|
@@ -41,6 +41,7 @@ import { generateSkillsPlugin } from "../core/inject/skills-plugin.js";
|
|
|
41
41
|
import { removeGeneratedSessionDir, sweepGeneratedDirs, } from "../core/inject/retention.js";
|
|
42
42
|
import { CanvasWatcherManager } from "../core/canvas-watcher.js";
|
|
43
43
|
import { WorkspaceWatcherManager } from "../core/workspace-watcher.js";
|
|
44
|
+
import { InstallWatcherManager } from "../core/install-watcher.js";
|
|
44
45
|
import { ExecutionDetector } from "../core/execution-detector.js";
|
|
45
46
|
import { PortDetector, portFromUrl } from "../core/port-detector.js";
|
|
46
47
|
import { EventBus } from "../core/event-bus.js";
|
|
@@ -108,7 +109,9 @@ function workflowListsEqual(a, b) {
|
|
|
108
109
|
// NUL separates the fields because it can't occur in any of them. Keep it
|
|
109
110
|
// written as the escape `\u0000` — a literal NUL byte in the source makes
|
|
110
111
|
// grep and ripgrep classify this whole file as binary and silently skip it.
|
|
111
|
-
|
|
112
|
+
// Mutable cloud-build fields are deliberately enriched at serve/render
|
|
113
|
+
// time; the registry snapshots compared here never own those fields.
|
|
114
|
+
const key = (w) => `${w.path}\u0000${w.name}\u0000${w.definitionId ?? ""}\u0000${w.definitionSlug ?? ""}\u0000${w.source}`;
|
|
112
115
|
const setA = new Set(a.map(key));
|
|
113
116
|
return b.every((w) => setA.has(key(w)));
|
|
114
117
|
}
|
|
@@ -154,8 +157,18 @@ function createDefaultBuildLaunchOpts(apiKey, generatedRoot, rehydration) {
|
|
|
154
157
|
// flag) is driven from the session status handler in startServer — the
|
|
155
158
|
// brief must not go into a file that adapter never reads.
|
|
156
159
|
const viaSystemPrompt = brief !== null && rehydration?.deliveryFor(req.harness) === "launch-flag";
|
|
160
|
+
// Pin Claude's ANSI theme to the app theme so the terminal's own palette
|
|
161
|
+
// (Terminal.tsx DARK_ANSI/LIGHT_ANSI) controls its colors — matched base or
|
|
162
|
+
// dim text loses contrast. Only when the theme is known: an unthemed path
|
|
163
|
+
// (server-side auto-create, a legacy session resumed before this existed)
|
|
164
|
+
// omits it and Claude keeps its default 256-color rendering, exactly as before.
|
|
165
|
+
const claudeTheme = req.theme === "light" ? "light-ansi" : req.theme === "dark" ? "dark-ansi" : undefined;
|
|
157
166
|
const [settings, mcpConfigFile, systemPromptFile, pluginDir] = await Promise.all([
|
|
158
|
-
generateClaudeSettings({
|
|
167
|
+
generateClaudeSettings({
|
|
168
|
+
harnessSessionId,
|
|
169
|
+
generatedRoot,
|
|
170
|
+
...(claudeTheme ? { claudeTheme } : {}),
|
|
171
|
+
}),
|
|
159
172
|
generateMcpConfig(harnessSessionId, {
|
|
160
173
|
environment: process.env.SAPIOM_ENVIRONMENT,
|
|
161
174
|
apiKey,
|
|
@@ -212,22 +225,26 @@ export const startServer = async (options) => {
|
|
|
212
225
|
// boot; caches successful id→slug resolutions in-memory (ids are stable).
|
|
213
226
|
// Never throws — a failed resolution leaves definitionSlug as-is.
|
|
214
227
|
const slugResolver = createDefinitionSlugResolver({
|
|
215
|
-
apiKey:
|
|
228
|
+
apiKey: () => apiKeyProvider.getKey(),
|
|
216
229
|
baseUrl: resolveAgentsBaseUrl(),
|
|
217
230
|
});
|
|
218
|
-
/** Returns a copy of the workflow list with
|
|
219
|
-
* the Agents API for
|
|
231
|
+
/** Returns a copy of the workflow list with definition metadata filled in
|
|
232
|
+
* from the Agents API for every linked workflow. Build status is mutable,
|
|
233
|
+
* so it is refreshed even when the stable slug is already present.
|
|
220
234
|
* Resolves all lookups in parallel. Never mutates the registry. */
|
|
221
235
|
const enrichWorkflows = async (workflows) => {
|
|
222
236
|
return Promise.all(workflows.map(async (workflow) => {
|
|
223
|
-
if (workflow.definitionId == null
|
|
224
|
-
(workflow.definitionSlug != null && workflow.definitionSlug !== "")) {
|
|
237
|
+
if (workflow.definitionId == null)
|
|
225
238
|
return workflow;
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
if (resolved == null)
|
|
239
|
+
const metadata = await slugResolver.resolveMetadata(String(workflow.definitionId));
|
|
240
|
+
if (metadata == null)
|
|
229
241
|
return workflow;
|
|
230
|
-
return {
|
|
242
|
+
return {
|
|
243
|
+
...workflow,
|
|
244
|
+
definitionSlug: metadata.slug ?? workflow.definitionSlug,
|
|
245
|
+
activeBuildRunId: metadata.activeBuildRunId,
|
|
246
|
+
activeBuildRunStatus: metadata.activeBuildRunStatus,
|
|
247
|
+
};
|
|
231
248
|
}));
|
|
232
249
|
};
|
|
233
250
|
const adapters = options.adapters ??
|
|
@@ -243,9 +260,11 @@ export const startServer = async (options) => {
|
|
|
243
260
|
// preserve-on-failure path: while an agent is mid-edit the sources are
|
|
244
261
|
// transiently un-buildable, and flashing an extraction-error panel over a
|
|
245
262
|
// perfectly good diagram reads as broken. So keep the last good render until
|
|
246
|
-
//
|
|
247
|
-
// onChange above as the iframe reload
|
|
248
|
-
//
|
|
263
|
+
// a later watched .ts/.tsx edit extracts successfully, then swap it in (the
|
|
264
|
+
// write flows back through onChange above as the iframe reload). Other fixes
|
|
265
|
+
// need an explicit Visualize retry because the watcher is intentionally
|
|
266
|
+
// source-limited. Only a workflow that has never rendered shows the honest
|
|
267
|
+
// error immediately.
|
|
249
268
|
onSourceChange: (harnessSessionId) => {
|
|
250
269
|
const session = sessionManager.get(harnessSessionId);
|
|
251
270
|
if (session)
|
|
@@ -572,12 +591,12 @@ export const startServer = async (options) => {
|
|
|
572
591
|
// agent scaffolds a new workflow directory, or one gets deleted — and the
|
|
573
592
|
// rail must keep up rather than stay frozen at whatever the boot/session-
|
|
574
593
|
// create scan found. On a (debounced) structural change under a session's
|
|
575
|
-
// workspace, prune dead paths,
|
|
594
|
+
// workspace, prune dead paths, reconcile its cwd, and — only when the workflow
|
|
576
595
|
// list actually changed — rewrite every open session's context file and
|
|
577
596
|
// broadcast `workflows.changed` (the SPA refetches /api/workflows on it).
|
|
578
|
-
//
|
|
579
|
-
//
|
|
580
|
-
//
|
|
597
|
+
// Path pruning respects the ENOENT/ENOTDIR-only guard. The scan additionally
|
|
598
|
+
// removes scan-sourced rows in this cwd's traversal envelope when their
|
|
599
|
+
// marker disappears or becomes invalid; manually connected folders remain.
|
|
581
600
|
const rescanWorkspaceForSession = async (harnessSessionId) => {
|
|
582
601
|
const session = sessionManager.get(harnessSessionId);
|
|
583
602
|
if (!session || session.status === "exited")
|
|
@@ -587,6 +606,18 @@ export const startServer = async (options) => {
|
|
|
587
606
|
await workflowRegistry.scan(session.cwd);
|
|
588
607
|
const after = await workflowRegistry.list();
|
|
589
608
|
workflowsCache = after;
|
|
609
|
+
// A removed project must not leave a live session permanently bound to a
|
|
610
|
+
// path that the registry can no longer resolve. Clear only stale bindings;
|
|
611
|
+
// the triggering session may immediately auto-bind to another candidate
|
|
612
|
+
// below its cwd in the block that follows.
|
|
613
|
+
const registeredPaths = new Set(after.map((workflow) => workflow.path));
|
|
614
|
+
for (const openSession of sessionManager.list()) {
|
|
615
|
+
if (openSession.status !== "exited" &&
|
|
616
|
+
openSession.boundWorkflowPath &&
|
|
617
|
+
!registeredPaths.has(openSession.boundWorkflowPath)) {
|
|
618
|
+
sessionManager.setBoundWorkflowPath(openSession.id, null);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
590
621
|
// Auto-bind: if this session is still unbound, find the workflow at or
|
|
591
622
|
// directly under its cwd and bind it — same mechanism as
|
|
592
623
|
// PATCH /api/sessions/:id/workflow (setBoundWorkflowPath +
|
|
@@ -624,6 +655,33 @@ export const startServer = async (options) => {
|
|
|
624
655
|
});
|
|
625
656
|
},
|
|
626
657
|
});
|
|
658
|
+
// Bridges the scaffold→`npm install` gap: a brand-new project renders a calm
|
|
659
|
+
// "preparing" placeholder (core/canvas-render.ts's depsMissing path) because
|
|
660
|
+
// its deps aren't installed yet, and neither watcher above re-fires when
|
|
661
|
+
// install completes (both ignore node_modules). This one notices deps landing
|
|
662
|
+
// and re-renders, so the placeholder becomes the step graph with no Retry.
|
|
663
|
+
const installWatcher = new InstallWatcherManager({
|
|
664
|
+
onInstalled: (harnessSessionId) => {
|
|
665
|
+
const session = sessionManager.get(harnessSessionId);
|
|
666
|
+
if (session && session.status !== "exited") {
|
|
667
|
+
void autoRenderCanvas(session).catch((err) => {
|
|
668
|
+
console.error("[harness] post-install canvas render failed:", err);
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
onTimeout: (harnessSessionId) => {
|
|
673
|
+
// Install never completed within the window (offline, npm missing on
|
|
674
|
+
// PATH in a stripped host). Restore the honest error panel so the user
|
|
675
|
+
// regains the Retry / Ask-coding-agent actions instead of a placeholder
|
|
676
|
+
// that would wait forever.
|
|
677
|
+
const session = sessionManager.get(harnessSessionId);
|
|
678
|
+
if (session && session.status !== "exited") {
|
|
679
|
+
void renderCanvasSurfacingDepErrors(session).catch((err) => {
|
|
680
|
+
console.error("[harness] install-timeout canvas render failed:", err);
|
|
681
|
+
});
|
|
682
|
+
}
|
|
683
|
+
},
|
|
684
|
+
});
|
|
627
685
|
// Sessions that have already had their one-time on-start workspace rescan.
|
|
628
686
|
// onStatusChange also fires on later status broadcasts (including the
|
|
629
687
|
// bind/unbind frames setBoundWorkflowPath emits), so this guard keeps the
|
|
@@ -661,6 +719,7 @@ export const startServer = async (options) => {
|
|
|
661
719
|
else if (session.status === "exited") {
|
|
662
720
|
canvasWatcher.stop(session.id);
|
|
663
721
|
workspaceWatcher.stop(session.id);
|
|
722
|
+
installWatcher.stop(session.id);
|
|
664
723
|
portDetector.reset(session.id);
|
|
665
724
|
executionDetector.reset(session.id);
|
|
666
725
|
// Let a resumed session get a fresh on-start rescan.
|
|
@@ -722,21 +781,59 @@ export const startServer = async (options) => {
|
|
|
722
781
|
bus.publish({ type: "workflows.changed" });
|
|
723
782
|
return found;
|
|
724
783
|
};
|
|
784
|
+
/** Enrich only the bound workflow before a Canvas render. Canvas extraction
|
|
785
|
+
* needs the registry snapshot to resolve the binding, but its cloud badge
|
|
786
|
+
* needs the same mutable build projection exposed by /api/state. Limiting
|
|
787
|
+
* the lookup to the bound workflow avoids one remote request per linked
|
|
788
|
+
* agent on every source-triggered auto-render. */
|
|
789
|
+
const canvasWorkflowsForSession = async (session) => {
|
|
790
|
+
if (session.boundWorkflowPath == null)
|
|
791
|
+
return workflowsCache;
|
|
792
|
+
const boundIndex = workflowsCache.findIndex((workflow) => workflow.path === session.boundWorkflowPath);
|
|
793
|
+
if (boundIndex === -1)
|
|
794
|
+
return workflowsCache;
|
|
795
|
+
const [enrichedBound] = await enrichWorkflows([workflowsCache[boundIndex]]);
|
|
796
|
+
const workflows = [...workflowsCache];
|
|
797
|
+
workflows[boundIndex] = enrichedBound;
|
|
798
|
+
return workflows;
|
|
799
|
+
};
|
|
725
800
|
// Renders a session's bound workflow via the fully deterministic pipeline —
|
|
726
|
-
//
|
|
727
|
-
// no LLM, no user token.
|
|
728
|
-
//
|
|
729
|
-
// core/canvas-render.ts); best-effort,
|
|
801
|
+
// against the live workflowsCache plus the bound definition's current cloud
|
|
802
|
+
// build projection; structure + derived annotations, no LLM, no user token.
|
|
803
|
+
// A cheap no-op for an unbound session (the canvas router serves the empty
|
|
804
|
+
// state on its own). Never throws (see core/canvas-render.ts); best-effort,
|
|
805
|
+
// like every other canvas write here.
|
|
730
806
|
// autoRenderCanvas is the UNPROMPTED variant (session-create/boot) that
|
|
731
807
|
// won't replace a workflow's existing render with an error panel when its
|
|
732
808
|
// extraction fails.
|
|
809
|
+
// A depsMissing render (fresh scaffold, pre-install) shows the "preparing"
|
|
810
|
+
// placeholder; arm the install watcher to re-render once deps land. Any other
|
|
811
|
+
// outcome means we no longer need to wait — cancel a pending watcher (no-op
|
|
812
|
+
// if none). Shared by every render trigger so the arm/disarm stays in lockstep
|
|
813
|
+
// with what the pane is actually showing.
|
|
814
|
+
const reactToRenderOutcome = (session, outcome) => {
|
|
815
|
+
if (outcome.depsMissing && outcome.workflowPath) {
|
|
816
|
+
installWatcher.start(session.id, outcome.workflowPath);
|
|
817
|
+
}
|
|
818
|
+
else {
|
|
819
|
+
installWatcher.stop(session.id);
|
|
820
|
+
}
|
|
821
|
+
};
|
|
733
822
|
const renderCanvas = async (session) => {
|
|
734
|
-
await renderCanvasForSession(session,
|
|
823
|
+
const outcome = await renderCanvasForSession(session, await canvasWorkflowsForSession(session));
|
|
824
|
+
reactToRenderOutcome(session, outcome);
|
|
735
825
|
};
|
|
736
826
|
const autoRenderCanvas = async (session) => {
|
|
737
|
-
await renderCanvasForSession(session,
|
|
738
|
-
|
|
739
|
-
|
|
827
|
+
const outcome = await renderCanvasForSession(session, await canvasWorkflowsForSession(session), { preserveExistingOnFailure: true });
|
|
828
|
+
reactToRenderOutcome(session, outcome);
|
|
829
|
+
};
|
|
830
|
+
// Used only by the install-watcher timeout: forces extraction even with deps
|
|
831
|
+
// missing so the honest esbuild error panel (and its Retry/Ask actions) is
|
|
832
|
+
// written instead of the placeholder. Does NOT re-arm the watcher — its
|
|
833
|
+
// outcome is an extraction failure, not depsMissing.
|
|
834
|
+
const renderCanvasSurfacingDepErrors = async (session) => {
|
|
835
|
+
const outcome = await renderCanvasForSession(session, await canvasWorkflowsForSession(session), { surfaceErrorOnMissingDeps: true });
|
|
836
|
+
reactToRenderOutcome(session, outcome);
|
|
740
837
|
};
|
|
741
838
|
const initialWorkflowScan = scanWorkflowsAndBroadcast(launchDir).catch((err) => {
|
|
742
839
|
console.error("[harness] initial agent scan failed:", err);
|
|
@@ -884,7 +981,7 @@ export const startServer = async (options) => {
|
|
|
884
981
|
}));
|
|
885
982
|
app.use("/api", createCanvasRenderRouter({
|
|
886
983
|
getSession: (harnessSessionId) => sessionManager.get(harnessSessionId),
|
|
887
|
-
listWorkflows:
|
|
984
|
+
listWorkflows: canvasWorkflowsForSession,
|
|
888
985
|
}));
|
|
889
986
|
// Wrap the registry so GET /api/workflows also returns enriched slugs —
|
|
890
987
|
// the same enrichWorkflows pass that /api/state uses above. Only `list()` is
|
|
@@ -1209,6 +1306,7 @@ export const startServer = async (options) => {
|
|
|
1209
1306
|
clearInterval(ndjsonRetentionTimer);
|
|
1210
1307
|
canvasWatcher.stopAll();
|
|
1211
1308
|
workspaceWatcher.stopAll();
|
|
1309
|
+
installWatcher.stopAll();
|
|
1212
1310
|
for (const tailer of codexTailers.values())
|
|
1213
1311
|
tailer.stop();
|
|
1214
1312
|
codexTailers.clear();
|