@cat-factory/worker 0.52.8 → 0.52.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAGpG,OAAO,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAmCzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAA;AAE5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AAGnF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAA;AAKxF,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAA;AAMvC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;;IA+CjG,KAAK,UAAU,OAAO,OAAO,GAAG,OAAO,gBAAgB;IAOjD,SAAS,aAAa,mBAAmB,OAAO,GAAG,OAAO,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiU1F,KAAK,QACF,YAAY,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,OACzD,GAAG,GACP,OAAO,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAGpG,OAAO,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAmCzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAA;AAE5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AAGnF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAA;AAKxF,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAA;AAMvC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;;IAyDjG,KAAK,UAAU,OAAO,OAAO,GAAG,OAAO,gBAAgB;IAOjD,SAAS,aAAa,mBAAmB,OAAO,GAAG,OAAO,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkU1F,KAAK,QACF,YAAY,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,OACzD,GAAG,GACP,OAAO,CAAC,IAAI,CAAC"}
package/dist/index.js CHANGED
@@ -66,6 +66,16 @@ function errInfo(error) {
66
66
  const SWEEP_LEASE_MS = 5 * 60 * 1000;
67
67
  /** An execution whose instance stays missing this long is failed `stalled`, not re-driven. */
68
68
  const SWEEP_HARD_STALL_MS = 60 * 60 * 1000;
69
+ /**
70
+ * Per-isolate "first observed orphaned" clock for the run sweeper (see `sweepStuckRuns`).
71
+ * Keyed by run id, it makes the hard-stall deadline measure time-OBSERVED-orphaned rather
72
+ * than raw lease age, so a cron outage / deploy freeze longer than `SWEEP_HARD_STALL_MS`
73
+ * doesn't wrongly fail a recoverable run on the first post-outage tick. A warm isolate carries
74
+ * it across the 2-min cron ticks; an isolate eviction just resets the clock (the safe
75
+ * direction — more re-drive grace, never a premature kill). Mirrors the Node sweeper's
76
+ * per-process `orphanedSince` map.
77
+ */
78
+ const runSweepOrphanedSince = new Map();
69
79
  /** A GitHub projection is reconciled if it hasn't synced within this window. */
70
80
  const GITHUB_RECONCILE_STALE_MS = 30 * 60 * 1000;
71
81
  /** A `running` Kaizen grading older than this is re-driven (its sweep crashed mid-flight). */
@@ -233,6 +243,7 @@ export default {
233
243
  clock,
234
244
  leaseMs: SWEEP_LEASE_MS,
235
245
  hardStallMs: SWEEP_HARD_STALL_MS,
246
+ orphanedSince: runSweepOrphanedSince,
236
247
  })
237
248
  // Surface what the sweep did — the key signal for "are runs getting stuck?"
238
249
  // Only log when it actually acted.
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BootstrapWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/BootstrapWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAKjC,sFAAsF;AACtF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAQD;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtE,GAAG,CAChB,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAC7C,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAsDf;CACF"}
1
+ {"version":3,"file":"BootstrapWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/BootstrapWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAMjC,sFAAsF;AACtF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAQD;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtE,GAAG,CAChB,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAC7C,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Df;CACF"}
@@ -2,6 +2,7 @@ import { WorkflowEntrypoint, } from 'cloudflare:workers';
2
2
  import { buildContainer } from '../container';
3
3
  import { loadConfig } from '../config';
4
4
  import { logger } from '../observability/logger';
5
+ import { buildWorkflowRuntime } from './runtime';
5
6
  /** Per-step retry policy: a transient poll failure retries before the run fails. */
