@cat-factory/orchestration 0.272.1 → 0.273.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/modules/environments/EnvironmentTestService.d.ts +2 -2
- package/dist/modules/environments/EnvironmentTestService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentTestService.js +2 -2
- package/dist/modules/environments/EnvironmentTestService.js.map +1 -1
- package/dist/modules/execution/DeployFixController.d.ts +117 -0
- package/dist/modules/execution/DeployFixController.d.ts.map +1 -0
- package/dist/modules/execution/DeployFixController.js +254 -0
- package/dist/modules/execution/DeployFixController.js.map +1 -0
- package/dist/modules/execution/DeployerStepController.d.ts +7 -0
- package/dist/modules/execution/DeployerStepController.d.ts.map +1 -1
- package/dist/modules/execution/DeployerStepController.js +36 -6
- package/dist/modules/execution/DeployerStepController.js.map +1 -1
- package/dist/modules/execution/RunDispatcher.d.ts +4 -0
- package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
- package/dist/modules/execution/RunDispatcher.js +37 -32
- package/dist/modules/execution/RunDispatcher.js.map +1 -1
- package/dist/modules/execution/SettledHelperRouter.d.ts +43 -0
- package/dist/modules/execution/SettledHelperRouter.d.ts.map +1 -0
- package/dist/modules/execution/SettledHelperRouter.js +27 -0
- package/dist/modules/execution/SettledHelperRouter.js.map +1 -0
- package/dist/modules/execution/StepGraph.d.ts.map +1 -1
- package/dist/modules/execution/StepGraph.js +6 -0
- package/dist/modules/execution/StepGraph.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Block, Clock, ConnectionTestResult, EnvironmentHandle, EnvironmentTestRun, ExecutionEventPublisher, IdGenerator, Logger, ResolveRunRepoContext, RunnerJobRef, RunnerJobView } from '@cat-factory/kernel';
|
|
2
2
|
import type { BlockRepository, EnvironmentTestRunner, EnvironmentTestRunRepository, WorkspaceRepository } from '@cat-factory/kernel';
|
|
3
|
-
import type { ProvisionArgs, ProvisionDispatch } from '@cat-factory/integrations';
|
|
3
|
+
import type { ProvisionArgs, ProvisionDispatch, SettledProvision } from '@cat-factory/integrations';
|
|
4
4
|
/** The poll's terminal-ness, returned to the durable driver so it knows when to stop. */
|
|
5
5
|
export interface EnvironmentTestPollResult {
|
|
6
6
|
state: 'running' | 'done' | 'failed';
|
|
@@ -22,7 +22,7 @@ export interface EnvironmentTestProvisioning {
|
|
|
22
22
|
testProvisioning(workspaceId: string, service: NonNullable<Block['provisioning']>, initiatedBy?: string | null): Promise<ConnectionTestResult | null>;
|
|
23
23
|
startProvision(args: ProvisionArgs, ref: RunnerJobRef): Promise<ProvisionDispatch>;
|
|
24
24
|
pollProvisionJob(workspaceId: string, ref: RunnerJobRef): Promise<RunnerJobView>;
|
|
25
|
-
finalizeProvision(args: ProvisionArgs, view: RunnerJobView): Promise<
|
|
25
|
+
finalizeProvision(args: ProvisionArgs, view: RunnerJobView): Promise<SettledProvision>;
|
|
26
26
|
releaseProvisionJob(workspaceId: string, ref: RunnerJobRef): Promise<void>;
|
|
27
27
|
/**
|
|
28
28
|
* Re-poll a recorded environment's status via its provider (`provider.status`) and persist any
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentTestService.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentTestService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,KAAK,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EAErB,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"EnvironmentTestService.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentTestService.ts"],"names":[],"mappings":"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"}
|
|
@@ -242,7 +242,7 @@ export class EnvironmentTestService {
|
|
|
242
242
|
// the finalized record (externalId et al.) is what cleanup tears it down through.
|
|
243
243
|
await this.deps.provisioning.releaseProvisionJob(record.workspaceId, this.ref(record.id));
|
|
244
244
|
try {
|
|
245
|
-
const handle = await this.deps.provisioning.finalizeProvision(this.provisionArgs(record, record.branch), view);
|
|
245
|
+
const { handle } = await this.deps.provisioning.finalizeProvision(this.provisionArgs(record, record.branch), view);
|
|
246
246
|
record.environmentId = handle.id;
|
|
247
247
|
await this.guardedUpdate(record, { environmentId: handle.id });
|
|
248
248
|
}
|
|
@@ -253,7 +253,7 @@ export class EnvironmentTestService {
|
|
|
253
253
|
}
|
|
254
254
|
// Done: reclaim the deploy runner, finalize the env record, move to teardown.
|
|
255
255
|
await this.deps.provisioning.releaseProvisionJob(record.workspaceId, this.ref(record.id));
|
|
256
|
-
const handle = await this.deps.provisioning.finalizeProvision(this.provisionArgs(record, record.branch), view);
|
|
256
|
+
const { handle } = await this.deps.provisioning.finalizeProvision(this.provisionArgs(record, record.branch), view);
|
|
257
257
|
if (handle.status === 'failed') {
|
|
258
258
|
// Persist the finalized env id first so fail()'s cleanup tears it down.
|
|
259
259
|
record.environmentId = handle.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentTestService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentTestService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnvironmentTestService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentTestService.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAwF5B,SAAS,KAAK,CAAC,MAAgC;IAC7C,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,EAAE;AACF,6EAA6E;AAC7E,uEAAuE;AACvE,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAE9E,MAAM,OAAO,sBAAsB;IACJ,IAAI;IAAjC,YAA6B,IAAwC;oBAAxC,IAAI;IAAuC,CAAC;IAEzE,0FAA0F;IAClF,gBAAgB,CAAC,KAAa;QACpC,OAAO,YAAY,KAAK,EAAE,CAAA;IAC5B,CAAC;IAEO,GAAG,CAAC,KAAa;QACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,EAAU;QAC1C,OAAO,KAAK,CACV,WAAW,CACT,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EACjE,sBAAsB,EACtB,EAAE,CACH,CACF,CAAA;IACH,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAA;QAChG,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,WAAmB,EACnB,OAAe,EACf,WAA2B;QAE3B,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAElE,MAAM,KAAK,GAAG,WAAW,CACvB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EACzD,OAAO,EACP,OAAO,CACR,CAAA;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CACrB,sEAAsE,EACtE,sBAAsB,CACvB,CAAA;QACH,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACvD,MAAM,IAAI,aAAa,CACrB,4EAA4E,EAC5E,oBAAoB,CACrB,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;QAC9F,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CACrB,uFAAuF,EACvF,4BAA4B;YAC5B,uFAAuF;YACvF,2EAA2E;YAC3E,iFAAiF;YACjF,sFAAsF;YACtF,sEAAsE;YACtE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CACxD,CAAA;QACH,CAAC;QACD,gGAAgG;QAChG,iGAAiG;QACjG,8FAA8F;QAC9F,+FAA+F;QAC/F,iGAAiG;QACjG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACzD,WAAW,EACX,YAAY,EACZ,WAAW,CACZ,CAAA;QACD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,aAAa,CACrB,KAAK,CAAC,OAAO,IAAI,6DAA6D,EAC9E,4BAA4B,CAC7B,CAAA;QACH,CAAC;QACD,qFAAqF;QACrF,6DAA6D;QAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACzE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,aAAa,CACrB,sFAAsF,EACtF,iBAAiB,CAClB,CAAA;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,MAAM,GAA6B;YACvC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;YACzC,WAAW;YACX,OAAO;YACP,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,WAAW,IAAI,IAAI;YAChC,8EAA8E;YAC9E,4EAA4E;YAC5E,6CAA6C;YAC7C,YAAY;YACZ,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3D,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvB,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,UAAU,uBAAuB,CAAC,CAAA;YAC9F,CAAC;YACD,MAAM,MAAM,GAAG,wBAAwB,MAAM,CAAC,EAAE,EAAE,CAAA;YAClD,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC9C,4EAA4E;YAC5E,iFAAiF;YACjF,yEAAyE;YACzE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;YACtB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrE,CAAC;YAED,wFAAwF;YACxF,0FAA0F;YAC1F,qFAAqF;YACrF,uFAAuF;YACvF,wFAAwF;YACxF,yFAAyF;YACzF,oCAAoC;YACpC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrE,CAAC;YAED,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAC1D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACpB,CAAA;YACD,IACE,QAAQ,CAAC,IAAI,KAAK,WAAW;gBAC7B,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACzB,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACjC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG;iBAC5B,CAAC,CAAC,EACH,CAAC;gBACD,+EAA+E;gBAC/E,6EAA6E;gBAC7E,8DAA8D;gBAC9D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrE,CAAC;YAED,2EAA2E;YAC3E,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;YACxD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,EAAU;QAC/C,MAAM,MAAM,GAAG,WAAW,CACxB,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EACjE,sBAAsB,EACtB,EAAE,CACH,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;QAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAA;QAE5F,IAAI,CAAC;YACH,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,iBAAiB;oBACpB,yEAAyE;oBACzE,2EAA2E;oBAC3E,4EAA4E;oBAC5E,6EAA6E;oBAC7E,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;gBACH,KAAK,cAAc;oBACjB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;gBAC/C,KAAK,cAAc;oBACjB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;gBAC3C,KAAK,iBAAiB;oBACpB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;gBAC/C;oBACE,0EAA0E;oBAC1E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;YAClE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS,EAAE,CAAA;QAC3D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,MAAgC;QAEhC,8FAA8F;QAC9F,6FAA6F;QAC7F,gGAAgG;QAChG,iGAAiG;QACjG,6FAA6F;QAC7F,6FAA6F;QAC7F,6FAA6F;QAC7F,8FAA8F;QAC9F,iDAAiD;QACjD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CACvD,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,aAAa,CACrB,CAAA;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACvB,KAAK,EAAE,cAAc;oBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9C,CAAC,CAAA;gBACF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;YAC7B,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBACrC,yEAAyE;gBACzE,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;gBAClD,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;YAC7B,CAAC;YACD,oFAAoF;YACpF,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS;gBACd,0DAA0D,MAAM,CAAC,MAAM,IAAI,CAC9E,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACxD,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACpB,CAAA;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;QACzD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,mFAAmF;YACnF,mFAAmF;YACnF,kFAAkF;YAClF,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YACzF,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAC/D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EACzC,IAAI,CACL,CAAA;gBACD,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAA;gBAChC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,0EAA0E;YAC5E,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,kCAAkC,CAAC,CAAA;QACnE,CAAC;QACD,8EAA8E;QAC9E,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACzF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAC/D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EACzC,IAAI,CACL,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,wEAAwE;YACxE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAA;YAChC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAC9D,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,kCAAkC,CAAC,CAAA;QACzE,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACvB,KAAK,EAAE,cAAc;YACrB,aAAa,EAAE,MAAM,CAAC,EAAE;YACxB,MAAM,EAAE,MAAM,CAAC,GAAG;SACnB,CAAC,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,MAAgC;QAEhC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;YAC7E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wFAAwF;gBACxF,qFAAqF;gBACrF,yFAAyF;gBACzF,uFAAuF;gBACvF,uEAAuE;gBACvE,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC;oBAAE,MAAM,KAAK,CAAA;YACpD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAA;QACtD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,MAAgC;QAEhC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAChF,uEAAuE;QACvE,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,EAAU;QACxC,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,WAAW,CACxB,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EACjE,sBAAsB,EACtB,EAAE,CACH,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IAClD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,EAAU,EAAE,MAAc;QAC1D,MAAM,MAAM,GAAG,WAAW,CACxB,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EACjE,sBAAsB,EACtB,EAAE,CACH,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAA;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,4EAA4E;IAE5E,+FAA+F;IACvF,aAAa,CAAC,MAAgC,EAAE,MAAqB;QAC3E,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,mBAAmB,EAAE,MAAM,CAAC,YAAY;YACxC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3C,CAAA;IACH,CAAC;IAED,0FAA0F;IAClF,KAAK,CAAC,YAAY,CAAC,MAAgC;QACzD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAM;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACvF,MAAM,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,kBAAkB,CAAC,MAAgC;QAC/D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChE,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAChC,MAAM,CAAC,OAAO,CACf,CAAA;QACD,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC7D,OAAM;YACR,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAC5C,MAAM,CAAC,WAAW,EAClB,GAAG,CAAC,EAAE,EACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CACtB,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,IAAI,CAChB,MAAgC,EAChC,OAAe,EACf,KAAe;QAEf,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;QAChC,2FAA2F;QAC3F,oFAAoF;QACpF,4FAA4F;QAC5F,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,8BAA8B,EAAE;YACrD,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,MAAM,CAAC,EAAE;YAChB,WAAW;YACX,GAAG,EAAE,OAAO;YACZ,GAAG,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC,CAAA;QACF,2EAA2E;QAC3E,kFAAkF;QAClF,oFAAoF;QACpF,8EAA8E;QAC9E,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3F,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;YAC3E,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;QACD,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,MAAM,EAAE,QAAiB;YACzB,KAAK,EAAE,OAAO;YACd,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SACjC,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,eAAe,CAC1E,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,EAAE,EACT,KAAK,CACN,CAAA;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,+EAA+E;YAC/E,6EAA6E;YAC7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAC9D,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,EAAE,CACV,CAAA;YACD,OAAO,KAAK,CAAC,OAAO,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;QACtC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,KAAK,CACjB,MAAgC,EAChC,KAA+F;QAE/F,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAA;QAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,eAAe,CAC1E,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,EAAE,EACT,IAAI,CACL,CAAA;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kFAAkF;IAC1E,KAAK,CAAC,aAAa,CACzB,MAAgC,EAChC,KAAqF;QAErF,OAAO,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE;YAC3F,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SACjC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,MAAgC;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACrF,CAAC;CACF"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { AgentExecutor, AgentJobUpdate, Block, Clock, ExecutionInstance, Logger, PipelineStep, ServiceProvisioning } from '@cat-factory/kernel';
|
|
2
|
+
import type { AdvanceResult } from './advance.js';
|
|
3
|
+
import type { AgentContextBuilder } from './AgentContextBuilder.js';
|
|
4
|
+
import type { NotificationService } from '../notifications/NotificationService.js';
|
|
5
|
+
import type { RunStateMachine } from './RunStateMachine.js';
|
|
6
|
+
/** The provisioning failure a round is dispatched against. */
|
|
7
|
+
export interface DeployFixFailure {
|
|
8
|
+
/** The service frame whose provision failed. */
|
|
9
|
+
frameId: string;
|
|
10
|
+
/** That frame's title, for the brief the fixer reads. */
|
|
11
|
+
frameTitle: string;
|
|
12
|
+
/** The provisioning config the failed attempt ran against, when the deployer pinned one. */
|
|
13
|
+
provisioning: ServiceProvisioning | undefined;
|
|
14
|
+
/** The verbatim provider error. */
|
|
15
|
+
error: string;
|
|
16
|
+
/**
|
|
17
|
+
* The machine-readable cause, off the thrown `DomainError`'s `details.reason`. Absent when the
|
|
18
|
+
* provider did not classify, which is NOT the same as a benign cause and is treated as
|
|
19
|
+
* not-fixable: "we could not tell what went wrong" is not evidence that an edit would help.
|
|
20
|
+
*/
|
|
21
|
+
reason: string | undefined;
|
|
22
|
+
}
|
|
23
|
+
/** Collaborators the loop needs; the dispatcher binds them as it does for the deployer. */
|
|
24
|
+
export interface DeployFixControllerDeps {
|
|
25
|
+
agentExecutor: AgentExecutor;
|
|
26
|
+
contextBuilder: AgentContextBuilder;
|
|
27
|
+
runStateMachine: RunStateMachine;
|
|
28
|
+
clock: Clock;
|
|
29
|
+
/**
|
|
30
|
+
* Where the give-up card is raised. Optional for the reason every other controller's is: a
|
|
31
|
+
* deployment running without notifications must still fail its runs.
|
|
32
|
+
*/
|
|
33
|
+
notificationService?: NotificationService;
|
|
34
|
+
logger?: Logger;
|
|
35
|
+
}
|
|
36
|
+
export declare class DeployFixController {
|
|
37
|
+
private readonly deps;
|
|
38
|
+
private readonly log;
|
|
39
|
+
constructor(deps: DeployFixControllerDeps);
|
|
40
|
+
/**
|
|
41
|
+
* Escalate a failed PRIMARY-frame provision to the `deploy-fixer`, parking the run on its job.
|
|
42
|
+
*
|
|
43
|
+
* Returns `null` when this failure must NOT be remediated, and the caller then takes its
|
|
44
|
+
* ordinary terminal-failure path unchanged. That is what keeps the whole feature a pass-through
|
|
45
|
+
* wherever it cannot apply:
|
|
46
|
+
*
|
|
47
|
+
* - the cause is not repo-fixable, or was never classified (the common case, and the point);
|
|
48
|
+
* - the step's author disabled the loop or set its budget to zero;
|
|
49
|
+
* - the budget is spent (the replay guard);
|
|
50
|
+
* - there is no async executor to dispatch a container with;
|
|
51
|
+
* - the dispatch failed, most often because the run has no pull request yet, which the
|
|
52
|
+
* `deploy-fixer`'s `requirePr` clone refuses. A deployer running before any PR exists has no
|
|
53
|
+
* branch for a fix to land on, and inventing one would push deployment edits onto base.
|
|
54
|
+
*
|
|
55
|
+
* A dispatch failure is deliberately not reported in place of the deploy error: it is a fact
|
|
56
|
+
* about the REMEDIATION, where the run's actual problem is still the provision that broke.
|
|
57
|
+
*/
|
|
58
|
+
escalate(args: {
|
|
59
|
+
workspaceId: string;
|
|
60
|
+
instance: ExecutionInstance;
|
|
61
|
+
step: PipelineStep;
|
|
62
|
+
block: Block;
|
|
63
|
+
isFinalStep: boolean;
|
|
64
|
+
failure: DeployFixFailure;
|
|
65
|
+
}): Promise<AdvanceResult | null>;
|
|
66
|
+
/**
|
|
67
|
+
* The give-up card, raised when the loop has spent its budget and the environment is still not
|
|
68
|
+
* up. The run then takes its ordinary terminal-failure path, so this is the `ci_failed` shape
|
|
69
|
+
* exactly: the machine says it stopped trying, and acting on the card retries the run.
|
|
70
|
+
*
|
|
71
|
+
* It does NOT park the run for a human to confirm anything. An earlier cut did, on the theory
|
|
72
|
+
* that exhaustion meant external blockers somebody had to clear first, but classification
|
|
73
|
+
* upstream is what handles those now: a cause outside the repository never enters this loop at
|
|
74
|
+
* all. What is left when the budget runs out is two failed attempts at a genuinely invalid
|
|
75
|
+
* manifest, which is a plain failure to report and not a decision to ask for.
|
|
76
|
+
*
|
|
77
|
+
* Best-effort, because the run's actual problem is the provision that broke. A notification
|
|
78
|
+
* backend that is down must not turn a reportable deployment failure into an unhandled throw
|
|
79
|
+
* out of the deployer's own failure path.
|
|
80
|
+
*/
|
|
81
|
+
private raiseDeployBlocked;
|
|
82
|
+
/**
|
|
83
|
+
* Settle a finished `deploy-fixer` job. Called from the job-poll path INSTEAD of recording a
|
|
84
|
+
* step result: the fixer's job is not the deployer step's own work, exactly as a gate helper's
|
|
85
|
+
* is not the gate's. Returns `null` when no fixer is in flight, so the caller falls through.
|
|
86
|
+
*
|
|
87
|
+
* Every settled round takes the same path, whether the container finished or died: clear the
|
|
88
|
+
* frame's recorded failure and let the driver re-enter the deployer, which finds the frame
|
|
89
|
+
* un-settled and provisions it again. The round is recorded either way, and the provision is
|
|
90
|
+
* what decides. A job that died without pushing simply leaves the same failure to be re-classified
|
|
91
|
+
* on the next pass, which spends the next round rather than inventing a verdict about it.
|
|
92
|
+
*/
|
|
93
|
+
resolveFixerCompletion(args: {
|
|
94
|
+
workspaceId: string;
|
|
95
|
+
instance: ExecutionInstance;
|
|
96
|
+
step: PipelineStep;
|
|
97
|
+
update: Extract<AgentJobUpdate, {
|
|
98
|
+
state: 'done';
|
|
99
|
+
} | {
|
|
100
|
+
state: 'failed';
|
|
101
|
+
}>;
|
|
102
|
+
}): Promise<AdvanceResult | null>;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The attempt budget for this step: the author's per-step override, else the shipped default.
|
|
106
|
+
* `enabled: false` is expressed as a zero budget so the disabled case and the deliberately
|
|
107
|
+
* zero-rounds case take one path, there being no difference between them.
|
|
108
|
+
*/
|
|
109
|
+
export declare function resolveDeployFixBudget(step: Pick<PipelineStep, 'stepOptions'>): number;
|
|
110
|
+
/**
|
|
111
|
+
* The failure brief the fixer reads. It names the frame and the declared provisioning shape
|
|
112
|
+
* alongside the error, because the error alone says what the platform rejected and not where the
|
|
113
|
+
* files that produced it live: a `kubernetes` frame rendering `deploy/k8s` and a `docker-compose`
|
|
114
|
+
* frame send the agent to different parts of the repository.
|
|
115
|
+
*/
|
|
116
|
+
export declare function describeDeployFailure(failure: DeployFixFailure): string;
|
|
117
|
+
//# sourceMappingURL=DeployFixController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployFixController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/DeployFixController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEd,KAAK,EACL,KAAK,EAEL,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAoC3D,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,YAAY,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAC7C,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,mBAAmB,CAAA;IACnC,eAAe,EAAE,eAAe,CAAA;IAChC,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAUD,qBAAa,mBAAmB;IAGlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,IAAI,EAAE,uBAAuB,EAEzD;IAED;;;;;;;;;;;;;;;;;OAiBG;IACG,QAAQ,CAAC,IAAI,EAAE;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,iBAAiB,CAAA;QAC3B,IAAI,EAAE,YAAY,CAAA;QAClB,KAAK,EAAE,KAAK,CAAA;QACZ,WAAW,EAAE,OAAO,CAAA;QACpB,OAAO,EAAE,gBAAgB,CAAA;KAC1B,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAuEhC;IAED;;;;;;;;;;;;;;OAcG;YACW,kBAAkB;IAmChC;;;;;;;;;;OAUG;IACG,sBAAsB,CAAC,IAAI,EAAE;QACjC,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,iBAAiB,CAAA;QAC3B,IAAI,EAAE,YAAY,CAAA;QAClB,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,KAAK,EAAE,QAAQ,CAAA;SAAE,CAAC,CAAA;KACzE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA0ChC;CACF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,CAItF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAUvE"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { isAsyncAgentExecutor, noopLogger, runBestEffort } from '@cat-factory/kernel';
|
|
2
|
+
import { DEFAULT_DEPLOY_FIX_MAX_ATTEMPTS, DEPLOY_FIXER_AGENT_KIND, isRepoFixableEnvironmentFailure, } from '@cat-factory/contracts';
|
|
3
|
+
import { DEPLOY_FAILURE_PRIOR_KIND } from '@cat-factory/agents';
|
|
4
|
+
import { recordDispatchAttribution } from './step-fold.logic.js';
|
|
5
|
+
/**
|
|
6
|
+
* How much of a provider error is quoted into the fixer's brief. A Kubernetes rejection carries a
|
|
7
|
+
* full `Status` object and a compose failure its whole log tail, either of which can run to tens of
|
|
8
|
+
* kilobytes of the same repeated cause. The head names the object and field at fault, which is what
|
|
9
|
+
* the fixer works from.
|
|
10
|
+
*/
|
|
11
|
+
const ERROR_BRIEF_CAP = 4000;
|
|
12
|
+
export class DeployFixController {
|
|
13
|
+
deps;
|
|
14
|
+
log;
|
|
15
|
+
constructor(deps) {
|
|
16
|
+
this.deps = deps;
|
|
17
|
+
this.log = (deps.logger ?? noopLogger).child({ scope: 'deployFix' });
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Escalate a failed PRIMARY-frame provision to the `deploy-fixer`, parking the run on its job.
|
|
21
|
+
*
|
|
22
|
+
* Returns `null` when this failure must NOT be remediated, and the caller then takes its
|
|
23
|
+
* ordinary terminal-failure path unchanged. That is what keeps the whole feature a pass-through
|
|
24
|
+
* wherever it cannot apply:
|
|
25
|
+
*
|
|
26
|
+
* - the cause is not repo-fixable, or was never classified (the common case, and the point);
|
|
27
|
+
* - the step's author disabled the loop or set its budget to zero;
|
|
28
|
+
* - the budget is spent (the replay guard);
|
|
29
|
+
* - there is no async executor to dispatch a container with;
|
|
30
|
+
* - the dispatch failed, most often because the run has no pull request yet, which the
|
|
31
|
+
* `deploy-fixer`'s `requirePr` clone refuses. A deployer running before any PR exists has no
|
|
32
|
+
* branch for a fix to land on, and inventing one would push deployment edits onto base.
|
|
33
|
+
*
|
|
34
|
+
* A dispatch failure is deliberately not reported in place of the deploy error: it is a fact
|
|
35
|
+
* about the REMEDIATION, where the run's actual problem is still the provision that broke.
|
|
36
|
+
*/
|
|
37
|
+
async escalate(args) {
|
|
38
|
+
const { workspaceId, instance, step, block, isFinalStep, failure } = args;
|
|
39
|
+
// The precondition, checked FIRST and before anything is spent. See the module header.
|
|
40
|
+
if (!isRepoFixableEnvironmentFailure(failure.reason))
|
|
41
|
+
return null;
|
|
42
|
+
const budget = resolveDeployFixBudget(step);
|
|
43
|
+
if (budget <= 0)
|
|
44
|
+
return null;
|
|
45
|
+
const attempts = step.deployFix?.attempts ?? 0;
|
|
46
|
+
// The bar is the one FROZEN at the first escalation wherever there is one, never the freshly
|
|
47
|
+
// resolved budget: editing the pipeline mid-run must not move the bar the rounds already
|
|
48
|
+
// spent were counted against, the same rule an approval's quorum follows.
|
|
49
|
+
const bar = step.deployFix?.maxAttempts ?? budget;
|
|
50
|
+
if (attempts >= bar) {
|
|
51
|
+
// The ONE `null` that means the loop ran and gave up, rather than never applying — which is
|
|
52
|
+
// why the card is raised here and at none of the other five. Reachable only with a round
|
|
53
|
+
// already spent: a step with no `deployFix` has `attempts` 0 against a bar of at least 1.
|
|
54
|
+
await this.raiseDeployBlocked({ workspaceId, instance, block, attempts, failure });
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
const executor = this.deps.agentExecutor;
|
|
58
|
+
if (!isAsyncAgentExecutor(executor))
|
|
59
|
+
return null;
|
|
60
|
+
let handle;
|
|
61
|
+
try {
|
|
62
|
+
const base = await this.deps.contextBuilder.buildContext(workspaceId, instance, step, isFinalStep, block, { agentKind: DEPLOY_FIXER_AGENT_KIND });
|
|
63
|
+
const context = {
|
|
64
|
+
...base,
|
|
65
|
+
agentKind: DEPLOY_FIXER_AGENT_KIND,
|
|
66
|
+
// The brief rides `priorOutputs` tagged as the deployer's, which is whose output it is;
|
|
67
|
+
// the fixer's own prompt lifts it back out and leads with it.
|
|
68
|
+
priorOutputs: [
|
|
69
|
+
...base.priorOutputs,
|
|
70
|
+
{ agentKind: DEPLOY_FAILURE_PRIOR_KIND, output: describeDeployFailure(failure) },
|
|
71
|
+
],
|
|
72
|
+
};
|
|
73
|
+
handle = await executor.startJob(context);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
await runBestEffort(this.log, 'deployFix.dispatch', () => Promise.reject(error), {
|
|
77
|
+
workspaceId,
|
|
78
|
+
executionId: instance.id,
|
|
79
|
+
blockId: block.id,
|
|
80
|
+
frameId: failure.frameId,
|
|
81
|
+
});
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
step.jobId = handle.jobId;
|
|
85
|
+
// Provisioning settles on the durable poll path, which rebuilds the handle from the STEP
|
|
86
|
+
// alone, so the resolved model, the leased subscription token and the initiating user have to
|
|
87
|
+
// be persisted here or attribution lands as "unknown" in production.
|
|
88
|
+
recordDispatchAttribution(step, handle, DEPLOY_FIXER_AGENT_KIND);
|
|
89
|
+
step.container = { status: 'up' };
|
|
90
|
+
step.deployFix = {
|
|
91
|
+
...step.deployFix,
|
|
92
|
+
phase: 'fixing',
|
|
93
|
+
attempts: attempts + 1,
|
|
94
|
+
// Frozen at the FIRST escalation, so editing the pipeline mid-run cannot move the bar the
|
|
95
|
+
// rounds already spent were counted against (as an approval's quorum is frozen at raise).
|
|
96
|
+
maxAttempts: step.deployFix?.maxAttempts ?? budget,
|
|
97
|
+
frameId: failure.frameId,
|
|
98
|
+
reason: failure.reason,
|
|
99
|
+
lastError: failure.error,
|
|
100
|
+
};
|
|
101
|
+
await this.deps.runStateMachine.persistAndEmit(workspaceId, instance);
|
|
102
|
+
return { kind: 'awaiting_job', jobId: step.jobId, stepIndex: instance.currentStep };
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The give-up card, raised when the loop has spent its budget and the environment is still not
|
|
106
|
+
* up. The run then takes its ordinary terminal-failure path, so this is the `ci_failed` shape
|
|
107
|
+
* exactly: the machine says it stopped trying, and acting on the card retries the run.
|
|
108
|
+
*
|
|
109
|
+
* It does NOT park the run for a human to confirm anything. An earlier cut did, on the theory
|
|
110
|
+
* that exhaustion meant external blockers somebody had to clear first, but classification
|
|
111
|
+
* upstream is what handles those now: a cause outside the repository never enters this loop at
|
|
112
|
+
* all. What is left when the budget runs out is two failed attempts at a genuinely invalid
|
|
113
|
+
* manifest, which is a plain failure to report and not a decision to ask for.
|
|
114
|
+
*
|
|
115
|
+
* Best-effort, because the run's actual problem is the provision that broke. A notification
|
|
116
|
+
* backend that is down must not turn a reportable deployment failure into an unhandled throw
|
|
117
|
+
* out of the deployer's own failure path.
|
|
118
|
+
*/
|
|
119
|
+
async raiseDeployBlocked(args) {
|
|
120
|
+
const { workspaceId, instance, block, attempts, failure } = args;
|
|
121
|
+
const service = this.deps.notificationService;
|
|
122
|
+
if (!service)
|
|
123
|
+
return;
|
|
124
|
+
await runBestEffort(this.log, 'deployFix.notify', () => service.raise(workspaceId, {
|
|
125
|
+
type: 'deploy_blocked',
|
|
126
|
+
blockId: block.id,
|
|
127
|
+
executionId: instance.id,
|
|
128
|
+
title: `Deployment of "${failure.frameTitle}" is still failing for "${block.title}"`,
|
|
129
|
+
body: [
|
|
130
|
+
`The deploy-fixer agent tried ${attempts} time(s) and the environment still could not ` +
|
|
131
|
+
'be stood up. The deployment files it edited are on the pull-request branch. Take a ' +
|
|
132
|
+
'look and retry the run once fixed.',
|
|
133
|
+
'',
|
|
134
|
+
capError(failure.error),
|
|
135
|
+
].join('\n'),
|
|
136
|
+
payload: {
|
|
137
|
+
...(block.pullRequest?.url ? { prUrl: block.pullRequest.url } : {}),
|
|
138
|
+
pipelineName: instance.pipelineName,
|
|
139
|
+
},
|
|
140
|
+
}), { workspaceId, executionId: instance.id, blockId: block.id, frameId: failure.frameId });
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Settle a finished `deploy-fixer` job. Called from the job-poll path INSTEAD of recording a
|
|
144
|
+
* step result: the fixer's job is not the deployer step's own work, exactly as a gate helper's
|
|
145
|
+
* is not the gate's. Returns `null` when no fixer is in flight, so the caller falls through.
|
|
146
|
+
*
|
|
147
|
+
* Every settled round takes the same path, whether the container finished or died: clear the
|
|
148
|
+
* frame's recorded failure and let the driver re-enter the deployer, which finds the frame
|
|
149
|
+
* un-settled and provisions it again. The round is recorded either way, and the provision is
|
|
150
|
+
* what decides. A job that died without pushing simply leaves the same failure to be re-classified
|
|
151
|
+
* on the next pass, which spends the next round rather than inventing a verdict about it.
|
|
152
|
+
*/
|
|
153
|
+
async resolveFixerCompletion(args) {
|
|
154
|
+
const { workspaceId, instance, step, update } = args;
|
|
155
|
+
const fix = step.deployFix;
|
|
156
|
+
if (fix?.phase !== 'fixing')
|
|
157
|
+
return null;
|
|
158
|
+
const attempt = {
|
|
159
|
+
attempt: fix.attempts,
|
|
160
|
+
at: this.deps.clock.now(),
|
|
161
|
+
outcome: update.state === 'done' ? 'completed' : 'failed',
|
|
162
|
+
reason: fix.reason,
|
|
163
|
+
error: fix.lastError,
|
|
164
|
+
summary: update.state === 'done'
|
|
165
|
+
? (update.result.output ?? null)
|
|
166
|
+
: (update.error ?? 'The deploy-fixer job failed without finishing.'),
|
|
167
|
+
};
|
|
168
|
+
step.deployFix = {
|
|
169
|
+
...fix,
|
|
170
|
+
phase: 'retrying',
|
|
171
|
+
attemptLog: [...(fix.attemptLog ?? []), attempt],
|
|
172
|
+
};
|
|
173
|
+
// Drop the handle so a replay re-attaches to nothing and the deployer's own re-entry is not
|
|
174
|
+
// mistaken for a re-attach. The container RECORD is left as the deploy path maintains it: the
|
|
175
|
+
// deployer stamps it afresh at the next dispatch.
|
|
176
|
+
step.jobId = undefined;
|
|
177
|
+
step.subtasks = undefined;
|
|
178
|
+
// Clearing this frame's TERMINAL outcome is what makes the re-provision happen: the fan-out
|
|
179
|
+
// resumes at the first frame with none recorded, so the deployer needs no knowledge of this
|
|
180
|
+
// loop to do the right thing on re-entry.
|
|
181
|
+
if (step.deployEnvs) {
|
|
182
|
+
const { [fix.frameId]: _cleared, ...rest } = step.deployEnvs;
|
|
183
|
+
step.deployEnvs = rest;
|
|
184
|
+
}
|
|
185
|
+
// The deployer pins the config its container was built from at dispatch; a retry must resolve
|
|
186
|
+
// the frame fresh, since the fixer may well have changed what it declares.
|
|
187
|
+
step.deployProvisioning = undefined;
|
|
188
|
+
step.deployFrameId = undefined;
|
|
189
|
+
await this.deps.runStateMachine.persistAndEmit(workspaceId, instance, {
|
|
190
|
+
blockStatus: 'in_progress',
|
|
191
|
+
});
|
|
192
|
+
return { kind: 'continue' };
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* The attempt budget for this step: the author's per-step override, else the shipped default.
|
|
197
|
+
* `enabled: false` is expressed as a zero budget so the disabled case and the deliberately
|
|
198
|
+
* zero-rounds case take one path, there being no difference between them.
|
|
199
|
+
*/
|
|
200
|
+
export function resolveDeployFixBudget(step) {
|
|
201
|
+
const config = step.stepOptions?.deployFix;
|
|
202
|
+
if (config?.enabled === false)
|
|
203
|
+
return 0;
|
|
204
|
+
return config?.maxAttempts ?? DEFAULT_DEPLOY_FIX_MAX_ATTEMPTS;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* The failure brief the fixer reads. It names the frame and the declared provisioning shape
|
|
208
|
+
* alongside the error, because the error alone says what the platform rejected and not where the
|
|
209
|
+
* files that produced it live: a `kubernetes` frame rendering `deploy/k8s` and a `docker-compose`
|
|
210
|
+
* frame send the agent to different parts of the repository.
|
|
211
|
+
*/
|
|
212
|
+
export function describeDeployFailure(failure) {
|
|
213
|
+
return [
|
|
214
|
+
`Deployment of service '${failure.frameTitle}' failed.`,
|
|
215
|
+
failure.provisioning
|
|
216
|
+
? `Declared provisioning: ${describeProvisioning(failure.provisioning)}`
|
|
217
|
+
: 'Declared provisioning: none recorded for this frame.',
|
|
218
|
+
'',
|
|
219
|
+
'The provisioning platform reported:',
|
|
220
|
+
capError(failure.error),
|
|
221
|
+
].join('\n');
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* The provisioning config in one line: its type plus where the files it renders live.
|
|
225
|
+
*
|
|
226
|
+
* A `separate` manifest source is named as a different repository EXPLICITLY, because that is the
|
|
227
|
+
* one case where the fixer's checkout does not contain the thing at fault. Left implicit, an agent
|
|
228
|
+
* handed a manifest error looks for the manifests in the repo it is standing in, fails to find
|
|
229
|
+
* them, and either concludes the wrong thing or starts writing new ones.
|
|
230
|
+
*/
|
|
231
|
+
function describeProvisioning(provisioning) {
|
|
232
|
+
const source = provisioning.manifestSource;
|
|
233
|
+
const compose = provisioning.composePath;
|
|
234
|
+
if (!source) {
|
|
235
|
+
return compose ? `${provisioning.type}, compose file '${compose}'` : provisioning.type;
|
|
236
|
+
}
|
|
237
|
+
const where = source.type === 'colocated'
|
|
238
|
+
? `in-repo path '${source.path}'`
|
|
239
|
+
: `the SEPARATE repository '${source.repo}' at path '${source.path}'${source.ref ? ` (ref ${source.ref})` : ''}, which is NOT the repository you have checked out`;
|
|
240
|
+
const renderer = source.renderer ? `, rendered with ${source.renderer}` : '';
|
|
241
|
+
return `${provisioning.type}, manifests from ${where}${renderer}`;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The error, capped. It states the drop explicitly rather than trailing off, so a reader cannot
|
|
245
|
+
* mistake a truncated error for one that genuinely ended there and conclude the tail was never
|
|
246
|
+
* produced.
|
|
247
|
+
*/
|
|
248
|
+
function capError(error) {
|
|
249
|
+
if (error.length <= ERROR_BRIEF_CAP)
|
|
250
|
+
return error;
|
|
251
|
+
const dropped = error.length - ERROR_BRIEF_CAP;
|
|
252
|
+
return `${error.slice(0, ERROR_BRIEF_CAP)}\n[…${dropped} more characters of this error were not included]`;
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=DeployFixController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployFixController.js","sourceRoot":"","sources":["../../../src/modules/execution/DeployFixController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AgentRunResult, Block, BlockRepository, ExecutionInstance, Logger, PipelineStep, ProvisionContext } from '@cat-factory/kernel';
|
|
2
2
|
import type { EnvironmentProvisioningService } from '@cat-factory/integrations';
|
|
3
3
|
import { type ContainerFailureView } from './job.logic.js';
|
|
4
|
+
import type { DeployFixController } from './DeployFixController.js';
|
|
4
5
|
import type { AgentContextBuilder } from './AgentContextBuilder.js';
|
|
5
6
|
import type { RunStateMachine } from './RunStateMachine.js';
|
|
6
7
|
import type { AdvanceResult } from './advance.js';
|
|
@@ -25,6 +26,11 @@ export interface DeployerStepControllerDeps {
|
|
|
25
26
|
}) => boolean;
|
|
26
27
|
applySubtaskProgress: (step: PipelineStep, counts: PipelineStep['subtasks']) => boolean;
|
|
27
28
|
recoverContainerEviction: (workspaceId: string, instance: ExecutionInstance, step: PipelineStep, failure: ContainerFailureView, onBeforeRedispatch?: () => Promise<void>) => Promise<AdvanceResult | null>;
|
|
29
|
+
/**
|
|
30
|
+
* The remediation loop a failed PRIMARY-frame provision is offered to before it is reported as
|
|
31
|
+
* terminal. Absent means every provisioning failure is terminal exactly as before.
|
|
32
|
+
*/
|
|
33
|
+
deployFix?: DeployFixController;
|
|
28
34
|
/**
|
|
29
35
|
* Where the two provisioning-lease releases below report a failure. Both are best-effort by
|
|
30
36
|
* design, so without this a leaked lease (billed-but-useless compute, or a permanently held
|
|
@@ -50,6 +56,7 @@ export declare class DeployerStepController {
|
|
|
50
56
|
private readonly applyContainerRunning;
|
|
51
57
|
private readonly applySubtaskProgress;
|
|
52
58
|
private readonly recoverContainerEviction;
|
|
59
|
+
private readonly deployFix?;
|
|
53
60
|
private readonly log;
|
|
54
61
|
constructor(deps: DeployerStepControllerDeps);
|
|
55
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployerStepController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/DeployerStepController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACd,KAAK,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"DeployerStepController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/DeployerStepController.ts"],"names":[],"mappings":"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"}
|