@telora/daemon 0.22.289 → 0.22.290
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/build-info.json +2 -2
- package/dist/backends/agent-backend.d.ts +2 -0
- package/dist/backends/agent-backend.d.ts.map +1 -1
- package/dist/backends/availability.d.ts +14 -0
- package/dist/backends/availability.d.ts.map +1 -1
- package/dist/backends/availability.js +37 -0
- package/dist/backends/availability.js.map +1 -1
- package/dist/backends/claude/claude-backend.d.ts.map +1 -1
- package/dist/backends/claude/claude-backend.js +2 -0
- package/dist/backends/claude/claude-backend.js.map +1 -1
- package/dist/backends/codex/codex-backend.d.ts.map +1 -1
- package/dist/backends/codex/codex-backend.js +2 -0
- package/dist/backends/codex/codex-backend.js.map +1 -1
- package/dist/backends/index.d.ts +1 -1
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +2 -17
- package/dist/backends/index.js.map +1 -1
- package/dist/cli/status-commands.d.ts +7 -0
- package/dist/cli/status-commands.d.ts.map +1 -1
- package/dist/cli/status-commands.js +17 -0
- package/dist/cli/status-commands.js.map +1 -1
- package/dist/completion/completion-event/event.d.ts +1 -0
- package/dist/completion/completion-event/event.d.ts.map +1 -1
- package/dist/completion/completion-event/event.js +1 -0
- package/dist/completion/completion-event/event.js.map +1 -1
- package/dist/completion/review-exit/review-census-record.d.ts +4 -2
- package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
- package/dist/completion/review-exit/review-census-record.js +11 -3
- package/dist/completion/review-exit/review-census-record.js.map +1 -1
- package/dist/completion/review-exit/review-exit-deps.js +1 -1
- package/dist/completion/review-exit/review-exit-phase.d.ts +9 -0
- package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-phase.js +1 -1
- package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-holds/commit-verdict-release.d.ts.map +1 -1
- package/dist/completion/review-exit-holds/commit-verdict-release.js +2 -1
- package/dist/completion/review-exit-holds/commit-verdict-release.js.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +1 -0
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +1 -0
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
- package/dist/completion/team-exit/team-completion.d.ts.map +1 -1
- package/dist/completion/team-exit/team-completion.js +3 -1
- package/dist/completion/team-exit/team-completion.js.map +1 -1
- package/dist/completion/team-liveness/liveness-firing.js +3 -3
- package/dist/completion/team-liveness/team-liveness-phase.d.ts +6 -1
- package/dist/completion/team-liveness/team-liveness-phase.d.ts.map +1 -1
- package/dist/completion/team-liveness/team-liveness-phase.js.map +1 -1
- package/dist/completion/team-outcome/apply-close.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply-close.js +4 -1
- package/dist/completion/team-outcome/apply-close.js.map +1 -1
- package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply-turn.js +3 -1
- package/dist/completion/team-outcome/apply-turn.js.map +1 -1
- package/dist/completion/team-outcome/apply.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply.js +3 -1
- package/dist/completion/team-outcome/apply.js.map +1 -1
- package/dist/completion/team-outcome/decide-shared.d.ts.map +1 -1
- package/dist/completion/team-outcome/decide-shared.js +3 -2
- package/dist/completion/team-outcome/decide-shared.js.map +1 -1
- package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
- package/dist/completion/team-outcome/exit-pipeline-state.js +2 -1
- package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
- package/dist/completion/team-outcome/team-outcome.d.ts.map +1 -1
- package/dist/completion/team-outcome/team-outcome.js +3 -1
- package/dist/completion/team-outcome/team-outcome.js.map +1 -1
- package/dist/composition/execution-migrations-context.d.ts.map +1 -1
- package/dist/composition/execution-migrations-context.js +2 -0
- package/dist/composition/execution-migrations-context.js.map +1 -1
- package/dist/composition/execution-process-context.js +1 -1
- package/dist/composition/execution-spawn-context.d.ts.map +1 -1
- package/dist/composition/execution-spawn-context.js +2 -1
- package/dist/composition/execution-spawn-context.js.map +1 -1
- package/dist/composition/execution-spawn-process-context.d.ts.map +1 -1
- package/dist/composition/execution-spawn-process-context.js +3 -2
- package/dist/composition/execution-spawn-process-context.js.map +1 -1
- package/dist/composition/focus-activity-live-sources.d.ts +4 -0
- package/dist/composition/focus-activity-live-sources.d.ts.map +1 -0
- package/dist/composition/focus-activity-live-sources.js +65 -0
- package/dist/composition/focus-activity-live-sources.js.map +1 -0
- package/dist/composition/runtime-delivery-advance-context.d.ts +6 -1
- package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
- package/dist/composition/runtime-delivery-advance-context.js +14 -3
- package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
- package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
- package/dist/composition/runtime-heartbeat-context.js +3 -1
- package/dist/composition/runtime-heartbeat-context.js.map +1 -1
- package/dist/composition/team-lifecycle-context.d.ts.map +1 -1
- package/dist/composition/team-lifecycle-context.js +3 -1
- package/dist/composition/team-lifecycle-context.js.map +1 -1
- package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
- package/dist/composition/team-liveness-phase-sources.js +1 -0
- package/dist/composition/team-liveness-phase-sources.js.map +1 -1
- package/dist/composition/verification-context.d.ts.map +1 -1
- package/dist/composition/verification-context.js +4 -1
- package/dist/composition/verification-context.js.map +1 -1
- package/dist/daemon-state/awaiting-slot.d.ts +8 -2
- package/dist/daemon-state/awaiting-slot.d.ts.map +1 -1
- package/dist/daemon-state/awaiting-slot.js +21 -8
- package/dist/daemon-state/awaiting-slot.js.map +1 -1
- package/dist/daemon-state/engine-readiness.d.ts +73 -0
- package/dist/daemon-state/engine-readiness.d.ts.map +1 -0
- package/dist/daemon-state/engine-readiness.js +191 -0
- package/dist/daemon-state/engine-readiness.js.map +1 -0
- package/dist/daemon-state/focus-progress-clock.d.ts +34 -0
- package/dist/daemon-state/focus-progress-clock.d.ts.map +1 -0
- package/dist/daemon-state/focus-progress-clock.js +167 -0
- package/dist/daemon-state/focus-progress-clock.js.map +1 -0
- package/dist/daemon-state/focus-team-state.d.ts +12 -9
- package/dist/daemon-state/focus-team-state.d.ts.map +1 -1
- package/dist/daemon-state/focus-team-state.js +15 -9
- package/dist/daemon-state/focus-team-state.js.map +1 -1
- package/dist/daemon-state/provider-window.d.ts.map +1 -1
- package/dist/daemon-state/provider-window.js +5 -1
- package/dist/daemon-state/provider-window.js.map +1 -1
- package/dist/daemon-state/review-park-record.d.ts +36 -0
- package/dist/daemon-state/review-park-record.d.ts.map +1 -0
- package/dist/daemon-state/review-park-record.js +27 -0
- package/dist/daemon-state/review-park-record.js.map +1 -0
- package/dist/daemon-state/worker-pidfile.d.ts.map +1 -1
- package/dist/daemon-state/worker-pidfile.js +3 -1
- package/dist/daemon-state/worker-pidfile.js.map +1 -1
- package/dist/delivery/commit-verdict-hold.d.ts.map +1 -1
- package/dist/delivery/commit-verdict-hold.js +3 -1
- package/dist/delivery/commit-verdict-hold.js.map +1 -1
- package/dist/directive/directive-queue.js +1 -1
- package/dist/focus/focus-activity-held.d.ts +37 -0
- package/dist/focus/focus-activity-held.d.ts.map +1 -0
- package/dist/focus/focus-activity-held.js +89 -0
- package/dist/focus/focus-activity-held.js.map +1 -0
- package/dist/focus/focus-activity-poll-facts.d.ts +39 -0
- package/dist/focus/focus-activity-poll-facts.d.ts.map +1 -0
- package/dist/focus/focus-activity-poll-facts.js +109 -0
- package/dist/focus/focus-activity-poll-facts.js.map +1 -0
- package/dist/focus/focus-activity-producers.d.ts +37 -0
- package/dist/focus/focus-activity-producers.d.ts.map +1 -0
- package/dist/focus/focus-activity-producers.js +118 -0
- package/dist/focus/focus-activity-producers.js.map +1 -0
- package/dist/focus/focus-activity-record.d.ts +58 -0
- package/dist/focus/focus-activity-record.d.ts.map +1 -0
- package/dist/focus/focus-activity-record.js +138 -0
- package/dist/focus/focus-activity-record.js.map +1 -0
- package/dist/focus/focus-activity-sources.d.ts +95 -0
- package/dist/focus/focus-activity-sources.d.ts.map +1 -0
- package/dist/focus/focus-activity-sources.js +45 -0
- package/dist/focus/focus-activity-sources.js.map +1 -0
- package/dist/focus/focus-executor.js +1 -1
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
- package/dist/focus/focus-poller-auto-advance.js +2 -0
- package/dist/focus/focus-poller-auto-advance.js.map +1 -1
- package/dist/focus/heartbeat.d.ts +3 -0
- package/dist/focus/heartbeat.d.ts.map +1 -1
- package/dist/focus/heartbeat.js +31 -31
- package/dist/focus/heartbeat.js.map +1 -1
- package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
- package/dist/focus/pending-review-approved-head.js +4 -2
- package/dist/focus/pending-review-approved-head.js.map +1 -1
- package/dist/focus/unchanged-reviewed-head.d.ts.map +1 -1
- package/dist/focus/unchanged-reviewed-head.js +4 -2
- package/dist/focus/unchanged-reviewed-head.js.map +1 -1
- package/dist/queries/deliveries/deliveries.d.ts +4 -0
- package/dist/queries/deliveries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries/deliveries.js +6 -0
- package/dist/queries/deliveries/deliveries.js.map +1 -1
- package/dist/queries/deliveries/issues.d.ts +3 -0
- package/dist/queries/deliveries/issues.d.ts.map +1 -1
- package/dist/queries/deliveries/issues.js +10 -2
- package/dist/queries/deliveries/issues.js.map +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts +2 -0
- package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts.map +1 -1
- package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focuses/focus-discovery.js +2 -0
- package/dist/queries/focuses/focus-discovery.js.map +1 -1
- package/dist/queries/focuses/focuses.d.ts.map +1 -1
- package/dist/queries/focuses/focuses.js +2 -0
- package/dist/queries/focuses/focuses.js.map +1 -1
- package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
- package/dist/queries/sessions/daemon-connection.js +1 -0
- package/dist/queries/sessions/daemon-connection.js.map +1 -1
- package/dist/queries/workflow-transitions/workflows.d.ts.map +1 -1
- package/dist/queries/workflow-transitions/workflows.js +1 -0
- package/dist/queries/workflow-transitions/workflows.js.map +1 -1
- package/dist/shell/unified-shell-status.d.ts +11 -1
- package/dist/shell/unified-shell-status.d.ts.map +1 -1
- package/dist/shell/unified-shell-status.js +14 -0
- package/dist/shell/unified-shell-status.js.map +1 -1
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +23 -4
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/spawn/codex-auth.d.ts +32 -0
- package/dist/spawn/codex-auth.d.ts.map +1 -0
- package/dist/spawn/codex-auth.js +55 -0
- package/dist/spawn/codex-auth.js.map +1 -0
- package/dist/spawn/helpers.d.ts.map +1 -1
- package/dist/spawn/helpers.js +15 -3
- package/dist/spawn/helpers.js.map +1 -1
- package/dist/spawn/model-reached.d.ts +36 -0
- package/dist/spawn/model-reached.d.ts.map +1 -0
- package/dist/spawn/model-reached.js +43 -0
- package/dist/spawn/model-reached.js.map +1 -0
- package/dist/spawn/next-spawn-cooldown.d.ts +21 -2
- package/dist/spawn/next-spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/next-spawn-cooldown.js +65 -7
- package/dist/spawn/next-spawn-cooldown.js.map +1 -1
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +8 -5
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/review-hold-park.d.ts +12 -1
- package/dist/spawn/review-hold-park.d.ts.map +1 -1
- package/dist/spawn/review-hold-park.js +25 -9
- package/dist/spawn/review-hold-park.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +15 -0
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +25 -2
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/supervision/spawn-cooldown-window.d.ts +15 -0
- package/dist/supervision/spawn-cooldown-window.d.ts.map +1 -0
- package/dist/supervision/spawn-cooldown-window.js +46 -0
- package/dist/supervision/spawn-cooldown-window.js.map +1 -0
- package/dist/supervision/spawn-cooldown.d.ts +3 -2
- package/dist/supervision/spawn-cooldown.d.ts.map +1 -1
- package/dist/supervision/spawn-cooldown.js +6 -1
- package/dist/supervision/spawn-cooldown.js.map +1 -1
- package/dist/supervision/stop-registry.d.ts +1 -0
- package/dist/supervision/stop-registry.d.ts.map +1 -1
- package/dist/supervision/stop-rows-spawn.d.ts +8 -0
- package/dist/supervision/stop-rows-spawn.d.ts.map +1 -1
- package/dist/supervision/stop-rows-spawn.js +28 -1
- package/dist/supervision/stop-rows-spawn.js.map +1 -1
- package/dist/testing/fixtures/approved-head-inert-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/approved-head-inert-deps.js +4 -2
- package/dist/testing/fixtures/approved-head-inert-deps.js.map +1 -1
- package/dist/testing/fixtures/codex-stream-session.d.ts +4 -0
- package/dist/testing/fixtures/codex-stream-session.d.ts.map +1 -1
- package/dist/testing/fixtures/codex-stream-session.js +21 -5
- package/dist/testing/fixtures/codex-stream-session.js.map +1 -1
- package/dist/testing/fixtures/completion-event-deps.js +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/process-close-context.d.ts.map +1 -1
- package/dist/testing/fixtures/process-close-context.js +2 -0
- package/dist/testing/fixtures/process-close-context.js.map +1 -1
- package/dist/testing/fixtures/recording-api-client.js +1 -1
- package/dist/testing/fixtures/review-exit-deps.js +1 -1
- package/dist/testing/fixtures/session-wire.d.ts.map +1 -1
- package/dist/testing/fixtures/session-wire.js +2 -1
- package/dist/testing/fixtures/session-wire.js.map +1 -1
- package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-deps.js +4 -0
- package/dist/testing/fixtures/verification-deps.js.map +1 -1
- package/dist/types/focus-team-state.d.ts +14 -2
- package/dist/types/focus-team-state.d.ts.map +1 -1
- package/dist/types/focus-team-state.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.d.ts +8 -4
- package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.js +50 -13
- package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js +3 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
- package/dist/verify/engine/verification-deps.d.ts +7 -0
- package/dist/verify/engine/verification-deps.d.ts.map +1 -1
- package/dist/verify/engine/verification-deps.js +1 -1
- package/dist/verify/engine/verification-engine.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.js +107 -8
- package/dist/verify/engine/verification-engine.js.map +1 -1
- package/dist/verify/gate-config/verification-config.js +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
- package/dist/verify/gate-verdicts/gate-run-registry.d.ts +74 -3
- package/dist/verify/gate-verdicts/gate-run-registry.d.ts.map +1 -1
- package/dist/verify/gate-verdicts/gate-run-registry.js +41 -20
- package/dist/verify/gate-verdicts/gate-run-registry.js.map +1 -1
- package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
- package/dist/verify/run-selection/default-on-guards.js +1 -19
- package/dist/verify/run-selection/default-on-guards.js.map +1 -1
- package/dist/worktree/verify-interlock.d.ts +23 -2
- package/dist/worktree/verify-interlock.d.ts.map +1 -1
- package/dist/worktree/verify-interlock.js +79 -2
- package/dist/worktree/verify-interlock.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/spawn/codex-auth.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
import { markEngineNotReady } from '../daemon-state/engine-readiness.js';
|
|
5
|
+
import { CODEX_PROVIDER } from '../daemon-state/provider-window.js';
|
|
6
|
+
import { markModelUnavailable } from './team-provider-limit.js';
|
|
7
|
+
import { createLogger } from '../log/daemon-log.js';
|
|
8
|
+
const log = createLogger({ module: 'codex-auth' });
|
|
9
|
+
/** The final 401 (or 403) Codex reports once its retries are spent; never a `Reconnecting...` retry. */
|
|
10
|
+
const AUTH_FAILURE_RE = /^unexpected status (401 Unauthorized|403 Forbidden)\b/i;
|
|
11
|
+
function isRecord(value) {
|
|
12
|
+
return typeof value === 'object' && value !== null;
|
|
13
|
+
}
|
|
14
|
+
/** The message of a Codex `error` or `turn.failed` line, or null for any other line. */
|
|
15
|
+
function codexFailureMessage(raw) {
|
|
16
|
+
if (!isRecord(raw))
|
|
17
|
+
return null;
|
|
18
|
+
if (raw['type'] === 'error')
|
|
19
|
+
return typeof raw['message'] === 'string' ? raw['message'] : null;
|
|
20
|
+
if (raw['type'] === 'turn.failed') {
|
|
21
|
+
const err = raw['error'];
|
|
22
|
+
return isRecord(err) && typeof err['message'] === 'string' ? err['message'] : null;
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
/** The Codex authentication-failure message a raw line carries, or null. Pure. */
|
|
27
|
+
export function parseCodexAuthFailure(raw) {
|
|
28
|
+
const message = codexFailureMessage(raw);
|
|
29
|
+
if (message === null)
|
|
30
|
+
return null;
|
|
31
|
+
return AUTH_FAILURE_RE.test(message.trim()) ? message.trim() : null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Consume a raw line from a Codex team's stream. On an authentication failure:
|
|
35
|
+
* mark the Codex engine not ready on this host (missing login) and the team's
|
|
36
|
+
* model unavailable. The `error` and `turn.failed` lines repeat one message; the
|
|
37
|
+
* second changes nothing but the record's timestamp. Returns the message, or null.
|
|
38
|
+
*/
|
|
39
|
+
export function noteCodexTeamAuthFailure(teamState, raw, focusName, nowMs = Date.now()) {
|
|
40
|
+
const message = parseCodexAuthFailure(raw);
|
|
41
|
+
if (message === null)
|
|
42
|
+
return null;
|
|
43
|
+
const holdUntilMs = markEngineNotReady('codex', {
|
|
44
|
+
missing: 'login',
|
|
45
|
+
detail: `Codex could not authenticate ("${message.slice(0, 160)}"). Run \`codex login\` or set CODEX_API_KEY on the daemon host.`,
|
|
46
|
+
source: 'auth_failure',
|
|
47
|
+
}, nowMs).nextProbeAtMs ?? nowMs;
|
|
48
|
+
if (!teamState.modelUnavailable) {
|
|
49
|
+
log.warn(` [focus-team] Codex authentication failed for "${focusName}" -- the codex engine is not ready on this host ` +
|
|
50
|
+
`(not logged in); no lead is spawned on it until it re-probes ready. Not a review or coding outcome.`);
|
|
51
|
+
}
|
|
52
|
+
markModelUnavailable(teamState, { kind: 'auth', provider: teamState.provider ?? CODEX_PROVIDER, holdUntilMs });
|
|
53
|
+
return message;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=codex-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-auth.js","sourceRoot":"","sources":["../../src/spawn/codex-auth.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0DAA0D;AAC1D,gBAAgB;AAyBhB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAEnD,wGAAwG;AACxG,MAAM,eAAe,GAAG,wDAAwD,CAAC;AAEjF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,wFAAwF;AACxF,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO;QAAE,OAAO,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,aAAa,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAyB,EACzB,GAAY,EACZ,SAAiB,EACjB,QAAgB,IAAI,CAAC,GAAG,EAAE;IAE1B,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE;QAC9C,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,kCAAkC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kEAAkE;QACjI,MAAM,EAAE,cAAc;KACvB,EAAE,KAAK,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC;IACjC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CACN,mDAAmD,SAAS,kDAAkD;YAC9G,qGAAqG,CACtG,CAAC;IACJ,CAAC;IACD,oBAAoB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/G,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/spawn/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/spawn/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/spawn/helpers.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
2
|
// Pinned by: packages/daemon/src/completion/team-teardown/team-teardown-kills-process-group.test.ts,
|
|
3
3
|
// packages/daemon/src/daemon-state/shutdown-attribution.test.ts,
|
|
4
|
-
// packages/daemon/src/
|
|
4
|
+
// packages/daemon/src/focus/focus-activity-team-clock.test.ts,
|
|
5
|
+
// packages/daemon/src/integration/engine-readiness-runtime.test.ts,
|
|
6
|
+
// packages/daemon/src/spawn/codex-auth.test.ts, packages/daemon/src/spawn/finished-lead-not-woken.test.ts,
|
|
5
7
|
// packages/daemon/src/spawn/helpers-activity-wiring.test.ts,
|
|
6
8
|
// packages/daemon/src/spawn/progress-measure-wiring.test.ts,
|
|
7
9
|
// packages/daemon/src/spawn/resume-failure-sigterm-exclusion.test.ts,
|
|
@@ -17,11 +19,13 @@ import { CompletionDetector } from '../completion/index.js';
|
|
|
17
19
|
import { pendingStdinTurns, sentStdinCount, clearStdinTurnTracking } from '../daemon-state/stdin-turn-tracker.js';
|
|
18
20
|
import { noteTeamAgentEvent, noteTeamRawEvent, resetTeamWorkers } from '../completion/team-progress/team-progress-measure.js';
|
|
19
21
|
import { ActivityTracker } from '../session/activity-tracker.js';
|
|
20
|
-
import { markTeamExecuting, recordTeamActivity, ownsOrVacantRegistration, deleteTeamRegistrationIfOwned, markTeamTerminated, countToolActivity, stampErrorResult, } from '../daemon-state/focus-team-state.js';
|
|
22
|
+
import { markTeamExecuting, recordTeamActivity, ownsOrVacantRegistration, deleteTeamRegistrationIfOwned, markTeamTerminated, countToolActivity, stampErrorResult, markModelReached, } from '../daemon-state/focus-team-state.js';
|
|
21
23
|
import { isSigtermExit, classifyTeamExit } from '../completion/team-exit/exit-classification.js';
|
|
22
24
|
import { formatTeamExitLine } from '../daemon-state/shutdown-attribution.js';
|
|
23
25
|
import { parseRateLimitInfo } from '../backends/claude/rate-limit.js';
|
|
24
26
|
import { noteCodexTeamLimit } from './codex-limit.js';
|
|
27
|
+
import { noteCodexTeamAuthFailure } from './codex-auth.js';
|
|
28
|
+
import { agentEventReachesModel, rawLineReachesModel } from './model-reached.js';
|
|
25
29
|
import { codexToolActivityEvent, noteCodexDelegation } from '../completion/team-progress/codex-activity.js';
|
|
26
30
|
import { reengageOnIdleResult } from './lead-continuation.js';
|
|
27
31
|
import { recordRespawnCooldown } from '../supervision/spawn-cooldown.js';
|
|
@@ -80,6 +84,9 @@ function handleTeamAgentEvent(event, ctx) {
|
|
|
80
84
|
recordTeamActivity(focusId);
|
|
81
85
|
// The progress measure's agent-activity axis (completion/team-progress/team-progress-measure.ts).
|
|
82
86
|
noteTeamAgentEvent(teamState, focusId, event);
|
|
87
|
+
// Whether the exit reached its model (spawn/model-reached.ts): a lead that dies before it is no review.
|
|
88
|
+
if (agentEventReachesModel(event))
|
|
89
|
+
markModelReached(teamState, Date.now());
|
|
83
90
|
switch (event.kind) {
|
|
84
91
|
case 'session_started':
|
|
85
92
|
log.info(` [focus-team] Session initialized (model: ${event.model ?? 'unknown'})`);
|
|
@@ -140,13 +147,15 @@ function handleTeamAgentEvent(event, ctx) {
|
|
|
140
147
|
}
|
|
141
148
|
/**
|
|
142
149
|
* Read one raw line of a Codex team's stream for what the daemon-core parser
|
|
143
|
-
* does not surface: a usage or rate limit (spawn/codex-limit.ts),
|
|
150
|
+
* does not surface: a usage or rate limit (spawn/codex-limit.ts), an
|
|
151
|
+
* authentication failure (spawn/codex-auth.ts), a silent
|
|
144
152
|
* delegation opening or closing, and a completed shell / file-change / search
|
|
145
153
|
* item, which is handled as the tool_activity event a Claude tool call is
|
|
146
154
|
* (completion/team-progress/codex-activity.ts).
|
|
147
155
|
*/
|
|
148
156
|
function handleCodexRawLine(raw, ctx) {
|
|
149
157
|
noteCodexTeamLimit(ctx.teamState, raw, ctx.focusName);
|
|
158
|
+
noteCodexTeamAuthFailure(ctx.teamState, raw, ctx.focusName);
|
|
150
159
|
noteCodexDelegation(ctx.focusId, raw);
|
|
151
160
|
const toolEvent = codexToolActivityEvent(raw);
|
|
152
161
|
if (toolEvent)
|
|
@@ -194,6 +203,9 @@ export function attachStreamHandlers(params) {
|
|
|
194
203
|
// work, silent delegations). Claude's typed rate-limit event is read below.
|
|
195
204
|
if (backend.id === 'codex')
|
|
196
205
|
handleCodexRawLine(raw, { teamState, focusId, focusName, engineId: backend.id, continuation });
|
|
206
|
+
// A message the model wrote (not one the CLI wrote for it): the session reached its model (spawn/model-reached.ts).
|
|
207
|
+
if (rawLineReachesModel(backend.id, raw))
|
|
208
|
+
markModelReached(teamState, Date.now());
|
|
197
209
|
const rl = parseRateLimitInfo(raw);
|
|
198
210
|
if (rl && rl.status === 'rejected' && rl.resetsAtMs != null) {
|
|
199
211
|
setRateLimitResetAt(teamState, rl.resetsAtMs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/spawn/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/spawn/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Did a lead's session ever reach its model? The fact a lead's exit carries so a
|
|
3
|
+
* lead that died before its first model turn is read as what it is: nothing
|
|
4
|
+
* happened, and the work it was spawned for is still owed.
|
|
5
|
+
*
|
|
6
|
+
* A session reaches its model when the MODEL answers: it writes a message,
|
|
7
|
+
* invokes a tool, delegates to a worker, or finishes a turn that produced
|
|
8
|
+
* output. Neither engine's session start counts, and neither does text the CLI
|
|
9
|
+
* writes on the model's behalf:
|
|
10
|
+
*
|
|
11
|
+
* - Codex announces `thread.started` (the neutral `session_started`) before
|
|
12
|
+
* any model request; a Codex lead that cannot authenticate then emits only
|
|
13
|
+
* `error` / `turn.failed` lines and one `item.completed` whose item is an
|
|
14
|
+
* `error` (testing/fixtures/codex-streams/auth-401-unauthorized.jsonl).
|
|
15
|
+
* - Claude Code that cannot authenticate emits its `system` init, `api_retry`
|
|
16
|
+
* lines, then an `assistant` message whose model is `<synthetic>` carrying
|
|
17
|
+
* the error text -- surfaced as neutral `narration` -- and an `is_error`
|
|
18
|
+
* result with zero output tokens
|
|
19
|
+
* (testing/fixtures/claude-streams/auth-401-invalid-key.jsonl).
|
|
20
|
+
*
|
|
21
|
+
* So the neutral events that count are the ones only a model produces:
|
|
22
|
+
* `tool_activity`, `subagent_activity`, and a `result` with output tokens or no
|
|
23
|
+
* error. Narration is read per engine off the raw channel instead, where the
|
|
24
|
+
* synthetic message can be told apart: a Claude `assistant` message from a real
|
|
25
|
+
* model, or any Codex `item.*` line whose item is not an `error`.
|
|
26
|
+
*/
|
|
27
|
+
import type { AgentEvent } from '@telora/daemon-core';
|
|
28
|
+
/** True when a neutral agent event is output only the model produces. Pure. */
|
|
29
|
+
export declare function agentEventReachesModel(event: AgentEvent): boolean;
|
|
30
|
+
/** True when a raw Codex `--json` line is an item the model produced. Pure. */
|
|
31
|
+
export declare function codexRawLineReachesModel(raw: unknown): boolean;
|
|
32
|
+
/** True when a raw Claude stream-json line is an assistant message a real model wrote. Pure. */
|
|
33
|
+
export declare function claudeRawLineReachesModel(raw: unknown): boolean;
|
|
34
|
+
/** The raw-channel reading for the engine the lead runs on. Pure. */
|
|
35
|
+
export declare function rawLineReachesModel(engineId: string, raw: unknown): boolean;
|
|
36
|
+
//# sourceMappingURL=model-reached.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-reached.d.ts","sourceRoot":"","sources":["../../src/spawn/model-reached.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKtD,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAUjE;AAMD,+EAA+E;AAC/E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAI9D;AAED,gGAAgG;AAChG,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAI3E"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/spawn/model-reached.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
/** The model name Claude Code stamps on a message it wrote itself (an API error), not the model. */
|
|
5
|
+
const CLAUDE_SYNTHETIC_MODEL = '<synthetic>';
|
|
6
|
+
/** True when a neutral agent event is output only the model produces. Pure. */
|
|
7
|
+
export function agentEventReachesModel(event) {
|
|
8
|
+
switch (event.kind) {
|
|
9
|
+
case 'tool_activity':
|
|
10
|
+
case 'subagent_activity':
|
|
11
|
+
return true;
|
|
12
|
+
case 'result':
|
|
13
|
+
return !event.isError || (event.outputTokens ?? 0) > 0;
|
|
14
|
+
default:
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function isRecord(value) {
|
|
19
|
+
return typeof value === 'object' && value !== null;
|
|
20
|
+
}
|
|
21
|
+
/** True when a raw Codex `--json` line is an item the model produced. Pure. */
|
|
22
|
+
export function codexRawLineReachesModel(raw) {
|
|
23
|
+
if (!isRecord(raw) || typeof raw['type'] !== 'string' || !raw['type'].startsWith('item.'))
|
|
24
|
+
return false;
|
|
25
|
+
const item = raw['item'];
|
|
26
|
+
return isRecord(item) && typeof item['type'] === 'string' && item['type'] !== 'error';
|
|
27
|
+
}
|
|
28
|
+
/** True when a raw Claude stream-json line is an assistant message a real model wrote. Pure. */
|
|
29
|
+
export function claudeRawLineReachesModel(raw) {
|
|
30
|
+
if (!isRecord(raw) || raw['type'] !== 'assistant')
|
|
31
|
+
return false;
|
|
32
|
+
const message = raw['message'];
|
|
33
|
+
return isRecord(message) && typeof message['model'] === 'string' && message['model'] !== CLAUDE_SYNTHETIC_MODEL;
|
|
34
|
+
}
|
|
35
|
+
/** The raw-channel reading for the engine the lead runs on. Pure. */
|
|
36
|
+
export function rawLineReachesModel(engineId, raw) {
|
|
37
|
+
if (engineId === 'codex')
|
|
38
|
+
return codexRawLineReachesModel(raw);
|
|
39
|
+
if (engineId === 'claude')
|
|
40
|
+
return claudeRawLineReachesModel(raw);
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=model-reached.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-reached.js","sourceRoot":"","sources":["../../src/spawn/model-reached.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,6DAA6D;AAC7D,gBAAgB;AA+BhB,oGAAoG;AACpG,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAE7C,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB,CAAC,KAAiB;IACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,eAAe,CAAC;QACrB,KAAK,mBAAmB;YACtB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACxG,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;AACxF,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,sBAAsB,CAAC;AAClH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,GAAY;IAChE,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { getActiveFocuses } from '../queries/focuses/focus-discovery.js';
|
|
|
2
2
|
import type { fetchFocusWorkflow, getFocusDeliveries } from '../queries/focuses/focuses.js';
|
|
3
3
|
import type { DaemonConfig, PipelineConfig } from '../types/index.js';
|
|
4
4
|
import type { ModelProvider } from '../types/model-provider.js';
|
|
5
|
+
import { type SpawnCooldownWindow } from '../supervision/spawn-cooldown-window.js';
|
|
5
6
|
/** The route inputs of a focus's next spawn, as the ready and active focus rows both carry them. */
|
|
6
7
|
export interface NextSpawnRoute {
|
|
7
8
|
focus_id: string;
|
|
@@ -26,8 +27,20 @@ export interface NextSpawnRouteDeps {
|
|
|
26
27
|
*/
|
|
27
28
|
export declare function resolveNextSpawnProvider(config: DaemonConfig, route: NextSpawnRoute, deps: NextSpawnRouteDeps): Promise<ModelProvider | null>;
|
|
28
29
|
/**
|
|
29
|
-
*
|
|
30
|
-
* the
|
|
30
|
+
* The engine and provider the focus's next team spawn would run on, resolved
|
|
31
|
+
* from the route as it stands now; null when a read failed (the gate then holds
|
|
32
|
+
* on neither, and the spawn checks its own resolution).
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveNextSpawnEngineRoute(config: DaemonConfig, route: NextSpawnRoute, deps: NextSpawnRouteDeps): Promise<{
|
|
35
|
+
engineId: string;
|
|
36
|
+
provider: ModelProvider;
|
|
37
|
+
} | null>;
|
|
38
|
+
/**
|
|
39
|
+
* True when the focus's next team spawn is held: by its teardown streak, by the
|
|
40
|
+
* rate-limit window of the provider it would run on now, or because the engine
|
|
41
|
+
* it would run on is not ready on this host (daemon-state/engine-readiness.ts).
|
|
42
|
+
* A not-ready engine whose wait has elapsed is re-probed first, so an engine that
|
|
43
|
+
* was installed or logged in since is used again with no restart.
|
|
31
44
|
*/
|
|
32
45
|
export declare function isNextSpawnInCooldown(config: DaemonConfig, route: NextSpawnRoute, deps: NextSpawnRouteDeps): Promise<boolean>;
|
|
33
46
|
/** True when the focus's teardown streak holds its next spawn, whatever it runs on (the pending-spawn guard's reading). */
|
|
@@ -38,6 +51,12 @@ export declare function isNextSpawnInTeardownCooldown(focusId: string): boolean;
|
|
|
38
51
|
* against the windows as they stand. Display only; no spawn reads it.
|
|
39
52
|
*/
|
|
40
53
|
export declare function wasNextSpawnHeldAtLastGate(focusId: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* The window holding the focus's next spawn, read as wasNextSpawnHeldAtLastGate
|
|
56
|
+
* reads it (the provider the gate resolved last): when it began and when it
|
|
57
|
+
* ends. For the focus activity record's `cooldown` entry; display only.
|
|
58
|
+
*/
|
|
59
|
+
export declare function nextSpawnCooldownWindow(focusId: string, nowMs?: number): SpawnCooldownWindow | null;
|
|
41
60
|
/** Test-only: forget every gate reading. */
|
|
42
61
|
export declare function __resetNextSpawnGateForTests(): void;
|
|
43
62
|
//# sourceMappingURL=next-spawn-cooldown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-spawn-cooldown.d.ts","sourceRoot":"","sources":["../../src/spawn/next-spawn-cooldown.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"next-spawn-cooldown.d.ts","sourceRoot":"","sources":["../../src/spawn/next-spawn-cooldown.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAQ5G,oGAAoG;AACpG,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,qHAAqH;AACrH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AA+BD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAE/B;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAAC,CAkB/D;AA2BD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,2HAA2H;AAC3H,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAInE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAmB,GAAG,mBAAmB,GAAG,IAAI,CAE/G;AAED,4CAA4C;AAC5C,wBAAgB,4BAA4B,IAAI,IAAI,CAInD"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
2
|
// Pinned by: packages/daemon/src/daemon-state/provider-window.test.ts,
|
|
3
|
-
// packages/daemon/src/
|
|
3
|
+
// packages/daemon/src/integration/engine-readiness-runtime.test.ts,
|
|
4
|
+
// packages/daemon/src/spawn/empty-directive-route.test.ts,
|
|
5
|
+
// packages/daemon/src/spawn/engine-not-ready-gate.test.ts
|
|
4
6
|
// PINNED-BY-END
|
|
5
7
|
/**
|
|
6
8
|
* Is a focus's NEXT team spawn held? The spawn gates' reading of the spawn
|
|
7
|
-
* cooldown (the ready-focus gate, the pending-spawn gate, the team-liveness-phase map)
|
|
9
|
+
* cooldown (the ready-focus gate, the pending-spawn gate, the team-liveness-phase map),
|
|
10
|
+
* and of the engine readiness hold (daemon-state/engine-readiness.ts): a lead is
|
|
11
|
+
* not spawned on an engine that is not ready on this host.
|
|
8
12
|
*
|
|
9
13
|
* A teardown streak holds a spawn whatever it runs on. A rate-limit window holds
|
|
10
14
|
* it only when it would run on that window's provider (daemon-state/provider-window.ts):
|
|
@@ -35,8 +39,12 @@ import { getPendingSpawnDirective } from '../directive/directive-queue.js';
|
|
|
35
39
|
import { resolveFocusStageName } from '../directive/phase-sync.js';
|
|
36
40
|
import { configForProduct, findProduct } from '../config/config.js';
|
|
37
41
|
import { anyProviderWindowOpen } from '../daemon-state/provider-window.js';
|
|
42
|
+
import { anyEngineSpawnHold, engineNotReadyUntilMs } from '../daemon-state/engine-readiness.js';
|
|
43
|
+
import { reprobeDueEngines } from '../backends/availability.js';
|
|
44
|
+
import { stopFires } from '../supervision/stop-registry.js';
|
|
38
45
|
import { isInSpawnCooldown } from '../supervision/spawn-cooldown.js';
|
|
39
|
-
import {
|
|
46
|
+
import { readSpawnCooldownWindow } from '../supervision/spawn-cooldown-window.js';
|
|
47
|
+
import { selectRouteForPass } from './worktree-session.js';
|
|
40
48
|
import { pendingDirectiveRoute, stageAtSpawn, stageDirectiveRoute } from './directive-route.js';
|
|
41
49
|
import { createLogger } from '../log/daemon-log.js';
|
|
42
50
|
const log = createLogger({ module: 'spawn-cooldown' });
|
|
@@ -71,11 +79,19 @@ async function nextSpawnDirectiveRoute(config, route, deps) {
|
|
|
71
79
|
* window, and the spawn checks its own resolution).
|
|
72
80
|
*/
|
|
73
81
|
export async function resolveNextSpawnProvider(config, route, deps) {
|
|
82
|
+
return (await resolveNextSpawnEngineRoute(config, route, deps))?.provider ?? null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The engine and provider the focus's next team spawn would run on, resolved
|
|
86
|
+
* from the route as it stands now; null when a read failed (the gate then holds
|
|
87
|
+
* on neither, and the spawn checks its own resolution).
|
|
88
|
+
*/
|
|
89
|
+
export async function resolveNextSpawnEngineRoute(config, route, deps) {
|
|
74
90
|
try {
|
|
75
91
|
const product = route.product_id ? findProduct(config, route.product_id) : undefined;
|
|
76
92
|
const productConfig = product ? configForProduct(config, product) : config;
|
|
77
93
|
const metadata = await nextSpawnDirectiveRoute(productConfig, route, deps);
|
|
78
|
-
return
|
|
94
|
+
return selectRouteForPass({
|
|
79
95
|
engineOverride: route.engine_override,
|
|
80
96
|
localModelOverride: route.local_model_override,
|
|
81
97
|
config: productConfig,
|
|
@@ -92,13 +108,42 @@ export async function resolveNextSpawnProvider(config, route, deps) {
|
|
|
92
108
|
}
|
|
93
109
|
/** Each focus's provider at the gate's latest reading -- for the team-liveness-phase map only, which makes no spawn. */
|
|
94
110
|
const latestGateProvider = new Map();
|
|
111
|
+
/** Each focus's engine at the gate's latest reading, when an engine hold made the gate resolve it. Display only. */
|
|
112
|
+
const latestGateEngine = new Map();
|
|
113
|
+
/** The engine hold each focus was last told about, so the hold is logged once per episode, not once per poll. */
|
|
114
|
+
const loggedEngineHold = new Map();
|
|
115
|
+
/** Is the engine this spawn would run on held as not ready on this host? Logs once per hold episode. */
|
|
116
|
+
function engineHoldsSpawn(focusId, engineId) {
|
|
117
|
+
const holdUntil = engineId ? engineNotReadyUntilMs(engineId) : null;
|
|
118
|
+
const held = stopFires('engine_not_ready', { spawnEngineId: engineId, engineHoldUntilMs: holdUntil });
|
|
119
|
+
if (!held || holdUntil === null) {
|
|
120
|
+
loggedEngineHold.delete(focusId);
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
if (loggedEngineHold.get(focusId) !== holdUntil) {
|
|
124
|
+
loggedEngineHold.set(focusId, holdUntil);
|
|
125
|
+
log.info(`[spawn-gate] focus ${focusId.slice(0, 8)}: its next lead runs on ${engineId}, which is not ready on this host; ` +
|
|
126
|
+
`held until it re-probes ready (no later than ${new Date(holdUntil).toISOString()}) -- see telora-daemon status`);
|
|
127
|
+
}
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
95
130
|
/**
|
|
96
|
-
* True when the focus's next team spawn is held: by its teardown streak,
|
|
97
|
-
*
|
|
131
|
+
* True when the focus's next team spawn is held: by its teardown streak, by the
|
|
132
|
+
* rate-limit window of the provider it would run on now, or because the engine
|
|
133
|
+
* it would run on is not ready on this host (daemon-state/engine-readiness.ts).
|
|
134
|
+
* A not-ready engine whose wait has elapsed is re-probed first, so an engine that
|
|
135
|
+
* was installed or logged in since is used again with no restart.
|
|
98
136
|
*/
|
|
99
137
|
export async function isNextSpawnInCooldown(config, route, deps) {
|
|
100
|
-
|
|
138
|
+
await reprobeDueEngines(config);
|
|
139
|
+
const resolved = anyProviderWindowOpen() || anyEngineSpawnHold()
|
|
140
|
+
? await resolveNextSpawnEngineRoute(config, route, deps)
|
|
141
|
+
: null;
|
|
142
|
+
const provider = resolved?.provider ?? null;
|
|
101
143
|
latestGateProvider.set(route.focus_id, provider);
|
|
144
|
+
latestGateEngine.set(route.focus_id, resolved?.engineId ?? null);
|
|
145
|
+
if (engineHoldsSpawn(route.focus_id, resolved?.engineId ?? null))
|
|
146
|
+
return true;
|
|
102
147
|
return isInSpawnCooldown(route.focus_id, provider);
|
|
103
148
|
}
|
|
104
149
|
/** True when the focus's teardown streak holds its next spawn, whatever it runs on (the pending-spawn guard's reading). */
|
|
@@ -111,10 +156,23 @@ export function isNextSpawnInTeardownCooldown(focusId) {
|
|
|
111
156
|
* against the windows as they stand. Display only; no spawn reads it.
|
|
112
157
|
*/
|
|
113
158
|
export function wasNextSpawnHeldAtLastGate(focusId) {
|
|
159
|
+
const engineId = latestGateEngine.get(focusId) ?? null;
|
|
160
|
+
if (engineId !== null && engineNotReadyUntilMs(engineId) !== null)
|
|
161
|
+
return true;
|
|
114
162
|
return isInSpawnCooldown(focusId, latestGateProvider.get(focusId) ?? null);
|
|
115
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* The window holding the focus's next spawn, read as wasNextSpawnHeldAtLastGate
|
|
166
|
+
* reads it (the provider the gate resolved last): when it began and when it
|
|
167
|
+
* ends. For the focus activity record's `cooldown` entry; display only.
|
|
168
|
+
*/
|
|
169
|
+
export function nextSpawnCooldownWindow(focusId, nowMs = Date.now()) {
|
|
170
|
+
return readSpawnCooldownWindow(focusId, latestGateProvider.get(focusId) ?? null, nowMs);
|
|
171
|
+
}
|
|
116
172
|
/** Test-only: forget every gate reading. */
|
|
117
173
|
export function __resetNextSpawnGateForTests() {
|
|
118
174
|
latestGateProvider.clear();
|
|
175
|
+
latestGateEngine.clear();
|
|
176
|
+
loggedEngineHold.clear();
|
|
119
177
|
}
|
|
120
178
|
//# sourceMappingURL=next-spawn-cooldown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-spawn-cooldown.js","sourceRoot":"","sources":["../../src/spawn/next-spawn-cooldown.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,uEAAuE;AACvE,4DAA4D;AAC5D,gBAAgB;AAEhB
|
|
1
|
+
{"version":3,"file":"next-spawn-cooldown.js","sourceRoot":"","sources":["../../src/spawn/next-spawn-cooldown.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,uEAAuE;AACvE,sEAAsE;AACtE,6DAA6D;AAC7D,4DAA4D;AAC5D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAA4B,MAAM,yCAAyC,CAAC;AAE5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAqBvD;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CACpC,MAAoB,EACpB,KAAqB,EACrB,IAAwB;IAExB,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;SAC9F,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,qBAAqB,CAAC;YACtC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC3E,iBAAiB,EAAE,KAAK,CAAC,mBAAmB;SAC7C,CAAC,CAAC;QACH,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAC3G,CAAC;IACD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAoB,EACpB,KAAqB,EACrB,IAAwB;IAExB,OAAO,CAAC,MAAM,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAoB,EACpB,KAAqB,EACrB,IAAwB;IAExB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3E,OAAO,kBAAkB,CAAC;YACxB,cAAc,EAAE,KAAK,CAAC,eAAe;YACrC,kBAAkB,EAAE,KAAK,CAAC,oBAAoB;YAC9C,MAAM,EAAE,aAAa;YACrB,gBAAgB,EAAE,KAAK,CAAC,kBAAkB;YAC1C,cAAc,EAAE,KAAK,CAAC,eAAe;YACrC,qBAAqB,EAAE,KAAK,CAAC,wBAAwB;YACrD,qBAAqB,EAAE,KAAK,CAAC,wBAAwB;SACtD,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,sEAAsE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,wHAAwH;AACxH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAgC,CAAC;AACnE,oHAAoH;AACpH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAC1D,iHAAiH;AACjH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEnD,wGAAwG;AACxG,SAAS,gBAAgB,CAAC,OAAe,EAAE,QAAuB;IAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,IAAI,GAAG,SAAS,CAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;IACtG,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAChC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAChD,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,CACN,sBAAsB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,2BAA2B,QAAQ,qCAAqC;YACjH,gDAAgD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,+BAA+B,CACjH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAoB,EACpB,KAAqB,EACrB,IAAwB;IAExB,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,qBAAqB,EAAE,IAAI,kBAAkB,EAAE;QAC9D,CAAC,CAAC,MAAM,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;QACxD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC5C,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;IACjE,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,2HAA2H;AAC3H,MAAM,UAAU,6BAA6B,CAAC,OAAe;IAC3D,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IACvD,IAAI,QAAQ,KAAK,IAAI,IAAI,qBAAqB,CAAC,QAAQ,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/E,OAAO,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IACjF,OAAO,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,4BAA4B;IAC1C,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC3B,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACzB,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-spawn.d.ts","sourceRoot":"","sources":["../../src/spawn/process-spawn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"process-spawn.d.ts","sourceRoot":"","sources":["../../src/spawn/process-spawn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
2
|
// Pinned by: packages/daemon/src/focus/focus-executor-characterization.test.ts,
|
|
3
3
|
// packages/daemon/src/focus/spawn-crash-isolation.test.ts,
|
|
4
|
-
// packages/daemon/src/
|
|
4
|
+
// packages/daemon/src/integration/engine-readiness-runtime.test.ts,
|
|
5
|
+
// packages/daemon/src/spawn/codex-auth.test.ts, packages/daemon/src/spawn/spawn-and-acknowledge.test.ts,
|
|
5
6
|
// packages/daemon/src/spawn/spawn-compact-turn.test.ts,
|
|
6
7
|
// packages/daemon/src/spawn/spawn-team-process-ownership.test.ts
|
|
7
8
|
// PINNED-BY-END
|
|
@@ -11,6 +12,7 @@ import { isExitCategory } from '../types/exit-category.js';
|
|
|
11
12
|
import { buildLeveredSpawnEnvironment } from './spawn-environment.js';
|
|
12
13
|
import { wrapSpawnCommand, SandboxUnavailableError } from './spawn-sandbox.js';
|
|
13
14
|
import { detachLeadStdin, detachMcpProxy, ensureTeamProcessGroupGone } from '../daemon-state/lead-process-ownership.js';
|
|
15
|
+
import { markEngineNotReady } from '../daemon-state/engine-readiness.js';
|
|
14
16
|
import { launchLeadProcess } from './lead-launch.js';
|
|
15
17
|
import { acknowledgePendingSpawnDirective } from '../directive/directive-queue.js';
|
|
16
18
|
import { TELORA_LOCAL_API_KEY_ENV } from '../backends/codex/codex-provision.js';
|
|
@@ -392,13 +394,14 @@ export async function spawnTeamProcess(spec) {
|
|
|
392
394
|
processErrorHandled = true;
|
|
393
395
|
log.error(`Team lead for "${focusName}" error:`, err.message);
|
|
394
396
|
releaseFocusSlot(focusId, governor);
|
|
395
|
-
const
|
|
396
|
-
|
|
397
|
-
|
|
397
|
+
const enoent = err.code === 'ENOENT';
|
|
398
|
+
const missingCliReason = enoent ? `${backend.displayName} not found on ${hostname()} / not on PATH: ${err.message}` : `Process error: ${err.message}`;
|
|
399
|
+
if (enoent)
|
|
400
|
+
markEngineNotReady(backend.id, { missing: 'binary', detail: missingCliReason, source: 'spawn_enoent' }); // host state (daemon-state/engine-readiness.ts)
|
|
398
401
|
void persistSpawnFailureAfterRunning(runningTransition, () => withRetry(() => updateSession(session.id, {
|
|
399
402
|
status: 'failed',
|
|
400
403
|
exit_reason: missingCliReason,
|
|
401
|
-
exit_category:
|
|
404
|
+
exit_category: enoent ? 'backend_unavailable' : 'error',
|
|
402
405
|
ended_at: new Date().toISOString(),
|
|
403
406
|
}), { maxAttempts: 3, baseDelayMs: 1000, label: 'session-update-error' })).catch(updateErr => {
|
|
404
407
|
log.warn(`Failed to update session after retries:`, updateErr.message);
|