@telora/daemon 0.22.91 → 0.22.104
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 +6 -3
- package/dist/cli/verify-setup-config.d.ts +4 -3
- package/dist/cli/verify-setup-config.d.ts.map +1 -1
- package/dist/cli/verify-setup-config.js.map +1 -1
- package/dist/completion/event-phases.js +5 -5
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +7 -0
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +2 -1
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/delivery/external-hold.js +1 -1
- package/dist/delivery/external-hold.js.map +1 -1
- package/dist/delivery/operator-hold.d.ts +14 -0
- package/dist/delivery/operator-hold.d.ts.map +1 -1
- package/dist/delivery/operator-hold.js +31 -1
- package/dist/delivery/operator-hold.js.map +1 -1
- package/dist/directive/directive-dispatch.js +2 -2
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts.map +1 -1
- package/dist/directive/directive-executor.js +2 -1
- package/dist/directive/directive-executor.js.map +1 -1
- package/dist/directive/directive-verify-hold-gate.d.ts +32 -8
- package/dist/directive/directive-verify-hold-gate.d.ts.map +1 -1
- package/dist/directive/directive-verify-hold-gate.js +20 -21
- package/dist/directive/directive-verify-hold-gate.js.map +1 -1
- package/dist/focus/focus-engine.d.ts.map +1 -1
- package/dist/focus/focus-engine.js +6 -9
- package/dist/focus/focus-engine.js.map +1 -1
- package/dist/focus/listener-spawn.d.ts +31 -0
- package/dist/focus/listener-spawn.d.ts.map +1 -1
- package/dist/focus/listener-spawn.js +44 -22
- package/dist/focus/listener-spawn.js.map +1 -1
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +4 -0
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/team-actionable-work.d.ts +76 -20
- package/dist/focus/team-actionable-work.d.ts.map +1 -1
- package/dist/focus/team-actionable-work.js +85 -20
- package/dist/focus/team-actionable-work.js.map +1 -1
- package/dist/git/exec.d.ts.map +1 -1
- package/dist/git/exec.js +2 -1
- package/dist/git/exec.js.map +1 -1
- package/dist/nexus/incoming.js +1 -1
- package/dist/nexus/incoming.js.map +1 -1
- package/dist/nexus/pending-returns.d.ts +124 -0
- package/dist/nexus/pending-returns.d.ts.map +1 -0
- package/dist/nexus/pending-returns.js +194 -0
- package/dist/nexus/pending-returns.js.map +1 -0
- package/dist/nexus/return-routing.d.ts +89 -0
- package/dist/nexus/return-routing.d.ts.map +1 -0
- package/dist/nexus/return-routing.js +148 -0
- package/dist/nexus/return-routing.js.map +1 -0
- package/dist/nexus/return.d.ts +66 -89
- package/dist/nexus/return.d.ts.map +1 -1
- package/dist/nexus/return.js +116 -279
- package/dist/nexus/return.js.map +1 -1
- package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
- package/dist/prompt/focus-prompt-builder.js +1 -0
- package/dist/prompt/focus-prompt-builder.js.map +1 -1
- package/dist/queries/delivery-gate-state.d.ts +31 -0
- package/dist/queries/delivery-gate-state.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state.js +31 -4
- package/dist/queries/delivery-gate-state.js.map +1 -1
- package/dist/queries/focus-discovery.d.ts +7 -1
- package/dist/queries/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focus-discovery.js +9 -3
- package/dist/queries/focus-discovery.js.map +1 -1
- package/dist/queries/requests.d.ts +51 -3
- package/dist/queries/requests.d.ts.map +1 -1
- package/dist/queries/requests.js +63 -10
- package/dist/queries/requests.js.map +1 -1
- package/dist/queries/shared.js +1 -1
- package/dist/queries/verification.d.ts +15 -0
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +2 -0
- package/dist/queries/verification.js.map +1 -1
- package/dist/shell/config.d.ts.map +1 -1
- package/dist/shell/config.js +10 -9
- package/dist/shell/config.js.map +1 -1
- package/dist/shell/unified-shell-status.d.ts +6 -0
- package/dist/shell/unified-shell-status.d.ts.map +1 -1
- package/dist/shell/unified-shell-status.js +9 -2
- package/dist/shell/unified-shell-status.js.map +1 -1
- package/dist/spawn/prompt-assembly.js +1 -1
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/respawn-cycle-escalation.d.ts.map +1 -1
- package/dist/spawn/respawn-cycle-escalation.js +11 -3
- package/dist/spawn/respawn-cycle-escalation.js.map +1 -1
- package/dist/spawn/review-hold-park.d.ts +31 -0
- package/dist/spawn/review-hold-park.d.ts.map +1 -0
- package/dist/spawn/review-hold-park.js +120 -0
- package/dist/spawn/review-hold-park.js.map +1 -0
- package/dist/spawn/spawn-cooldown.d.ts +27 -4
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +88 -3
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +6 -0
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/types/config.d.ts +9 -6
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/update/auto-update-idle.d.ts.map +1 -1
- package/dist/update/auto-update-idle.js +2 -1
- package/dist/update/auto-update-idle.js.map +1 -1
- package/dist/verify/failure-signature.d.ts.map +1 -1
- package/dist/verify/failure-signature.js +1 -0
- package/dist/verify/failure-signature.js.map +1 -1
- package/dist/verify/verification-baseline.d.ts +63 -16
- package/dist/verify/verification-baseline.d.ts.map +1 -1
- package/dist/verify/verification-baseline.js +74 -34
- package/dist/verify/verification-baseline.js.map +1 -1
- package/dist/verify/verification-checkout.d.ts +71 -0
- package/dist/verify/verification-checkout.d.ts.map +1 -0
- package/dist/verify/verification-checkout.js +353 -0
- package/dist/verify/verification-checkout.js.map +1 -0
- package/dist/verify/verification-config.d.ts +76 -0
- package/dist/verify/verification-config.d.ts.map +1 -1
- package/dist/verify/verification-config.js +100 -12
- package/dist/verify/verification-config.js.map +1 -1
- package/dist/verify/verification-default-on.d.ts +102 -11
- package/dist/verify/verification-default-on.d.ts.map +1 -1
- package/dist/verify/verification-default-on.js +252 -16
- package/dist/verify/verification-default-on.js.map +1 -1
- package/dist/verify/verification-deps-default.js +1 -1
- package/dist/verify/verification-deps-default.js.map +1 -1
- package/dist/verify/verification-deps.d.ts +28 -3
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.d.ts +63 -1
- package/dist/verify/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.js +38 -29
- package/dist/verify/verification-deterministic.js.map +1 -1
- package/dist/verify/verification-engine.d.ts.map +1 -1
- package/dist/verify/verification-engine.js +20 -20
- package/dist/verify/verification-engine.js.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js +6 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
- package/dist/verify/verification-feedback.d.ts +3 -0
- package/dist/verify/verification-feedback.d.ts.map +1 -1
- package/dist/verify/verification-feedback.js +5 -2
- package/dist/verify/verification-feedback.js.map +1 -1
- package/dist/verify/verification-manifest.d.ts.map +1 -1
- package/dist/verify/verification-manifest.js +1 -0
- package/dist/verify/verification-manifest.js.map +1 -1
- package/dist/verify/verification-timeout-fault.d.ts +147 -0
- package/dist/verify/verification-timeout-fault.d.ts.map +1 -0
- package/dist/verify/verification-timeout-fault.js +211 -0
- package/dist/verify/verification-timeout-fault.js.map +1 -0
- package/dist/verify/verify-gate-stall.d.ts +5 -1
- package/dist/verify/verify-gate-stall.d.ts.map +1 -1
- package/dist/verify/verify-gate-stall.js +10 -1
- package/dist/verify/verify-gate-stall.js.map +1 -1
- package/dist/worktree/verify-interlock.d.ts +9 -1
- package/dist/worktree/verify-interlock.d.ts.map +1 -1
- package/dist/worktree/verify-interlock.js +40 -3
- package/dist/worktree/verify-interlock.js.map +1 -1
- package/package.json +2 -2
|
@@ -60,6 +60,16 @@ export interface VerificationFailureDetail {
|
|
|
60
60
|
* gates. Absent on a gate_state written before signatures existed.
|
|
61
61
|
*/
|
|
62
62
|
signatureRun?: VerificationSignatureRun;
|
|
63
|
+
/**
|
|
64
|
+
* The commit this rejection judged, when the gate command itself failed there
|
|
65
|
+
* (a non-zero exit, not a timeout) in a detached checkout of the focus HEAD
|
|
66
|
+
* (judgedFailedSha). Carried forward as `verificationHistory.failedAtSha`, so
|
|
67
|
+
* default-on selection (verify/verification-default-on.ts) never re-verifies
|
|
68
|
+
* that unchanged commit: not across the verify_failed round trip, not across a
|
|
69
|
+
* daemon restart. A verify pass resets it. Absent for an in-place run, a
|
|
70
|
+
* timeout, or a gate_state written before it existed.
|
|
71
|
+
*/
|
|
72
|
+
failedAtSha?: string;
|
|
63
73
|
}
|
|
64
74
|
/**
|
|
65
75
|
* The failure-signature run-length record on a deterministic rejection. Bounded
|
|
@@ -149,6 +159,8 @@ export interface VerificationHistory {
|
|
|
149
159
|
signatureRun?: VerificationSignatureRun;
|
|
150
160
|
/** The latest shortfall rejection's repeat record. */
|
|
151
161
|
shortfallRepeat?: ShortfallRepeatRecord;
|
|
162
|
+
/** The commit the latest deterministic rejection's command failed on (VerificationFailureDetail.failedAtSha). */
|
|
163
|
+
failedAtSha?: string;
|
|
152
164
|
}
|
|
153
165
|
/**
|
|
154
166
|
* Detail attached to gate_state when the verify path could NOT vouch for the
|
|
@@ -243,6 +255,14 @@ export interface EvidenceUnavailableDetail {
|
|
|
243
255
|
deterministicFault?: {
|
|
244
256
|
kind: 'blind_zero_parse' | 'timeout';
|
|
245
257
|
exitCode: number | null;
|
|
258
|
+
/**
|
|
259
|
+
* For a 'timeout': the timeout the run was killed at, and the layer it was
|
|
260
|
+
* read from (env var, daemon.json, a manifest path, the typed default, or the
|
|
261
|
+
* delivery's own config). Absent when the run recorded no applied config --
|
|
262
|
+
* never invented -- and always absent for 'blind_zero_parse'.
|
|
263
|
+
*/
|
|
264
|
+
timeoutMs?: number;
|
|
265
|
+
timeoutSource?: string;
|
|
246
266
|
};
|
|
247
267
|
}
|
|
248
268
|
/**
|
|
@@ -340,6 +360,17 @@ export interface DeliveryGateState {
|
|
|
340
360
|
export declare function parseSignatureRun(raw: unknown): VerificationSignatureRun | null;
|
|
341
361
|
/** Validate a shortfall repeat record read from JSON; null when malformed. Pure. */
|
|
342
362
|
export declare function parseShortfallRepeat(raw: unknown): ShortfallRepeatRecord | null;
|
|
363
|
+
/**
|
|
364
|
+
* The commit a verification run's command FAILED on, or null. Only a verdict
|
|
365
|
+
* about a tree counts: a non-zero exit at a known judged sha. A timeout (a kill,
|
|
366
|
+
* not a verdict), an unknown exit, or an in-place run with no judged sha is null.
|
|
367
|
+
* Pure; the one rule both the durable record and the in-memory guard apply.
|
|
368
|
+
*/
|
|
369
|
+
export declare function judgedFailedSha(result: {
|
|
370
|
+
exitCode?: number | null;
|
|
371
|
+
timedOut?: boolean;
|
|
372
|
+
verifiedSha?: string;
|
|
373
|
+
}): string | null;
|
|
343
374
|
/**
|
|
344
375
|
* The verification history a delivery's gate_state carries, whether live (the
|
|
345
376
|
* gate IS a rejection: `verification.signatureRun`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-gate-state.d.ts","sourceRoot":"","sources":["../../src/queries/delivery-gate-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delivery-gate-state.d.ts","sourceRoot":"","sources":["../../src/queries/delivery-gate-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
// packages/daemon/src/queries/delivery-gate-state.test.ts,
|
|
6
6
|
// packages/daemon/src/verify/failure-signature.test.ts,
|
|
7
7
|
// packages/daemon/src/verify/shortfall-repeat.test.ts,
|
|
8
|
-
// packages/daemon/src/verify/shortfall-routing.test.ts, packages/daemon/src/verify/stall-detectors.test.ts
|
|
8
|
+
// packages/daemon/src/verify/shortfall-routing.test.ts, packages/daemon/src/verify/stall-detectors.test.ts,
|
|
9
|
+
// packages/daemon/src/verify/verification-default-on.test.ts
|
|
9
10
|
// PINNED-BY-END
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
11
12
|
// Verification history: read, carry forward, reset. Pure; no imports.
|
|
@@ -37,11 +38,31 @@ export function parseShortfallRepeat(raw) {
|
|
|
37
38
|
? { signature: r.signature, count: r.count }
|
|
38
39
|
: null;
|
|
39
40
|
}
|
|
41
|
+
/** A commit sha read from JSON; null when absent or malformed. Pure. */
|
|
42
|
+
function parseSha(raw) {
|
|
43
|
+
return typeof raw === 'string' && raw.length > 0 ? raw : null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The commit a verification run's command FAILED on, or null. Only a verdict
|
|
47
|
+
* about a tree counts: a non-zero exit at a known judged sha. A timeout (a kill,
|
|
48
|
+
* not a verdict), an unknown exit, or an in-place run with no judged sha is null.
|
|
49
|
+
* Pure; the one rule both the durable record and the in-memory guard apply.
|
|
50
|
+
*/
|
|
51
|
+
export function judgedFailedSha(result) {
|
|
52
|
+
const commandFailed = typeof result.exitCode === 'number' && result.exitCode !== 0 && result.timedOut !== true;
|
|
53
|
+
return commandFailed ? parseSha(result.verifiedSha) : null;
|
|
54
|
+
}
|
|
40
55
|
/** The history records a gate_state holds LIVE (as the rejection it itself is). */
|
|
41
56
|
function readLiveHistory(gate) {
|
|
42
|
-
const
|
|
57
|
+
const verification = asObject(gate?.verification);
|
|
58
|
+
const signatureRun = parseSignatureRun(verification?.signatureRun);
|
|
43
59
|
const shortfallRepeat = parseShortfallRepeat(asObject(gate?.shortfallReconciliation)?.repeat);
|
|
44
|
-
|
|
60
|
+
const failedAtSha = parseSha(verification?.failedAtSha);
|
|
61
|
+
return {
|
|
62
|
+
...(signatureRun ? { signatureRun } : {}),
|
|
63
|
+
...(shortfallRepeat ? { shortfallRepeat } : {}),
|
|
64
|
+
...(failedAtSha ? { failedAtSha } : {}),
|
|
65
|
+
};
|
|
45
66
|
}
|
|
46
67
|
/**
|
|
47
68
|
* The verification history a delivery's gate_state carries, whether live (the
|
|
@@ -56,9 +77,11 @@ export function readVerificationHistory(gateState) {
|
|
|
56
77
|
const carried = asObject(gate?.verificationHistory);
|
|
57
78
|
const signatureRun = parseSignatureRun(carried?.signatureRun);
|
|
58
79
|
const shortfallRepeat = parseShortfallRepeat(carried?.shortfallRepeat);
|
|
80
|
+
const failedAtSha = parseSha(carried?.failedAtSha);
|
|
59
81
|
return {
|
|
60
82
|
...(signatureRun ? { signatureRun } : {}),
|
|
61
83
|
...(shortfallRepeat ? { shortfallRepeat } : {}),
|
|
84
|
+
...(failedAtSha ? { failedAtSha } : {}),
|
|
62
85
|
...readLiveHistory(gate),
|
|
63
86
|
};
|
|
64
87
|
}
|
|
@@ -69,7 +92,10 @@ export function carryVerificationHistory(prior, next = null, now = () => new Dat
|
|
|
69
92
|
delete history.signatureRun;
|
|
70
93
|
if (live.shortfallRepeat)
|
|
71
94
|
delete history.shortfallRepeat;
|
|
72
|
-
|
|
95
|
+
if (live.failedAtSha)
|
|
96
|
+
delete history.failedAtSha;
|
|
97
|
+
const hasHistory = history.signatureRun !== undefined || history.shortfallRepeat !== undefined
|
|
98
|
+
|| history.failedAtSha !== undefined;
|
|
73
99
|
if (next === null) {
|
|
74
100
|
if (!hasHistory)
|
|
75
101
|
return null;
|
|
@@ -101,6 +127,7 @@ export function clearVerificationHistory(gateState) {
|
|
|
101
127
|
if (next.verification) {
|
|
102
128
|
const verification = { ...next.verification };
|
|
103
129
|
delete verification.signatureRun;
|
|
130
|
+
delete verification.failedAtSha;
|
|
104
131
|
next.verification = verification;
|
|
105
132
|
}
|
|
106
133
|
if (next.shortfallReconciliation) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-gate-state.js","sourceRoot":"","sources":["../../src/queries/delivery-gate-state.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,6EAA6E;AAC7E,oEAAoE;AACpE,6DAA6D;AAC7D,0DAA0D;AAC1D,yDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"delivery-gate-state.js","sourceRoot":"","sources":["../../src/queries/delivery-gate-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* reference this module directly (no re-export facade).
|
|
7
7
|
*/
|
|
8
8
|
import type { PipelineConfig } from '../types/index.js';
|
|
9
|
+
import { type CallApiDeps } from './shared.js';
|
|
9
10
|
import type { DeliveryAdvancementStatePersisted } from './schemas.js';
|
|
10
11
|
/**
|
|
11
12
|
* Get focuses with agent assignments that have ready deliveries.
|
|
@@ -68,8 +69,13 @@ export declare function getReadyFocuses(_organizationId: string, productId?: str
|
|
|
68
69
|
* Clear the escalation answer re-arm signal on a focus once the daemon has
|
|
69
70
|
* spawned/handled the re-arm. Set-once write (answer path) + clear-on-handle
|
|
70
71
|
* here = single-answer -> single-respawn idempotency.
|
|
72
|
+
*
|
|
73
|
+
* rearmRequestedAt is the signal value the spawn was surfaced with: the clear
|
|
74
|
+
* matches only that value, so a Nexus return batch engaged after the spawn
|
|
75
|
+
* rendered its prompt (which writes a fresh value) keeps the signal set and gets
|
|
76
|
+
* its own spawn. `deps.callApi` is the test seam.
|
|
71
77
|
*/
|
|
72
|
-
export declare function clearAnswerRearm(focusId: string): Promise<void>;
|
|
78
|
+
export declare function clearAnswerRearm(focusId: string, rearmRequestedAt?: string | null, deps?: CallApiDeps): Promise<void>;
|
|
73
79
|
/**
|
|
74
80
|
* One row of the active-focus discovery read (`daemon_get_active_focuses`).
|
|
75
81
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-discovery.d.ts","sourceRoot":"","sources":["../../src/queries/focus-discovery.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"focus-discovery.d.ts","sourceRoot":"","sources":["../../src/queries/focus-discovery.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,YAAY,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,8EAA8E;IAC9E,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kFAAkF;IAClF,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC,CAAC,CA6BF;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,EAChC,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;;;;OAQG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;;OAMG;IACH,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,8BAA8B,EAAE,MAAM,CAAC;IACvC;;;;;;;OAOG;IACH,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;;;;;OAOG;IACH,0BAA0B,EAAE,iCAAiC,GAAG,IAAI,CAAC;IACrE,0BAA0B,EAAE,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,8EAA8E;IAC9E,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kFAAkF;IAClF,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA0C7G"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// packages/daemon/src/focus/listener-auto-advance-team-presence.test.ts,
|
|
5
5
|
// packages/daemon/src/focus/listener-auto-advance-teamless-wedge.test.ts,
|
|
6
6
|
// packages/daemon/src/integration/advancement-path-parity.test.ts,
|
|
7
|
-
// packages/daemon/src/shell/disarm-reaper.test.ts
|
|
7
|
+
// packages/daemon/src/nexus/nexus-return-path-e2e.test.ts, packages/daemon/src/shell/disarm-reaper.test.ts
|
|
8
8
|
// PINNED-BY-END
|
|
9
9
|
import { callApi, callApiValidated } from './shared.js';
|
|
10
10
|
import { ReadyFocusesResponseSchema, ActiveFocusesResponseSchema } from './schemas.js';
|
|
@@ -44,9 +44,15 @@ export async function getReadyFocuses(_organizationId, productId) {
|
|
|
44
44
|
* Clear the escalation answer re-arm signal on a focus once the daemon has
|
|
45
45
|
* spawned/handled the re-arm. Set-once write (answer path) + clear-on-handle
|
|
46
46
|
* here = single-answer -> single-respawn idempotency.
|
|
47
|
+
*
|
|
48
|
+
* rearmRequestedAt is the signal value the spawn was surfaced with: the clear
|
|
49
|
+
* matches only that value, so a Nexus return batch engaged after the spawn
|
|
50
|
+
* rendered its prompt (which writes a fresh value) keeps the signal set and gets
|
|
51
|
+
* its own spawn. `deps.callApi` is the test seam.
|
|
47
52
|
*/
|
|
48
|
-
export async function clearAnswerRearm(focusId) {
|
|
49
|
-
|
|
53
|
+
export async function clearAnswerRearm(focusId, rearmRequestedAt, deps = {}) {
|
|
54
|
+
const call = deps.callApi ?? callApi;
|
|
55
|
+
await call('daemon_clear_answer_rearm', rearmRequestedAt ? { focusId, rearmRequestedAt } : { focusId });
|
|
50
56
|
}
|
|
51
57
|
/**
|
|
52
58
|
* Get focuses with agent role assignments that are active.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-discovery.js","sourceRoot":"","sources":["../../src/queries/focus-discovery.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+EAA+E;AAC/E,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,qEAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"focus-discovery.js","sourceRoot":"","sources":["../../src/queries/focus-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-product request reads over a product's OUTGOING Nexus requests.
|
|
3
|
+
*
|
|
4
|
+
* The external-hold gate clears a request-referenced hold by RE-READING the
|
|
5
|
+
* referenced requests' statuses each verify->done pass. external-hold.ts stays
|
|
6
|
+
* free of request I/O (it is pulled into listener tests under the node:test
|
|
7
|
+
* module-mock loader, where the bare `@telora/*` value imports that callApi
|
|
8
|
+
* pulls in mis-resolve), so the production `RequestStatusReader` lives here and
|
|
9
|
+
* is injected at the wiring sites.
|
|
10
|
+
*
|
|
11
|
+
* Outgoing requests originate in the source product, so a product-scoped
|
|
12
|
+
* `product_request_list` covers every request a source-delivery hold can
|
|
13
|
+
* reference. The referenced ids are filtered client-side.
|
|
14
|
+
*
|
|
15
|
+
* `product_request_list` is PAGED (default limit 50, max 500, newest first), so
|
|
16
|
+
* an unpaged read silently drops every request past the first page: the closes
|
|
17
|
+
* and declines of a product's older requests would never route back to the
|
|
18
|
+
* requesting team, and a hold referencing an older request would read it as
|
|
19
|
+
* missing. `listAllOutgoingRequests` is the ONE outgoing reader and walks every
|
|
20
|
+
* page, however many there are.
|
|
21
|
+
*
|
|
22
|
+
* @module queries/requests
|
|
23
|
+
*/
|
|
24
|
+
import { type CallApiDeps } from './shared.js';
|
|
25
|
+
/** Page size for outgoing-request reads (the product-api's max `limit`). */
|
|
26
|
+
export declare const OUTGOING_REQUESTS_PAGE_SIZE = 500;
|
|
27
|
+
/**
|
|
28
|
+
* Read EVERY outgoing request of a product, regardless of count. Pages
|
|
29
|
+
* `product_request_list` until an empty or short page, or the offset reaches
|
|
30
|
+
* `totalCount`. There is no page cap: a count-bounded walk would return the
|
|
31
|
+
* newest N requests as if they were all of them, and the older closes and the
|
|
32
|
+
* holds that reference them would go unread. Runaway protection is PROGRESS
|
|
33
|
+
* detection instead: a full page that adds no request not already read (a server
|
|
34
|
+
* ignoring `offset`, or re-serving a window) THROWS rather than looping or
|
|
35
|
+
* returning a partial list as complete -- every caller turns the throw into a
|
|
36
|
+
* visible, retried failure (the gate pass skips the tick, the hold evaluator
|
|
37
|
+
* holds fail-closed). Rows are de-duplicated by id (a request created mid-walk
|
|
38
|
+
* shifts the newest-first offset window, re-serving one row on the next page).
|
|
39
|
+
* The offset walk is exact only because the list is served in a TOTAL order
|
|
40
|
+
* (`created_at DESC, id DESC`): ordered by `created_at` alone, requests tied on
|
|
41
|
+
* it could swap between pages and one could be displaced by a re-served tie on a
|
|
42
|
+
* page that still adds new ids -- neither detected nor ever read.
|
|
43
|
+
* THROWS on a hard API error. `deps.callApi` is the test seam.
|
|
44
|
+
*/
|
|
45
|
+
export declare function listAllOutgoingRequests<T extends {
|
|
46
|
+
id: string;
|
|
47
|
+
}>(productId: string, deps?: CallApiDeps): Promise<T[]>;
|
|
1
48
|
/** Minimal request row for status re-reads (camelCase from the edge fn). */
|
|
2
49
|
export interface RequestStatusRow {
|
|
3
50
|
id: string;
|
|
@@ -7,8 +54,9 @@ export interface RequestStatusRow {
|
|
|
7
54
|
* Return the current status of the given outgoing requests for a product. Rows
|
|
8
55
|
* are filtered to `requestIds`; a referenced id absent from the product's
|
|
9
56
|
* outgoing list is simply omitted (the evaluator treats an absent referenced id
|
|
10
|
-
* as unreadable -> fail-closed).
|
|
11
|
-
* turns into a held
|
|
57
|
+
* as unreadable -> fail-closed). Reads every page via `listAllOutgoingRequests`.
|
|
58
|
+
* THROWS on a hard API error, which the evaluator turns into a held
|
|
59
|
+
* (fail-closed) verdict.
|
|
12
60
|
*/
|
|
13
|
-
export declare function listOutgoingRequestStatuses(productId: string, requestIds: string[]): Promise<RequestStatusRow[]>;
|
|
61
|
+
export declare function listOutgoingRequestStatuses(productId: string, requestIds: string[], deps?: CallApiDeps): Promise<RequestStatusRow[]>;
|
|
14
62
|
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/queries/requests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/queries/requests.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACpE,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,CAAC,EAAE,CAAC,CAwBd;AAED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAI7B"}
|
package/dist/queries/requests.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: packages/daemon/src/nexus/nexus-return-path-e2e.test.ts,
|
|
3
|
+
// packages/daemon/src/queries/outgoing-requests-paging.test.ts
|
|
3
4
|
// PINNED-BY-END
|
|
4
5
|
/**
|
|
5
|
-
* Cross-product request
|
|
6
|
+
* Cross-product request reads over a product's OUTGOING Nexus requests.
|
|
6
7
|
*
|
|
7
8
|
* The external-hold gate clears a request-referenced hold by RE-READING the
|
|
8
9
|
* referenced requests' statuses each verify->done pass. external-hold.ts stays
|
|
@@ -11,25 +12,77 @@
|
|
|
11
12
|
* pulls in mis-resolve), so the production `RequestStatusReader` lives here and
|
|
12
13
|
* is injected at the wiring sites.
|
|
13
14
|
*
|
|
14
|
-
* Outgoing requests originate in the source product, so a
|
|
15
|
+
* Outgoing requests originate in the source product, so a product-scoped
|
|
15
16
|
* `product_request_list` covers every request a source-delivery hold can
|
|
16
17
|
* reference. The referenced ids are filtered client-side.
|
|
17
18
|
*
|
|
19
|
+
* `product_request_list` is PAGED (default limit 50, max 500, newest first), so
|
|
20
|
+
* an unpaged read silently drops every request past the first page: the closes
|
|
21
|
+
* and declines of a product's older requests would never route back to the
|
|
22
|
+
* requesting team, and a hold referencing an older request would read it as
|
|
23
|
+
* missing. `listAllOutgoingRequests` is the ONE outgoing reader and walks every
|
|
24
|
+
* page, however many there are.
|
|
25
|
+
*
|
|
18
26
|
* @module queries/requests
|
|
19
27
|
*/
|
|
20
28
|
import { callApi } from './shared.js';
|
|
29
|
+
/** Page size for outgoing-request reads (the product-api's max `limit`). */
|
|
30
|
+
export const OUTGOING_REQUESTS_PAGE_SIZE = 500;
|
|
31
|
+
/**
|
|
32
|
+
* Read EVERY outgoing request of a product, regardless of count. Pages
|
|
33
|
+
* `product_request_list` until an empty or short page, or the offset reaches
|
|
34
|
+
* `totalCount`. There is no page cap: a count-bounded walk would return the
|
|
35
|
+
* newest N requests as if they were all of them, and the older closes and the
|
|
36
|
+
* holds that reference them would go unread. Runaway protection is PROGRESS
|
|
37
|
+
* detection instead: a full page that adds no request not already read (a server
|
|
38
|
+
* ignoring `offset`, or re-serving a window) THROWS rather than looping or
|
|
39
|
+
* returning a partial list as complete -- every caller turns the throw into a
|
|
40
|
+
* visible, retried failure (the gate pass skips the tick, the hold evaluator
|
|
41
|
+
* holds fail-closed). Rows are de-duplicated by id (a request created mid-walk
|
|
42
|
+
* shifts the newest-first offset window, re-serving one row on the next page).
|
|
43
|
+
* The offset walk is exact only because the list is served in a TOTAL order
|
|
44
|
+
* (`created_at DESC, id DESC`): ordered by `created_at` alone, requests tied on
|
|
45
|
+
* it could swap between pages and one could be displaced by a re-served tie on a
|
|
46
|
+
* page that still adds new ids -- neither detected nor ever read.
|
|
47
|
+
* THROWS on a hard API error. `deps.callApi` is the test seam.
|
|
48
|
+
*/
|
|
49
|
+
export async function listAllOutgoingRequests(productId, deps = {}) {
|
|
50
|
+
const call = deps.callApi ?? callApi;
|
|
51
|
+
const byId = new Map();
|
|
52
|
+
let offset = 0;
|
|
53
|
+
for (;;) {
|
|
54
|
+
const res = await call('product_request_list', {
|
|
55
|
+
productId,
|
|
56
|
+
direction: 'outgoing',
|
|
57
|
+
limit: OUTGOING_REQUESTS_PAGE_SIZE,
|
|
58
|
+
offset,
|
|
59
|
+
});
|
|
60
|
+
const rows = res.requests ?? [];
|
|
61
|
+
const before = byId.size;
|
|
62
|
+
for (const row of rows)
|
|
63
|
+
if (!byId.has(row.id))
|
|
64
|
+
byId.set(row.id, row);
|
|
65
|
+
offset += rows.length;
|
|
66
|
+
const reachedTotal = typeof res.totalCount === 'number' && offset >= res.totalCount;
|
|
67
|
+
if (rows.length < OUTGOING_REQUESTS_PAGE_SIZE || reachedTotal)
|
|
68
|
+
return [...byId.values()];
|
|
69
|
+
if (byId.size === before) {
|
|
70
|
+
throw new Error(`listAllOutgoingRequests: the page at offset ${offset - rows.length} re-served only requests already read ` +
|
|
71
|
+
`(${byId.size} read); refusing to return a partial outgoing list as complete`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
21
75
|
/**
|
|
22
76
|
* Return the current status of the given outgoing requests for a product. Rows
|
|
23
77
|
* are filtered to `requestIds`; a referenced id absent from the product's
|
|
24
78
|
* outgoing list is simply omitted (the evaluator treats an absent referenced id
|
|
25
|
-
* as unreadable -> fail-closed).
|
|
26
|
-
* turns into a held
|
|
79
|
+
* as unreadable -> fail-closed). Reads every page via `listAllOutgoingRequests`.
|
|
80
|
+
* THROWS on a hard API error, which the evaluator turns into a held
|
|
81
|
+
* (fail-closed) verdict.
|
|
27
82
|
*/
|
|
28
|
-
export async function listOutgoingRequestStatuses(productId, requestIds) {
|
|
29
|
-
const
|
|
83
|
+
export async function listOutgoingRequestStatuses(productId, requestIds, deps = {}) {
|
|
84
|
+
const rows = await listAllOutgoingRequests(productId, deps);
|
|
30
85
|
const wanted = new Set(requestIds);
|
|
31
|
-
return (
|
|
32
|
-
.filter((r) => wanted.has(r.id))
|
|
33
|
-
.map((r) => ({ id: r.id, status: r.status }));
|
|
86
|
+
return rows.filter((r) => wanted.has(r.id)).map((r) => ({ id: r.id, status: r.status }));
|
|
34
87
|
}
|
|
35
88
|
//# sourceMappingURL=requests.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/queries/requests.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/queries/requests.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,sEAAsE;AACtE,iEAAiE;AACjE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAoB,MAAM,aAAa,CAAC;AAExD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,OAAoB,EAAE;IAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAa,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,SAAS,CAAC;QACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAA0C,sBAAsB,EAAE;YACtF,SAAS;YACT,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,2BAA2B;YAClC,MAAM;SACP,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACrE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACtB,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC;QACpF,IAAI,IAAI,CAAC,MAAM,GAAG,2BAA2B,IAAI,YAAY;YAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,GAAG,IAAI,CAAC,MAAM,wCAAwC;gBACzG,IAAI,IAAI,CAAC,IAAI,gEAAgE,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,SAAiB,EACjB,UAAoB,EACpB,OAAoB,EAAE;IAEtB,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAmB,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC3F,CAAC"}
|
package/dist/queries/shared.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 28 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/queries/shared.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
import { CircuitBreaker, createApiClient, createTransform, loadEnvConfig, mapDefinedKeys, } from '@telora/daemon-core';
|
|
5
5
|
// ---------------------------------------------------------------------------
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { type CallApiDeps } from './shared.js';
|
|
9
9
|
import { type NodeWriteback, type ObservedShortfall, type WritebackClassification } from '../reality/reality-writeback.js';
|
|
10
|
+
import type { DefaultVerificationConfig } from '../types/config.js';
|
|
10
11
|
export type VerificationMethod = 'deterministic' | 'behavioral' | 'ai_inspection';
|
|
11
12
|
export type VerificationOutcome = 'pending' | 'passed' | 'failed' | 'escalated';
|
|
12
13
|
export interface PendingVerification {
|
|
@@ -30,6 +31,20 @@ export interface PendingVerification {
|
|
|
30
31
|
*/
|
|
31
32
|
gitState?: string | null;
|
|
32
33
|
mergeCommitSha?: string | null;
|
|
34
|
+
/**
|
|
35
|
+
* Present ONLY on a DEFAULT-ON candidate the daemon synthesized
|
|
36
|
+
* (verify/verification-default-on.ts), never on an explicit-method row from
|
|
37
|
+
* daemon_get_pending_verifications. Such a candidate's `verificationConfig` is
|
|
38
|
+
* the tick's provisional resolution against the product repoPath; a run on a
|
|
39
|
+
* detached checkout re-resolves command + timeout from the checkout's own
|
|
40
|
+
* telora.verify.json (verify/verification-checkout.ts). Carries what that
|
|
41
|
+
* needs: the product's selected operator block, and the product repoPath whose
|
|
42
|
+
* manifest is the recorded fallback when the checkout ships none.
|
|
43
|
+
*/
|
|
44
|
+
defaultOnSource?: {
|
|
45
|
+
defaultVerification?: DefaultVerificationConfig;
|
|
46
|
+
repoPath?: string;
|
|
47
|
+
};
|
|
33
48
|
}
|
|
34
49
|
export declare function getPendingVerifications(productId?: string): Promise<PendingVerification[]>;
|
|
35
50
|
export declare function recordDeliveryVerificationOutcome(deliveryId: string, outcome: VerificationOutcome): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/queries/verification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/queries/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
// packages/daemon/src/verify/shortfall-inward-proposal.test.ts,
|
|
8
8
|
// packages/daemon/src/verify/verification-baseline.test.ts,
|
|
9
9
|
// packages/daemon/src/verify/verification-boundary-env.test.ts,
|
|
10
|
+
// packages/daemon/src/verify/verification-checkout.test.ts,
|
|
10
11
|
// packages/daemon/src/verify/verification-engine-real-paths.test.ts,
|
|
11
12
|
// packages/daemon/src/verify/verification-engine.test.ts,
|
|
13
|
+
// packages/daemon/src/verify/verification-run-config-source.test.ts,
|
|
12
14
|
// packages/daemon/src/verify/verification-tick-product-scoping.test.ts,
|
|
13
15
|
// packages/daemon/src/verify/verify-evidence-completeness.test.ts,
|
|
14
16
|
// packages/daemon/src/verify/verify-injection-evidence.test.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/queries/verification.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8EAA8E;AAC9E,kEAAkE;AAClE,oEAAoE;AACpE,wEAAwE;AACxE,8DAA8D;AAC9D,kEAAkE;AAClE,8DAA8D;AAC9D,kEAAkE;AAClE,uEAAuE;AACvE,4DAA4D;AAC5D,0EAA0E;AAC1E,qEAAqE;AACrE,iEAAiE;AACjE,gBAAgB;AAEhB;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAoB,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kCAAkC,GAMnC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/queries/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shell/config.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,YAAY,EAAoD,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvJ,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shell/config.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,YAAY,EAAoD,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvJ,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAyExD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,YAAY,EAAE,SAAS,YAAY,EAAE,GACpC;IAAE,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAYrF;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CA2L5D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAkB1F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE7F;AAqBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAqFzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAiCtD"}
|
package/dist/shell/config.js
CHANGED
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
import { resolve } from 'node:path';
|
|
24
24
|
import { existsSync, accessSync, constants, mkdirSync } from 'node:fs';
|
|
25
25
|
import { loadConfigFile as loadConfigFileShared, resolveBaseConfig, validateBaseConfig, loadEnvConfig, ENV_VAR_METADATA, healthEvents, } from '@telora/daemon-core';
|
|
26
|
-
import { DEFAULT_VERIFY_TIMEOUT_MS, DEFAULT_VERIFY_MAX_CONCURRENT } from '../verify/verification-config.js';
|
|
27
26
|
import { createLogger } from './log.js';
|
|
28
27
|
const log = createLogger({ module: 'config' });
|
|
29
28
|
/**
|
|
@@ -62,11 +61,17 @@ function resolveNum(name, envConfigVal, fileVal) {
|
|
|
62
61
|
* top-level global slot or a per-product `products[].defaultVerification`
|
|
63
62
|
* override) into a typed DefaultVerificationConfig. Returns undefined when the
|
|
64
63
|
* raw value is not an object, so the caller falls through to the next
|
|
65
|
-
* precedence source (per-product => global => env/default).
|
|
66
|
-
* field defaults at both levels so per-product and global blocks behave
|
|
64
|
+
* precedence source (per-product => global => env/default). Parses both levels
|
|
67
65
|
* identically. Env overrides (TELORA_DEFAULT_VERIFY_*) are applied later, at
|
|
68
66
|
* read time, by resolveDefaultVerification -- they stay global and win over
|
|
69
67
|
* whichever file value configForProduct selects.
|
|
68
|
+
*
|
|
69
|
+
* `timeoutMs` / `maxConcurrent` are carried ONLY when the file sets a positive
|
|
70
|
+
* number -- never defaulted here. The file block outranks the repo manifest, so
|
|
71
|
+
* a default filled in at load would make every block that names only a command
|
|
72
|
+
* (or only records a decline) pin 30 min over the manifest's timeout: a timeout
|
|
73
|
+
* committed on the verified branch would never apply. The typed defaults live
|
|
74
|
+
* at the bottom of resolveDefaultVerification's precedence chain instead.
|
|
70
75
|
*/
|
|
71
76
|
function parseVerifyBlock(raw) {
|
|
72
77
|
if (typeof raw !== 'object' || raw === null)
|
|
@@ -74,12 +79,8 @@ function parseVerifyBlock(raw) {
|
|
|
74
79
|
const v = raw;
|
|
75
80
|
return {
|
|
76
81
|
command: typeof v.command === 'string' ? v.command : '',
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
: DEFAULT_VERIFY_TIMEOUT_MS,
|
|
80
|
-
maxConcurrent: typeof v.maxConcurrent === 'number' && v.maxConcurrent > 0
|
|
81
|
-
? v.maxConcurrent
|
|
82
|
-
: DEFAULT_VERIFY_MAX_CONCURRENT,
|
|
82
|
+
...(typeof v.timeoutMs === 'number' && v.timeoutMs > 0 ? { timeoutMs: v.timeoutMs } : {}),
|
|
83
|
+
...(typeof v.maxConcurrent === 'number' && v.maxConcurrent > 0 ? { maxConcurrent: v.maxConcurrent } : {}),
|
|
83
84
|
// Explicit review-only decline marker (records a deliberate decision).
|
|
84
85
|
...(v.declined === true ? { declined: true } : {}),
|
|
85
86
|
};
|