instar 1.3.565 → 1.3.566
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +16 -1
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/BitwardenProvider.d.ts +8 -0
- package/dist/core/BitwardenProvider.d.ts.map +1 -1
- package/dist/core/BitwardenProvider.js +10 -0
- package/dist/core/BitwardenProvider.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +13 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +55 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +12 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/types.d.ts +42 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/BlockerLedger.d.ts +43 -2
- package/dist/monitoring/BlockerLedger.d.ts.map +1 -1
- package/dist/monitoring/BlockerLedger.js +90 -5
- package/dist/monitoring/BlockerLedger.js.map +1 -1
- package/dist/monitoring/DurableVaultSession.d.ts +91 -0
- package/dist/monitoring/DurableVaultSession.d.ts.map +1 -0
- package/dist/monitoring/DurableVaultSession.js +145 -0
- package/dist/monitoring/DurableVaultSession.js.map +1 -0
- package/dist/monitoring/SelfUnblockChecklist.d.ts +281 -0
- package/dist/monitoring/SelfUnblockChecklist.d.ts.map +1 -0
- package/dist/monitoring/SelfUnblockChecklist.js +433 -0
- package/dist/monitoring/SelfUnblockChecklist.js.map +1 -0
- package/dist/monitoring/SelfUnblockProbeProviders.d.ts +116 -0
- package/dist/monitoring/SelfUnblockProbeProviders.d.ts.map +1 -0
- package/dist/monitoring/SelfUnblockProbeProviders.js +286 -0
- package/dist/monitoring/SelfUnblockProbeProviders.js.map +1 -0
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +8 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +16 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +106 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +10 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +117 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/src/scaffold/templates.ts +8 -0
- package/upgrades/1.3.566.md +104 -0
- package/upgrades/side-effects/self-unblock-before-escalating.md +258 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockerLedger.d.ts","sourceRoot":"","sources":["../../src/monitoring/BlockerLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;
|
|
1
|
+
{"version":3,"file":"BlockerLedger.d.ts","sourceRoot":"","sources":["../../src/monitoring/BlockerLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,6 +99,8 @@ export class BlockerLedger {
|
|
|
99
99
|
archivePath;
|
|
100
100
|
auditPath;
|
|
101
101
|
settleAuthority;
|
|
102
|
+
/** When set, the Self-Unblock feature is ON: settle derives the failed attempt from a verified run. */
|
|
103
|
+
selfUnblockRunStore;
|
|
102
104
|
archiveAfterDays;
|
|
103
105
|
recheckAfterDays;
|
|
104
106
|
maxNoEvidenceResettles;
|
|
@@ -115,6 +117,7 @@ export class BlockerLedger {
|
|
|
115
117
|
this.archivePath = path.join(opts.stateDir, 'state', 'blocker-ledger-archive.json');
|
|
116
118
|
this.auditPath = path.join(opts.stateDir, '..', 'logs', 'blocker-decisions.jsonl');
|
|
117
119
|
this.settleAuthority = opts.settleAuthority;
|
|
120
|
+
this.selfUnblockRunStore = opts.selfUnblockRunStore;
|
|
118
121
|
this.archiveAfterDays = opts.archiveAfterDays ?? DEFAULT_ARCHIVE_AFTER_DAYS;
|
|
119
122
|
this.recheckAfterDays = opts.recheckAfterDays ?? DEFAULT_RECHECK_AFTER_DAYS;
|
|
120
123
|
this.maxNoEvidenceResettles = opts.maxNoEvidenceResettles ?? DEFAULT_MAX_NO_EVIDENCE_RESETTLES;
|
|
@@ -374,22 +377,51 @@ export class BlockerLedger {
|
|
|
374
377
|
throw new BlockerLedgerError(`reasonKind must be one of the closed taxonomy: ${TRUE_BLOCKER_KINDS.join(', ')}`, 'invalid_reason_kind');
|
|
375
378
|
}
|
|
376
379
|
const rebuttal = this.boundText(input.rebuttal, 'rebuttal');
|
|
377
|
-
const failDetail = this.boundText(input.failedAttempt?.detail, 'failedAttempt.detail');
|
|
378
380
|
const accessRequestRef = this.boundText(input.accessRequest?.messageRef, 'accessRequest.messageRef');
|
|
379
381
|
// 2. A failed-attempt rebuttal — NO kind is exempt. The FORM differs:
|
|
380
382
|
// secret/account → failed self-fetch is mandatory; others → failed dry-run.
|
|
381
383
|
const requiredAttemptType = SELF_FETCH_KINDS.has(input.reasonKind) ? 'self-fetch' : 'dry-run';
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
384
|
+
// 2a. "Self-Unblock Before Escalating" (§5.1): when the run store is configured
|
|
385
|
+
// (the feature is ENABLED), the failed attempt is NOT caller-supplied — it is
|
|
386
|
+
// DERIVED from a persisted, VERIFIED checklist run. This is the load-bearing
|
|
387
|
+
// anti-gaming change: a caller can embed any `failedAttempt`, but it cannot
|
|
388
|
+
// mint a run the runner did not produce. A settle with no valid persisted run
|
|
389
|
+
// is a no-attempt → HARD reject `missing_failed_attempt`. When the store is
|
|
390
|
+
// NOT configured (dark default), the existing caller-supplied path runs below.
|
|
391
|
+
let failedAttempt;
|
|
392
|
+
if (this.selfUnblockRunStore) {
|
|
393
|
+
const run = typeof input.selfUnblockRunId === 'string' && input.selfUnblockRunId
|
|
394
|
+
? this.selfUnblockRunStore.loadRun(input.selfUnblockRunId)
|
|
395
|
+
: null;
|
|
396
|
+
const verified = this.verifySelfUnblockRun(run, requiredAttemptType);
|
|
397
|
+
if (!verified.ok) {
|
|
398
|
+
throw new BlockerLedgerError(`${input.reasonKind} requires a VERIFIED self-unblock checklist run before it can settle ` +
|
|
399
|
+
`(self-unblock-before-escalating: ${verified.reason}). A caller-supplied failedAttempt ` +
|
|
400
|
+
`without a valid persisted run does not settle a blocker.`, 'missing_failed_attempt');
|
|
401
|
+
}
|
|
402
|
+
// Derive the attempt from the run — the caller's failedAttempt is ignored.
|
|
403
|
+
failedAttempt = {
|
|
404
|
+
type: requiredAttemptType,
|
|
405
|
+
detail: this.boundText(verified.detail, 'failedAttempt.detail'),
|
|
406
|
+
at: run.completedAt,
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
// Dark default: the existing caller-supplied path, byte-for-byte unchanged.
|
|
411
|
+
if (input.failedAttempt?.type !== requiredAttemptType) {
|
|
412
|
+
throw new BlockerLedgerError(`${input.reasonKind} requires a recorded failed ${requiredAttemptType} attempt before it can settle ` +
|
|
413
|
+
`(self-fetch-first mandate: an agent must try its own vault/accounts first)`, 'missing_failed_attempt');
|
|
414
|
+
}
|
|
415
|
+
failedAttempt = input.failedAttempt;
|
|
385
416
|
}
|
|
417
|
+
const failDetail = this.boundText(failedAttempt.detail, 'failedAttempt.detail');
|
|
386
418
|
// Snapshot the entry + read-only checks BEFORE the async authority call.
|
|
387
419
|
const snapshot = this.find(id);
|
|
388
420
|
this.assertNotTerminal(snapshot);
|
|
389
421
|
// 3. Temporal proof: the access-request to the user comes AFTER the failed attempt.
|
|
390
422
|
// (Decoupled from the linear pipeline's `access-requested` state, which is about
|
|
391
423
|
// requesting access to DO the work; this is the "only you can grant it" ask.)
|
|
392
|
-
const failedAttemptAt = this.normalizeIso(
|
|
424
|
+
const failedAttemptAt = this.normalizeIso(failedAttempt.at) ?? this.iso();
|
|
393
425
|
const accessRequestAt = this.normalizeIso(input.accessRequest?.at) ?? snapshot.accessRequest?.at ?? this.iso();
|
|
394
426
|
if (accessRequestAt < failedAttemptAt) {
|
|
395
427
|
throw new BlockerLedgerError('the access-request must be recorded AFTER the failed self-fetch/dry-run — asking before trying does not settle a blocker', 'access_request_before_attempt');
|
|
@@ -553,6 +585,59 @@ export class BlockerLedger {
|
|
|
553
585
|
throw new BlockerLedgerError(`blocker ${entry.id} is already settled (${entry.state})`, 'already_settled');
|
|
554
586
|
}
|
|
555
587
|
}
|
|
588
|
+
/**
|
|
589
|
+
* Verify a loaded Self-Unblock checklist run represents a GENUINE exhaustion
|
|
590
|
+
* before its derived attempt can settle a true-blocker ("Self-Unblock Before
|
|
591
|
+
* Escalating", §5.1). A run is valid iff it:
|
|
592
|
+
* - exists (the caller referenced a runId the runner actually produced),
|
|
593
|
+
* - is well-formed (a non-empty array of probe results + a completedAt),
|
|
594
|
+
* - matches the required attempt TYPE (a self-fetch-kind blocker needs a
|
|
595
|
+
* self-fetch run; a dry-run-kind needs a dry-run run),
|
|
596
|
+
* - is a genuine exhaustion: EVERY probe came up `holdsRelevantCred: false`
|
|
597
|
+
* (`exhausted: true`). A run that found a relevant credential is NOT an
|
|
598
|
+
* exhaustion — the agent should self-unblock with it, not escalate.
|
|
599
|
+
*
|
|
600
|
+
* Returns `{ ok: true, detail }` with a synthesized human summary of the probed
|
|
601
|
+
* sources, or `{ ok: false, reason }`.
|
|
602
|
+
*/
|
|
603
|
+
verifySelfUnblockRun(run, requiredAttemptType) {
|
|
604
|
+
if (!run)
|
|
605
|
+
return { ok: false, reason: 'no persisted run found for the supplied runId' };
|
|
606
|
+
if (!Array.isArray(run.probes) || run.probes.length === 0) {
|
|
607
|
+
return { ok: false, reason: 'the persisted run has no probe results' };
|
|
608
|
+
}
|
|
609
|
+
if (typeof run.completedAt !== 'string' || !run.completedAt) {
|
|
610
|
+
return { ok: false, reason: 'the persisted run has no completedAt timestamp' };
|
|
611
|
+
}
|
|
612
|
+
if (run.requiredAttemptType !== requiredAttemptType) {
|
|
613
|
+
return {
|
|
614
|
+
ok: false,
|
|
615
|
+
reason: `the run produced a '${run.requiredAttemptType}' attempt but this blocker requires '${requiredAttemptType}'`,
|
|
616
|
+
};
|
|
617
|
+
}
|
|
618
|
+
// Each probe must be a well-formed structured result, and NONE may hold a
|
|
619
|
+
// relevant credential (a genuine exhaustion).
|
|
620
|
+
for (const probe of run.probes) {
|
|
621
|
+
if (!probe ||
|
|
622
|
+
typeof probe.source !== 'string' ||
|
|
623
|
+
typeof probe.reachable !== 'boolean' ||
|
|
624
|
+
typeof probe.holdsRelevantCred !== 'boolean') {
|
|
625
|
+
return { ok: false, reason: 'the persisted run contains a malformed probe result' };
|
|
626
|
+
}
|
|
627
|
+
if (probe.holdsRelevantCred) {
|
|
628
|
+
return {
|
|
629
|
+
ok: false,
|
|
630
|
+
reason: `the run found a relevant credential at '${probe.source}' — self-unblock with it instead of escalating`,
|
|
631
|
+
};
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
if (run.exhausted !== true) {
|
|
635
|
+
return { ok: false, reason: 'the persisted run is not flagged as an exhaustion' };
|
|
636
|
+
}
|
|
637
|
+
const sources = run.probes.map((p) => p.source).join(', ');
|
|
638
|
+
const detail = `self-unblock checklist exhausted (run ${run.runId}, target ${run.target}); probed: ${sources}; no relevant credential found`;
|
|
639
|
+
return { ok: true, detail };
|
|
640
|
+
}
|
|
556
641
|
/** Parse a caller-supplied ISO timestamp; return undefined if absent/invalid. */
|
|
557
642
|
normalizeIso(value) {
|
|
558
643
|
if (typeof value !== 'string' || !value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockerLedger.js","sourceRoot":"","sources":["../../src/monitoring/BlockerLedger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BlockerLedger.js","sourceRoot":"","sources":["../../src/monitoring/BlockerLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DurableVaultSession — the flag-gated, TTL+idle-bounded, in-flight-only warm
|
|
3
|
+
* org-Bitwarden session that lets the self-unblock checklist's org-vault probe
|
|
4
|
+
* (§5.2) actually reach the vault, so "the cred is in the vault but I can't reach
|
|
5
|
+
* it" never recurs (the motivating incident).
|
|
6
|
+
*
|
|
7
|
+
* CRITICAL SECURITY CONTRACT (spec §5.3 — the main security tradeoff of the
|
|
8
|
+
* standard, acknowledged as such):
|
|
9
|
+
* - The session value lives in PROCESS MEMORY ONLY (this object's private field).
|
|
10
|
+
* - It is NEVER written to any log/config/temp file.
|
|
11
|
+
* - It is NEVER passed as a CLI argument (argv is visible in `ps`); it is handed
|
|
12
|
+
* to `bw` ONLY via the child process's `BW_SESSION` env (the `runBw` injection
|
|
13
|
+
* point is responsible for that, and the real provider does so).
|
|
14
|
+
* - It is NEVER placed on the cross-machine `multiMachine.secretSync` path — this
|
|
15
|
+
* object holds it in a transient field, never in the SecretStore the sync layer
|
|
16
|
+
* reads. Machine-local.
|
|
17
|
+
* - The master password stays operator-held; this introduces NO new on-disk
|
|
18
|
+
* secret.
|
|
19
|
+
*
|
|
20
|
+
* Standing-privilege bound:
|
|
21
|
+
* - TTL: the session is considered stale `ttlMs` after it was derived.
|
|
22
|
+
* - Idle expiry: the session is dropped after `idleMs` with no use.
|
|
23
|
+
* - In-flight only: `withSession` derives (or reuses a fresh) session, runs the
|
|
24
|
+
* caller, and the session is only KEPT warm while a checklist run is actually
|
|
25
|
+
* in flight — minimizing the window a compromised process could reach the
|
|
26
|
+
* vault. Outside a run the session is eligible to be cleared.
|
|
27
|
+
*
|
|
28
|
+
* Ships DARK behind `monitoring.blockerLedger.durableVaultSession.*` (dev-gate via
|
|
29
|
+
* omitted `enabled`). When disabled, the org-vault probe simply reports unreachable.
|
|
30
|
+
*/
|
|
31
|
+
export interface DurableVaultSessionOptions {
|
|
32
|
+
/**
|
|
33
|
+
* Derive a fresh session value (e.g. `bw unlock <password> --raw`, or read an
|
|
34
|
+
* already-unlocked session). MUST return the raw session string or null when the
|
|
35
|
+
* vault cannot be unlocked. INJECTED so the real bw call stays out of this class
|
|
36
|
+
* (and tests never shell out). The password is the caller's responsibility — this
|
|
37
|
+
* class never holds or logs it.
|
|
38
|
+
*/
|
|
39
|
+
deriveSession: () => Promise<string | null> | string | null;
|
|
40
|
+
/** Time-to-live for a derived session (default 10 min). */
|
|
41
|
+
ttlMs?: number;
|
|
42
|
+
/** Idle-expiry (default 2 min). */
|
|
43
|
+
idleMs?: number;
|
|
44
|
+
/** Injectable clock for deterministic tests. */
|
|
45
|
+
now?: () => number;
|
|
46
|
+
}
|
|
47
|
+
export declare class DurableVaultSession {
|
|
48
|
+
/** The in-memory session value. NEVER persisted, logged, or argv-passed. */
|
|
49
|
+
private session;
|
|
50
|
+
private derivedAt;
|
|
51
|
+
private lastUsedAt;
|
|
52
|
+
/** Re-entrancy guard: how many in-flight runs are holding the session warm. */
|
|
53
|
+
private inFlight;
|
|
54
|
+
/** Coalesce concurrent derivations so we never unlock twice in parallel. */
|
|
55
|
+
private derivePromise;
|
|
56
|
+
private readonly deriveSession;
|
|
57
|
+
private readonly ttlMs;
|
|
58
|
+
private readonly idleMs;
|
|
59
|
+
private readonly now;
|
|
60
|
+
constructor(opts: DurableVaultSessionOptions);
|
|
61
|
+
/** Is the held session still valid (not past TTL, not idle-expired)? */
|
|
62
|
+
private isValid;
|
|
63
|
+
/**
|
|
64
|
+
* Ensure a valid session, deriving one if needed (coalescing concurrent
|
|
65
|
+
* derivations). Returns null when the vault cannot be unlocked. NEVER returns or
|
|
66
|
+
* logs the value through any surface other than the direct return.
|
|
67
|
+
*/
|
|
68
|
+
private ensure;
|
|
69
|
+
/**
|
|
70
|
+
* Run `fn` with a warm session value, keeping it warm ONLY while the run is in
|
|
71
|
+
* flight. The session value is passed to `fn` for direct, in-process use (e.g.
|
|
72
|
+
* handing it to the bw child's `BW_SESSION` env) — `fn` MUST NOT log or persist
|
|
73
|
+
* it. Returns null (without running `fn`) when no session can be derived.
|
|
74
|
+
*/
|
|
75
|
+
withSession<T>(fn: (session: string) => Promise<T> | T): Promise<T | null>;
|
|
76
|
+
/** True iff a usable session is currently held (for the observability surface — NEVER the value). */
|
|
77
|
+
hasWarmSession(): boolean;
|
|
78
|
+
/** Explicitly drop the in-memory session (zero standing privilege). */
|
|
79
|
+
clear(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Redacted serialization. A logger (or an accidental `JSON.stringify`) must
|
|
82
|
+
* NEVER spill the session value — this overrides the default enumeration so the
|
|
83
|
+
* value can only ever be reached through `withSession`'s fn argument. Part of
|
|
84
|
+
* the §5.3 no-leak contract.
|
|
85
|
+
*/
|
|
86
|
+
toJSON(): {
|
|
87
|
+
warm: boolean;
|
|
88
|
+
redacted: true;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=DurableVaultSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableVaultSession.d.ts","sourceRoot":"","sources":["../../src/monitoring/DurableVaultSession.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,qBAAa,mBAAmB;IAC9B,4EAA4E;IAC5E,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAK;IACrB,4EAA4E;IAC5E,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+C;IAC7E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,IAAI,EAAE,0BAA0B;IAO5C,wEAAwE;IACxE,OAAO,CAAC,OAAO;IAQf;;;;OAIG;YACW,MAAM;IA0BpB;;;;;OAKG;IACG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAmBhF,qGAAqG;IACrG,cAAc,IAAI,OAAO;IAIzB,uEAAuE;IACvE,KAAK,IAAI,IAAI;IAMb;;;;;OAKG;IACH,MAAM,IAAI;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAQ5C"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DurableVaultSession — the flag-gated, TTL+idle-bounded, in-flight-only warm
|
|
3
|
+
* org-Bitwarden session that lets the self-unblock checklist's org-vault probe
|
|
4
|
+
* (§5.2) actually reach the vault, so "the cred is in the vault but I can't reach
|
|
5
|
+
* it" never recurs (the motivating incident).
|
|
6
|
+
*
|
|
7
|
+
* CRITICAL SECURITY CONTRACT (spec §5.3 — the main security tradeoff of the
|
|
8
|
+
* standard, acknowledged as such):
|
|
9
|
+
* - The session value lives in PROCESS MEMORY ONLY (this object's private field).
|
|
10
|
+
* - It is NEVER written to any log/config/temp file.
|
|
11
|
+
* - It is NEVER passed as a CLI argument (argv is visible in `ps`); it is handed
|
|
12
|
+
* to `bw` ONLY via the child process's `BW_SESSION` env (the `runBw` injection
|
|
13
|
+
* point is responsible for that, and the real provider does so).
|
|
14
|
+
* - It is NEVER placed on the cross-machine `multiMachine.secretSync` path — this
|
|
15
|
+
* object holds it in a transient field, never in the SecretStore the sync layer
|
|
16
|
+
* reads. Machine-local.
|
|
17
|
+
* - The master password stays operator-held; this introduces NO new on-disk
|
|
18
|
+
* secret.
|
|
19
|
+
*
|
|
20
|
+
* Standing-privilege bound:
|
|
21
|
+
* - TTL: the session is considered stale `ttlMs` after it was derived.
|
|
22
|
+
* - Idle expiry: the session is dropped after `idleMs` with no use.
|
|
23
|
+
* - In-flight only: `withSession` derives (or reuses a fresh) session, runs the
|
|
24
|
+
* caller, and the session is only KEPT warm while a checklist run is actually
|
|
25
|
+
* in flight — minimizing the window a compromised process could reach the
|
|
26
|
+
* vault. Outside a run the session is eligible to be cleared.
|
|
27
|
+
*
|
|
28
|
+
* Ships DARK behind `monitoring.blockerLedger.durableVaultSession.*` (dev-gate via
|
|
29
|
+
* omitted `enabled`). When disabled, the org-vault probe simply reports unreachable.
|
|
30
|
+
*/
|
|
31
|
+
const DEFAULT_TTL_MS = 10 * 60 * 1000; // 10 min — a refreshable warm session
|
|
32
|
+
const DEFAULT_IDLE_MS = 2 * 60 * 1000; // 2 min idle → drop
|
|
33
|
+
export class DurableVaultSession {
|
|
34
|
+
/** The in-memory session value. NEVER persisted, logged, or argv-passed. */
|
|
35
|
+
session = null;
|
|
36
|
+
derivedAt = 0;
|
|
37
|
+
lastUsedAt = 0;
|
|
38
|
+
/** Re-entrancy guard: how many in-flight runs are holding the session warm. */
|
|
39
|
+
inFlight = 0;
|
|
40
|
+
/** Coalesce concurrent derivations so we never unlock twice in parallel. */
|
|
41
|
+
derivePromise = null;
|
|
42
|
+
deriveSession;
|
|
43
|
+
ttlMs;
|
|
44
|
+
idleMs;
|
|
45
|
+
now;
|
|
46
|
+
constructor(opts) {
|
|
47
|
+
this.deriveSession = opts.deriveSession;
|
|
48
|
+
this.ttlMs = opts.ttlMs ?? DEFAULT_TTL_MS;
|
|
49
|
+
this.idleMs = opts.idleMs ?? DEFAULT_IDLE_MS;
|
|
50
|
+
this.now = opts.now ?? (() => Date.now());
|
|
51
|
+
}
|
|
52
|
+
/** Is the held session still valid (not past TTL, not idle-expired)? */
|
|
53
|
+
isValid() {
|
|
54
|
+
if (!this.session)
|
|
55
|
+
return false;
|
|
56
|
+
const t = this.now();
|
|
57
|
+
if (t - this.derivedAt >= this.ttlMs)
|
|
58
|
+
return false; // TTL
|
|
59
|
+
if (this.inFlight === 0 && t - this.lastUsedAt >= this.idleMs)
|
|
60
|
+
return false; // idle
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Ensure a valid session, deriving one if needed (coalescing concurrent
|
|
65
|
+
* derivations). Returns null when the vault cannot be unlocked. NEVER returns or
|
|
66
|
+
* logs the value through any surface other than the direct return.
|
|
67
|
+
*/
|
|
68
|
+
async ensure() {
|
|
69
|
+
if (this.isValid()) {
|
|
70
|
+
this.lastUsedAt = this.now();
|
|
71
|
+
return this.session;
|
|
72
|
+
}
|
|
73
|
+
// Drop a stale value before re-deriving.
|
|
74
|
+
this.session = null;
|
|
75
|
+
if (this.derivePromise)
|
|
76
|
+
return this.derivePromise;
|
|
77
|
+
this.derivePromise = (async () => {
|
|
78
|
+
try {
|
|
79
|
+
const value = await this.deriveSession();
|
|
80
|
+
if (typeof value === 'string' && value.length > 0) {
|
|
81
|
+
this.session = value;
|
|
82
|
+
this.derivedAt = this.now();
|
|
83
|
+
this.lastUsedAt = this.derivedAt;
|
|
84
|
+
return this.session;
|
|
85
|
+
}
|
|
86
|
+
this.session = null;
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
this.derivePromise = null;
|
|
91
|
+
}
|
|
92
|
+
})();
|
|
93
|
+
return this.derivePromise;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Run `fn` with a warm session value, keeping it warm ONLY while the run is in
|
|
97
|
+
* flight. The session value is passed to `fn` for direct, in-process use (e.g.
|
|
98
|
+
* handing it to the bw child's `BW_SESSION` env) — `fn` MUST NOT log or persist
|
|
99
|
+
* it. Returns null (without running `fn`) when no session can be derived.
|
|
100
|
+
*/
|
|
101
|
+
async withSession(fn) {
|
|
102
|
+
this.inFlight += 1;
|
|
103
|
+
try {
|
|
104
|
+
const session = await this.ensure();
|
|
105
|
+
if (!session)
|
|
106
|
+
return null;
|
|
107
|
+
this.lastUsedAt = this.now();
|
|
108
|
+
const result = await fn(session);
|
|
109
|
+
this.lastUsedAt = this.now();
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
finally {
|
|
113
|
+
this.inFlight -= 1;
|
|
114
|
+
// Outside a run, allow idle-expiry to clear the value on the next check; an
|
|
115
|
+
// explicit clear is offered for callers that want zero standing privilege.
|
|
116
|
+
if (this.inFlight === 0 && !this.isValid()) {
|
|
117
|
+
this.session = null;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** True iff a usable session is currently held (for the observability surface — NEVER the value). */
|
|
122
|
+
hasWarmSession() {
|
|
123
|
+
return this.isValid();
|
|
124
|
+
}
|
|
125
|
+
/** Explicitly drop the in-memory session (zero standing privilege). */
|
|
126
|
+
clear() {
|
|
127
|
+
this.session = null;
|
|
128
|
+
this.derivedAt = 0;
|
|
129
|
+
this.lastUsedAt = 0;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Redacted serialization. A logger (or an accidental `JSON.stringify`) must
|
|
133
|
+
* NEVER spill the session value — this overrides the default enumeration so the
|
|
134
|
+
* value can only ever be reached through `withSession`'s fn argument. Part of
|
|
135
|
+
* the §5.3 no-leak contract.
|
|
136
|
+
*/
|
|
137
|
+
toJSON() {
|
|
138
|
+
return { warm: this.hasWarmSession(), redacted: true };
|
|
139
|
+
}
|
|
140
|
+
/** Same redaction for Node's util.inspect / console.log. */
|
|
141
|
+
[Symbol.for('nodejs.util.inspect.custom')]() {
|
|
142
|
+
return `DurableVaultSession { warm: ${this.hasWarmSession()}, session: <redacted> }`;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=DurableVaultSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableVaultSession.js","sourceRoot":"","sources":["../../src/monitoring/DurableVaultSession.ts"],"names":[],"mappings":"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"}
|