@cat-factory/orchestration 0.302.2 → 0.303.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/container/dependencies.d.ts +8 -1
- package/dist/container/dependencies.d.ts.map +1 -1
- package/dist/container/environmentsModule.factory.d.ts +2 -0
- package/dist/container/environmentsModule.factory.d.ts.map +1 -1
- package/dist/container/environmentsModule.factory.js +17 -0
- package/dist/container/environmentsModule.factory.js.map +1 -1
- package/dist/container/modules.d.ts +23 -3
- package/dist/container/modules.d.ts.map +1 -1
- package/dist/container/modules.js +61 -1
- package/dist/container/modules.js.map +1 -1
- package/dist/container/platform-modules.d.ts +6 -0
- package/dist/container/platform-modules.d.ts.map +1 -1
- package/dist/container/platform-modules.js +2 -2
- package/dist/container/platform-modules.js.map +1 -1
- package/dist/container.d.ts +1 -1
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +5 -37
- package/dist/container.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/environments/EnvironmentTestService.d.ts +95 -2
- package/dist/modules/environments/EnvironmentTestService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentTestService.js +219 -7
- package/dist/modules/environments/EnvironmentTestService.js.map +1 -1
- package/dist/modules/environments/environmentProbeStage.d.ts +85 -0
- package/dist/modules/environments/environmentProbeStage.d.ts.map +1 -0
- package/dist/modules/environments/environmentProbeStage.js +181 -0
- package/dist/modules/environments/environmentProbeStage.js.map +1 -0
- package/package.json +11 -11
|
@@ -1,30 +1,44 @@
|
|
|
1
|
-
import { assertFound, ConflictError, describeTerminalEnvironment, getErrorMessage, NotFoundError, requireWorkspace, } from '@cat-factory/kernel';
|
|
1
|
+
import { assertFound, ConflictError, describeTerminalEnvironment, getErrorMessage, NotFoundError, noopLogger, requireWorkspace, runBestEffort, } from '@cat-factory/kernel';
|
|
2
2
|
function toRun(record) {
|
|
3
3
|
return {
|
|
4
4
|
id: record.id,
|
|
5
5
|
workspaceId: record.workspaceId,
|
|
6
6
|
blockId: record.blockId,
|
|
7
|
+
mode: record.mode,
|
|
7
8
|
status: record.status,
|
|
8
9
|
stage: record.stage,
|
|
9
10
|
branch: record.branch,
|
|
10
11
|
envUrl: record.envUrl,
|
|
11
12
|
error: record.error,
|
|
12
13
|
failedStage: record.failedStage,
|
|
14
|
+
probe: record.probe,
|
|
15
|
+
probeProgress: record.probeProgress,
|
|
13
16
|
createdAt: record.createdAt,
|
|
14
17
|
updatedAt: record.updatedAt,
|
|
15
18
|
};
|
|
16
19
|
}
|
|
17
20
|
// ---------------------------------------------------------------------------
|
|
18
|
-
// EnvironmentTestService
|
|
21
|
+
// EnvironmentTestService: the ephemeral-environment SELF-TEST run, in two modes.
|
|
19
22
|
//
|
|
20
23
|
// A developer-triggered diagnostic that exercises a service frame's configured
|
|
21
24
|
// provisioning end to end against a THROWAWAY branch and always cleans up:
|
|
22
|
-
// creating_branch → provisioning → tearing_down → deleting_branch → done
|
|
25
|
+
// creating_branch → provisioning → [probing] → tearing_down → deleting_branch → done
|
|
23
26
|
// (or `failed` with the stage it failed at). It touches no board block and
|
|
24
27
|
// leaves no branch/env behind. Modelled like a bootstrap run: `startTest`
|
|
25
28
|
// does the fast up-front work + dispatch and hands off to the durable driver;
|
|
26
29
|
// `pollEnvTest` advances the state machine idempotently so replays are safe.
|
|
27
30
|
//
|
|
31
|
+
// `probing` is the AGENT DRY RUN (`mode: 'agent-probe'`): the environment is handed to a prober
|
|
32
|
+
// that tries to OPERATE the service and reports what it managed and what it could not work out
|
|
33
|
+
// (see `environmentProbeStage.ts`). It is ONE state machine rather than two services on purpose:
|
|
34
|
+
// the always-cleans-up contract, the stop⇄driver race guard and the sweeper are the hard parts of
|
|
35
|
+
// this flow, and a second implementation of them is a second set of ways to strand an
|
|
36
|
+
// environment. The extra mode costs one stage, one claim field and one report field.
|
|
37
|
+
//
|
|
38
|
+
// The run's `status` stays a statement about the LIFECYCLE in both modes: a dry run that reports
|
|
39
|
+
// `inoperable` SUCCEEDED, because the diagnostic did its job and cleaned up. What the agent found
|
|
40
|
+
// is the report's own `verdict`; see the contract's note on `status`.
|
|
41
|
+
//
|
|
28
42
|
// Repo/registry isolation (see EnvironmentProvisioningService): provisioning
|
|
29
43
|
// resolves the repo from `frameId ?? blockId`, and `recordProvisioned`
|
|
30
44
|
// supersedes any prior env for the `(blockId, frameId)` pair. So the run passes
|
|
@@ -43,8 +57,14 @@ function toRun(record) {
|
|
|
43
57
|
// ---------------------------------------------------------------------------
|
|
44
58
|
export class EnvironmentTestService {
|
|
45
59
|
deps;
|
|
60
|
+
/**
|
|
61
|
+
* The injected logger, normalised once so every site can log unconditionally (and so
|
|
62
|
+
* `runBestEffort`, which requires one, can be used at all). See CLAUDE.md's logging rules.
|
|
63
|
+
*/
|
|
64
|
+
log;
|
|
46
65
|
constructor(deps) {
|
|
47
66
|
this.deps = deps;
|
|
67
|
+
this.log = deps.logger ?? noopLogger;
|
|
48
68
|
}
|
|
49
69
|
/** The synthetic provisioning block id for a run (registry-key + namespace isolation). */
|
|
50
70
|
provisionBlockId(runId) {
|
|
@@ -67,8 +87,16 @@ export class EnvironmentTestService {
|
|
|
67
87
|
* connected) throw as 409s BEFORE any record exists; after the record is inserted,
|
|
68
88
|
* every failure runs best-effort cleanup and returns the run already `failed`.
|
|
69
89
|
*/
|
|
70
|
-
async startTest(workspaceId, blockId, initiatedBy) {
|
|
90
|
+
async startTest(workspaceId, blockId, initiatedBy, mode = 'provision') {
|
|
71
91
|
await requireWorkspace(this.deps.workspaceRepository, workspaceId);
|
|
92
|
+
// Refuse an agent dry run this deployment cannot drive BEFORE anything is provisioned. A run
|
|
93
|
+
// admitted here would create a branch, stand an environment up and then park at a stage with
|
|
94
|
+
// nothing to advance it, until the sweeper tore the whole thing down with a timeout for a
|
|
95
|
+
// reason (a wiring gap) that was knowable before a single side effect.
|
|
96
|
+
if (mode === 'agent-probe' && !this.deps.probeStage) {
|
|
97
|
+
throw new ConflictError('Agent dry runs are not available on this deployment: they need a container runner, a ' +
|
|
98
|
+
'connected repository and a model the LLM proxy can serve.', 'env_test_probe_unavailable');
|
|
99
|
+
}
|
|
72
100
|
const frame = assertFound(await this.deps.blockRepository.get(workspaceId, blockId), 'Block', blockId);
|
|
73
101
|
if (frame.level !== 'frame') {
|
|
74
102
|
throw new ConflictError('Environment tests run against a service frame, not a task or module.', 'env_test_not_a_frame');
|
|
@@ -77,6 +105,17 @@ export class EnvironmentTestService {
|
|
|
77
105
|
if (!provisioning || provisioning.type === 'infraless') {
|
|
78
106
|
throw new ConflictError('This service has no ephemeral-environment provisioning configured to test.', 'env_test_infraless');
|
|
79
107
|
}
|
|
108
|
+
// ONE self-test at a time per frame, whichever mode. Each run provisions its own environment
|
|
109
|
+
// under a synthetic per-run key that nothing supersedes or sweeps, so two in flight is two live
|
|
110
|
+
// environments for one service: billed twice, and racing each other to create on any provider
|
|
111
|
+
// whose namespace is derived per service rather than per branch. Enforced here rather than in
|
|
112
|
+
// the SPA's button state, which is per mode and per tab and so cannot see the other run.
|
|
113
|
+
const live = (await this.deps.environmentTestRunRepository.listRunningByWorkspace(workspaceId)).find((row) => row.blockId === blockId);
|
|
114
|
+
if (live) {
|
|
115
|
+
throw new ConflictError('A self-test is already running for this service. Wait for it to finish, or stop it first.', 'env_test_already_running', { runId: live.id, runMode: live.mode });
|
|
116
|
+
}
|
|
117
|
+
if (mode === 'agent-probe')
|
|
118
|
+
await this.assertProbeAdmissible(workspaceId, frame, initiatedBy);
|
|
80
119
|
const gate = await this.deps.provisioning.canProvision(workspaceId, provisioning, initiatedBy);
|
|
81
120
|
if (!gate.ok) {
|
|
82
121
|
throw new ConflictError('This service’s provisioning cannot run yet — configure its environment handler first.', 'env_test_not_provisionable',
|
|
@@ -107,6 +146,7 @@ export class EnvironmentTestService {
|
|
|
107
146
|
id: this.deps.idGenerator.next('envtest'),
|
|
108
147
|
workspaceId,
|
|
109
148
|
blockId,
|
|
149
|
+
mode,
|
|
110
150
|
status: 'running',
|
|
111
151
|
stage: 'creating_branch',
|
|
112
152
|
initiatedBy: initiatedBy ?? null,
|
|
@@ -119,6 +159,10 @@ export class EnvironmentTestService {
|
|
|
119
159
|
envUrl: null,
|
|
120
160
|
error: null,
|
|
121
161
|
failedStage: null,
|
|
162
|
+
probeSurface: null,
|
|
163
|
+
probeDispatchedAt: null,
|
|
164
|
+
probeProgress: null,
|
|
165
|
+
probe: null,
|
|
122
166
|
createdAt: now,
|
|
123
167
|
updatedAt: now,
|
|
124
168
|
};
|
|
@@ -169,6 +213,55 @@ export class EnvironmentTestService {
|
|
|
169
213
|
return this.fail(record, getErrorMessage(error), error);
|
|
170
214
|
}
|
|
171
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* The two gates an AGENT DRY RUN answers to beyond the provisioning self-test's, both asked
|
|
218
|
+
* BEFORE the first side effect, because both are knowable then and neither is knowable cheaply
|
|
219
|
+
* afterwards.
|
|
220
|
+
*
|
|
221
|
+
* A wired prober is not the same question as a runnable one: each surface runs on its own
|
|
222
|
+
* executor image, so a deployment that binds the plain container class and not the browser one
|
|
223
|
+
* serves an `api` dry run and refuses a `ui` one deep inside `stage.dispatch`, after a branch, a
|
|
224
|
+
* full provision and (on the way back out) a teardown. And a workspace past its spend ceiling
|
|
225
|
+
* would pay for exactly the same sequence before the proxy refused the container's first
|
|
226
|
+
* completion.
|
|
227
|
+
*/
|
|
228
|
+
async assertProbeAdmissible(workspaceId, frame, initiatedBy) {
|
|
229
|
+
const stage = this.deps.probeStage;
|
|
230
|
+
if (!stage)
|
|
231
|
+
return;
|
|
232
|
+
const surface = stage.surfaceFor(frame);
|
|
233
|
+
if (!(await stage.supports(workspaceId, surface))) {
|
|
234
|
+
throw new ConflictError(surface === 'ui'
|
|
235
|
+
? 'A dry run for a frontend service runs in a browser container, and this deployment ' +
|
|
236
|
+
'has no browser executor image wired. Dry runs of its backend services still run.'
|
|
237
|
+
: 'This deployment has no executor image wired for an agent dry run of this service.', 'env_test_probe_unavailable', { surface });
|
|
238
|
+
}
|
|
239
|
+
if (await this.overBudget(workspaceId, initiatedBy)) {
|
|
240
|
+
throw new ConflictError('This workspace has reached a spend budget, and an agent dry run is a billable model ' +
|
|
241
|
+
'call. Raise the budget (or wait for the billing period to reset) and try again; the ' +
|
|
242
|
+
'provisioning self-test beside it costs nothing and still runs.', 'env_test_over_budget');
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Whether the workspace is over its model budget. Fails CLOSED, as the monorepo survey's probe
|
|
247
|
+
* does: a ledger nobody can read is not a licence to spend against it.
|
|
248
|
+
*/
|
|
249
|
+
async overBudget(workspaceId, initiatedBy) {
|
|
250
|
+
const probe = this.deps.isOverBudget;
|
|
251
|
+
if (!probe)
|
|
252
|
+
return false;
|
|
253
|
+
try {
|
|
254
|
+
return await probe(workspaceId);
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
this.log.warn('environment dry run: budget probe failed; refusing the run', {
|
|
258
|
+
workspaceId,
|
|
259
|
+
initiatedBy: initiatedBy ?? null,
|
|
260
|
+
err: getErrorMessage(error),
|
|
261
|
+
});
|
|
262
|
+
return true;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
172
265
|
/**
|
|
173
266
|
* Advance one running self-test by one stage (idempotent — a terminal run is returned
|
|
174
267
|
* as-is, so the driver's retries/replays are safe). Returns the poll's terminal-ness.
|
|
@@ -189,6 +282,8 @@ export class EnvironmentTestService {
|
|
|
189
282
|
throw new Error('The environment test did not finish starting (the start request was interrupted).');
|
|
190
283
|
case 'provisioning':
|
|
191
284
|
return await this.advanceProvisioning(record);
|
|
285
|
+
case 'probing':
|
|
286
|
+
return await this.advanceProbing(record);
|
|
192
287
|
case 'tearing_down':
|
|
193
288
|
return await this.advanceTeardown(record);
|
|
194
289
|
case 'deleting_branch':
|
|
@@ -217,7 +312,7 @@ export class EnvironmentTestService {
|
|
|
217
312
|
const handle = await this.deps.provisioning.refreshStatus(record.workspaceId, record.environmentId);
|
|
218
313
|
if (handle.status === 'ready') {
|
|
219
314
|
await this.patch(record, {
|
|
220
|
-
stage:
|
|
315
|
+
stage: this.stageAfterProvisioning(record),
|
|
221
316
|
...(handle.url ? { envUrl: handle.url } : {}),
|
|
222
317
|
});
|
|
223
318
|
return { state: 'running' };
|
|
@@ -264,12 +359,124 @@ export class EnvironmentTestService {
|
|
|
264
359
|
throw new Error(handle.lastError ?? 'Environment provisioning failed.');
|
|
265
360
|
}
|
|
266
361
|
await this.patch(record, {
|
|
267
|
-
stage:
|
|
362
|
+
stage: this.stageAfterProvisioning(record),
|
|
268
363
|
environmentId: handle.id,
|
|
269
364
|
envUrl: handle.url,
|
|
270
365
|
});
|
|
271
366
|
return { state: 'running' };
|
|
272
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* Where a run goes once its environment is up: straight to teardown, or through the dry run
|
|
370
|
+
* first. One helper rather than the ternary twice, because `advanceProvisioning` has two exits
|
|
371
|
+
* (the synchronous provider's readiness poll and the deploy job's finalize) and a mode honoured
|
|
372
|
+
* at only one of them is a dry run that silently skips the probe for half the providers.
|
|
373
|
+
*/
|
|
374
|
+
stageAfterProvisioning(record) {
|
|
375
|
+
return record.mode === 'agent-probe' ? 'probing' : 'tearing_down';
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Advance the AGENT DRY RUN: claim and dispatch the prober, then poll it, then record what it
|
|
379
|
+
* reported and move on to teardown.
|
|
380
|
+
*
|
|
381
|
+
* Three writes in a fixed order, and each one is load-bearing:
|
|
382
|
+
*
|
|
383
|
+
* 1. the CLAIM (`probeSurface`), before the dispatch, so a replay cannot start a second agent
|
|
384
|
+
* against the same environment;
|
|
385
|
+
* 2. the DISPATCH;
|
|
386
|
+
* 3. the MARK (`probeDispatchedAt`), after it is accepted, so a replay that landed in between
|
|
387
|
+
* can tell a claim with no container behind it from a running job. Without the mark, such a
|
|
388
|
+
* replay polls a job that was never started and the backend's "no such job" comes back as an
|
|
389
|
+
* EVICTION: a lost isolate reported to the developer as a container failure. With it, the
|
|
390
|
+
* replay re-dispatches instead, which is safe because a dispatch is idempotent per job id.
|
|
391
|
+
*
|
|
392
|
+
* Every write goes through the same running-guard, which makes the stop ⇄ driver race
|
|
393
|
+
* first-writer-wins in both directions. The mark's guard does double duty: a stop that landed
|
|
394
|
+
* while the dispatch was in flight ran its reclaim against a container that did not exist yet, so
|
|
395
|
+
* a rejected mark means the container now starting has nobody left to reclaim it. That throws,
|
|
396
|
+
* and `fail()` (whose FIRST action is the reclaim) is what actually collects it.
|
|
397
|
+
*
|
|
398
|
+
* A probe that FAILS (an evicted container, a reply with no JSON) throws, so the run fails at
|
|
399
|
+
* this stage with the container's error and `fail()` reclaims the environment. A probe that
|
|
400
|
+
* REPORTS advances, whatever its verdict: an `inoperable` verdict is the diagnostic working, and
|
|
401
|
+
* the run still owes the developer its teardown.
|
|
402
|
+
*/
|
|
403
|
+
async advanceProbing(record) {
|
|
404
|
+
const stage = this.deps.probeStage;
|
|
405
|
+
if (!stage) {
|
|
406
|
+
// Only reachable when a deployment lost the capability between the start and the poll (a
|
|
407
|
+
// redeploy mid-run). Nothing can advance the run, so fail it here rather than spin: the
|
|
408
|
+
// environment is up and every poll is costing the developer.
|
|
409
|
+
throw new Error('Agent dry runs are no longer configured on this deployment.');
|
|
410
|
+
}
|
|
411
|
+
const claimed = record.probeSurface;
|
|
412
|
+
if (!claimed || !record.probeDispatchedAt) {
|
|
413
|
+
// ONE frame read, shared by the surface and the prompt: see `resolveTarget`. The PINNED
|
|
414
|
+
// surface still wins on a re-dispatch, because the claim addresses a container.
|
|
415
|
+
const target = await stage.resolveTarget(record);
|
|
416
|
+
const surface = claimed ?? target.surface;
|
|
417
|
+
if (!claimed && !(await this.guardedUpdate(record, { probeSurface: surface }))) {
|
|
418
|
+
throw new Error('The environment test was stopped before the agent dry run started.');
|
|
419
|
+
}
|
|
420
|
+
record.probeSurface = surface;
|
|
421
|
+
await stage.dispatch(record, surface, target.frame);
|
|
422
|
+
const probeDispatchedAt = this.deps.clock.now();
|
|
423
|
+
if (!(await this.guardedUpdate(record, { probeDispatchedAt }))) {
|
|
424
|
+
throw new Error('The environment test was stopped while the agent dry run was starting.');
|
|
425
|
+
}
|
|
426
|
+
record.probeDispatchedAt = probeDispatchedAt;
|
|
427
|
+
return { state: 'running' };
|
|
428
|
+
}
|
|
429
|
+
const outcome = await stage.poll(record, claimed);
|
|
430
|
+
if (outcome.state === 'running') {
|
|
431
|
+
await this.writeProbeProgress(record, outcome.subtasks);
|
|
432
|
+
return { state: 'running' };
|
|
433
|
+
}
|
|
434
|
+
// The report is in hand, so the prober's container has nothing left to do: reclaim it before
|
|
435
|
+
// teardown rather than leaving it to idle out beside an environment that is about to vanish.
|
|
436
|
+
await this.releaseProbe(record);
|
|
437
|
+
// The live counts go with it: the report is the finer answer to the same question, and a stale
|
|
438
|
+
// "3 of 5" left beside a finished run reads as a probe still working.
|
|
439
|
+
await this.patch(record, {
|
|
440
|
+
stage: 'tearing_down',
|
|
441
|
+
probe: outcome.report,
|
|
442
|
+
probeProgress: null,
|
|
443
|
+
});
|
|
444
|
+
return { state: 'running' };
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Persist the prober's live todo counts, and push them, when they MOVED.
|
|
448
|
+
*
|
|
449
|
+
* `probing` is the only stage of this run measured in minutes; every other one turns over in
|
|
450
|
+
* seconds. With nothing written the run row never changes, so no `envTestChanged` event fires
|
|
451
|
+
* for the whole probe and the SPA sits on "probing with an agent" for the entire container run,
|
|
452
|
+
* which is indistinguishable from a wedge. Compared on the COUNTS alone: the item labels move
|
|
453
|
+
* whenever the agent rewords a todo, and a write per poll is the cost this guard exists to
|
|
454
|
+
* avoid.
|
|
455
|
+
*/
|
|
456
|
+
async writeProbeProgress(record, subtasks) {
|
|
457
|
+
if (!subtasks)
|
|
458
|
+
return;
|
|
459
|
+
const current = record.probeProgress;
|
|
460
|
+
if (current &&
|
|
461
|
+
current.completed === subtasks.completed &&
|
|
462
|
+
current.inProgress === subtasks.inProgress &&
|
|
463
|
+
current.total === subtasks.total) {
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
await this.patch(record, { probeProgress: subtasks });
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Reclaim the dry run's container, if one was ever claimed. Best-effort by contract (an
|
|
470
|
+
* unreachable runner idles out on its own), and it must never propagate: every caller is either
|
|
471
|
+
* settling a run or already failing one.
|
|
472
|
+
*/
|
|
473
|
+
async releaseProbe(record) {
|
|
474
|
+
const stage = this.deps.probeStage;
|
|
475
|
+
const surface = record.probeSurface;
|
|
476
|
+
if (!stage || !surface)
|
|
477
|
+
return;
|
|
478
|
+
await runBestEffort(this.log, 'release environment dry-run container', () => stage.release(record, surface), { workspaceId: record.workspaceId, runId: record.id, surface });
|
|
479
|
+
}
|
|
273
480
|
async advanceTeardown(record) {
|
|
274
481
|
if (record.environmentId) {
|
|
275
482
|
try {
|
|
@@ -377,13 +584,18 @@ export class EnvironmentTestService {
|
|
|
377
584
|
// record + SPA aside). Carries the stage + message (which now includes any provider
|
|
378
585
|
// field-level detail) and the stack when the cause is an `Error`, so an unexpected throw is
|
|
379
586
|
// debuggable from the logs rather than just the terminal run row.
|
|
380
|
-
this.
|
|
587
|
+
this.log.warn('environment self-test failed', {
|
|
381
588
|
workspaceId: record.workspaceId,
|
|
382
589
|
runId: record.id,
|
|
383
590
|
failedStage,
|
|
384
591
|
err: message,
|
|
385
592
|
...(cause instanceof Error && cause.stack ? { stack: cause.stack } : {}),
|
|
386
593
|
});
|
|
594
|
+
// Reclaim the dry run's container when one was claimed and never settled (a stop mid-probe, a
|
|
595
|
+
// dispatch that threw, a replay that failed the run). It is claimed before it is dispatched,
|
|
596
|
+
// so a claim with no container behind it is a tolerated no-op. The opposite ordering would
|
|
597
|
+
// leave a browser container running for its full lifetime beside a torn-down environment.
|
|
598
|
+
await this.releaseProbe(record);
|
|
387
599
|
// Release any in-flight deploy job when provisioning never settled (a stop
|
|
388
600
|
// mid-provision, a dispatch that threw or crashed before the stage patch landed):
|
|
389
601
|
// best-effort abort of the deploy runner so a stopped test doesn't keep a container
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { Block, BlockRepository, EnvironmentHandle, EnvironmentProbeAgent, EnvironmentProbeHandle, EnvironmentProbeReport, EnvironmentProbeSurface, EnvironmentTestRunRecord, Logger, ResolveRunRepoContext, StepSubtasks } from '@cat-factory/kernel';
|
|
2
|
+
/** The environment reads the probe stage makes: the live handle, WITH its decrypted access. */
|
|
3
|
+
export interface EnvironmentProbeRegistry {
|
|
4
|
+
getHandleWithAccess(workspaceId: string, id: string): Promise<EnvironmentHandle | null>;
|
|
5
|
+
}
|
|
6
|
+
export interface EnvironmentProbeStageDependencies {
|
|
7
|
+
/** Dispatches, polls and reclaims the probe container (a facade implementation). */
|
|
8
|
+
agent: EnvironmentProbeAgent;
|
|
9
|
+
blockRepository: Pick<BlockRepository, 'get'>;
|
|
10
|
+
environments: EnvironmentProbeRegistry;
|
|
11
|
+
/** Resolves the frame's repo identity, so the prober gets a checkout of what is running. */
|
|
12
|
+
resolveRunRepoContext: ResolveRunRepoContext;
|
|
13
|
+
logger?: Logger;
|
|
14
|
+
}
|
|
15
|
+
/** What one poll of the probing stage settled on. */
|
|
16
|
+
export type EnvironmentProbeOutcome =
|
|
17
|
+
/**
|
|
18
|
+
* Still working. `subtasks` is the container's own live todo count when it reported one, which
|
|
19
|
+
* the caller persists: `probing` is the only stage of this run that lasts minutes, so it is the
|
|
20
|
+
* only one where writing nothing leaves the SPA unable to tell work from a wedge.
|
|
21
|
+
*/
|
|
22
|
+
{
|
|
23
|
+
state: 'running';
|
|
24
|
+
subtasks?: StepSubtasks;
|
|
25
|
+
}
|
|
26
|
+
/** The agent reported; the report is already coerced, capped, scrubbed and platform-graded. */
|
|
27
|
+
| {
|
|
28
|
+
state: 'reported';
|
|
29
|
+
report: EnvironmentProbeReport;
|
|
30
|
+
};
|
|
31
|
+
export declare class EnvironmentProbeStage {
|
|
32
|
+
private readonly deps;
|
|
33
|
+
/** The injected logger, normalised once so every site can log unconditionally (CLAUDE.md). */
|
|
34
|
+
private readonly log;
|
|
35
|
+
constructor(deps: EnvironmentProbeStageDependencies);
|
|
36
|
+
/**
|
|
37
|
+
* Which prober a frame's dry run would run, through the shared rule the SPA's button label
|
|
38
|
+
* reads. Pure, so ADMISSION can ask it with the frame it has already loaded and no record yet.
|
|
39
|
+
*/
|
|
40
|
+
surfaceFor(frame: Block): EnvironmentProbeSurface;
|
|
41
|
+
/**
|
|
42
|
+
* Whether this deployment can actually run `surface`'s prober for this workspace, asked at
|
|
43
|
+
* admission. Delegated to the agent, which is where the runner backend is known; see the port
|
|
44
|
+
* for why an unknown answers yes.
|
|
45
|
+
*/
|
|
46
|
+
supports(workspaceId: string, surface: EnvironmentProbeSurface): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* The frame this run is probing, read ONCE per tick, with the prober its type selects.
|
|
49
|
+
*
|
|
50
|
+
* One read rather than one per collaborator: the surface decides which container the job runs
|
|
51
|
+
* in and the title and description go into the prompt, and two reads a moment apart can observe
|
|
52
|
+
* two different frames, so a rename between them puts a service name in the prompt that does not
|
|
53
|
+
* match the surface the claim pinned. The caller PINS the surface on the run at the claim
|
|
54
|
+
* (`probeSurface`) and passes the pinned value back to {@link dispatch}: every later poll and
|
|
55
|
+
* reclaim must address the container that actually started, not one re-derived from a frame that
|
|
56
|
+
* may since have been retyped or deleted.
|
|
57
|
+
*/
|
|
58
|
+
resolveTarget(record: EnvironmentTestRunRecord): Promise<{
|
|
59
|
+
frame: Block;
|
|
60
|
+
surface: EnvironmentProbeSurface;
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Dispatch the dry run for `record`, whose environment is `ready`.
|
|
64
|
+
*
|
|
65
|
+
* Throws when anything it needs is missing, and each throw is the run's terminal error, so the
|
|
66
|
+
* messages name what a human has to fix rather than what this function could not find. The
|
|
67
|
+
* caller has already CLAIMED the probe (see `EnvironmentTestRunRecord.probeSurface`), so a throw
|
|
68
|
+
* here fails the run at the `probing` stage with the environment still up for `fail()` to
|
|
69
|
+
* reclaim.
|
|
70
|
+
*/
|
|
71
|
+
dispatch(record: EnvironmentTestRunRecord, surface: EnvironmentProbeSurface, frame: Block): Promise<EnvironmentProbeHandle>;
|
|
72
|
+
/**
|
|
73
|
+
* Poll the dispatched dry run.
|
|
74
|
+
*
|
|
75
|
+
* A `failed` update THROWS rather than being reported as a verdict: an evicted container or a
|
|
76
|
+
* reply carrying no JSON is a diagnostic that never happened, and returning it as a finding
|
|
77
|
+
* would tell an operator their service is inoperable when it is the platform's own step that
|
|
78
|
+
* broke. The run then fails at the `probing` stage with the container's own error, which is the
|
|
79
|
+
* honest reading and the one the sweeper's cleanup already handles.
|
|
80
|
+
*/
|
|
81
|
+
poll(record: EnvironmentTestRunRecord, surface: EnvironmentProbeSurface): Promise<EnvironmentProbeOutcome>;
|
|
82
|
+
/** Reclaim the probe's container. Best-effort by contract; never throws at the caller. */
|
|
83
|
+
release(record: EnvironmentTestRunRecord, surface: EnvironmentProbeSurface): Promise<void>;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=environmentProbeStage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environmentProbeStage.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environmentProbeStage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EAEvB,wBAAwB,EACxB,MAAM,EACN,qBAAqB,EACrB,YAAY,EACb,MAAM,qBAAqB,CAAA;AAyB5B,+FAA+F;AAC/F,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CACxF;AAED,MAAM,WAAW,iCAAiC;IAChD,oFAAoF;IACpF,KAAK,EAAE,qBAAqB,CAAA;IAC5B,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IAC7C,YAAY,EAAE,wBAAwB,CAAA;IACtC,4FAA4F;IAC5F,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qDAAqD;AACrD,MAAM,MAAM,uBAAuB;AACjC;;;;GAIG;AACD;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAE;AAC/C,+FAA+F;GAC7F;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAAA;AAiCzD,qBAAa,qBAAqB;IAIpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,IAAI,EAAE,iCAAiC,EAEnE;IAED;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,uBAAuB,CAEhD;IAED;;;;OAIG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAEtF;IAED;;;;;;;;;;OAUG;IACG,aAAa,CACjB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,uBAAuB,CAAA;KAAE,CAAC,CAM7D;IAED;;;;;;;;OAQG;IACG,QAAQ,CACZ,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,sBAAsB,CAAC,CA0DjC;IAED;;;;;;;;OAQG;IACG,IAAI,CACR,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAiClC;IAED,0FAA0F;IACpF,OAAO,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/F;CACF"}
|