instar 1.3.523 → 1.3.525
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +37 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +12 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/ConflictStore.d.ts +150 -0
- package/dist/core/ConflictStore.d.ts.map +1 -0
- package/dist/core/ConflictStore.js +247 -0
- package/dist/core/ConflictStore.js.map +1 -0
- package/dist/core/CredentialIdentityOracle.d.ts +59 -0
- package/dist/core/CredentialIdentityOracle.d.ts.map +1 -0
- package/dist/core/CredentialIdentityOracle.js +89 -0
- package/dist/core/CredentialIdentityOracle.js.map +1 -0
- package/dist/core/CredentialLocationLedger.d.ts +187 -0
- package/dist/core/CredentialLocationLedger.d.ts.map +1 -0
- package/dist/core/CredentialLocationLedger.js +351 -0
- package/dist/core/CredentialLocationLedger.js.map +1 -0
- package/dist/core/CredentialWriteFunnel.d.ts +77 -0
- package/dist/core/CredentialWriteFunnel.d.ts.map +1 -0
- package/dist/core/CredentialWriteFunnel.js +128 -0
- package/dist/core/CredentialWriteFunnel.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +30 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/ReplicatedStoreReader.d.ts +83 -0
- package/dist/core/ReplicatedStoreReader.d.ts.map +1 -0
- package/dist/core/ReplicatedStoreReader.js +100 -0
- package/dist/core/ReplicatedStoreReader.js.map +1 -0
- package/dist/core/ReplicationBudget.d.ts +183 -0
- package/dist/core/ReplicationBudget.d.ts.map +1 -0
- package/dist/core/ReplicationBudget.js +253 -0
- package/dist/core/ReplicationBudget.js.map +1 -0
- package/dist/core/RollbackUnmerge.d.ts +134 -0
- package/dist/core/RollbackUnmerge.d.ts.map +1 -0
- package/dist/core/RollbackUnmerge.js +286 -0
- package/dist/core/RollbackUnmerge.js.map +1 -0
- package/dist/core/UnionReader.d.ts +161 -0
- package/dist/core/UnionReader.d.ts.map +1 -0
- package/dist/core/UnionReader.js +0 -0
- package/dist/core/UnionReader.js.map +1 -0
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +5 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/types.d.ts +35 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +6 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +7 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +3 -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 +67 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/lint-no-direct-llm-http.js +6 -0
- package/src/data/builtin-manifest.json +64 -64
- package/src/scaffold/templates.ts +6 -0
- package/upgrades/1.3.524.md +31 -0
- package/upgrades/1.3.525.md +32 -0
- package/upgrades/side-effects/hlc-step4-5-union-rollback-bounds.md +148 -0
- package/upgrades/side-effects/live-credential-repointing-increment-a-foundation.md +75 -0
- package/upgrades/side-effects/live-credential-repointing-increment-a-funnel-primitive.md +66 -0
- package/upgrades/side-effects/live-credential-repointing-increment-a-ledger.md +71 -0
- package/upgrades/side-effects/live-credential-repointing-increment-a-oracle.md +68 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigDefaults.d.ts","sourceRoot":"","sources":["../../src/config/ConfigDefaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"ConfigDefaults.d.ts","sourceRoot":"","sources":["../../src/config/ConfigDefaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwlCH,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIlF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAuC5D"}
|
|
@@ -1017,6 +1017,18 @@ const SHARED_DEFAULTS = {
|
|
|
1017
1017
|
switchNowConfirmTtlMs: 300000, // §8 'switch now' validity window
|
|
1018
1018
|
defaults: {}, // per-topic config-default profiles (§5.2)
|
|
1019
1019
|
},
|
|
1020
|
+
// Live credential re-pointing (spec: live-credential-repointing-rebalancer.md).
|
|
1021
|
+
// DARK + dry-run for EVERYONE incl. dev — it WRITES OAuth credentials between
|
|
1022
|
+
// config homes (category 'destructive' in DARK_GATE_EXCLUSIONS, NOT dev-gated:
|
|
1023
|
+
// a dev-gated omit-enabled would resolve LIVE-with-writes on Echo). Live needs a
|
|
1024
|
+
// deliberate enabled:true AND dryRun:false flip. Review a dry-run pass first.
|
|
1025
|
+
subscriptionPool: {
|
|
1026
|
+
credentialRepointing: {
|
|
1027
|
+
enabled: false,
|
|
1028
|
+
dryRun: true,
|
|
1029
|
+
manualLeversEnabled: true,
|
|
1030
|
+
},
|
|
1031
|
+
},
|
|
1020
1032
|
};
|
|
1021
1033
|
/**
|
|
1022
1034
|
* Fields that differ between agent types at INIT time.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigDefaults.js","sourceRoot":"","sources":["../../src/config/ConfigDefaults.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigDefaults.js","sourceRoot":"","sources":["../../src/config/ConfigDefaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConflictStore — the durable open-conflicts ledger + operator resolution path
|
|
3
|
+
* (WS2 replicated-store foundation, §7.2 append-both lifecycle + §7.3 resolution
|
|
4
|
+
* delegated UP).
|
|
5
|
+
*
|
|
6
|
+
* Spec: docs/specs/multi-machine-replicated-store-foundation.md §7.2 (idempotent
|
|
7
|
+
* append-both on (recordKey, version-pair), ONE deduped attention item,
|
|
8
|
+
* recurrence past a threshold → forced operator resolution), §7.3 (the operator
|
|
9
|
+
* designates a winner / supplies a merged version; the foundation NEVER picks a
|
|
10
|
+
* winner — Signal vs Authority), §7.4 (a conflictId whose version-pair referenced
|
|
11
|
+
* a dropped origin auto-RESOLVES + its attention item closes).
|
|
12
|
+
*
|
|
13
|
+
* SIGNAL vs AUTHORITY (§11): this store DETECTS + records + surfaces conflicts; it
|
|
14
|
+
* NEVER picks a winner. The one mutating authority — resolveConflict — is
|
|
15
|
+
* operator-driven (the route is Bearer-authenticated upstream). Recording is
|
|
16
|
+
* idempotent on the stable conflictId, so re-discovering the same unresolved
|
|
17
|
+
* conflict never appends a third copy and the attention surface dedupes.
|
|
18
|
+
*
|
|
19
|
+
* Persistence: the open-conflicts ledger is a single JSON document written
|
|
20
|
+
* atomically (SafeFsExecutor.atomicWriteJsonSync) to
|
|
21
|
+
* `<stateDir>/state/state-sync/conflicts.json`, so it survives restarts +
|
|
22
|
+
* compaction. Bounded: a per-store cap on simultaneously-open conflicts (oldest
|
|
23
|
+
* evicted with a loss counter) keeps a flood from unbounded growth.
|
|
24
|
+
*/
|
|
25
|
+
import { serializeHlcKey, type HlcTimestamp } from './HybridLogicalClock.js';
|
|
26
|
+
import type { ConflictDescriptor, OriginRecord } from './UnionReader.js';
|
|
27
|
+
/** Default recurrence threshold past which an open conflict is forced to the
|
|
28
|
+
* operator (§7.2). The conflict re-surfaces past this many independent
|
|
29
|
+
* re-discoveries while still unresolved. */
|
|
30
|
+
export declare const DEFAULT_CONFLICT_RECURRENCE_THRESHOLD = 5;
|
|
31
|
+
/** Default cap on simultaneously-open conflicts in the ledger (bounded growth);
|
|
32
|
+
* oldest-first eviction with a loss counter on overflow. */
|
|
33
|
+
export declare const DEFAULT_MAX_OPEN_CONFLICTS = 500;
|
|
34
|
+
/** One open conflict's durable lifecycle record (§7.2/§7.3). */
|
|
35
|
+
export interface ConflictLedgerEntry {
|
|
36
|
+
conflictId: string;
|
|
37
|
+
store: string;
|
|
38
|
+
recordKey: string;
|
|
39
|
+
/** Each preserved version's (origin, hlc-key) — content-free routing facts +
|
|
40
|
+
* the total-order stamp, never the store payload (kept off the durable ledger;
|
|
41
|
+
* the live versions are re-derivable from the union reader). */
|
|
42
|
+
versions: {
|
|
43
|
+
origin: string;
|
|
44
|
+
hlcKey: string;
|
|
45
|
+
}[];
|
|
46
|
+
firstSeenAt: string;
|
|
47
|
+
lastSeenAt: string;
|
|
48
|
+
/** Independent re-discoveries while unresolved — drives forced-resolution. */
|
|
49
|
+
recurrenceCount: number;
|
|
50
|
+
/** True once recurrenceCount crosses the threshold (§7.2). */
|
|
51
|
+
forcedResolution: boolean;
|
|
52
|
+
/** Set when the operator resolves (§7.3) or the rollback auto-resolves (§7.4). */
|
|
53
|
+
resolved: boolean;
|
|
54
|
+
resolvedAt?: string;
|
|
55
|
+
resolution?: 'operator-winner' | 'operator-merged' | 'origin-dropped';
|
|
56
|
+
/** The origin the operator designated as winner (operator-winner only). */
|
|
57
|
+
winnerOrigin?: string;
|
|
58
|
+
}
|
|
59
|
+
/** What the operator supplies at /state/resolve-conflict (§7.3). EXACTLY ONE of
|
|
60
|
+
* winnerOrigin / mergedVersion — the foundation never picks; the operator does. */
|
|
61
|
+
export interface ConflictResolution {
|
|
62
|
+
/** Designate an existing version (by its origin) as the winner. */
|
|
63
|
+
winnerOrigin?: string;
|
|
64
|
+
/** Supply a merged version (opaque store payload) — written as a normal record
|
|
65
|
+
* by the caller; this store only records that the conflict is resolved. */
|
|
66
|
+
mergedVersion?: Record<string, unknown>;
|
|
67
|
+
}
|
|
68
|
+
/** The seams ConflictStore needs (DI'd so it is unit-testable without disk). */
|
|
69
|
+
export interface ConflictStoreSeams {
|
|
70
|
+
/** Absolute path to the agent `.instar/` stateDir (the ledger lives under it). */
|
|
71
|
+
stateDir: string;
|
|
72
|
+
/** Injected wall clock (ISO timestamps). */
|
|
73
|
+
now: () => Date;
|
|
74
|
+
/** Optional: raise ONE deduped attention item for a conflict (caller wires the
|
|
75
|
+
* real attention queue; idempotent on conflictId by the caller). Signal-only. */
|
|
76
|
+
raiseAttention?: (entry: ConflictLedgerEntry) => void;
|
|
77
|
+
/** Optional structured logger (default no-op). */
|
|
78
|
+
log?: (event: string, detail: Record<string, unknown>) => void;
|
|
79
|
+
/** Optional fs read seam (tests); defaults to node:fs. */
|
|
80
|
+
readFileSync?: (p: string) => string;
|
|
81
|
+
existsSync?: (p: string) => boolean;
|
|
82
|
+
/** Recurrence threshold + open cap overrides. */
|
|
83
|
+
recurrenceThreshold?: number;
|
|
84
|
+
maxOpenConflicts?: number;
|
|
85
|
+
}
|
|
86
|
+
export declare class ConflictStore {
|
|
87
|
+
private readonly stateDir;
|
|
88
|
+
private readonly now;
|
|
89
|
+
private readonly raiseAttention?;
|
|
90
|
+
private readonly log;
|
|
91
|
+
private readonly readFileSync;
|
|
92
|
+
private readonly existsSync;
|
|
93
|
+
private readonly recurrenceThreshold;
|
|
94
|
+
private readonly maxOpen;
|
|
95
|
+
private doc;
|
|
96
|
+
constructor(seams: ConflictStoreSeams);
|
|
97
|
+
private ledgerPath;
|
|
98
|
+
private load;
|
|
99
|
+
private persist;
|
|
100
|
+
/**
|
|
101
|
+
* Record a detected conflict (§7.2). IDEMPOTENT on the stable conflictId:
|
|
102
|
+
* - first sighting ⇒ append a new open entry + raise ONE attention item.
|
|
103
|
+
* - re-sighting of an unresolved conflict ⇒ bump recurrenceCount + lastSeenAt
|
|
104
|
+
* (NEVER a third copy); cross the threshold ⇒ forcedResolution=true + a
|
|
105
|
+
* re-surfaced attention item.
|
|
106
|
+
* - re-sighting of a RESOLVED conflict ⇒ no-op (it was decided; a fresh
|
|
107
|
+
* divergence would carry a DIFFERENT conflictId).
|
|
108
|
+
* Returns the live ledger entry.
|
|
109
|
+
*/
|
|
110
|
+
recordConflict(store: string, descriptor: ConflictDescriptor): ConflictLedgerEntry;
|
|
111
|
+
/** Evict oldest-first OPEN conflicts past the cap (bounded growth, §7.2). A
|
|
112
|
+
* resolved entry is retained briefly for audit but does not count toward the
|
|
113
|
+
* OPEN cap; the cap counts unresolved entries only. */
|
|
114
|
+
private evictToBound;
|
|
115
|
+
/**
|
|
116
|
+
* Resolve a conflict (§7.3 — the operator's authority, never the foundation's).
|
|
117
|
+
* EXACTLY ONE of `winnerOrigin` / `mergedVersion` must be supplied. The store
|
|
118
|
+
* records the resolution; the CALLER writes the operator's chosen/merged record
|
|
119
|
+
* as a normal replicated record (it replicates like any other). Returns the
|
|
120
|
+
* updated entry, or null if the conflictId is unknown.
|
|
121
|
+
*/
|
|
122
|
+
resolveConflict(conflictId: string, resolution: ConflictResolution): ConflictLedgerEntry | null;
|
|
123
|
+
/**
|
|
124
|
+
* Auto-resolve every OPEN conflict whose version set referenced a dropped origin
|
|
125
|
+
* (§7.4 rollback-unmerge). After an un-merge the dropped origin no longer
|
|
126
|
+
* contributes, so a conflict that only existed BECAUSE of it ceases to exist —
|
|
127
|
+
* we mark it resolved ('origin-dropped') and return the closed conflictIds so
|
|
128
|
+
* the caller can close their attention items. Idempotent.
|
|
129
|
+
*
|
|
130
|
+
* Conservative correctness: we resolve a conflict iff REMOVING the dropped
|
|
131
|
+
* origin's versions leaves AT MOST ONE remaining origin (so no concurrent pair
|
|
132
|
+
* remains). A conflict among OTHER origins that merely also included the dropped
|
|
133
|
+
* one stays open (the divergence between the survivors is real) — it will
|
|
134
|
+
* re-record on the next union read with a fresh id over the surviving versions.
|
|
135
|
+
*/
|
|
136
|
+
autoResolveForDroppedOrigin(droppedOrigin: string): string[];
|
|
137
|
+
/** Every open (unresolved) conflict (§7.3 dashboard surface). */
|
|
138
|
+
listOpen(): ConflictLedgerEntry[];
|
|
139
|
+
/** Every conflict (open + recently-resolved), for the audit surface. */
|
|
140
|
+
listAll(): ConflictLedgerEntry[];
|
|
141
|
+
/** One conflict by id, or undefined. */
|
|
142
|
+
getConflict(conflictId: string): ConflictLedgerEntry | undefined;
|
|
143
|
+
/** Monotonic count of open conflicts evicted by the bound (surfaced in degradation). */
|
|
144
|
+
get lossCounter(): number;
|
|
145
|
+
}
|
|
146
|
+
/** Re-export the version-stamp helper so a caller serializing a resolution can
|
|
147
|
+
* produce the same hlc key shape the ledger stores. */
|
|
148
|
+
export { serializeHlcKey };
|
|
149
|
+
export type { HlcTimestamp, OriginRecord };
|
|
150
|
+
//# sourceMappingURL=ConflictStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConflictStore.d.ts","sourceRoot":"","sources":["../../src/core/ConflictStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConflictStore — the durable open-conflicts ledger + operator resolution path
|
|
3
|
+
* (WS2 replicated-store foundation, §7.2 append-both lifecycle + §7.3 resolution
|
|
4
|
+
* delegated UP).
|
|
5
|
+
*
|
|
6
|
+
* Spec: docs/specs/multi-machine-replicated-store-foundation.md §7.2 (idempotent
|
|
7
|
+
* append-both on (recordKey, version-pair), ONE deduped attention item,
|
|
8
|
+
* recurrence past a threshold → forced operator resolution), §7.3 (the operator
|
|
9
|
+
* designates a winner / supplies a merged version; the foundation NEVER picks a
|
|
10
|
+
* winner — Signal vs Authority), §7.4 (a conflictId whose version-pair referenced
|
|
11
|
+
* a dropped origin auto-RESOLVES + its attention item closes).
|
|
12
|
+
*
|
|
13
|
+
* SIGNAL vs AUTHORITY (§11): this store DETECTS + records + surfaces conflicts; it
|
|
14
|
+
* NEVER picks a winner. The one mutating authority — resolveConflict — is
|
|
15
|
+
* operator-driven (the route is Bearer-authenticated upstream). Recording is
|
|
16
|
+
* idempotent on the stable conflictId, so re-discovering the same unresolved
|
|
17
|
+
* conflict never appends a third copy and the attention surface dedupes.
|
|
18
|
+
*
|
|
19
|
+
* Persistence: the open-conflicts ledger is a single JSON document written
|
|
20
|
+
* atomically (SafeFsExecutor.atomicWriteJsonSync) to
|
|
21
|
+
* `<stateDir>/state/state-sync/conflicts.json`, so it survives restarts +
|
|
22
|
+
* compaction. Bounded: a per-store cap on simultaneously-open conflicts (oldest
|
|
23
|
+
* evicted with a loss counter) keeps a flood from unbounded growth.
|
|
24
|
+
*/
|
|
25
|
+
import fs from 'node:fs';
|
|
26
|
+
import path from 'node:path';
|
|
27
|
+
import { SafeFsExecutor } from './SafeFsExecutor.js';
|
|
28
|
+
import { serializeHlcKey } from './HybridLogicalClock.js';
|
|
29
|
+
/** Default recurrence threshold past which an open conflict is forced to the
|
|
30
|
+
* operator (§7.2). The conflict re-surfaces past this many independent
|
|
31
|
+
* re-discoveries while still unresolved. */
|
|
32
|
+
export const DEFAULT_CONFLICT_RECURRENCE_THRESHOLD = 5;
|
|
33
|
+
/** Default cap on simultaneously-open conflicts in the ledger (bounded growth);
|
|
34
|
+
* oldest-first eviction with a loss counter on overflow. */
|
|
35
|
+
export const DEFAULT_MAX_OPEN_CONFLICTS = 500;
|
|
36
|
+
export class ConflictStore {
|
|
37
|
+
stateDir;
|
|
38
|
+
now;
|
|
39
|
+
raiseAttention;
|
|
40
|
+
log;
|
|
41
|
+
readFileSync;
|
|
42
|
+
existsSync;
|
|
43
|
+
recurrenceThreshold;
|
|
44
|
+
maxOpen;
|
|
45
|
+
doc;
|
|
46
|
+
constructor(seams) {
|
|
47
|
+
this.stateDir = seams.stateDir;
|
|
48
|
+
this.now = seams.now;
|
|
49
|
+
this.raiseAttention = seams.raiseAttention;
|
|
50
|
+
this.log = seams.log ?? (() => { });
|
|
51
|
+
this.readFileSync = seams.readFileSync ?? ((p) => fs.readFileSync(p, 'utf-8'));
|
|
52
|
+
this.existsSync = seams.existsSync ?? ((p) => fs.existsSync(p));
|
|
53
|
+
this.recurrenceThreshold = seams.recurrenceThreshold ?? DEFAULT_CONFLICT_RECURRENCE_THRESHOLD;
|
|
54
|
+
this.maxOpen = seams.maxOpenConflicts ?? DEFAULT_MAX_OPEN_CONFLICTS;
|
|
55
|
+
this.doc = this.load();
|
|
56
|
+
}
|
|
57
|
+
ledgerPath() {
|
|
58
|
+
return path.join(this.stateDir, 'state', 'state-sync', 'conflicts.json');
|
|
59
|
+
}
|
|
60
|
+
load() {
|
|
61
|
+
const p = this.ledgerPath();
|
|
62
|
+
if (!this.existsSync(p))
|
|
63
|
+
return { version: 1, conflicts: [], lossCounter: 0 };
|
|
64
|
+
try {
|
|
65
|
+
const raw = JSON.parse(this.readFileSync(p));
|
|
66
|
+
const conflicts = Array.isArray(raw.conflicts) ? raw.conflicts.filter(isLedgerEntry) : [];
|
|
67
|
+
const lossCounter = typeof raw.lossCounter === 'number' && Number.isFinite(raw.lossCounter) ? raw.lossCounter : 0;
|
|
68
|
+
return { version: 1, conflicts, lossCounter };
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
// @silent-fallback-ok: a corrupt/partially-written conflicts ledger degrades
|
|
72
|
+
// to an EMPTY-but-usable ledger (the same as the missing-file path) rather
|
|
73
|
+
// than throwing out of construction and bricking every union read. The
|
|
74
|
+
// discard is logged with context ('conflict-ledger-corrupt'); a re-discovered
|
|
75
|
+
// conflict re-records idempotently on its stable id, so nothing is lost
|
|
76
|
+
// permanently — only the prior recurrence COUNT, the safe direction.
|
|
77
|
+
this.log('conflict-ledger-corrupt', { error: err instanceof Error ? err.message : String(err) });
|
|
78
|
+
return { version: 1, conflicts: [], lossCounter: 0 };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
persist() {
|
|
82
|
+
SafeFsExecutor.atomicWriteJsonSync(this.ledgerPath(), this.doc, {
|
|
83
|
+
operation: 'conflict-store:persist',
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Record a detected conflict (§7.2). IDEMPOTENT on the stable conflictId:
|
|
88
|
+
* - first sighting ⇒ append a new open entry + raise ONE attention item.
|
|
89
|
+
* - re-sighting of an unresolved conflict ⇒ bump recurrenceCount + lastSeenAt
|
|
90
|
+
* (NEVER a third copy); cross the threshold ⇒ forcedResolution=true + a
|
|
91
|
+
* re-surfaced attention item.
|
|
92
|
+
* - re-sighting of a RESOLVED conflict ⇒ no-op (it was decided; a fresh
|
|
93
|
+
* divergence would carry a DIFFERENT conflictId).
|
|
94
|
+
* Returns the live ledger entry.
|
|
95
|
+
*/
|
|
96
|
+
recordConflict(store, descriptor) {
|
|
97
|
+
const nowIso = this.now().toISOString();
|
|
98
|
+
const existing = this.doc.conflicts.find((c) => c.conflictId === descriptor.conflictId);
|
|
99
|
+
if (existing) {
|
|
100
|
+
if (existing.resolved)
|
|
101
|
+
return existing; // decided — never re-open the same id.
|
|
102
|
+
existing.recurrenceCount++;
|
|
103
|
+
existing.lastSeenAt = nowIso;
|
|
104
|
+
// A pure recurrence-count bump is IN-MEMORY only — recordConflict fires on
|
|
105
|
+
// EVERY union read of an open conflict, so persisting each one would be an
|
|
106
|
+
// O(reads) disk write storm. The count is advisory (it drives forced-
|
|
107
|
+
// resolution); losing the exact count across a restart is the safe direction
|
|
108
|
+
// (already documented on load()). We persist ONLY on a real state TRANSITION:
|
|
109
|
+
// the forced-resolution crossing below.
|
|
110
|
+
if (!existing.forcedResolution && existing.recurrenceCount >= this.recurrenceThreshold) {
|
|
111
|
+
existing.forcedResolution = true;
|
|
112
|
+
this.log('conflict-forced-resolution', { conflictId: existing.conflictId, store, recurrence: existing.recurrenceCount });
|
|
113
|
+
this.persist();
|
|
114
|
+
this.raiseAttention?.(existing);
|
|
115
|
+
}
|
|
116
|
+
return existing;
|
|
117
|
+
}
|
|
118
|
+
const entry = {
|
|
119
|
+
conflictId: descriptor.conflictId,
|
|
120
|
+
store,
|
|
121
|
+
recordKey: descriptor.recordKey,
|
|
122
|
+
versions: descriptor.versions.map((v) => ({ origin: v.origin, hlcKey: serializeHlcKey(v.envelope.hlc) })),
|
|
123
|
+
firstSeenAt: nowIso,
|
|
124
|
+
lastSeenAt: nowIso,
|
|
125
|
+
recurrenceCount: 1,
|
|
126
|
+
forcedResolution: false,
|
|
127
|
+
resolved: false,
|
|
128
|
+
};
|
|
129
|
+
this.doc.conflicts.push(entry);
|
|
130
|
+
this.evictToBound();
|
|
131
|
+
this.persist();
|
|
132
|
+
// ONE deduped attention item on first sighting (the caller dedupes on
|
|
133
|
+
// conflictId; recurrence past the threshold re-surfaces above).
|
|
134
|
+
this.raiseAttention?.(entry);
|
|
135
|
+
return entry;
|
|
136
|
+
}
|
|
137
|
+
/** Evict oldest-first OPEN conflicts past the cap (bounded growth, §7.2). A
|
|
138
|
+
* resolved entry is retained briefly for audit but does not count toward the
|
|
139
|
+
* OPEN cap; the cap counts unresolved entries only. */
|
|
140
|
+
evictToBound() {
|
|
141
|
+
const open = this.doc.conflicts.filter((c) => !c.resolved);
|
|
142
|
+
if (open.length <= this.maxOpen)
|
|
143
|
+
return;
|
|
144
|
+
// Drop the oldest OPEN conflicts (by firstSeenAt) past the cap.
|
|
145
|
+
open.sort((a, b) => (a.firstSeenAt < b.firstSeenAt ? -1 : a.firstSeenAt > b.firstSeenAt ? 1 : 0));
|
|
146
|
+
const dropCount = open.length - this.maxOpen;
|
|
147
|
+
const drop = new Set(open.slice(0, dropCount).map((c) => c.conflictId));
|
|
148
|
+
this.doc.conflicts = this.doc.conflicts.filter((c) => !drop.has(c.conflictId));
|
|
149
|
+
this.doc.lossCounter += dropCount;
|
|
150
|
+
this.log('conflict-ledger-evicted', { dropCount, lossCounter: this.doc.lossCounter });
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Resolve a conflict (§7.3 — the operator's authority, never the foundation's).
|
|
154
|
+
* EXACTLY ONE of `winnerOrigin` / `mergedVersion` must be supplied. The store
|
|
155
|
+
* records the resolution; the CALLER writes the operator's chosen/merged record
|
|
156
|
+
* as a normal replicated record (it replicates like any other). Returns the
|
|
157
|
+
* updated entry, or null if the conflictId is unknown.
|
|
158
|
+
*/
|
|
159
|
+
resolveConflict(conflictId, resolution) {
|
|
160
|
+
const entry = this.doc.conflicts.find((c) => c.conflictId === conflictId);
|
|
161
|
+
if (!entry)
|
|
162
|
+
return null;
|
|
163
|
+
if (entry.resolved)
|
|
164
|
+
return entry; // idempotent — already decided.
|
|
165
|
+
const hasWinner = typeof resolution.winnerOrigin === 'string' && resolution.winnerOrigin.length > 0;
|
|
166
|
+
const hasMerged = resolution.mergedVersion !== undefined && resolution.mergedVersion !== null;
|
|
167
|
+
if (hasWinner === hasMerged) {
|
|
168
|
+
// Neither or both — the operator must pick exactly one path. Reject loudly
|
|
169
|
+
// (a programmer/operator input error, surfaced — never a silent default).
|
|
170
|
+
throw new Error('ConflictStore.resolveConflict: supply EXACTLY ONE of winnerOrigin / mergedVersion');
|
|
171
|
+
}
|
|
172
|
+
if (hasWinner && !entry.versions.some((v) => v.origin === resolution.winnerOrigin)) {
|
|
173
|
+
throw new Error(`ConflictStore.resolveConflict: winnerOrigin "${resolution.winnerOrigin}" is not one of the conflict's versions`);
|
|
174
|
+
}
|
|
175
|
+
entry.resolved = true;
|
|
176
|
+
entry.resolvedAt = this.now().toISOString();
|
|
177
|
+
entry.resolution = hasWinner ? 'operator-winner' : 'operator-merged';
|
|
178
|
+
if (hasWinner)
|
|
179
|
+
entry.winnerOrigin = resolution.winnerOrigin;
|
|
180
|
+
this.persist();
|
|
181
|
+
this.log('conflict-resolved', { conflictId, resolution: entry.resolution });
|
|
182
|
+
return entry;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Auto-resolve every OPEN conflict whose version set referenced a dropped origin
|
|
186
|
+
* (§7.4 rollback-unmerge). After an un-merge the dropped origin no longer
|
|
187
|
+
* contributes, so a conflict that only existed BECAUSE of it ceases to exist —
|
|
188
|
+
* we mark it resolved ('origin-dropped') and return the closed conflictIds so
|
|
189
|
+
* the caller can close their attention items. Idempotent.
|
|
190
|
+
*
|
|
191
|
+
* Conservative correctness: we resolve a conflict iff REMOVING the dropped
|
|
192
|
+
* origin's versions leaves AT MOST ONE remaining origin (so no concurrent pair
|
|
193
|
+
* remains). A conflict among OTHER origins that merely also included the dropped
|
|
194
|
+
* one stays open (the divergence between the survivors is real) — it will
|
|
195
|
+
* re-record on the next union read with a fresh id over the surviving versions.
|
|
196
|
+
*/
|
|
197
|
+
autoResolveForDroppedOrigin(droppedOrigin) {
|
|
198
|
+
const closed = [];
|
|
199
|
+
for (const c of this.doc.conflicts) {
|
|
200
|
+
if (c.resolved)
|
|
201
|
+
continue;
|
|
202
|
+
if (!c.versions.some((v) => v.origin === droppedOrigin))
|
|
203
|
+
continue;
|
|
204
|
+
const survivors = c.versions.filter((v) => v.origin !== droppedOrigin);
|
|
205
|
+
// Distinct surviving origins ≤ 1 ⇒ the conflict was created by the dropped
|
|
206
|
+
// origin and no longer exists.
|
|
207
|
+
const distinctSurvivors = new Set(survivors.map((v) => v.origin));
|
|
208
|
+
if (distinctSurvivors.size <= 1) {
|
|
209
|
+
c.resolved = true;
|
|
210
|
+
c.resolvedAt = this.now().toISOString();
|
|
211
|
+
c.resolution = 'origin-dropped';
|
|
212
|
+
closed.push(c.conflictId);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
if (closed.length > 0) {
|
|
216
|
+
this.persist();
|
|
217
|
+
this.log('conflict-auto-resolved-origin-dropped', { droppedOrigin, closedCount: closed.length });
|
|
218
|
+
}
|
|
219
|
+
return closed;
|
|
220
|
+
}
|
|
221
|
+
/** Every open (unresolved) conflict (§7.3 dashboard surface). */
|
|
222
|
+
listOpen() {
|
|
223
|
+
return this.doc.conflicts.filter((c) => !c.resolved);
|
|
224
|
+
}
|
|
225
|
+
/** Every conflict (open + recently-resolved), for the audit surface. */
|
|
226
|
+
listAll() {
|
|
227
|
+
return [...this.doc.conflicts];
|
|
228
|
+
}
|
|
229
|
+
/** One conflict by id, or undefined. */
|
|
230
|
+
getConflict(conflictId) {
|
|
231
|
+
return this.doc.conflicts.find((c) => c.conflictId === conflictId);
|
|
232
|
+
}
|
|
233
|
+
/** Monotonic count of open conflicts evicted by the bound (surfaced in degradation). */
|
|
234
|
+
get lossCounter() {
|
|
235
|
+
return this.doc.lossCounter;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function isLedgerEntry(v) {
|
|
239
|
+
if (!v || typeof v !== 'object')
|
|
240
|
+
return false;
|
|
241
|
+
const o = v;
|
|
242
|
+
return typeof o.conflictId === 'string' && typeof o.recordKey === 'string' && typeof o.store === 'string' && Array.isArray(o.versions);
|
|
243
|
+
}
|
|
244
|
+
/** Re-export the version-stamp helper so a caller serializing a resolution can
|
|
245
|
+
* produce the same hlc key shape the ledger stores. */
|
|
246
|
+
export { serializeHlcKey };
|
|
247
|
+
//# sourceMappingURL=ConflictStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConflictStore.js","sourceRoot":"","sources":["../../src/core/ConflictStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAqB,MAAM,yBAAyB,CAAC;AAG7E;;6CAE6C;AAC7C,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AACvD;6DAC6D;AAC7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AA6D9C,MAAM,OAAO,aAAa;IACP,QAAQ,CAAS;IACjB,GAAG,CAAa;IAChB,cAAc,CAAwC;IACtD,GAAG,CAA2D;IAC9D,YAAY,CAAwB;IACpC,UAAU,CAAyB;IACnC,mBAAmB,CAAS;IAC5B,OAAO,CAAS;IAEzB,GAAG,CAAY;IAEvB,YAAY,KAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,IAAI,qCAAqC,CAAC;QAC9F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;QACpE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEO,UAAU;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC3E,CAAC;IAEO,IAAI;QACV,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAuB,CAAC;YACnE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAClH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6EAA6E;YAC7E,2EAA2E;YAC3E,uEAAuE;YACvE,8EAA8E;YAC9E,wEAAwE;YACxE,qEAAqE;YACrE,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;IAEO,OAAO;QACb,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YAC9D,SAAS,EAAE,wBAAwB;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,cAAc,CAAC,KAAa,EAAE,UAA8B;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;QACxF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,QAAQ;gBAAE,OAAO,QAAQ,CAAC,CAAC,uCAAuC;YAC/E,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC3B,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;YAC7B,2EAA2E;YAC3E,2EAA2E;YAC3E,sEAAsE;YACtE,6EAA6E;YAC7E,8EAA8E;YAC9E,wCAAwC;YACxC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvF,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;gBACzH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAwB;YACjC,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,KAAK;YACL,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzG,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,MAAM;YAClB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,sEAAsE;QACtE,gEAAgE;QAChE,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;4DAEwD;IAChD,YAAY;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACxC,gEAAgE;QAChE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,SAAS,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,UAAkB,EAAE,UAA8B;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,CAAC,gCAAgC;QAElE,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACpG,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,KAAK,SAAS,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI,CAAC;QAC9F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,2EAA2E;YAC3E,0EAA0E;YAC1E,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,gDAAgD,UAAU,CAAC,YAAY,yCAAyC,CAAC,CAAC;QACpI,CAAC;QAED,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrE,IAAI,SAAS;YAAE,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,2BAA2B,CAAC,aAAqB;QAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,QAAQ;gBAAE,SAAS;YACzB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC;gBAAE,SAAS;YAClE,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;YACvE,2EAA2E;YAC3E,+BAA+B;YAC/B,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,IAAI,iBAAiB,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAChC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;gBACxC,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iEAAiE;IACjE,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,wEAAwE;IACxE,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,wCAAwC;IACxC,WAAW,CAAC,UAAkB;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,wFAAwF;IACxF,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9B,CAAC;CACF;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACzI,CAAC;AAED;wDACwD;AACxD,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CredentialIdentityOracle — Step 3 of live credential re-pointing (spec §2.3 verify, §2.11).
|
|
3
|
+
*
|
|
4
|
+
* The ONLY oracle that reads credential REALITY: given a config-home slot, it reads the slot's
|
|
5
|
+
* current credential blob, takes its OAuth access token, and asks the Anthropic OAuth profile
|
|
6
|
+
* endpoint (`GET /api/oauth/profile`) which account that token belongs to. `claude auth status`
|
|
7
|
+
* is disqualified (E4a — it reads a metadata file, not the live credential, and lies during the
|
|
8
|
+
* keychain-first/config-second swap window); the config `oauthAccount` record is metadata, not
|
|
9
|
+
* truth. The profile endpoint is the truth-oracle the convergence experiments (E4b) adopted.
|
|
10
|
+
*
|
|
11
|
+
* It implements the `IdentityOracle` interface the `CredentialLocationLedger` (Step 2) seeds and
|
|
12
|
+
* recovers from. Separation of concerns: this oracle returns the RAW probed email (or an
|
|
13
|
+
* `unavailable` result); the LEDGER maps email → accountId through the pool and decides what to
|
|
14
|
+
* do on an ambiguous/unknown match. That keeps the pool-mapping policy in one place (§2.2).
|
|
15
|
+
*
|
|
16
|
+
* §2.11 classification CONTRACT — `email` set IFF the profile returned a non-empty string email;
|
|
17
|
+
* EVERY other outcome (no token / fetch error / non-2xx (incl. 401/403/429/5xx) / unparseable /
|
|
18
|
+
* missing-or-empty-or-nonstring email) → `unavailable` with a reason. NEVER a "mismatch": an
|
|
19
|
+
* unverifiable slot is quarantine-never-repair upstream, never a guess.
|
|
20
|
+
*
|
|
21
|
+
* Reuses `readClaudeOauth` (OAuthRefresher) for the per-slot blob read — no hand-rolled keychain
|
|
22
|
+
* access. The profile fetch lives here behind a bounded timeout; this file is allowlisted in
|
|
23
|
+
* `scripts/lint-no-direct-llm-http.js` for the SAME reason QuotaCollector is — an OAuth profile
|
|
24
|
+
* call is identity bookkeeping, not an LLM message call.
|
|
25
|
+
*
|
|
26
|
+
* NOTE (tracked to Step 4/5): when the slot's access token is EXPIRED, the spec's optimization is
|
|
27
|
+
* one refresh exchange (through the credential write funnel) before the profile call to avoid a
|
|
28
|
+
* spurious `unavailable`. That refresh WRITES a rotated token, so it must go through the Step-4
|
|
29
|
+
* write funnel — until that lands, an expired token classifies as `unavailable` (the safe
|
|
30
|
+
* direction: the slot is quarantined and re-probed, never guessed). The profile call here writes
|
|
31
|
+
* nothing.
|
|
32
|
+
*/
|
|
33
|
+
import { type CredentialStore } from './OAuthRefresher.js';
|
|
34
|
+
import type { IdentityOracle, IdentityOracleResult } from './CredentialLocationLedger.js';
|
|
35
|
+
/** Minimal fetch shape (matches the global fetch Response subset the oracle uses). */
|
|
36
|
+
export type OracleFetch = (url: string, init?: {
|
|
37
|
+
headers?: Record<string, string>;
|
|
38
|
+
signal?: AbortSignal;
|
|
39
|
+
}) => Promise<{
|
|
40
|
+
ok: boolean;
|
|
41
|
+
status: number;
|
|
42
|
+
json: () => Promise<unknown>;
|
|
43
|
+
}>;
|
|
44
|
+
export interface CredentialIdentityOracleDeps {
|
|
45
|
+
/** Credential store to read each slot's blob from (defaults to the real keychain/file store). */
|
|
46
|
+
store?: CredentialStore;
|
|
47
|
+
/** Injectable fetch for tests; defaults to the global fetch. */
|
|
48
|
+
fetchImpl?: OracleFetch;
|
|
49
|
+
/** Per-call profile-fetch timeout (ms). */
|
|
50
|
+
timeoutMs?: number;
|
|
51
|
+
}
|
|
52
|
+
export declare class CredentialIdentityOracle implements IdentityOracle {
|
|
53
|
+
private readonly store?;
|
|
54
|
+
private readonly fetchImpl;
|
|
55
|
+
private readonly timeoutMs;
|
|
56
|
+
constructor(deps?: CredentialIdentityOracleDeps);
|
|
57
|
+
resolveSlotTenant(slot: string): Promise<IdentityOracleResult>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=CredentialIdentityOracle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialIdentityOracle.d.ts","sourceRoot":"","sources":["../../src/core/CredentialIdentityOracle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAK1F,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC9D,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAAC;AAE5E,MAAM,WAAW,4BAA4B;IAC3C,iGAAiG;IACjG,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,gEAAgE;IAChE,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,wBAAyB,YAAW,cAAc;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,IAAI,GAAE,4BAAiC;IAQ7C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA0CrE"}
|