@cat-factory/worker 0.111.0 → 0.112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +2 -2
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -44
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/WorkersAiLlmUpstream.d.ts.map +1 -1
- package/dist/infrastructure/ai/WorkersAiLlmUpstream.js +4 -4
- package/dist/infrastructure/ai/WorkersAiLlmUpstream.js.map +1 -1
- package/dist/infrastructure/container-assembly.d.ts.map +1 -1
- package/dist/infrastructure/container-assembly.js +4 -0
- package/dist/infrastructure/container-assembly.js.map +1 -1
- package/dist/infrastructure/container.js +10 -4
- package/dist/infrastructure/container.js.map +1 -1
- package/dist/infrastructure/containers/ContainerInstanceRegistry.d.ts.map +1 -1
- package/dist/infrastructure/containers/ContainerInstanceRegistry.js +11 -4
- package/dist/infrastructure/containers/ContainerInstanceRegistry.js.map +1 -1
- package/dist/infrastructure/env.d.ts +7 -0
- package/dist/infrastructure/env.d.ts.map +1 -1
- package/dist/infrastructure/env.js.map +1 -1
- package/dist/infrastructure/events/DurableObjectEventPublisher.d.ts +9 -1
- package/dist/infrastructure/events/DurableObjectEventPublisher.d.ts.map +1 -1
- package/dist/infrastructure/events/DurableObjectEventPublisher.js +16 -3
- package/dist/infrastructure/events/DurableObjectEventPublisher.js.map +1 -1
- package/dist/infrastructure/gateways/GitHubGateways.d.ts +1 -1
- package/dist/infrastructure/gateways/GitHubGateways.d.ts.map +1 -1
- package/dist/infrastructure/gateways/GitHubGateways.js +18 -6
- package/dist/infrastructure/gateways/GitHubGateways.js.map +1 -1
- package/dist/infrastructure/github/sync-consumer.d.ts.map +1 -1
- package/dist/infrastructure/github/sync-consumer.js +13 -5
- package/dist/infrastructure/github/sync-consumer.js.map +1 -1
- package/dist/infrastructure/observability/platformMetrics.d.ts.map +1 -1
- package/dist/infrastructure/observability/platformMetrics.js +3 -3
- package/dist/infrastructure/observability/platformMetrics.js.map +1 -1
- package/dist/infrastructure/workflows/BootstrapWorkflow.js +2 -2
- package/dist/infrastructure/workflows/BootstrapWorkflow.js.map +1 -1
- package/dist/infrastructure/workflows/EnvConfigRepairWorkflow.js +2 -2
- package/dist/infrastructure/workflows/EnvConfigRepairWorkflow.js.map +1 -1
- package/dist/infrastructure/workflows/EnvironmentTestWorkflow.js +2 -2
- package/dist/infrastructure/workflows/EnvironmentTestWorkflow.js.map +1 -1
- package/dist/infrastructure/workflows/ExecutionWorkflow.d.ts.map +1 -1
- package/dist/infrastructure/workflows/ExecutionWorkflow.js +10 -3
- package/dist/infrastructure/workflows/ExecutionWorkflow.js.map +1 -1
- package/dist/infrastructure/workflows/WorkflowsEnvironmentTestRunner.js +1 -1
- package/dist/infrastructure/workflows/WorkflowsEnvironmentTestRunner.js.map +1 -1
- package/dist/infrastructure/workflows/WorkflowsWorkRunner.d.ts +2 -1
- package/dist/infrastructure/workflows/WorkflowsWorkRunner.d.ts.map +1 -1
- package/dist/infrastructure/workflows/WorkflowsWorkRunner.js +39 -11
- package/dist/infrastructure/workflows/WorkflowsWorkRunner.js.map +1 -1
- package/dist/infrastructure/workflows/runtime.d.ts.map +1 -1
- package/dist/infrastructure/workflows/runtime.js +11 -0
- package/dist/infrastructure/workflows/runtime.js.map +1 -1
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-consumer.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/github/sync-consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"sync-consumer.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/github/sync-consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAgC,MAAM,qBAAqB,CAAA;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAG7D,OAAO,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AA4CxE,oFAAoF;AACpF,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,EACtC,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,YAAY,CAAC,kBAAkB,CAAC,EACvC,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NotFoundError } from '@cat-factory/kernel';
|
|
1
|
+
import { NotFoundError, describeError } from '@cat-factory/kernel';
|
|
2
2
|
import { reconcileStaleRepos as reconcileStaleReposCore } from '@cat-factory/server';
|
|
3
3
|
import { buildContainer } from '../container';
|
|
4
4
|
import { loadConfig } from '../config';
|
|
@@ -48,7 +48,14 @@ export async function handleGitHubSyncBatch(batch, env) {
|
|
|
48
48
|
await applyGitHubSyncMessage(container, message.body);
|
|
49
49
|
message.ack();
|
|
50
50
|
}
|
|
51
|
-
catch {
|
|
51
|
+
catch (error) {
|
|
52
|
+
// Retrying blind used to be the whole handling: a permanently-failing delivery burned its
|
|
53
|
+
// retries with no evidence it ever arrived. Copied from the tracker-sync sibling below.
|
|
54
|
+
logger.warn('github sync message failed; retrying', {
|
|
55
|
+
messageKind: message.body.kind,
|
|
56
|
+
attempts: message.attempts,
|
|
57
|
+
...describeError(error),
|
|
58
|
+
});
|
|
52
59
|
message.retry();
|
|
53
60
|
}
|
|
54
61
|
}
|
|
@@ -108,12 +115,13 @@ export async function handleTrackerSyncBatch(batch, env) {
|
|
|
108
115
|
message.ack();
|
|
109
116
|
}
|
|
110
117
|
catch (error) {
|
|
111
|
-
logger.warn({
|
|
118
|
+
logger.warn('tracker webhook message failed; retrying', {
|
|
112
119
|
workspaceId: message.body.workspaceId,
|
|
113
120
|
source: message.body.event.source,
|
|
114
121
|
kind: message.body.event.kind,
|
|
115
|
-
|
|
116
|
-
|
|
122
|
+
attempts: message.attempts,
|
|
123
|
+
...describeError(error),
|
|
124
|
+
});
|
|
117
125
|
message.retry();
|
|
118
126
|
}
|
|
119
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-consumer.js","sourceRoot":"","sources":["../../../src/infrastructure/github/sync-consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"sync-consumer.js","sourceRoot":"","sources":["../../../src/infrastructure/github/sync-consumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformMetrics.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/observability/platformMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EACL,KAAK,4BAA4B,EAGlC,MAAM,4BAA4B,CAAA;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAU7D,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,UAAU,CAAA;IAChB,wFAAwF;IACxF,qBAAqB,EAAE,IAAI,CAAC,4BAA4B,EAAE,WAAW,CAAC,GAAG,SAAS,CAAA;IAClF,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAA;IAC7D,MAAM,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"platformMetrics.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/observability/platformMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EACL,KAAK,4BAA4B,EAGlC,MAAM,4BAA4B,CAAA;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAU7D,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,UAAU,CAAA;IAChB,wFAAwF;IACxF,qBAAqB,EAAE,IAAI,CAAC,4BAA4B,EAAE,WAAW,CAAC,GAAG,SAAS,CAAA;IAClF,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAA;IAC7D,MAAM,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CA6B7F"}
|
|
@@ -28,11 +28,11 @@ export function runPlatformMetricsSweep(deps) {
|
|
|
28
28
|
})
|
|
29
29
|
.then((exported) => {
|
|
30
30
|
if (exported > 0)
|
|
31
|
-
logger.info({ cron: 'platform-metrics', exported }
|
|
31
|
+
logger.info('exported platform metrics', { cron: 'platform-metrics', exported });
|
|
32
32
|
})
|
|
33
|
-
.catch((error) => logger.error({
|
|
33
|
+
.catch((error) => logger.error('platform metrics sweep failed', {
|
|
34
34
|
cron: 'platform-metrics',
|
|
35
35
|
err: error instanceof Error ? error.message : String(error),
|
|
36
|
-
}
|
|
36
|
+
}));
|
|
37
37
|
}
|
|
38
38
|
//# sourceMappingURL=platformMetrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformMetrics.js","sourceRoot":"","sources":["../../../src/infrastructure/observability/platformMetrics.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAA;AAqBnF;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAA+B;IACrE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IACpF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,qBAAqB;QAAE,OAAO,IAAI,CAAA;IAE1F,MAAM,QAAQ,GAAG,iCAAiC,CAAC;QACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM;QACN,SAAS;KACV,CAAC,CAAA;IAEF,OAAO,oBAAoB,CAAC;QAC1B,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3F,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;QACpF,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;QACnC,MAAM;KACP,CAAC;SACC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,IAAI,QAAQ,GAAG,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"platformMetrics.js","sourceRoot":"","sources":["../../../src/infrastructure/observability/platformMetrics.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAA;AAqBnF;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAA+B;IACrE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IACpF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,qBAAqB;QAAE,OAAO,IAAI,CAAA;IAE1F,MAAM,QAAQ,GAAG,iCAAiC,CAAC;QACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM;QACN,SAAS;KACV,CAAC,CAAA;IAEF,OAAO,oBAAoB,CAAC;QAC1B,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3F,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;QACpF,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;QACnC,MAAM;KACP,CAAC;SACC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,IAAI,QAAQ,GAAG,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAA;IACpF,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;QAC5C,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC5D,CAAC,CACH,CAAA;AACL,CAAC"}
|
|
@@ -65,7 +65,7 @@ export class BootstrapWorkflow extends WorkflowEntrypoint {
|
|
|
65
65
|
// half-alive-but-busy container from a dead one, so we favour recovery and let the poll
|
|
66
66
|
// budget + container watchdogs (not a throw-count) decide the end.
|
|
67
67
|
pollReadFailures += 1;
|
|
68
|
-
log.warn(
|
|
68
|
+
log.warn('bootstrap poll could not read job status; treating as still running and retrying', { err: error instanceof Error ? error.message : String(error), pollReadFailures });
|
|
69
69
|
continue;
|
|
70
70
|
}
|
|
71
71
|
pollReadFailures = 0;
|
|
@@ -74,7 +74,7 @@ export class BootstrapWorkflow extends WorkflowEntrypoint {
|
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
76
|
if (result.state === 'failed') {
|
|
77
|
-
log.warn({ error: result.error }
|
|
77
|
+
log.warn('bootstrap run failed', { error: result.error });
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
// still running — loop and poll again after the next durable sleep.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BootstrapWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/BootstrapWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAQhD,oFAAoF;AACpF,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE;IACjE,OAAO,EAAE,WAAW;CACQ,CAAA;AAE9B;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,kBAAgD;IAC5E,KAAK,CAAC,GAAG,CAChB,KAA6C,EAC7C,IAAkB;QAElB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5C,mFAAmF;QACnF,wFAAwF;QACxF,0FAA0F;QAC1F,wEAAwE;QACxE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,oBAAoB,CAC1D,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAC3F,IAAI,EACJ,WAAW,CACZ,CAAA;QACD,MAAM,YAAY,GAAG,UAAU,CAAC,eAAwC,CAAA;QACxE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;QAEvE,6EAA6E;QAC7E,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,iFAAiF;QACjF,6EAA6E;QAC7E,IAAI,gBAAgB,GAAG,CAAC,CAAA;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,kFAAkF;YAClF,gFAAgF;YAChF,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;YAC3D,IAAI,MAA2B,CAAA;YAC/B,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;oBAC3D,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;wBACzB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;oBACvD,CAAC;oBACD,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBACzE,CAAC,CAAC,CAAwB,CAAA;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wFAAwF;gBACxF,qFAAqF;gBACrF,0FAA0F;gBAC1F,uFAAuF;gBACvF,kFAAkF;gBAClF,uFAAuF;gBACvF,yFAAyF;gBACzF,kFAAkF;gBAClF,EAAE;gBACF,0FAA0F;gBAC1F,wFAAwF;gBACxF,uFAAuF;gBACvF,wFAAwF;gBACxF,mEAAmE;gBACnE,gBAAgB,IAAI,CAAC,CAAA;gBACrB,GAAG,CAAC,IAAI,CACN,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"BootstrapWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/BootstrapWorkflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ export class EnvConfigRepairWorkflow extends WorkflowEntrypoint {
|
|
|
49
49
|
}
|
|
50
50
|
catch (error) {
|
|
51
51
|
pollReadFailures += 1;
|
|
52
|
-
log.warn(
|
|
52
|
+
log.warn('env-config-repair poll could not read job status; treating as still running and retrying', { err: error instanceof Error ? error.message : String(error), pollReadFailures });
|
|
53
53
|
// Keep the instance ALIVE and keep polling — see BootstrapWorkflow (F2): returning on a
|
|
54
54
|
// transient read failure would make the instance terminal and get the still-`running`
|
|
55
55
|
// job finalized as STOPPED by the sweeper instead of resumed. A vanished container
|
|
@@ -63,7 +63,7 @@ export class EnvConfigRepairWorkflow extends WorkflowEntrypoint {
|
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
if (result.state === 'failed') {
|
|
66
|
-
log.warn(
|
|
66
|
+
log.warn('env-config-repair run failed', { error: result.error });
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
// still running — loop and poll again after the next durable sleep.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvConfigRepairWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/EnvConfigRepairWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAQhD,oFAAoF;AACpF,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE;IACjE,OAAO,EAAE,WAAW;CACQ,CAAA;AAE9B;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAwB,SAAQ,kBAG5C;IACU,KAAK,CAAC,GAAG,CAChB,KAAmD,EACnD,IAAkB;QAElB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5C,mFAAmF;QACnF,wFAAwF;QACxF,0FAA0F;QAC1F,eAAe;QACf,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,oBAAoB,CAC1D,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAC3F,IAAI,EACJ,QAAQ,CACT,CAAA;QACD,MAAM,YAAY,GAAG,UAAU,CAAC,eAAwC,CAAA;QACxE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAE/E,sFAAsF;QACtF,mFAAmF;QACnF,yFAAyF;QACzF,eAAe;QACf,IAAI,gBAAgB,GAAG,CAAC,CAAA;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,yEAAyE;YACzE,gFAAgF;YAChF,iBAAiB;YACjB,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;YAC3D,IAAI,MAAiC,CAAA;YACrC,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;oBAC3D,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;wBAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;oBAC/D,CAAC;oBACD,OAAO,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBACtE,CAAC,CAAC,CAA8B,CAAA;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,IAAI,CAAC,CAAA;gBACrB,GAAG,CAAC,IAAI,CACN,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"EnvConfigRepairWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/EnvConfigRepairWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAQhD,oFAAoF;AACpF,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE;IACjE,OAAO,EAAE,WAAW;CACQ,CAAA;AAE9B;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAwB,SAAQ,kBAG5C;IACU,KAAK,CAAC,GAAG,CAChB,KAAmD,EACnD,IAAkB;QAElB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5C,mFAAmF;QACnF,wFAAwF;QACxF,0FAA0F;QAC1F,eAAe;QACf,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,oBAAoB,CAC1D,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAC3F,IAAI,EACJ,QAAQ,CACT,CAAA;QACD,MAAM,YAAY,GAAG,UAAU,CAAC,eAAwC,CAAA;QACxE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAE/E,sFAAsF;QACtF,mFAAmF;QACnF,yFAAyF;QACzF,eAAe;QACf,IAAI,gBAAgB,GAAG,CAAC,CAAA;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,yEAAyE;YACzE,gFAAgF;YAChF,iBAAiB;YACjB,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;YAC3D,IAAI,MAAiC,CAAA;YACrC,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;oBAC3D,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;wBAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;oBAC/D,CAAC;oBACD,OAAO,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBACtE,CAAC,CAAC,CAA8B,CAAA;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,IAAI,CAAC,CAAA;gBACrB,GAAG,CAAC,IAAI,CACN,0FAA0F,EAC1F,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAClF,CAAA;gBACD,wFAAwF;gBACxF,sFAAsF;gBACtF,mFAAmF;gBACnF,uFAAuF;gBACvF,qBAAqB;gBACrB,SAAQ;YACV,CAAC;YACD,gBAAgB,GAAG,CAAC,CAAA;YACpB,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;gBACjE,OAAM;YACR,CAAC;YACD,oEAAoE;QACtE,CAAC;QACD,qFAAqF;QACrF,gFAAgF;QAChF,GAAG,CAAC,IAAI,CACN,wFAAwF,CACzF,CAAA;IACH,CAAC;CACF"}
|
|
@@ -44,7 +44,7 @@ export class EnvironmentTestWorkflow extends WorkflowEntrypoint {
|
|
|
44
44
|
}
|
|
45
45
|
catch (error) {
|
|
46
46
|
pollReadFailures += 1;
|
|
47
|
-
log.warn(
|
|
47
|
+
log.warn('env-test poll could not advance the run; treating as still running and retrying', { err: error instanceof Error ? error.message : String(error), pollReadFailures });
|
|
48
48
|
continue;
|
|
49
49
|
}
|
|
50
50
|
pollReadFailures = 0;
|
|
@@ -53,7 +53,7 @@ export class EnvironmentTestWorkflow extends WorkflowEntrypoint {
|
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
if (result.state === 'failed') {
|
|
56
|
-
log.warn({ error: result.error }
|
|
56
|
+
log.warn('env-test run failed', { error: result.error });
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
59
|
// still running — loop and advance again after the next durable sleep.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentTestWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/EnvironmentTestWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAQhD,oFAAoF;AACpF,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE;IACjE,OAAO,EAAE,WAAW;CACQ,CAAA;AAE9B;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAwB,SAAQ,kBAG5C;IACU,KAAK,CAAC,GAAG,CAChB,KAAmD,EACnD,IAAkB;QAElB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,oBAAoB,CAC1D,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAC3F,IAAI,EACJ,UAAU,CACX,CAAA;QACD,MAAM,YAAY,GAAG,UAAU,CAAC,eAAwC,CAAA;QACxE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;QAEtE,2EAA2E;QAC3E,0FAA0F;QAC1F,6EAA6E;QAC7E,mDAAmD;QACnD,IAAI,gBAAgB,GAAG,CAAC,CAAA;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,iFAAiF;YACjF,qEAAqE;YACrE,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;YAC3D,IAAI,MAAiC,CAAA;YACrC,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;oBAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,EAAE,eAAe,CAAA;oBACvD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;oBAC9D,CAAC;oBACD,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBAChD,CAAC,CAAC,CAA8B,CAAA;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,IAAI,CAAC,CAAA;gBACrB,GAAG,CAAC,IAAI,CACN,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"EnvironmentTestWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/EnvironmentTestWorkflow.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;AAKjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAWpE;;;;;;;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,
|
|
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;AAWpE;;;;;;;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,CA+Pf;CACF"}
|
|
@@ -37,7 +37,7 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
37
37
|
// thousands/day a 30s busy-loop would accrue toward the Workflows per-instance limit.
|
|
38
38
|
const pauseRecheckTimeout = decisionTimeout;
|
|
39
39
|
const failRun = async (i, message, kind = 'agent', detail = null) => {
|
|
40
|
-
logger.warn({ workspaceId, executionId, step: i }
|
|
40
|
+
logger.warn(`failing run: ${message}`, { workspaceId, executionId, step: i });
|
|
41
41
|
await step.do(`fail-${i}`, () => container.executionService.failRun(workspaceId, executionId, message, kind, detail));
|
|
42
42
|
};
|
|
43
43
|
// Run one durable status read, converting a *thrown* (transient) poll error into a
|
|
@@ -72,7 +72,14 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
72
72
|
const attempt = await pollOnce(`poll-${i}-${p}`, () => container.executionService.pollAgentJob(workspaceId, executionId));
|
|
73
73
|
if (attempt.kind === 'read_failed') {
|
|
74
74
|
pollReadFailures += 1;
|
|
75
|
-
logger.warn(
|
|
75
|
+
logger.warn('poll could not read job status; treating as still running and retrying', {
|
|
76
|
+
workspaceId,
|
|
77
|
+
executionId,
|
|
78
|
+
step: i,
|
|
79
|
+
poll: p,
|
|
80
|
+
pollReadFailures,
|
|
81
|
+
err: attempt.message,
|
|
82
|
+
});
|
|
76
83
|
if (pollReadFailures < execConfig.jobPollFailureTolerance)
|
|
77
84
|
continue;
|
|
78
85
|
await failRun(i, `Job status was unreadable for ${pollReadFailures} consecutive polls; ` +
|
|
@@ -106,7 +113,7 @@ export class ExecutionWorkflow extends WorkflowEntrypoint {
|
|
|
106
113
|
const attempt = await pollOnce(`gate-poll-${i}-${p}`, () => container.executionService.pollGate(workspaceId, executionId));
|
|
107
114
|
if (attempt.kind === 'read_failed') {
|
|
108
115
|
pollReadFailures += 1;
|
|
109
|
-
logger.warn({ workspaceId, executionId, step: i, poll: p, pollReadFailures, err: attempt.message }
|
|
116
|
+
logger.warn('gate poll could not read its precheck; treating as still pending and retrying', { workspaceId, executionId, step: i, poll: p, pollReadFailures, err: attempt.message });
|
|
110
117
|
if (pollReadFailures < execConfig.jobPollFailureTolerance)
|
|
111
118
|
continue;
|
|
112
119
|
await failRun(i, `Gate precheck was unreadable for ${pollReadFailures} consecutive polls ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,oBAAoB,CAAA;AAI3B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAGhD,kFAAkF;AAClF,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE;IACjE,OAAO,EAAE,WAAW;CACQ,CAAA;AAK9B;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAkB,SAAQ,kBAAgD;IAC5E,KAAK,CAAC,GAAG,CAChB,KAA6C,EAC7C,IAAkB;QAElB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAA;QAClD,iFAAiF;QACjF,kFAAkF;QAClF,+EAA+E;QAC/E,wFAAwF;QACxF,oFAAoF;QACpF,qCAAqC;QACrC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,oBAAoB,CAC1D,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAC3F,IAAI,EACJ,MAAM,CACP,CAAA;QACD,MAAM,eAAe,GAAG,UAAU,CAAC,eAAwC,CAAA;QAC3E,MAAM,eAAe,GAAG,UAAU,CAAC,eAAwC,CAAA;QAC3E,MAAM,cAAc,GAAG,UAAU,CAAC,cAAuC,CAAA;QACzE,yFAAyF;QACzF,2FAA2F;QAC3F,0FAA0F;QAC1F,0FAA0F;QAC1F,wFAAwF;QACxF,sFAAsF;QACtF,MAAM,mBAAmB,GAAG,eAAe,CAAA;QAE3C,MAAM,OAAO,GAAG,KAAK,EACnB,CAAS,EACT,OAAe,EACf,IAAI,GAAqB,OAAO,EAChC,MAAM,GAAkB,IAAI,EACb,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"ExecutionWorkflow.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/ExecutionWorkflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export class WorkflowsEnvironmentTestRunner {
|
|
|
22
22
|
// re-drive racing a live instance) — the existing instance is authoritative. Log it
|
|
23
23
|
// regardless: a GENUINE create failure (rate limit, outage) strands the run until
|
|
24
24
|
// the cron env-test sweep re-drives it, and this line is the only trace of why.
|
|
25
|
-
logger.warn({ workspaceId, runId: id, err: error instanceof Error ? error.message : String(error) }
|
|
25
|
+
logger.warn('env-test workflow create was rejected; relying on the existing instance or the sweeper', { workspaceId, runId: id, err: error instanceof Error ? error.message : String(error) });
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
async cancelRun(_workspaceId, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowsEnvironmentTestRunner.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/WorkflowsEnvironmentTestRunner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,OAAO,8BAA8B;IACZ,QAAQ;IAArC,YAA6B,QAAkB;wBAAlB,QAAQ;IAAa,CAAC;IAEnD,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,EAAU;QAC5C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzB,EAAE;gBACF,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAA0C;aAC3E,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kFAAkF;YAClF,oFAAoF;YACpF,kFAAkF;YAClF,gFAAgF;YAChF,MAAM,CAAC,IAAI,CACT,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"WorkflowsEnvironmentTestRunner.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/WorkflowsEnvironmentTestRunner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,OAAO,8BAA8B;IACZ,QAAQ;IAArC,YAA6B,QAAkB;wBAAlB,QAAQ;IAAa,CAAC;IAEnD,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,EAAU;QAC5C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzB,EAAE;gBACF,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAA0C;aAC3E,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kFAAkF;YAClF,oFAAoF;YACpF,kFAAkF;YAClF,gFAAgF;YAChF,MAAM,CAAC,IAAI,CACT,wFAAwF,EACxF,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxF,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAAoB,EAAE,EAAU;QAC9C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5C,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAA;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,8EAA8E;QAChF,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type WorkRunner } from '@cat-factory/kernel';
|
|
2
2
|
import type { Queue, Workflow } from '@cloudflare/workers-types';
|
|
3
3
|
import type { ExecutionStartMessage } from '../env';
|
|
4
4
|
/** Params passed to a Workflows instance; also the queue message shape. */
|
|
@@ -21,6 +21,7 @@ export interface WorkflowsWorkRunnerDeps {
|
|
|
21
21
|
export declare class WorkflowsWorkRunner implements WorkRunner {
|
|
22
22
|
private readonly workflow;
|
|
23
23
|
private readonly queue?;
|
|
24
|
+
private readonly log;
|
|
24
25
|
constructor({ workflow, queue }: WorkflowsWorkRunnerDeps);
|
|
25
26
|
startRun(workspaceId: string, executionId: string): Promise<void>;
|
|
26
27
|
/** Create the Workflows instance, tolerating an existing one (idempotent). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowsWorkRunner.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/WorkflowsWorkRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"WorkflowsWorkRunner.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/workflows/WorkflowsWorkRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAGnD,2EAA2E;AAC3E,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,CAAA;IAClB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAA8B;IASrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAwC;IAE5D,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,uBAAuB,EAGvD;IAEK,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;IAED,8EAA8E;IACxE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAepE;IAEK,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAcf;IAEK,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3E;IAEK,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxE;CACF"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { describeError } from '@cat-factory/kernel';
|
|
2
|
+
import { logger } from '../observability/logger';
|
|
1
3
|
/**
|
|
2
4
|
* Drives runs durably via Cloudflare Workflows. Each run maps to one Workflows
|
|
3
5
|
* instance whose id is the execution id, which makes start idempotent and lets
|
|
@@ -8,6 +10,15 @@
|
|
|
8
10
|
export class WorkflowsWorkRunner {
|
|
9
11
|
workflow;
|
|
10
12
|
queue;
|
|
13
|
+
// Every method below swallows by design — the DB write is authoritative in each case and a
|
|
14
|
+
// throw here would fail a caller that has already committed. But each `catch` covers TWO
|
|
15
|
+
// populations: the expected one (an instance that already exists / is already finished) and
|
|
16
|
+
// an infrastructure fault (a quota rejection, an unbound Workflows namespace). Only the
|
|
17
|
+
// second is actionable, and until now nothing distinguished them — `runtime.ts`'s own
|
|
18
|
+
// docstring records a decision silently discarded through exactly this gap. `debug`, not
|
|
19
|
+
// `warn`: on the healthy path these fire constantly, so they belong in the verbose tier an
|
|
20
|
+
// operator turns on during an incident.
|
|
21
|
+
log = logger.child({ runner: 'workflows' });
|
|
11
22
|
constructor({ workflow, queue }) {
|
|
12
23
|
this.workflow = workflow;
|
|
13
24
|
this.queue = queue;
|
|
@@ -27,9 +38,14 @@ export class WorkflowsWorkRunner {
|
|
|
27
38
|
params: { workspaceId, executionId },
|
|
28
39
|
});
|
|
29
40
|
}
|
|
30
|
-
catch {
|
|
31
|
-
//
|
|
32
|
-
// re-drive racing a live instance)
|
|
41
|
+
catch (error) {
|
|
42
|
+
// Usually: an instance with this id already exists (a duplicate start or a sweeper
|
|
43
|
+
// re-drive racing a live instance), and the existing instance is authoritative.
|
|
44
|
+
this.log.debug('workflow create swallowed', {
|
|
45
|
+
workspaceId,
|
|
46
|
+
executionId,
|
|
47
|
+
...describeError(error),
|
|
48
|
+
});
|
|
33
49
|
}
|
|
34
50
|
}
|
|
35
51
|
async signalDecision(_workspaceId, executionId, decisionId, choice) {
|
|
@@ -37,9 +53,15 @@ export class WorkflowsWorkRunner {
|
|
|
37
53
|
const instance = await this.workflow.get(executionId);
|
|
38
54
|
await instance.sendEvent({ type: `decision-${decisionId}`, payload: { choice } });
|
|
39
55
|
}
|
|
40
|
-
catch {
|
|
41
|
-
//
|
|
42
|
-
//
|
|
56
|
+
catch (error) {
|
|
57
|
+
// Usually: no live instance to signal (tick fallback / already finished). The DB write
|
|
58
|
+
// in resolveDecision remains the source of truth.
|
|
59
|
+
this.log.debug('workflow decision signal swallowed', {
|
|
60
|
+
executionId,
|
|
61
|
+
decisionId,
|
|
62
|
+
choice,
|
|
63
|
+
...describeError(error),
|
|
64
|
+
});
|
|
43
65
|
}
|
|
44
66
|
}
|
|
45
67
|
async signalResume(_workspaceId, executionId) {
|
|
@@ -49,9 +71,14 @@ export class WorkflowsWorkRunner {
|
|
|
49
71
|
// waiting out the periodic budget re-check. The event type is fixed (one pause per run).
|
|
50
72
|
await instance.sendEvent({ type: 'spend-resume', payload: {} });
|
|
51
73
|
}
|
|
52
|
-
catch {
|
|
53
|
-
//
|
|
54
|
-
// resumePaused is the source of truth; the instance picks it up on its
|
|
74
|
+
catch (error) {
|
|
75
|
+
// Usually: no live instance to wake (already resumed / finished). The DB flip to
|
|
76
|
+
// `running` in resumePaused is the source of truth; the instance picks it up on its
|
|
77
|
+
// next re-check.
|
|
78
|
+
this.log.debug('workflow resume signal swallowed', {
|
|
79
|
+
executionId,
|
|
80
|
+
...describeError(error),
|
|
81
|
+
});
|
|
55
82
|
}
|
|
56
83
|
}
|
|
57
84
|
async cancelRun(_workspaceId, executionId) {
|
|
@@ -59,8 +86,9 @@ export class WorkflowsWorkRunner {
|
|
|
59
86
|
const instance = await this.workflow.get(executionId);
|
|
60
87
|
await instance.terminate();
|
|
61
88
|
}
|
|
62
|
-
catch {
|
|
63
|
-
//
|
|
89
|
+
catch (error) {
|
|
90
|
+
// Usually: nothing live to cancel.
|
|
91
|
+
this.log.debug('workflow cancel swallowed', { executionId, ...describeError(error) });
|
|
64
92
|
}
|
|
65
93
|
}
|
|
66
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowsWorkRunner.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/WorkflowsWorkRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkflowsWorkRunner.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/WorkflowsWorkRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
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;AAI/D,uGAAuG;AACvG,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpE;AAOD;;;;;;;;;;;;;;;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,CAsBZ"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { describeError } from '@cat-factory/kernel';
|
|
2
|
+
import { logger } from '../observability/logger';
|
|
1
3
|
/** How many times to (re-)attempt the per-wake DI construction before giving up. */
|
|
2
4
|
const WORKFLOW_BUILD_ATTEMPTS = 3;
|
|
3
5
|
/** Durable pause between construction attempts (a wake blip usually clears in seconds). */
|
|
@@ -26,6 +28,15 @@ export async function buildWorkflowRuntime(build, step, label, attempts = WORKFL
|
|
|
26
28
|
}
|
|
27
29
|
catch (err) {
|
|
28
30
|
lastErr = err;
|
|
31
|
+
// The docstring above says a persistent failure "SHOULD fail loudly" — but until this
|
|
32
|
+
// line the only trace of the retries was in the Workflows console, so a deployment that
|
|
33
|
+
// recovered on attempt 3 looked identical to one that never stumbled.
|
|
34
|
+
logger.warn('workflow runtime build failed; retrying', {
|
|
35
|
+
label,
|
|
36
|
+
attempt: attempt + 1,
|
|
37
|
+
attempts,
|
|
38
|
+
...describeError(err),
|
|
39
|
+
});
|
|
29
40
|
if (attempt < attempts - 1) {
|
|
30
41
|
await step.sleep(`${label}-build-retry-${attempt}`, BUILD_RETRY_DELAY);
|
|
31
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/infrastructure/workflows/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAOhD,oFAAoF;AACpF,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACjC,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,sFAAsF;YACtF,wFAAwF;YACxF,sEAAsE;YACtE,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;gBACrD,KAAK;gBACL,OAAO,EAAE,OAAO,GAAG,CAAC;gBACpB,QAAQ;gBACR,GAAG,aAAa,CAAC,GAAG,CAAC;aACtB,CAAC,CAAA;YACF,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.112.0",
|
|
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,22 +42,22 @@
|
|
|
42
42
|
"pino": "^10.3.1",
|
|
43
43
|
"valibot": "^1.4.2",
|
|
44
44
|
"workers-ai-provider": "^4.0.0",
|
|
45
|
-
"@cat-factory/agents": "0.
|
|
46
|
-
"@cat-factory/caching": "0.
|
|
47
|
-
"@cat-factory/consensus": "0.
|
|
48
|
-
"@cat-factory/contracts": "0.
|
|
49
|
-
"@cat-factory/eks": "0.1.
|
|
50
|
-
"@cat-factory/gates": "0.
|
|
51
|
-
"@cat-factory/gitlab": "0.13.
|
|
52
|
-
"@cat-factory/integrations": "0.
|
|
53
|
-
"@cat-factory/kernel": "0.
|
|
54
|
-
"@cat-factory/observability-langfuse": "0.
|
|
55
|
-
"@cat-factory/observability-otel": "0.
|
|
56
|
-
"@cat-factory/orchestration": "0.
|
|
57
|
-
"@cat-factory/prompt-fragments": "0.15.
|
|
58
|
-
"@cat-factory/provider-cloudflare": "0.7.
|
|
59
|
-
"@cat-factory/server": "0.
|
|
60
|
-
"@cat-factory/spend": "0.12.
|
|
45
|
+
"@cat-factory/agents": "0.76.0",
|
|
46
|
+
"@cat-factory/caching": "0.11.0",
|
|
47
|
+
"@cat-factory/consensus": "0.12.0",
|
|
48
|
+
"@cat-factory/contracts": "0.179.0",
|
|
49
|
+
"@cat-factory/eks": "0.1.153",
|
|
50
|
+
"@cat-factory/gates": "0.8.0",
|
|
51
|
+
"@cat-factory/gitlab": "0.13.20",
|
|
52
|
+
"@cat-factory/integrations": "0.104.0",
|
|
53
|
+
"@cat-factory/kernel": "0.172.0",
|
|
54
|
+
"@cat-factory/observability-langfuse": "0.8.0",
|
|
55
|
+
"@cat-factory/observability-otel": "0.3.0",
|
|
56
|
+
"@cat-factory/orchestration": "0.152.0",
|
|
57
|
+
"@cat-factory/prompt-fragments": "0.15.2",
|
|
58
|
+
"@cat-factory/provider-cloudflare": "0.7.305",
|
|
59
|
+
"@cat-factory/server": "0.163.0",
|
|
60
|
+
"@cat-factory/spend": "0.12.101"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@cloudflare/vitest-pool-workers": "^0.18.8",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"typescript": "7.0.2",
|
|
66
66
|
"vitest": "^4.1.10",
|
|
67
67
|
"wrangler": "^4.114.0",
|
|
68
|
-
"@cat-factory/conformance": "0.12.
|
|
68
|
+
"@cat-factory/conformance": "0.12.17"
|
|
69
69
|
},
|
|
70
70
|
"scripts": {
|
|
71
71
|
"build": "tsc -b tsconfig.build.json",
|