@cat-factory/server 0.35.0 → 0.36.1

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 (33) hide show
  1. package/dist/agents/CompositeAgentExecutor.d.ts.map +1 -1
  2. package/dist/agents/CompositeAgentExecutor.js +5 -3
  3. package/dist/agents/CompositeAgentExecutor.js.map +1 -1
  4. package/dist/agents/ContainerAgentExecutor.d.ts.map +1 -1
  5. package/dist/agents/ContainerAgentExecutor.js +55 -4
  6. package/dist/agents/ContainerAgentExecutor.js.map +1 -1
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +10 -0
  9. package/dist/app.js.map +1 -1
  10. package/dist/config/types.d.ts +26 -0
  11. package/dist/config/types.d.ts.map +1 -1
  12. package/dist/http/env.d.ts +9 -1
  13. package/dist/http/env.d.ts.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/modules/artifacts/ArtifactController.d.ts +11 -0
  18. package/dist/modules/artifacts/ArtifactController.d.ts.map +1 -0
  19. package/dist/modules/artifacts/ArtifactController.js +132 -0
  20. package/dist/modules/artifacts/ArtifactController.js.map +1 -0
  21. package/dist/modules/artifacts/HarnessArtifactController.d.ts +13 -0
  22. package/dist/modules/artifacts/HarnessArtifactController.d.ts.map +1 -0
  23. package/dist/modules/artifacts/HarnessArtifactController.js +138 -0
  24. package/dist/modules/artifacts/HarnessArtifactController.js.map +1 -0
  25. package/dist/modules/artifacts/imageArtifacts.d.ts +38 -0
  26. package/dist/modules/artifacts/imageArtifacts.d.ts.map +1 -0
  27. package/dist/modules/artifacts/imageArtifacts.js +73 -0
  28. package/dist/modules/artifacts/imageArtifacts.js.map +1 -0
  29. package/dist/modules/visualConfirm/VisualConfirmationController.d.ts +11 -0
  30. package/dist/modules/visualConfirm/VisualConfirmationController.d.ts.map +1 -0
  31. package/dist/modules/visualConfirm/VisualConfirmationController.js +37 -0
  32. package/dist/modules/visualConfirm/VisualConfirmationController.js.map +1 -0
  33. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeAgentExecutor.d.ts","sourceRoot":"","sources":["../../src/agents/CompositeAgentExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAA;AAkF5B,qBAAa,sBAAuB,YAAW,kBAAkB;IAE7D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,YACmB,MAAM,EAAE,aAAa,EAGrB,SAAS,EAAE,aAAa,GAAG,IAAI,EAC9C;IAEJ;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAmBZ,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAErD;IAED;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGlE;IAED;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAMvD;IAED,+EAA+E;IAC/E,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAG3C;IAED,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAM1D;IAED,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAMvD;IAED;;;;;OAKG;IACG,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAInD;CACF"}