6
7
  const STEP_CONFIG = {
7
8
  retries: { limit: 3, delay: '5 seconds', backoff: 'exponential' },
@@ -21,18 +22,18 @@ export class BootstrapWorkflow extends WorkflowEntrypoint {
21
22
  async run(event, step) {
22
23
  const { workspaceId, jobId } = event.payload;
23
24
  // One DI-graph assembly per wake (pure wiring over env bindings, no I/O) shared by
24
- // every poll in this invocation; a hibernation wake replays `run()` and rebuilds.
25
- const container = buildContainer(this.env);
26
- const execConfig = loadConfig(this.env).execution;
25
+ // every poll in this invocation; a hibernation wake replays `run()` and rebuilds. Built
26
+ // via `buildWorkflowRuntime` so a transient throw here can't kill the instance terminally
27
+ // (which the sweeper would then finalize as a STOPPED job — see F5/F2).
28
+ const { container, execConfig } = await buildWorkflowRuntime(() => ({ container: buildContainer(this.env), execConfig: loadConfig(this.env).execution }), step, 'bootstrap');
27
29
  const pollInterval = execConfig.jobPollInterval;
28
30
  const log = logger.child({ workspaceId, jobId, workflow: 'bootstrap' });
29
31
  // Consecutive failures to READ status — not the bootstrap failing. The agent
30
32
  // can briefly make the container unresponsive while busy (cloning, installing,
31
33
  // building); the job's real liveness is bounded container-side (inactivity +
32
34
  // max-duration watchdogs), and a vanished container surfaces as a 404→failed
33
- // value, so a *thrown* poll error is always transient. Tolerate a bounded run
34
- // of them (reset on any good poll) rather than abandoning a healthy run on the
35
- // first blip.
35
+ // value, so a *thrown* poll error is always transient. Keep polling through them
36
+ // (reset the counter on any good poll) rather than abandoning a healthy run.
36
37
  let pollReadFailures = 0;
37
38
  for (let p = 0; p < execConfig.jobMaxPolls; p++) {
38
39
  await step.sleep(`poll-wait-${p}`, pollInterval);
@@ -48,13 +49,14 @@ export class BootstrapWorkflow extends WorkflowEntrypoint {
48
49
  catch (error) {
49
50
  pollReadFailures += 1;
50
51
  log.warn({ err: error instanceof Error ? error.message : String(error), pollReadFailures }, 'bootstrap poll could not read job status; treating as still running and retrying');
51
- // Sustained unreachability: leave the job `running` so the cron sweep can
52
- // re-drive it later (the container may recover, or report terminal, by then).
53
- // Stop this instance to avoid burning the whole poll budget while wedged.
54
- if (pollReadFailures >= execConfig.jobPollFailureTolerance) {
55
- log.error('bootstrap poll unreadable past tolerance; leaving for sweeper');
56
- return;
57
- }
52
+ // Keep the Workflows instance ALIVE and keep polling. A thrown poll error is always
53
+ // transient a genuinely vanished container surfaces as a 404→`failed` poll RESULT
54
+ // (handled below), not a throw. Returning here would make the instance TERMINAL, and
55
+ // the cron sweeper would then route the still-`running` job to `finalizeOrphan` →
56
+ // `bootstrap.service.stop`, wrongly FAILING a bootstrap that was merely slow or briefly
57
+ // unreachable instead of resuming it (F2). The poll budget + the container-side
58
+ // watchdogs bound the total wait; a warm-isolate sweep still leaves a live instance
59
+ // alone. `pollReadFailures` is now purely diagnostic (how long we've been blind).
58
60
  continue;
59
61
  }
60
62
  pollReadFailures = 0;
@@ -68,7 +70,11 @@ export class BootstrapWorkflow extends WorkflowEntrypoint {
68
70
  }
69
71
  // still running — loop and poll again after the next durable sleep.
70
72
  }
71
- log.warn('bootstrap run did not finish within its polling budget');
73
+ // Poll budget spent. By now the container is long past its own max-duration watchdog, so a
74
+ // healthy-and-progressing run cannot legitimately reach here — the container is dead and its
75
+ // last poll never reported terminal. Returning makes the instance terminal; the sweeper then
76
+ // finalizes the orphaned `running` job (the correct terminal outcome for a truly-wedged run).
77
+ log.warn('bootstrap run did not finish within its polling budget; finalizing via sweeper');
72
78
  }
73
79
  }
74
80
  //# sourceMappingURL=BootstrapWorkflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BootstrapWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/BootstrapWorkflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BootstrapWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/BootstrapWorkflow.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnvConfigRepairWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/EnvConfigRepairWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAKjC,0FAA0F;AAC1F,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAQD;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB,CAC7D,GAAG,EACH,6BAA6B,CAC9B;IACgB,GAAG,CAChB,KAAK,EAAE,aAAa,CAAC,6BAA6B,CAAC,EACnD,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAgDf;CACF"}
1
+ {"version":3,"file":"EnvConfigRepairWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/EnvConfigRepairWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAMjC,0FAA0F;AAC1F,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAQD;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB,CAC7D,GAAG,EACH,6BAA6B,CAC9B;IACgB,GAAG,CAChB,KAAK,EAAE,aAAa,CAAC,6BAA6B,CAAC,EACnD,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Df;CACF"}
@@ -2,6 +2,7 @@ import { WorkflowEntrypoint, } from 'cloudflare:workers';
2
2
  import { buildContainer } from '../container';
3
3
  import { loadConfig } from '../config';
4
4
  import { logger } from '../observability/logger';
5
+ import { buildWorkflowRuntime } from './runtime';
5
6
  /** Per-step retry policy: a transient poll failure retries before the run fails. */
6
7
  const STEP_CONFIG = {
7
8
  retries: { limit: 3, delay: '5 seconds', backoff: 'exponential' },
@@ -20,15 +21,16 @@ export class EnvConfigRepairWorkflow extends WorkflowEntrypoint {
20
21
  async run(event, step) {
21
22
  const { workspaceId, jobId } = event.payload;
22
23
  // One DI-graph assembly per wake (pure wiring over env bindings, no I/O) shared by
23
- // every poll in this invocation; a hibernation wake replays `run()` and rebuilds.
24
- const container = buildContainer(this.env);
25
- const execConfig = loadConfig(this.env).execution;
24
+ // every poll in this invocation; a hibernation wake replays `run()` and rebuilds. Built
25
+ // via `buildWorkflowRuntime` so a transient throw here can't kill the instance terminally
26
+ // (see F5/F2).
27
+ const { container, execConfig } = await buildWorkflowRuntime(() => ({ container: buildContainer(this.env), execConfig: loadConfig(this.env).execution }), step, 'repair');
26
28
  const pollInterval = execConfig.jobPollInterval;
27
29
  const log = logger.child({ workspaceId, jobId, workflow: 'env-config-repair' });
28
30
  // Consecutive failures to READ status — not the repair failing. See BootstrapWorkflow
29
31
  // for the rationale: a thrown poll error is always transient (a vanished container
30
- // surfaces as a 404→failed value), so tolerate a bounded run of them and leave the run
31
- // `running` for the cron sweep when wedged past tolerance.
32
+ // surfaces as a 404→failed value), so keep polling through them rather than abandoning a
33
+ // healthy run.
32
34
  let pollReadFailures = 0;
33
35
  for (let p = 0; p < execConfig.jobMaxPolls; p++) {
34
36
  await step.sleep(`poll-wait-${p}`, pollInterval);
@@ -44,10 +46,11 @@ export class EnvConfigRepairWorkflow extends WorkflowEntrypoint {
44
46
  catch (error) {
45
47
  pollReadFailures += 1;
46
48
  log.warn({ err: error instanceof Error ? error.message : String(error), pollReadFailures }, 'env-config-repair poll could not read job status; treating as still running and retrying');
47
- if (pollReadFailures >= execConfig.jobPollFailureTolerance) {
48
- log.error('env-config-repair poll unreadable past tolerance; leaving for sweeper');
49
- return;
50
- }
49
+ // Keep the instance ALIVE and keep polling — see BootstrapWorkflow (F2): returning on a
50
+ // transient read failure would make the instance terminal and get the still-`running`
51
+ // job finalized as STOPPED by the sweeper instead of resumed. A vanished container
52
+ // surfaces as a 404→`failed` poll result below, not a throw; `pollReadFailures` is now
53
+ // purely diagnostic.
51
54
  continue;
52
55
  }
53
56
  pollReadFailures = 0;
@@ -61,7 +64,9 @@ export class EnvConfigRepairWorkflow extends WorkflowEntrypoint {
61
64
  }
62
65
  // still running — loop and poll again after the next durable sleep.
63
66
  }
64
- log.warn('env-config-repair run did not finish within its polling budget');
67
+ // Poll budget spent (container is dead past its watchdog); the sweeper finalizes the
68
+ // orphaned `running` job — the correct terminal outcome for a truly-wedged run.
69
+ log.warn('env-config-repair run did not finish within its polling budget; finalizing via sweeper');
65
70
  }
66
71
  }
67
72
  //# sourceMappingURL=EnvConfigRepairWorkflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnvConfigRepairWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/EnvConfigRepairWorkflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvConfigRepairWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/EnvConfigRepairWorkflow.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAIjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAQpE;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtE,GAAG,CAChB,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAC7C,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAyLf;CACF"}
1
+ {"version":3,"file":"ExecutionWorkflow.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAKjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAQpE;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtE,GAAG,CAChB,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAC7C,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Lf;CACF"}
@@ -2,6 +2,7 @@ import { WorkflowEntrypoint, } from 'cloudflare:workers';
2
2
  import { buildContainer } from '../container';
3
3
  import { loadConfig } from '../config';
4
4
  import { logger } from '../observability/logger';
5
+ import { buildWorkflowRuntime } from './runtime';
5
6
  /** Per-step retry policy: failures retry a few times before the run is failed. */
6
7
  const STEP_CONFIG = {
7
8
  retries: { limit: 3, delay: '5 seconds', backoff: 'exponential' },
@@ -21,9 +22,10 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
21
22
  // One DI-graph assembly per wake: the container is pure wiring over env bindings
22
23
  // (no I/O), so every step/poll in this invocation shares it instead of re-running
23
24
  // the whole composition root per `step.do`. A hibernation wake replays `run()`
24
- // from the top, so each wake still gets a fresh build.
25
- const container = buildContainer(this.env);
26
- const execConfig = loadConfig(this.env).execution;
25
+ // from the top, so each wake still gets a fresh build. Built via `buildWorkflowRuntime`
26
+ // so a transient throw here can't kill a parked (`blocked`) instance terminally and
27
+ // discard the human's decision (F5).
28
+ const { container, execConfig } = await buildWorkflowRuntime(() => ({ container: buildContainer(this.env), execConfig: loadConfig(this.env).execution }), step, 'exec');
27
29
  const decisionTimeout = execConfig.decisionTimeout;
28
30
  const jobPollInterval = execConfig.jobPollInterval;
29
31
  const ciPollInterval = execConfig.ciPollInterval;
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutionWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { WorkflowSleepDuration } from 'cloudflare:workers';
2
+ /** Minimal slice of `WorkflowStep` this helper needs — just a durable sleep (testable with a fake). */
3
+ export interface DurableSleeper {
4
+ sleep(name: string, duration: WorkflowSleepDuration): Promise<void>;
5
+ }
6
+ /** How many times to (re-)attempt the per-wake DI construction before giving up. */
7
+ export declare const WORKFLOW_BUILD_ATTEMPTS = 3;
8
+ /**
9
+ * Assemble a workflow's per-wake runtime (DI container + config), retrying a THROWING build a
10
+ * few times with durable sleeps in between.
11
+ *
12
+ * Why: every workflow's `run()` rebuilds its container at the top of each hibernation wake,
13
+ * OUTSIDE any retriable `step.do`. An unhandled throw there makes the Workflows instance
14
+ * TERMINAL — and a terminal instance id can never be re-created. For a run parked `blocked` on a
15
+ * human decision this is severe (F5): the run is invisible to the cron sweeper, so when the human
16
+ * finally resolves it, the signal hits a dead instance (swallowed), the sweeper later sees a
17
+ * `running` run with a `terminal` instance and STOPS it, and the decision is silently discarded.
18
+ * Surviving a transient wake blip here keeps the parked instance alive so the decision lands.
19
+ *
20
+ * A construction failure that persists across all attempts still surfaces (rethrown) — that is a
21
+ * genuinely broken deployment (e.g. a required binding removed), which SHOULD fail loudly rather
22
+ * than be papered over. This guard only buys resilience against transient failures, not misconfig.
23
+ */
24
+ export declare function buildWorkflowRuntime<T>(build: () => T, step: DurableSleeper, label: string, attempts?: number): Promise<T>;
25
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,uGAAuG;AACvG,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpE;AAED,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAIxC;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,KAAK,EAAE,MAAM,CAAC,EACd,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAgC,GACzC,OAAO,CAAC,CAAC,CAAC,CAaZ"}
@@ -0,0 +1,36 @@
1
+ /** How many times to (re-)attempt the per-wake DI construction before giving up. */
2
+ export const WORKFLOW_BUILD_ATTEMPTS = 3;
3
+ /** Durable pause between construction attempts (a wake blip usually clears in seconds). */
4
+ const BUILD_RETRY_DELAY = '5 seconds';
5
+ /**
6
+ * Assemble a workflow's per-wake runtime (DI container + config), retrying a THROWING build a
7
+ * few times with durable sleeps in between.
8
+ *
9
+ * Why: every workflow's `run()` rebuilds its container at the top of each hibernation wake,
10
+ * OUTSIDE any retriable `step.do`. An unhandled throw there makes the Workflows instance
11
+ * TERMINAL — and a terminal instance id can never be re-created. For a run parked `blocked` on a
12
+ * human decision this is severe (F5): the run is invisible to the cron sweeper, so when the human
13
+ * finally resolves it, the signal hits a dead instance (swallowed), the sweeper later sees a
14
+ * `running` run with a `terminal` instance and STOPS it, and the decision is silently discarded.
15
+ * Surviving a transient wake blip here keeps the parked instance alive so the decision lands.
16
+ *
17
+ * A construction failure that persists across all attempts still surfaces (rethrown) — that is a
18
+ * genuinely broken deployment (e.g. a required binding removed), which SHOULD fail loudly rather
19
+ * than be papered over. This guard only buys resilience against transient failures, not misconfig.
20
+ */
21
+ export async function buildWorkflowRuntime(build, step, label, attempts = WORKFLOW_BUILD_ATTEMPTS) {
22
+ let lastErr;
23
+ for (let attempt = 0; attempt < attempts; attempt++) {
24
+ try {
25
+ return build();
26
+ }
27
+ catch (err) {
28
+ lastErr = err;
29
+ if (attempt < attempts - 1) {
30
+ await step.sleep(`${label}-build-retry-${attempt}`, BUILD_RETRY_DELAY);
31
+ }
32
+ }
33
+ }
34
+ throw lastErr;
35
+ }
36
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/runtime.ts"],"names":[],"mappings":"AAOA,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,2FAA2F;AAC3F,MAAM,iBAAiB,GAA0B,WAAW,CAAA;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAc,EACd,IAAoB,EACpB,KAAa,EACb,QAAQ,GAAW,uBAAuB;IAE1C,IAAI,OAAgB,CAAA;IACpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,OAAO,KAAK,EAAE,CAAA;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,CAAA;YACb,IAAI,OAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,gBAAgB,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAA;AACf,CAAC"}
@@ -42,6 +42,18 @@ export interface SweepDeps {
42
42
  leaseMs: number;
43
43
  /** A `missing` execution stale longer than this is failed `stalled` instead of re-driven. */
44
44
  hardStallMs: number;
45
+ /**
46
+ * Per-process "first observed orphaned" clock, keyed by run id, MUTATED IN PLACE across
47
+ * sweeps. The hard-stall deadline is measured from this — NOT the raw lease age
48
+ * (`ref.updatedAt`) — so a cron outage / deploy freeze / sustained sweep failure longer than
49
+ * `hardStallMs` can't fail an otherwise-recoverable run on the very first post-outage tick
50
+ * (lease age inflates during the gap, but observed-orphaned time does not). This mirrors the
51
+ * Node sweeper's `orphanedSince` map. Pass a caller-owned persistent map (e.g. a
52
+ * module-global in the cron handler) to get cross-tick memory; omit it and each sweep is
53
+ * independent — the hard-stall backstop then only fires for a non-positive `hardStallMs`
54
+ * (the degenerate unit-test case), never wrongly on a first observation.
55
+ */
56
+ orphanedSince?: Map<string, number>;
45
57
  }
46
58
  /** What a sweep did, for logging. */
47
59
  export interface SweepResult {
@@ -63,5 +75,5 @@ export interface SweepResult {
63
75
  * - `alive` → leave it.
64
76
  * Pure orchestration over its ports so it is unit-testable with fakes.
65
77
  */
66
- export declare function sweepStuckRuns({ agentRunRepository, instanceState, redrive, finalizeOrphan, failStalled, clock, leaseMs, hardStallMs, }: SweepDeps): Promise<SweepResult>;
78
+ export declare function sweepStuckRuns({ agentRunRepository, instanceState, redrive, finalizeOrphan, failStalled, clock, leaseMs, hardStallMs, orphanedSince, }: SweepDeps): Promise<SweepResult>;
67
79
  //# sourceMappingURL=sweeper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sweeper.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/sweeper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEzD;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;AAE5D,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACrD;AAED,0DAA0D;AAC1D,qBAAa,eAAgB,YAAW,cAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAArC,YAA6B,QAAQ,EAAE,QAAQ,EAAI;IAE7C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqBzD;CACF;AAED,MAAM,WAAW,SAAS;IACxB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,gEAAgE;IAChE,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACvD,4EAA4E;IAC5E,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,EACnC,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,cAAc,EACd,WAAW,EACX,KAAK,EACL,OAAO,EACP,WAAW,GACZ,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CA0BlC"}
1
+ {"version":3,"file":"sweeper.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/sweeper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEzD;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;AAE5D,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACrD;AAED,0DAA0D;AAC1D,qBAAa,eAAgB,YAAW,cAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAArC,YAA6B,QAAQ,EAAE,QAAQ,EAAI;IAE7C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqBzD;CACF;AAED,MAAM,WAAW,SAAS;IACxB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,gEAAgE;IAChE,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACvD,4EAA4E;IAC5E,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,EACnC,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,cAAc,EACd,WAAW,EACX,KAAK,EACL,OAAO,EACP,WAAW,EACX,aAAyC,GAC1C,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAiDlC"}
@@ -40,32 +40,55 @@ export class WorkflowsLookup {
40
40
  * - `alive` → leave it.
41
41
  * Pure orchestration over its ports so it is unit-testable with fakes.
42
42
  */
43
- export async function sweepStuckRuns({ agentRunRepository, instanceState, redrive, finalizeOrphan, failStalled, clock, leaseMs, hardStallMs, }) {
43
+ export async function sweepStuckRuns({ agentRunRepository, instanceState, redrive, finalizeOrphan, failStalled, clock, leaseMs, hardStallMs, orphanedSince = new Map(), }) {
44
44
  const now = clock.now();
45
45
  const stale = await agentRunRepository.listStale(now - leaseMs);
46
46
  let redriven = 0;
47
47
  let finalized = 0;
48
48
  let stalled = 0;
49
+ // Which runs were observed still-orphaned (`missing`) THIS tick — used to prune the
50
+ // per-process clock of any run that recovered or went terminal so its deadline restarts
51
+ // if it ever stalls again.
52
+ const stillOrphaned = new Set();
49
53
  for (const ref of stale) {
50
54
  const state = await instanceState(ref);
51
- if (state === 'alive')
55
+ if (state === 'alive') {
56
+ orphanedSince.delete(ref.id);
52
57
  continue;
58
+ }
53
59
  if (state === 'terminal') {
60
+ orphanedSince.delete(ref.id);
54
61
  await finalizeOrphan(ref);
55
62
  finalized++;
56
63
  continue;
57
64
  }
58
- // `missing`: re-create the driver unless an execution has stayed missing past the hard
59
- // deadline (re-driving isn't resurrecting it), in which case fail it `stalled` so it stops
60
- // showing `running` forever and surfaces the failure banner + retry.
61
- if (ref.kind === 'execution' && now - ref.updatedAt > hardStallMs) {
65
+ // `missing`: the instance was lost (eviction, a missed event) and can be re-created.
66
+ // Start (or carry forward) this run's per-process orphaned clock so the hard-stall
67
+ // deadline below measures time-observed-orphaned, not raw lease age a run first seen
68
+ // orphaned this tick (e.g. right after a long cron outage) is always re-driven at least
69
+ // once before it can ever be given up on.
70
+ const firstSeenOrphaned = orphanedSince.get(ref.id) ?? now;
71
+ orphanedSince.set(ref.id, firstSeenOrphaned);
72
+ stillOrphaned.add(ref.id);
73
+ // An execution stuck `missing` past the hard deadline (re-driving isn't resurrecting it)
74
+ // is failed `stalled` so it stops showing `running` forever and surfaces the failure
75
+ // banner + retry.
76
+ if (ref.kind === 'execution' && now - firstSeenOrphaned > hardStallMs) {
62
77
  await failStalled(ref);
63
78
  stalled++;
79
+ orphanedSince.delete(ref.id);
80
+ stillOrphaned.delete(ref.id);
64
81
  continue;
65
82
  }
66
83
  await redrive(ref);
67
84
  redriven++;
68
85
  }
86
+ // Forget runs that recovered (bumped their lease → left the stale set) or went terminal, so
87
+ // their per-process orphaned clock restarts if they ever stall again.
88
+ for (const id of orphanedSince.keys()) {
89
+ if (!stillOrphaned.has(id))
90
+ orphanedSince.delete(id);
91
+ }
69
92
  return { redriven, finalized, stalled };
70
93
  }
71
94
  //# sourceMappingURL=sweeper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sweeper.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/sweeper.ts"],"names":[],"mappings":"AAkBA,0DAA0D;AAC1D,MAAM,OAAO,eAAe;IACG,QAAQ;IAArC,YAA6B,QAAkB;wBAAlB,QAAQ;IAAa,CAAC;IAEnD,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,IAAI,QAAQ,CAAA;QACZ,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAA;YAC1C,OAAO,MAAM,KAAK,SAAS;gBACzB,MAAM,KAAK,QAAQ;gBACnB,MAAM,KAAK,SAAS;gBACpB,MAAM,KAAK,QAAQ;gBACnB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU,CAAA;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,8EAA8E;YAC9E,8EAA8E;YAC9E,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;CACF;AAqCD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,cAAc,EACd,WAAW,EACX,KAAK,EACL,OAAO,EACP,WAAW,GACD;IACV,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;IACvB,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,CAAA;IAC/D,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,KAAK,KAAK,OAAO;YAAE,SAAQ;QAC/B,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;YACzB,SAAS,EAAE,CAAA;YACX,SAAQ;QACV,CAAC;QACD,yFAAyF;QACzF,2FAA2F;QAC3F,qEAAqE;QACrE,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,WAAW,EAAE,CAAC;YAClE,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,EAAE,CAAA;YACT,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAClB,QAAQ,EAAE,CAAA;IACZ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"sweeper.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/sweeper.ts"],"names":[],"mappings":"AAkBA,0DAA0D;AAC1D,MAAM,OAAO,eAAe;IACG,QAAQ;IAArC,YAA6B,QAAkB;wBAAlB,QAAQ;IAAa,CAAC;IAEnD,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,IAAI,QAAQ,CAAA;QACZ,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAA;YAC1C,OAAO,MAAM,KAAK,SAAS;gBACzB,MAAM,KAAK,QAAQ;gBACnB,MAAM,KAAK,SAAS;gBACpB,MAAM,KAAK,QAAQ;gBACnB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU,CAAA;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,8EAA8E;YAC9E,8EAA8E;YAC9E,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;CACF;AAiDD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,cAAc,EACd,WAAW,EACX,KAAK,EACL,OAAO,EACP,WAAW,EACX,aAAa,GAAG,IAAI,GAAG,EAAkB,GAC/B;IACV,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;IACvB,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,CAAA;IAC/D,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,oFAAoF;IACpF,wFAAwF;IACxF,2BAA2B;IAC3B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5B,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;YACzB,SAAS,EAAE,CAAA;YACX,SAAQ;QACV,CAAC;QACD,qFAAqF;QACrF,mFAAmF;QACnF,uFAAuF;QACvF,wFAAwF;QACxF,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAA;QAC1D,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAC5C,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzB,yFAAyF;QACzF,qFAAqF;QACrF,kBAAkB;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,GAAG,iBAAiB,GAAG,WAAW,EAAE,CAAC;YACtE,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,EAAE,CAAA;YACT,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5B,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5B,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAClB,QAAQ,EAAE,CAAA;IACZ,CAAC;IACD,4FAA4F;IAC5F,sEAAsE;IACtE,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/worker",
3
- "version": "0.52.8",
3
+ "version": "0.52.10",
4
4
  "description": "Reusable Cloudflare Worker library (Hono + D1) exposing the Agent Architecture Board core: the `createApp()` Hono factory, the default fetch/scheduled/queue handler, and the Durable Object + Workflow classes. Deployments (see deploy/backend) supply the wrangler.toml + config and re-export these.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -42,19 +42,19 @@
42
42
  "pino": "^10.3.1",
43
43
  "valibot": "^1.4.2",
44
44
  "workers-ai-provider": "^3.2.1",
45
- "@cat-factory/agents": "0.26.7",
46
- "@cat-factory/consensus": "0.8.8",
47
- "@cat-factory/contracts": "0.81.1",
48
- "@cat-factory/gates": "0.2.65",
49
- "@cat-factory/gitlab": "0.4.36",
50
- "@cat-factory/integrations": "0.54.1",
51
- "@cat-factory/kernel": "0.69.4",
52
- "@cat-factory/observability-langfuse": "0.7.108",
53
- "@cat-factory/orchestration": "0.57.4",
54
- "@cat-factory/prompt-fragments": "0.9.39",
55
- "@cat-factory/provider-cloudflare": "0.7.113",
56
- "@cat-factory/server": "0.66.2",
57
- "@cat-factory/spend": "0.10.69"
45
+ "@cat-factory/agents": "0.26.8",
46
+ "@cat-factory/consensus": "0.8.9",
47
+ "@cat-factory/contracts": "0.81.2",
48
+ "@cat-factory/gates": "0.2.66",
49
+ "@cat-factory/integrations": "0.54.2",
50
+ "@cat-factory/observability-langfuse": "0.7.109",
51
+ "@cat-factory/prompt-fragments": "0.9.40",
52
+ "@cat-factory/gitlab": "0.4.37",
53
+ "@cat-factory/kernel": "0.69.5",
54
+ "@cat-factory/provider-cloudflare": "0.7.114",
55
+ "@cat-factory/server": "0.66.3",
56
+ "@cat-factory/orchestration": "0.57.5",
57
+ "@cat-factory/spend": "0.10.70"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@cloudflare/vitest-pool-workers": "^0.16.20",
@@ -62,7 +62,7 @@
62
62
  "typescript": "7.0.1-rc",
63
63
  "vitest": "^4.1.9",
64
64
  "wrangler": "^4.105.0",
65
- "@cat-factory/conformance": "0.9.87"
65
+ "@cat-factory/conformance": "0.9.88"
66
66
  },
67
67
  "scripts": {
68
68
  "build": "tsc -b tsconfig.build.json",