1
+ {"version":3,"file":"CompositeAgentExecutor.d.ts","sourceRoot":"","sources":["../../src/agents/CompositeAgentExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAA;AAoF5B,qBAAa,sBAAuB,YAAW,kBAAkB;IAE7D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,YACmB,MAAM,EAAE,aAAa,EAGrB,SAAS,EAAE,aAAa,GAAG,IAAI,EAC9C;IAEJ;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAmBZ,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAErD;IAED;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGlE;IAED;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAMvD;IAED,+EAA+E;IAC/E,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAG3C;IAED,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAM1D;IAED,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAMvD;IAED;;;;;OAKG;IACG,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAInD;CACF"}
@@ -63,10 +63,12 @@ const CONTAINER_KINDS = new Set([
63
63
  'analysis',
64
64
  // The tester clones the PR branch, stands up infra (local docker-compose or an
65
65
  // ephemeral env), runs the suite and returns a structured report — a real-checkout
66
- // operation. (The `tester` step is also a special engine gate that loops a `fixer`
66
+ // operation. (The tester step is also a special engine gate that loops a `fixer`
67
67
  // on a withheld greenlight, mirroring `ci`/`ci-fixer`; the engine dispatches both
68
- // jobs, which reach this executor.)
69
- 'tester',
68
+ // jobs, which reach this executor.) `tester-api` is the general/API tester;
69
+ // `tester-ui` is its browser-driven, screenshot-capturing sibling (UI-tester image).
70
+ 'tester-api',
71
+ 'tester-ui',
70
72
  // The fixer clones the PR head branch, applies fixes from the Tester's report and
71
73
  // pushes back to the same branch — a real-checkout operation, like `ci-fixer`.
72
74
  'fixer',
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeAgentExecutor.js","sourceRoot":"","sources":["../../src/agents/CompositeAgentExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CompositeAgentExecutor.js","sourceRoot":"","sources":["../../src/agents/CompositeAgentExecutor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerAgentExecutor.d.ts","sourceRoot":"","sources":["../../src/agents/ContainerAgentExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContainerAgentExecutor.d.ts","sourceRoot":"","sources":["../../src/agents/ContainerAgentExecutor.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { CONTEXT_BUDGET, CredentialRequiredError, renderTaskContext, SUBSCRIPTIO
3
3
  import { resolveInstanceTypeId } from '@cat-factory/contracts';
4
4
  import { agentTuningFor, coerceBlueprintService, coerceSpecDoc, composeBlockSystemPrompt, FINAL_ANSWER_IN_REPLY, FOLLOW_UP_GUIDANCE, isProxyableProvider, isReadOnlyAgentKind, registeredAgentStep, systemPromptFor, userPromptFor, webResearchGuidanceFor, } from '@cat-factory/agents';
5
5
  import { ModelRouter } from './ModelRouter.js';
6
- import { BLUEPRINTS_AGENT_KIND, CI_FIXER_AGENT_KIND, CONFLICT_RESOLVER_AGENT_KIND, FIXER_AGENT_KIND, MERGER_AGENT_KIND, ON_CALL_AGENT_KIND, SPEC_WRITER_AGENT_KIND, TESTER_AGENT_KIND, } from '@cat-factory/orchestration';
6
+ import { BLUEPRINTS_AGENT_KIND, CI_FIXER_AGENT_KIND, CONFLICT_RESOLVER_AGENT_KIND, FIXER_AGENT_KIND, MERGER_AGENT_KIND, ON_CALL_AGENT_KIND, SPEC_WRITER_AGENT_KIND, TESTER_AGENT_KIND, UI_TESTER_AGENT_KIND, } from '@cat-factory/orchestration';
7
7
  import { RunnerJobClient } from './RunnerJobClient.js';
8
8
  /**
9
9
  * The repo spec every container job body carries: clone coordinates plus, for a
@@ -287,6 +287,10 @@ const ON_CALL_ASSESSMENT_SHAPE_HINT = 'Expected an on-call assessment: {"culprit
287
287
  const TEST_REPORT_SHAPE_HINT = 'Expected a test report: {"greenlight": boolean, "summary": string, "tested": string[], ' +
288
288
  '"outcomes": [{"name": string, "status": "passed"|"failed"|"skipped", "detail"?: string}], ' +
289
289
  '"concerns": [{"title": string, "detail": string, "severity": "low"|"medium"|"high"|"critical"}]}.';
290
+ /** Shape hint for the UI tester: a test report that also lists captured screenshots. */
291
+ const UI_TEST_REPORT_SHAPE_HINT = TEST_REPORT_SHAPE_HINT.replace(/\}\.$/, '') +
292
+ ', "screenshots": [{"view": string, "artifactId": string, "hash"?: string}]}. Each ' +
293
+ 'screenshot must be a distinct view you captured and uploaded to the artifact store.';
290
294
  const ON_CALL_SYSTEM_PROMPT = 'You are an on-call engineer investigating a possible post-release regression. A ' +
291
295
  'recently merged pull request shipped, and the evidence below (alerting Datadog ' +
292
296
  'monitors/SLOs and recent error logs) suggests the service regressed afterward. Read ' +
@@ -506,14 +510,18 @@ export class ContainerAgentExecutor {
506
510
  dispatchOptions(context) {
507
511
  const provider = context.service?.cloudProvider;
508
512
  const size = context.service?.instanceSize;
509
- if (!provider && !size)
513
+ // The UI tester needs the heavier Playwright+browser image; every other kind uses
514
+ // the default harness image (so the browser never bloats their cold-start).
515
+ const image = context.agentKind === UI_TESTER_AGENT_KIND ? 'ui' : undefined;
516
+ if (!provider && !size && !image)
510
517
  return undefined;
511
518
  return {
512
- instanceTypeId: resolveInstanceTypeId(provider, size),
519
+ ...(provider || size ? { instanceTypeId: resolveInstanceTypeId(provider, size) } : {}),
513
520
  ...(provider ? { provider } : {}),
514
521
  // Forward the abstract size too, so the local Docker/Podman backend can size
515
522
  // the per-job container (`--memory`/`--cpus`) without decoding the cloud id.
516
523
  ...(size ? { instanceSize: size } : {}),
524
+ ...(image ? { image } : {}),
517
525
  };
518
526
  }
519
527
  /** Validate the ids every container job needs, narrowing them to non-empty strings. */
@@ -589,6 +597,16 @@ export class ContainerAgentExecutor {
589
597
  // container agent can read what it needs on demand; the prompt only lists them. The
590
598
  // harness can't reach Jira/GitHub itself, so everything is prepared here, up front.
591
599
  const { files: contextFiles, contextDocs: keptDocs, contextTasks: keptTasks, } = buildContextFiles(context);
600
+ // The UI tester uploads its captured screenshots back to the backend from inside the
601
+ // container. It reuses the SAME container session token it already carries for the LLM
602
+ // proxy (auth.sessionToken), POSTing to the harness ingest route that shares the proxy
603
+ // base URL — so no extra credential and no extra public-URL dependency. Only the
604
+ // `tester-ui` kind gets it; every other kind never sees an upload seam.
605
+ const artifactUpload = context.agentKind === UI_TESTER_AGENT_KIND &&
606
+ typeof auth.proxyBaseUrl === 'string' &&
607
+ typeof auth.sessionToken === 'string'
608
+ ? { url: `${auth.proxyBaseUrl}/artifacts/ingest`, token: auth.sessionToken }
609
+ : undefined;
592
610
  // Per-kind execution tuning (loosen-only progress-guard knobs) the harness applies
593
611
  // over its env/built-in defaults, so a kind whose normal pattern differs (e.g. a
594
612
  // research-heavy or retry-heavy kind) isn't killed mid-progress. Absent ⇒ defaults.
@@ -601,6 +619,7 @@ export class ContainerAgentExecutor {
601
619
  repo: buildRepoSpec(repo),
602
620
  ...(this.deps.githubApiBase ? { githubApiBase: this.deps.githubApiBase } : {}),
603
621
  ...(contextFiles.length ? { contextFiles } : {}),
622
+ ...(artifactUpload ? { artifactUpload } : {}),
604
623
  ...(tuning?.guardLimits ? { guardLimits: tuning.guardLimits } : {}),
605
624
  };
606
625
  // Render the prompt's linked-context summary index from exactly the items that were
@@ -976,6 +995,19 @@ export class ContainerAgentExecutor {
976
995
  }, roleSystemPrompt);
977
996
  return { kind: built.kind, body: { ...built.body, infra: testerInfraSpec(context) } };
978
997
  }
998
+ // The UI tester is the Tester's browser-driven sibling: same read-only structured
999
+ // explore + infra stand-up, but it drives Playwright (supplied by the UI-tester
1000
+ // image, routed via the `image:'ui'` dispatch option) to capture a non-redundant
1001
+ // screenshot of each distinct view, uploads them to the artifact store, and reports
1002
+ // them under `screenshots[]`. The role prompt carries the capture guidance.
1003
+ case UI_TESTER_AGENT_KIND: {
1004
+ const built = this.buildRegisteredAgentBody(context, parts, {
1005
+ surface: 'container-explore',
1006
+ clone: { branch: 'pr' },
1007
+ output: { kind: 'structured', shapeHint: UI_TEST_REPORT_SHAPE_HINT },
1008
+ }, roleSystemPrompt);
1009
+ return { kind: built.kind, body: { ...built.body, infra: testerInfraSpec(context) } };
1010
+ }
979
1011
  }
980
1012
  return undefined;
981
1013
  }
@@ -1044,7 +1076,7 @@ function toRunResult(result, agentKind) {
1044
1076
  // Tester: coerce into `testReport` (greenlight-or-loop the fixer; the conservative
1045
1077
  // greenlight/blocking rule the harness `/test` handler applied now runs in
1046
1078
  // `coerceTestReport`, re-applied defensively by the TesterController).
1047
- if (agentKind === TESTER_AGENT_KIND) {
1079
+ if (agentKind === TESTER_AGENT_KIND || agentKind === UI_TESTER_AGENT_KIND) {
1048
1080
  return {
1049
1081
  output: result.summary?.trim() || 'Testing complete.',
1050
1082
  testReport: coerceTestReport(result.custom, result.summary),
@@ -1184,6 +1216,24 @@ function coerceTestReport(raw, summary) {
1184
1216
  : [];
1185
1217
  const blocking = concerns.some((c) => c.severity === 'high' || c.severity === 'critical');
1186
1218
  const environment = o.environment === 'local' || o.environment === 'ephemeral' ? o.environment : undefined;
1219
+ // The UI tester reports the screenshots it captured + uploaded (artifact ids); keep
1220
+ // only the well-formed entries (a view name + an artifact id), passing the optionals
1221
+ // through. Absent/empty for the API tester.
1222
+ const screenshots = Array.isArray(o.screenshots)
1223
+ ? o.screenshots
1224
+ .filter((x) => typeof x === 'object' && x !== null)
1225
+ .filter((x) => typeof x.view === 'string' && typeof x.artifactId === 'string')
1226
+ .map((x) => ({
1227
+ view: x.view,
1228
+ artifactId: x.artifactId,
1229
+ ...(typeof x.hash === 'string' && x.hash ? { hash: x.hash } : {}),
1230
+ ...(typeof x.width === 'number' ? { width: x.width } : {}),
1231
+ ...(typeof x.height === 'number' ? { height: x.height } : {}),
1232
+ ...(typeof x.referenceArtifactId === 'string' && x.referenceArtifactId
1233
+ ? { referenceArtifactId: x.referenceArtifactId }
1234
+ : {}),
1235
+ }))
1236
+ : [];
1187
1237
  return {
1188
1238
  greenlight: o.greenlight === true && !blocking,
1189
1239
  summary: typeof o.summary === 'string' && o.summary ? o.summary : (summary?.slice(0, 2000) ?? ''),
@@ -1193,6 +1243,7 @@ function coerceTestReport(raw, summary) {
1193
1243
  outcomes,
1194
1244
  concerns,
1195
1245
  ...(environment ? { environment } : {}),
1246
+ ...(screenshots.length ? { screenshots } : {}),
1196
1247
  };
1197
1248
  }
1198
1249
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerAgentExecutor.js","sourceRoot":"","sources":["../../src/agents/ContainerAgentExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContainerAgentExecutor.js","sourceRoot":"","sources":["../../src/agents/ContainerAgentExecutor.ts"],"names":[],"mappings":"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"}
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAsD3C;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAoE5E"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAyD3C;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CA2E5E"}
package/dist/app.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { accountController } from './modules/accounts/AccountController.js';
2
2
  import { agentRunController } from './modules/agentRuns/AgentRunController.js';
3
+ import { artifactController } from './modules/artifacts/ArtifactController.js';
4
+ import { harnessArtifactController } from './modules/artifacts/HarnessArtifactController.js';
3
5
  import { authController } from './modules/auth/AuthController.js';
4
6
  import { boardController } from './modules/board/BoardController.js';
5
7
  import { bootstrapController } from './modules/bootstrap/BootstrapController.js';
@@ -29,6 +31,7 @@ import { requirementReviewController } from './modules/requirements/RequirementR
29
31
  import { followUpController } from './modules/followUp/FollowUpController.js';
30
32
  import { kaizenController } from './modules/kaizen/KaizenController.js';
31
33
  import { humanTestController } from './modules/humanTest/HumanTestController.js';
34
+ import { visualConfirmationController } from './modules/visualConfirm/VisualConfirmationController.js';
32
35
  import { humanReviewController } from './modules/humanReview/HumanReviewController.js';
33
36
  import { consensusController } from './modules/consensus/ConsensusController.js';
34
37
  import { clarityReviewController } from './modules/clarity/ClarityReviewController.js';
@@ -59,6 +62,9 @@ export function registerCoreControllers(app) {
59
62
  // OpenAI-compatible LLM proxy for implementation containers (authenticated by a
60
63
  // signed, model-locked container token; upstream/in-process via the llmUpstream gateway).
61
64
  app.route('/', llmProxyController());
65
+ // In-container screenshot ingest for the UI tester (same container session token as the
66
+ // LLM proxy; reachable at `${proxyBaseUrl}/artifacts/ingest`). 503 when no blob storage.
67
+ app.route('/', harnessArtifactController());
62
68
  // SearXNG-compatible web-search proxy for implementation containers (same
63
69
  // model-locked container token; the search runs server-side under the deployment's
64
70
  // own key via the `webSearch` gateway, so no provider key reaches the sandbox). A
@@ -96,10 +102,14 @@ export function registerCoreControllers(app) {
96
102
  app.route('/workspaces/:workspaceId', workspaceApiKeyController());
97
103
  app.route('/workspaces/:workspaceId', bootstrapController());
98
104
  app.route('/workspaces/:workspaceId', agentRunController());
105
+ // Binary-artifact API (screenshots + reference uploads) for the visual-confirmation
106
+ // gate; 503 when no blob storage is configured.
107
+ app.route('/workspaces/:workspaceId', artifactController());
99
108
  app.route('/workspaces/:workspaceId', requirementReviewController());
100
109
  app.route('/workspaces/:workspaceId', followUpController());
101
110
  app.route('/workspaces/:workspaceId', kaizenController());
102
111
  app.route('/workspaces/:workspaceId', humanTestController());
112
+ app.route('/workspaces/:workspaceId', visualConfirmationController());
103
113
  app.route('/workspaces/:workspaceId', humanReviewController());
104
114
  app.route('/workspaces/:workspaceId', consensusController());
105
115
  app.route('/workspaces/:workspaceId', clarityReviewController());
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -228,6 +228,30 @@ export interface LangfuseConfig {
228
228
  /** Host of the Langfuse instance; defaults to Langfuse Cloud when omitted. */
229
229
  baseUrl?: string;
230
230
  }
231
+ export interface BinaryStorageConfig {
232
+ /**
233
+ * Whether a binary-artifact store is assembled. When false (the default) the
234
+ * visual-confirmation gate has nowhere to put screenshots and is a pass-through.
235
+ * The Worker enables it whenever the `ARTIFACT_BUCKET` R2 binding is present; a Node
236
+ * service enables it via `BINARY_STORAGE_BACKEND`.
237
+ */
238
+ enabled: boolean;
239
+ /**
240
+ * Where the blob BYTES live (the metadata always lives in the runtime DB):
241
+ * - `r2` — Cloudflare R2 (the Worker's only blob store; the default there).
242
+ * - `s3` — AWS S3 / S3-compatible, via @cat-factory/provider-s3.
243
+ * - `db` — Postgres `bytea` (Node/local only; not valid on Cloudflare).
244
+ */
245
+ backend: 'db' | 'r2' | 's3';
246
+ /** S3 settings, required when `backend === 's3'`. */
247
+ s3?: {
248
+ region: string;
249
+ bucket: string;
250
+ prefix?: string;
251
+ endpoint?: string;
252
+ forcePathStyle?: boolean;
253
+ };
254
+ }
231
255
  export interface AppConfig {
232
256
  agents: AgentsConfig;
233
257
  /** The effective model picker catalog (each model's active flavour). */
@@ -251,6 +275,8 @@ export interface AppConfig {
251
275
  slack: SlackConfig;
252
276
  /** Observability post-release-health config; `enabled` is false unless opted in. */
253
277
  releaseHealth: ReleaseHealthConfig;
278
+ /** Binary-artifact storage (screenshots) config; `enabled` is false unless configured. */
279
+ binaryStorage: BinaryStorageConfig;
254
280
  /** Transactional email config (invitations); `enabled` is false unless opted in. */
255
281
  email: EmailConfig;
256
282
  /** Retention windows for the unbounded ledgers/projections (epoch-ms ages). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentRunRepository, ConsensusSessionRepository, ResolveRunRepoContext } from '@cat-factory/kernel';
1
+ import type { AgentRunRepository, BinaryArtifactStore, ConsensusSessionRepository, ResolveRunRepoContext } from '@cat-factory/kernel';
2
2
  import type { ApiKeyService, LocalModelEndpointService, LocalSettingsService, OpenRouterCatalogService, PersonalSubscriptionService, ProviderSubscriptionService, UserSecretService } from '@cat-factory/integrations';
3
3
  import type { Core } from '@cat-factory/orchestration';
4
4
  import type { ResolveRepoTarget } from '../agents/ContainerAgentExecutor.js';
@@ -98,6 +98,14 @@ export interface ServerContainer extends Core {
98
98
  localSettings?: {
99
99
  service: LocalSettingsService;
100
100
  };
101
+ /**
102
+ * The binary-artifact store (UI screenshots + reference design images) backing the
103
+ * visual-confirmation gate. Present only when the facade configured blob storage
104
+ * (R2 on the Worker; a Postgres-`bytea`/S3 backend on Node/local). Drives the
105
+ * artifact ingest/blob/list controller, the UI-tester pre/post-ops, and the gate.
106
+ * Absent ⇒ the controller 503s and the gate is a pass-through.
107
+ */
108
+ binaryArtifactStore?: BinaryArtifactStore;
101
109
  }
102
110
  /** Hono generics shared by the cross-runtime controllers (Variables only — no Bindings). */
103
111
  export type AppEnv = {
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/http/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAQ7D,MAAM,WAAW,eAAgB,SAAQ,IAAI;IAC3C,MAAM,EAAE,SAAS,CAAA;IACjB,8EAA8E;IAC9E,kBAAkB,EAAE,kBAAkB,CAAA;IACtC;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAA;IACvD,mFAAmF;IACnF,QAAQ,EAAE,eAAe,CAAA;IACzB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;OAGG;IACH,aAAa,CAAC,EAAE,2BAA2B,CAAA;IAC3C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,2BAA2B,CAAA;IACnD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAC5D;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAA;IAC5C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,oBAAoB,CAAA;KAAE,CAAA;CAClD;AAED,4FAA4F;AAC5F,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE;QACT,SAAS,EAAE,eAAe,CAAA;QAC1B,yEAAyE;QACzE,IAAI,CAAC,EAAE,cAAc,CAAA;KACtB,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/http/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAQ7D,MAAM,WAAW,eAAgB,SAAQ,IAAI;IAC3C,MAAM,EAAE,SAAS,CAAA;IACjB,8EAA8E;IAC9E,kBAAkB,EAAE,kBAAkB,CAAA;IACtC;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAA;IACvD,mFAAmF;IACnF,QAAQ,EAAE,eAAe,CAAA;IACzB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;OAGG;IACH,aAAa,CAAC,EAAE,2BAA2B,CAAA;IAC3C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,2BAA2B,CAAA;IACnD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAC5D;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAA;IAC5C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,oBAAoB,CAAA;KAAE,CAAA;IACjD;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAED,4FAA4F;AAC5F,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE;QACT,SAAS,EAAE,eAAe,CAAA;QAC1B,yEAAyE;QACzE,IAAI,CAAC,EAAE,cAAc,CAAA;KACtB,CAAA;CACF,CAAA"}
package/dist/index.d.ts CHANGED
@@ -44,7 +44,7 @@ export { GitHubBranchUpdater, type GitHubBranchUpdaterDependencies, } from './gi
44
44
  export { GitHubPullRequestMerger, type GitHubPullRequestMergerDependencies, } from './github/GitHubPullRequestMerger.js';
45
45
  export { HmacSigner, TOKEN_AUDIENCE, type SessionPayload, type SessionUser, type TokenAudience, } from './auth/signing.js';
46
46
  export { WS_TICKET_TTL_MS, authorizeWsUpgrade, mintWsTicket, type WsTicket, type WsUpgradeAuth, } from './auth/wsTicket.js';
47
- export type { AgentsConfig, AppConfig, AuthConfig, ReleaseHealthConfig, DocumentsConfig, EmailConfig, EnvironmentsConfig, ExecutionConfig, FragmentLibraryConfig, GitHubConfig, GoogleOAuthConfig, LangfuseConfig, ObservabilityConfig, PrivilegedAppConfig, RetentionConfig, RunnerPoolConfig, SlackConfig, TasksConfig, } from './config/types.js';
47
+ export type { AgentsConfig, AppConfig, AuthConfig, BinaryStorageConfig, ReleaseHealthConfig, DocumentsConfig, EmailConfig, EnvironmentsConfig, ExecutionConfig, FragmentLibraryConfig, GitHubConfig, GoogleOAuthConfig, LangfuseConfig, ObservabilityConfig, PrivilegedAppConfig, RetentionConfig, RunnerPoolConfig, SlackConfig, TasksConfig, } from './config/types.js';
48
48
  export { resolveUrlSafetyPolicy } from './config/url-safety.js';
49
49
  export * from './persistence/mappers.js';
50
50
  export * from './persistence/sandbox-mappers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EACL,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAC7E,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,yCAAyC,CAAA;AAIhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,EACL,sBAAsB,EACtB,KAAK,kCAAkC,EACvC,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAClG,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,EACL,iCAAiC,EACjC,KAAK,0BAA0B,GAChC,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,4BAA4B,EAC5B,KAAK,kBAAkB,GACxB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,yBAAyB,EACzB,KAAK,qCAAqC,GAC3C,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EACL,oBAAoB,EACpB,KAAK,gCAAgC,GACtC,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAIlG,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,GAClC,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,aAAa,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACzF,OAAO,EACL,iBAAiB,EACjB,KAAK,6BAA6B,EAClC,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAKpF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,KAAK,6BAA6B,GACnC,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EACL,6BAA6B,EAC7B,KAAK,yCAAyC,GAC/C,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EACL,sBAAsB,EACtB,KAAK,kCAAkC,GACxC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,+BAA+B,EAC/B,KAAK,2CAA2C,GACjD,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,sCAAsC,GAC5C,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,mBAAmB,EACnB,KAAK,+BAA+B,GACrC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,uBAAuB,EACvB,KAAK,mCAAmC,GACzC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,UAAU,EACV,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAI/D,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Hono } from 'hono';
2
+ import type { AppEnv } from '../../http/env.js';
3
+ /**
4
+ * Workspace-scoped binary-artifact API backing the visual-confirmation gate: upload a
5
+ * reference design image, stream a stored blob, and list a run's artifacts (metadata).
6
+ * Mounted under `/workspaces/:workspaceId`. The blob bytes never expose the storage
7
+ * backend — they're streamed through this authenticated endpoint. The in-container
8
+ * screenshot ingest (container-token authed) is a separate route on the harness path.
9
+ */
10
+ export declare function artifactController(): Hono<AppEnv>;
11
+ //# sourceMappingURL=ArtifactController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArtifactController.d.ts","sourceRoot":"","sources":["../../../src/modules/artifacts/ArtifactController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAuB/C;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,CAuHjD"}
@@ -0,0 +1,132 @@
1
+ import { Hono } from 'hono';
2
+ import { bodyLimit } from 'hono/body-limit';
3
+ import { param } from '../../http/params.js';
4
+ import { MAX_REQUEST_BYTES, MAX_UPLOAD_BYTES, blobResponseHeaders, exceedsRequestSizeLimit, normalizeImageContentType, } from './imageArtifacts.js';
5
+ /** Resolve the binary-artifact store or send a 503, returning null when unconfigured. */
6
+ function requireStore(c) {
7
+ return c.get('container').binaryArtifactStore ?? null;
8
+ }
9
+ const unavailable = (c) => c.json({ error: { code: 'unavailable', message: 'Binary-artifact storage is not configured' } }, 503);
10
+ const ALLOWED_KINDS = ['screenshot', 'reference'];
11
+ /**
12
+ * Workspace-scoped binary-artifact API backing the visual-confirmation gate: upload a
13
+ * reference design image, stream a stored blob, and list a run's artifacts (metadata).
14
+ * Mounted under `/workspaces/:workspaceId`. The blob bytes never expose the storage
15
+ * backend — they're streamed through this authenticated endpoint. The in-container
16
+ * screenshot ingest (container-token authed) is a separate route on the harness path.
17
+ */
18
+ export function artifactController() {
19
+ const app = new Hono();
20
+ // Upload a reference design image (multipart: `file` + `kind`/`view`/`blockId`/`executionId`).
21
+ app.post('/artifacts',
22
+ // Hard backstop on the buffered body: `bodyLimit` counts bytes as the stream is read, so a
23
+ // chunked body with NO Content-Length (or a spoofed header) can't buffer past the ceiling.
24
+ // The `exceedsRequestSizeLimit` precheck below is just the cheap early-out for honest clients.
25
+ bodyLimit({
26
+ maxSize: MAX_REQUEST_BYTES,
27
+ onError: (c) => c.json({ error: { code: 'too_large', message: 'Artifact exceeds size limit' } }, 413),
28
+ }), async (c) => {
29
+ const store = requireStore(c);
30
+ if (!store)
31
+ return unavailable(c);
32
+ // Refuse a grossly oversized body up-front (from Content-Length) so it is never buffered
33
+ // into memory; the exact per-file ceiling is still enforced after parsing below.
34
+ if (exceedsRequestSizeLimit(c.req.header('content-length'))) {
35
+ return c.json({ error: { code: 'too_large', message: 'Artifact exceeds size limit' } }, 413);
36
+ }
37
+ let form;
38
+ try {
39
+ form = await c.req.formData();
40
+ }
41
+ catch {
42
+ return c.json({ error: { code: 'invalid_body', message: 'Expected multipart form' } }, 400);
43
+ }
44
+ const file = form.get('file');
45
+ if (!(file instanceof File)) {
46
+ return c.json({ error: { code: 'invalid_body', message: 'Missing `file`' } }, 400);
47
+ }
48
+ const kind = String(form.get('kind') ?? 'reference');
49
+ if (!ALLOWED_KINDS.includes(kind)) {
50
+ return c.json({ error: { code: 'invalid_kind', message: 'Unknown artifact kind' } }, 400);
51
+ }
52
+ // Reject anything that isn't an allowed raster image. An attacker-controlled content
53
+ // type (HTML, SVG) served back inline same-origin from the blob endpoint would be a
54
+ // stored-XSS vector, so the type is pinned to the allow-list at the write boundary.
55
+ const contentType = normalizeImageContentType(file.type);
56
+ if (!contentType) {
57
+ return c.json({
58
+ error: {
59
+ code: 'unsupported_media',
60
+ message: 'Only PNG/JPEG/WebP/GIF images are accepted',
61
+ },
62
+ }, 415);
63
+ }
64
+ const bytes = new Uint8Array(await file.arrayBuffer());
65
+ if (bytes.byteLength > MAX_UPLOAD_BYTES) {
66
+ return c.json({ error: { code: 'too_large', message: 'Artifact exceeds size limit' } }, 413);
67
+ }
68
+ const view = form.get('view');
69
+ const blockId = form.get('blockId');
70
+ // This human-facing endpoint uploads BLOCK-scoped reference design images, which precede any
71
+ // run, so `executionId` is always null here — a run-scoped capture goes through the
72
+ // token-authed harness ingest route instead, where the execution is derived from the verified
73
+ // session token (never the request body). We deliberately ignore any client-supplied
74
+ // `executionId` rather than trust it. `blockId` is non-authoritative but harmless: every read
75
+ // filters by the path's (authenticated) `workspaceId`, so a row tagged with a foreign/bogus
76
+ // block is simply never surfaced by the gate.
77
+ const record = await store.store({
78
+ meta: {
79
+ workspaceId: param(c, 'workspaceId'),
80
+ executionId: null,
81
+ blockId: typeof blockId === 'string' && blockId ? blockId : null,
82
+ kind,
83
+ view: typeof view === 'string' && view ? view : null,
84
+ contentType,
85
+ },
86
+ blob: bytes,
87
+ });
88
+ return c.json({ artifact: record }, 201);
89
+ });
90
+ // Stream a stored blob's bytes (the metadata names its content type).
91
+ app.get('/artifacts/:id/blob', async (c) => {
92
+ const store = requireStore(c);
93
+ if (!store)
94
+ return unavailable(c);
95
+ const workspaceId = param(c, 'workspaceId');
96
+ const id = param(c, 'id');
97
+ // Read metadata + bytes in a SINGLE metadata lookup (the serve path needs both the
98
+ // content type and the bytes).
99
+ const got = await store.getBlobWithMetadata(workspaceId, id);
100
+ if (!got)
101
+ return c.json({ error: { code: 'not_found', message: 'Artifact not found' } }, 404);
102
+ if (!got.bytes)
103
+ return c.json({ error: { code: 'not_found', message: 'Artifact bytes gone' } }, 404);
104
+ // Uint8Array is a valid BodyInit on both runtimes (workerd + Node/undici); the cast
105
+ // satisfies the narrower ambient BodyInit type this package compiles against. Headers
106
+ // clamp the type to the image allow-list + send `nosniff` so the bytes can never be
107
+ // sniffed/served as active content (defence-in-depth with the upload-time allow-list).
108
+ return new Response(got.bytes, {
109
+ status: 200,
110
+ headers: blobResponseHeaders(got.record.contentType),
111
+ });
112
+ });
113
+ // List a run's artifacts (metadata only; the gate pairs screenshots vs references by view).
114
+ app.get('/executions/:executionId/artifacts', async (c) => {
115
+ const store = requireStore(c);
116
+ if (!store)
117
+ return unavailable(c);
118
+ const artifacts = await store.listByExecution(param(c, 'workspaceId'), param(c, 'executionId'));
119
+ return c.json({ artifacts }, 200);
120
+ });
121
+ // List a block's artifacts (e.g. its uploaded reference design images, which carry no
122
+ // executionId because they're attached before any run).
123
+ app.get('/blocks/:blockId/artifacts', async (c) => {
124
+ const store = requireStore(c);
125
+ if (!store)
126
+ return unavailable(c);
127
+ const artifacts = await store.listByBlock(param(c, 'workspaceId'), param(c, 'blockId'));
128
+ return c.json({ artifacts }, 200);
129
+ });
130
+ return app;
131
+ }
132
+ //# sourceMappingURL=ArtifactController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArtifactController.js","sourceRoot":"","sources":["../../../src/modules/artifacts/ArtifactController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Hono } from 'hono';
2
+ import type { AppEnv } from '../../http/env.js';
3
+ /**
4
+ * The in-container screenshot ingest endpoint for the UI tester (`tester-ui`). It lives on
5
+ * the harness path (mounted at `/`, reachable at `${proxyBaseUrl}/artifacts/ingest`) and is
6
+ * authed by the SAME short-lived container session token the agent already carries for the
7
+ * LLM proxy — NOT a workspace session — so a container can upload its captured screenshots
8
+ * without holding any user credential. The token pins the workspace + execution, so a
9
+ * container can only write artifacts scoped to its own run. Screenshots are stored with
10
+ * `kind:'screenshot'`; the gate reads them back by the artifact ids the agent reports.
11
+ */
12
+ export declare function harnessArtifactController(): Hono<AppEnv>;
13
+ //# sourceMappingURL=HarnessArtifactController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HarnessArtifactController.d.ts","sourceRoot":"","sources":["../../../src/modules/artifacts/HarnessArtifactController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAiB/C;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAAC,MAAM,CAAC,CAiJxD"}
@@ -0,0 +1,138 @@
1
+ import { Hono } from 'hono';
2
+ import { bodyLimit } from 'hono/body-limit';
3
+ import { bearerToken } from '../../auth/middleware.js';
4
+ import { ContainerSessionService } from '../../containers/ContainerSessionService.js';
5
+ import { logger } from '../../observability/logger.js';
6
+ import { MAX_REQUEST_BYTES, MAX_UPLOAD_BYTES, exceedsRequestSizeLimit, normalizeImageContentType, } from './imageArtifacts.js';
7
+ /**
8
+ * Cap on how many screenshots a single run may upload. A `tester-ui` run captures one shot per
9
+ * distinct view, so a couple of dozen is generous; the ceiling stops a buggy or compromised
10
+ * container from filling the blob store with unbounded uploads before retention sweeps it. The
11
+ * count is read back from the store per ingest (cheap, indexed by execution).
12
+ */
13
+ const MAX_SCREENSHOTS_PER_RUN = 100;
14
+ /**
15
+ * The in-container screenshot ingest endpoint for the UI tester (`tester-ui`). It lives on
16
+ * the harness path (mounted at `/`, reachable at `${proxyBaseUrl}/artifacts/ingest`) and is
17
+ * authed by the SAME short-lived container session token the agent already carries for the
18
+ * LLM proxy — NOT a workspace session — so a container can upload its captured screenshots
19
+ * without holding any user credential. The token pins the workspace + execution, so a
20
+ * container can only write artifacts scoped to its own run. Screenshots are stored with
21
+ * `kind:'screenshot'`; the gate reads them back by the artifact ids the agent reports.
22
+ */
23
+ export function harnessArtifactController() {
24
+ const app = new Hono();
25
+ app.post('/v1/artifacts/ingest',
26
+ // Hard backstop on the buffered body: `bodyLimit` counts bytes as the stream is read, so a
27
+ // body with NO Content-Length (chunked) or a spoofed header can't buffer past the ceiling
28
+ // (the `exceedsRequestSizeLimit` precheck below is just the cheap early-out for honest clients).
29
+ bodyLimit({
30
+ maxSize: MAX_REQUEST_BYTES,
31
+ onError: (c) => c.json({ error: { code: 'too_large', message: 'Artifact exceeds size limit' } }, 413),
32
+ }), async (c) => {
33
+ const container = c.get('container');
34
+ const store = container.binaryArtifactStore;
35
+ if (!store) {
36
+ return c.json({ error: { code: 'unavailable', message: 'Artifact storage not configured' } }, 503);
37
+ }
38
+ const secret = container.config.auth.sessionSecret;
39
+ if (!secret) {
40
+ logger.error({ scope: 'artifactIngest' }, 'artifact ingest: session secret not configured');
41
+ return c.json({ error: { code: 'unavailable', message: 'Artifact ingest not configured' } }, 503);
42
+ }
43
+ const sessions = new ContainerSessionService({ secret });
44
+ const session = await sessions.verify(bearerToken(c));
45
+ if (!session) {
46
+ logger.warn({ scope: 'artifactIngest' }, 'artifact ingest: invalid or expired session token');
47
+ return c.json({ error: { code: 'unauthorized', message: 'Invalid or expired token' } }, 401);
48
+ }
49
+ // Refuse a grossly oversized body from Content-Length before it is buffered into memory; the
50
+ // exact per-file ceiling is still enforced after parsing below.
51
+ if (exceedsRequestSizeLimit(c.req.header('content-length'))) {
52
+ return c.json({ error: { code: 'too_large', message: 'Artifact exceeds size limit' } }, 413);
53
+ }
54
+ // Per-run upload ceiling (fast-path): a runaway/compromised container can't fill the store
55
+ // with unbounded screenshots scoped to its run. This pre-check rejects the steady-state case
56
+ // cheaply via an indexed COUNT (no row materialise); concurrent ingests that race past it are
57
+ // caught by the post-insert reconcile below, so the effective ceiling holds even without a
58
+ // DB-level atomic counter.
59
+ const existingCount = await store.countByExecution(session.workspaceId, session.executionId);
60
+ if (existingCount >= MAX_SCREENSHOTS_PER_RUN) {
61
+ logger.warn({ scope: 'artifactIngest', executionId: session.executionId, count: existingCount }, 'artifact ingest: per-run screenshot limit reached');
62
+ return c.json({ error: { code: 'too_many', message: 'Per-run screenshot limit reached' } }, 429);
63
+ }
64
+ let form;
65
+ try {
66
+ form = await c.req.formData();
67
+ }
68
+ catch {
69
+ return c.json({ error: { code: 'invalid_body', message: 'Expected multipart form' } }, 400);
70
+ }
71
+ const file = form.get('file');
72
+ if (!(file instanceof File)) {
73
+ return c.json({ error: { code: 'invalid_body', message: 'Missing `file`' } }, 400);
74
+ }
75
+ // Screenshots are always PNGs. Tolerate a typeless upload (default to PNG), but REJECT a
76
+ // recognised non-image type rather than silently storing it mislabelled — keeping this path's
77
+ // content-type posture aligned with the workspace upload endpoint (both gate on the shared
78
+ // image allow-list in imageArtifacts.ts).
79
+ const declaredType = file.type?.trim();
80
+ let contentType;
81
+ if (!declaredType) {
82
+ contentType = 'image/png';
83
+ }
84
+ else {
85
+ const normalized = normalizeImageContentType(declaredType);
86
+ if (!normalized) {
87
+ return c.json({
88
+ error: {
89
+ code: 'unsupported_media',
90
+ message: 'Only raster image screenshots are accepted',
91
+ },
92
+ }, 415);
93
+ }
94
+ contentType = normalized;
95
+ }
96
+ const bytes = new Uint8Array(await file.arrayBuffer());
97
+ if (bytes.byteLength > MAX_UPLOAD_BYTES) {
98
+ return c.json({ error: { code: 'too_large', message: 'Artifact exceeds size limit' } }, 413);
99
+ }
100
+ const view = form.get('view');
101
+ // Workspace + execution come from the verified token (never the request body), so a
102
+ // container can only attach to its own run. Screenshots are run-scoped (no blockId).
103
+ const record = await store.store({
104
+ meta: {
105
+ workspaceId: session.workspaceId,
106
+ executionId: session.executionId,
107
+ blockId: null,
108
+ kind: 'screenshot',
109
+ view: typeof view === 'string' && view ? view : null,
110
+ contentType,
111
+ },
112
+ blob: bytes,
113
+ });
114
+ // Reconcile the cap against concurrent inserts: the pre-check is check-then-act, so a burst
115
+ // of parallel ingests can each pass it before any row lands. We only need to run this
116
+ // (which materialises the run's rows to find the overflow tail) when the insert COULD have
117
+ // crossed the cap — i.e. the pre-check count was already at the edge. Steady-state uploads
118
+ // far below the cap skip it entirely, so the common path is one COUNT + one insert.
119
+ if (existingCount + 1 >= MAX_SCREENSHOTS_PER_RUN) {
120
+ // listByExecution is oldest-first, so anything at index >= the cap is overflow; if THIS
121
+ // record is in that tail, roll it back (delete its row + bytes) and reject. The oldest
122
+ // `MAX_SCREENSHOTS_PER_RUN` always survive, so the store is bounded to exactly the cap per
123
+ // run without dropping legitimate earlier shots.
124
+ const after = await store.listByExecution(session.workspaceId, session.executionId);
125
+ if (after.length > MAX_SCREENSHOTS_PER_RUN) {
126
+ const overflow = new Set(after.slice(MAX_SCREENSHOTS_PER_RUN).map((r) => r.id));
127
+ if (overflow.has(record.id)) {
128
+ await store.delete(session.workspaceId, record.id);
129
+ logger.warn({ scope: 'artifactIngest', executionId: session.executionId, count: after.length }, 'artifact ingest: per-run screenshot limit reached (post-insert reconcile)');
130
+ return c.json({ error: { code: 'too_many', message: 'Per-run screenshot limit reached' } }, 429);
131
+ }
132
+ }
133
+ }
134
+ return c.json({ artifactId: record.id }, 201);
135
+ });
136
+ return app;
137
+ }
138
+ //# sourceMappingURL=HarnessArtifactController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HarnessArtifactController.js","sourceRoot":"","sources":["../../../src/modules/artifacts/HarnessArtifactController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The ONLY content types a binary artifact may carry. Screenshots are PNGs and reference
3
+ * designs are uploaded images; anything else (HTML, SVG — which can carry script and would
4
+ * execute when served inline same-origin) is rejected at the write boundary so the blob
5
+ * endpoint can never become a stored-XSS vector. SVG is deliberately excluded.
6
+ */
7
+ export declare const ALLOWED_IMAGE_CONTENT_TYPES: ReadonlySet<string>;
8
+ /** A hard ceiling on a single artifact's bytes, enforced at every ingest point. */
9
+ export declare const MAX_UPLOAD_BYTES: number;
10
+ /**
11
+ * A coarse ceiling on the whole multipart request, checked from `Content-Length` BEFORE the
12
+ * body is buffered, so a grossly oversized upload is rejected without first materialising it
13
+ * in memory. It is `MAX_UPLOAD_BYTES` plus a generous slack for multipart framing (boundaries,
14
+ * the `view`/`kind` fields) so a legitimate ~16 MiB file is never falsely rejected; the exact
15
+ * per-file `MAX_UPLOAD_BYTES` check still runs after parsing as the authoritative limit.
16
+ */
17
+ export declare const MAX_REQUEST_BYTES: number;
18
+ /**
19
+ * Reject (from the declared `Content-Length`) a request whose body is grossly larger than an
20
+ * artifact upload can legitimately be, BEFORE the body is read into memory. Returns true when
21
+ * the request should be refused (caller sends 413). A missing/unparseable header returns false
22
+ * — we can't pre-judge it, so the post-parse `MAX_UPLOAD_BYTES` check remains the backstop.
23
+ */
24
+ export declare function exceedsRequestSizeLimit(contentLength: string | undefined | null): boolean;
25
+ /**
26
+ * Canonicalise a client-supplied content type to one of {@link ALLOWED_IMAGE_CONTENT_TYPES},
27
+ * or `null` when it isn't an allowed image type. Strips any `; charset=…` parameter and
28
+ * lower-cases before matching.
29
+ */
30
+ export declare function normalizeImageContentType(raw: string | null | undefined): string | null;
31
+ /**
32
+ * Headers for serving a stored blob back. We clamp the Content-Type to the allow-list (so
33
+ * a row that somehow holds a non-image type is served as an inert download, never inline
34
+ * active content) and always send `X-Content-Type-Options: nosniff` so a browser can't
35
+ * MIME-sniff the bytes into something executable.
36
+ */
37
+ export declare function blobResponseHeaders(storedContentType: string): Record<string, string>;
38
+ //# sourceMappingURL=imageArtifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageArtifacts.d.ts","sourceRoot":"","sources":["../../../src/modules/artifacts/imageArtifacts.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAK1D,CAAA;AAEF,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,QAAmB,CAAA;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAiC,CAAA;AAE/D;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAIzF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIvF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBrF"}
@@ -0,0 +1,73 @@
1
+ // Shared validation + safe-serving helpers for binary-artifact images (UI screenshots +
2
+ // reference design images). Used by BOTH the workspace-scoped upload/serve controller and
3
+ // the container-token-authed harness ingest route, so the security posture can't drift
4
+ // between the two entry points.
5
+ /**
6
+ * The ONLY content types a binary artifact may carry. Screenshots are PNGs and reference
7
+ * designs are uploaded images; anything else (HTML, SVG — which can carry script and would
8
+ * execute when served inline same-origin) is rejected at the write boundary so the blob
9
+ * endpoint can never become a stored-XSS vector. SVG is deliberately excluded.
10
+ */
11
+ export const ALLOWED_IMAGE_CONTENT_TYPES = new Set([
12
+ 'image/png',
13
+ 'image/jpeg',
14
+ 'image/webp',
15
+ 'image/gif',
16
+ ]);
17
+ /** A hard ceiling on a single artifact's bytes, enforced at every ingest point. */
18
+ export const MAX_UPLOAD_BYTES = 16 * 1024 * 1024;
19
+ /**
20
+ * A coarse ceiling on the whole multipart request, checked from `Content-Length` BEFORE the
21
+ * body is buffered, so a grossly oversized upload is rejected without first materialising it
22
+ * in memory. It is `MAX_UPLOAD_BYTES` plus a generous slack for multipart framing (boundaries,
23
+ * the `view`/`kind` fields) so a legitimate ~16 MiB file is never falsely rejected; the exact
24
+ * per-file `MAX_UPLOAD_BYTES` check still runs after parsing as the authoritative limit.
25
+ */
26
+ export const MAX_REQUEST_BYTES = MAX_UPLOAD_BYTES + 1024 * 1024;
27
+ /**
28
+ * Reject (from the declared `Content-Length`) a request whose body is grossly larger than an
29
+ * artifact upload can legitimately be, BEFORE the body is read into memory. Returns true when
30
+ * the request should be refused (caller sends 413). A missing/unparseable header returns false
31
+ * — we can't pre-judge it, so the post-parse `MAX_UPLOAD_BYTES` check remains the backstop.
32
+ */
33
+ export function exceedsRequestSizeLimit(contentLength) {
34
+ if (!contentLength)
35
+ return false;
36
+ const n = Number(contentLength);
37
+ return Number.isFinite(n) && n > MAX_REQUEST_BYTES;
38
+ }
39
+ /**
40
+ * Canonicalise a client-supplied content type to one of {@link ALLOWED_IMAGE_CONTENT_TYPES},
41
+ * or `null` when it isn't an allowed image type. Strips any `; charset=…` parameter and
42
+ * lower-cases before matching.
43
+ */
44
+ export function normalizeImageContentType(raw) {
45
+ if (!raw)
46
+ return null;
47
+ const base = raw.split(';', 1)[0].trim().toLowerCase();
48
+ return ALLOWED_IMAGE_CONTENT_TYPES.has(base) ? base : null;
49
+ }
50
+ /**
51
+ * Headers for serving a stored blob back. We clamp the Content-Type to the allow-list (so
52
+ * a row that somehow holds a non-image type is served as an inert download, never inline
53
+ * active content) and always send `X-Content-Type-Options: nosniff` so a browser can't
54
+ * MIME-sniff the bytes into something executable.
55
+ */
56
+ export function blobResponseHeaders(storedContentType) {
57
+ const safe = normalizeImageContentType(storedContentType);
58
+ return safe
59
+ ? {
60
+ 'Content-Type': safe,
61
+ 'Content-Disposition': 'inline',
62
+ 'X-Content-Type-Options': 'nosniff',
63
+ 'Cache-Control': 'private, max-age=86400',
64
+ }
65
+ : {
66
+ // Not a recognised image: serve as an opaque attachment so nothing executes.
67
+ 'Content-Type': 'application/octet-stream',
68
+ 'Content-Disposition': 'attachment',
69
+ 'X-Content-Type-Options': 'nosniff',
70
+ 'Cache-Control': 'private, max-age=86400',
71
+ };
72
+ }
73
+ //# sourceMappingURL=imageArtifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageArtifacts.js","sourceRoot":"","sources":["../../../src/modules/artifacts/imageArtifacts.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,0FAA0F;AAC1F,uFAAuF;AACvF,gCAAgC;AAEhC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC;IACtE,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;CACZ,CAAC,CAAA;AAEF,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAAwC;IAC9E,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAA;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;IAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAA;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAA8B;IACtE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACvD,OAAO,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,iBAAyB;IAC3D,MAAM,IAAI,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;IACzD,OAAO,IAAI;QACT,CAAC,CAAC;YACE,cAAc,EAAE,IAAI;YACpB,qBAAqB,EAAE,QAAQ;YAC/B,wBAAwB,EAAE,SAAS;YACnC,eAAe,EAAE,wBAAwB;SAC1C;QACH,CAAC,CAAC;YACE,6EAA6E;YAC7E,cAAc,EAAE,0BAA0B;YAC1C,qBAAqB,EAAE,YAAY;YACnC,wBAAwB,EAAE,SAAS;YACnC,eAAe,EAAE,wBAAwB;SAC1C,CAAA;AACP,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Hono } from 'hono';
2
+ import type { AppEnv } from '../../http/env.js';
3
+ /**
4
+ * Workspace-scoped run-driving endpoints for the visual-confirmation gate. Each acts on the
5
+ * block's parked `visual-confirmation` step via the execution service: approve (advance),
6
+ * request a fix from findings (dispatch the Tester's `fixer`), or recapture (refresh the
7
+ * actual-vs-reference pairs from the latest UI-tester report). They return the updated
8
+ * execution instance. Mounted under `/workspaces/:workspaceId`.
9
+ */
10
+ export declare function visualConfirmationController(): Hono<AppEnv>;
11
+ //# sourceMappingURL=VisualConfirmationController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualConfirmationController.d.ts","sourceRoot":"","sources":["../../../src/modules/visualConfirm/VisualConfirmationController.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG/C;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAAC,MAAM,CAAC,CAmC3D"}
@@ -0,0 +1,37 @@
1
+ import { approveVisualConfirmContract, recaptureVisualConfirmContract, requestVisualConfirmFixContract, } from '@cat-factory/contracts';
2
+ import { buildHonoRoute } from '@toad-contracts/hono';
3
+ import { Hono } from 'hono';
4
+ import { param } from '../../http/params.js';
5
+ /**
6
+ * Workspace-scoped run-driving endpoints for the visual-confirmation gate. Each acts on the
7
+ * block's parked `visual-confirmation` step via the execution service: approve (advance),
8
+ * request a fix from findings (dispatch the Tester's `fixer`), or recapture (refresh the
9
+ * actual-vs-reference pairs from the latest UI-tester report). They return the updated
10
+ * execution instance. Mounted under `/workspaces/:workspaceId`.
11
+ */
12
+ export function visualConfirmationController() {
13
+ const app = new Hono();
14
+ // The human approved the screenshots: advance the pipeline.
15
+ buildHonoRoute(app, approveVisualConfirmContract, async (c) => {
16
+ const instance = await c
17
+ .get('container')
18
+ .executionService.approveVisualConfirm(param(c, 'workspaceId'), c.req.valid('param').blockId);
19
+ return c.json(instance, 200);
20
+ });
21
+ // Submit findings and request a fix: dispatch the fixer, then re-park.
22
+ buildHonoRoute(app, requestVisualConfirmFixContract, async (c) => {
23
+ const instance = await c
24
+ .get('container')
25
+ .executionService.requestVisualConfirmFix(param(c, 'workspaceId'), c.req.valid('param').blockId, c.req.valid('json').findings);
26
+ return c.json(instance, 200);
27
+ });
28
+ // Refresh the actual-vs-reference pairs from the latest UI-tester report.
29
+ buildHonoRoute(app, recaptureVisualConfirmContract, async (c) => {
30
+ const instance = await c
31
+ .get('container')
32
+ .executionService.recaptureVisualConfirm(param(c, 'workspaceId'), c.req.valid('param').blockId);
33
+ return c.json(instance, 200);
34
+ });
35
+ return app;
36
+ }
37
+ //# sourceMappingURL=VisualConfirmationController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualConfirmationController.js","sourceRoot":"","sources":["../../../src/modules/visualConfirm/VisualConfirmationController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,4DAA4D;IAC5D,cAAc,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;QAC/F,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,uEAAuE;IACvE,cAAc,CAAC,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,uBAAuB,CACvC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAC5B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC7B,CAAA;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,0EAA0E;IAC1E,cAAc,CAAC,GAAG,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC;aACrB,GAAG,CAAC,WAAW,CAAC;aAChB,gBAAgB,CAAC,sBAAsB,CACtC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAC7B,CAAA;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/server",
3
- "version": "0.35.0",
3
+ "version": "0.36.1",
4
4
  "description": "Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,13 +30,13 @@
30
30
  "hono": "^4.12.27",
31
31
  "pino": "^10.3.1",
32
32
  "valibot": "^1.4.1",
33
- "@cat-factory/agents": "0.19.0",
34
- "@cat-factory/contracts": "0.39.0",
35
- "@cat-factory/integrations": "0.23.5",
36
- "@cat-factory/kernel": "0.41.0",
37
- "@cat-factory/orchestration": "0.31.0",
38
- "@cat-factory/prompt-fragments": "0.7.37",
39
- "@cat-factory/spend": "0.10.10"
33
+ "@cat-factory/agents": "0.20.1",
34
+ "@cat-factory/contracts": "0.40.1",
35
+ "@cat-factory/integrations": "0.24.1",
36
+ "@cat-factory/kernel": "0.42.1",
37
+ "@cat-factory/orchestration": "0.32.1",
38
+ "@cat-factory/prompt-fragments": "0.7.39",
39
+ "@cat-factory/spend": "0.10.12"
40
40
  },
41
41
  "devDependencies": {
42
42
  "typescript": "7.0.1-rc",