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.
Files changed (69) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +37 -1
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +12 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/ConflictStore.d.ts +150 -0
  8. package/dist/core/ConflictStore.d.ts.map +1 -0
  9. package/dist/core/ConflictStore.js +247 -0
  10. package/dist/core/ConflictStore.js.map +1 -0
  11. package/dist/core/CredentialIdentityOracle.d.ts +59 -0
  12. package/dist/core/CredentialIdentityOracle.d.ts.map +1 -0
  13. package/dist/core/CredentialIdentityOracle.js +89 -0
  14. package/dist/core/CredentialIdentityOracle.js.map +1 -0
  15. package/dist/core/CredentialLocationLedger.d.ts +187 -0
  16. package/dist/core/CredentialLocationLedger.d.ts.map +1 -0
  17. package/dist/core/CredentialLocationLedger.js +351 -0
  18. package/dist/core/CredentialLocationLedger.js.map +1 -0
  19. package/dist/core/CredentialWriteFunnel.d.ts +77 -0
  20. package/dist/core/CredentialWriteFunnel.d.ts.map +1 -0
  21. package/dist/core/CredentialWriteFunnel.js +128 -0
  22. package/dist/core/CredentialWriteFunnel.js.map +1 -0
  23. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  24. package/dist/core/PostUpdateMigrator.js +30 -0
  25. package/dist/core/PostUpdateMigrator.js.map +1 -1
  26. package/dist/core/ReplicatedStoreReader.d.ts +83 -0
  27. package/dist/core/ReplicatedStoreReader.d.ts.map +1 -0
  28. package/dist/core/ReplicatedStoreReader.js +100 -0
  29. package/dist/core/ReplicatedStoreReader.js.map +1 -0
  30. package/dist/core/ReplicationBudget.d.ts +183 -0
  31. package/dist/core/ReplicationBudget.d.ts.map +1 -0
  32. package/dist/core/ReplicationBudget.js +253 -0
  33. package/dist/core/ReplicationBudget.js.map +1 -0
  34. package/dist/core/RollbackUnmerge.d.ts +134 -0
  35. package/dist/core/RollbackUnmerge.d.ts.map +1 -0
  36. package/dist/core/RollbackUnmerge.js +286 -0
  37. package/dist/core/RollbackUnmerge.js.map +1 -0
  38. package/dist/core/UnionReader.d.ts +161 -0
  39. package/dist/core/UnionReader.d.ts.map +1 -0
  40. package/dist/core/UnionReader.js +0 -0
  41. package/dist/core/UnionReader.js.map +1 -0
  42. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  43. package/dist/core/devGatedFeatures.js +5 -0
  44. package/dist/core/devGatedFeatures.js.map +1 -1
  45. package/dist/core/types.d.ts +35 -0
  46. package/dist/core/types.d.ts.map +1 -1
  47. package/dist/core/types.js.map +1 -1
  48. package/dist/scaffold/templates.d.ts.map +1 -1
  49. package/dist/scaffold/templates.js +6 -0
  50. package/dist/scaffold/templates.js.map +1 -1
  51. package/dist/server/AgentServer.d.ts +7 -0
  52. package/dist/server/AgentServer.d.ts.map +1 -1
  53. package/dist/server/AgentServer.js +3 -0
  54. package/dist/server/AgentServer.js.map +1 -1
  55. package/dist/server/routes.d.ts +10 -0
  56. package/dist/server/routes.d.ts.map +1 -1
  57. package/dist/server/routes.js +67 -0
  58. package/dist/server/routes.js.map +1 -1
  59. package/package.json +1 -1
  60. package/scripts/lint-no-direct-llm-http.js +6 -0
  61. package/src/data/builtin-manifest.json +64 -64
  62. package/src/scaffold/templates.ts +6 -0
  63. package/upgrades/1.3.524.md +31 -0
  64. package/upgrades/1.3.525.md +32 -0
  65. package/upgrades/side-effects/hlc-step4-5-union-rollback-bounds.md +148 -0
  66. package/upgrades/side-effects/live-credential-repointing-increment-a-foundation.md +75 -0
  67. package/upgrades/side-effects/live-credential-repointing-increment-a-funnel-primitive.md +66 -0
  68. package/upgrades/side-effects/live-credential-repointing-increment-a-ledger.md +71 -0
  69. 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;AA4kCH,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"}
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;6CAE6C;AAC7C,eAAO,MAAM,qCAAqC,IAAI,CAAC;AACvD;6DAC6D;AAC7D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;qEAEiE;IACjE,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;IACtE,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;oFACoF;AACpF,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;gFAC4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB;sFACkF;IAClF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtD,kDAAkD;IAClD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC/D,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,iDAAiD;IACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AASD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA2D;IAC/E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,OAAO,CAAC,GAAG,CAAY;gBAEX,KAAK,EAAE,kBAAkB;IAYrC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,IAAI;IAoBZ,OAAO,CAAC,OAAO;IAMf;;;;;;;;;OASG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,mBAAmB;IA0ClF;;4DAEwD;IACxD,OAAO,CAAC,YAAY;IAYpB;;;;;;OAMG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,IAAI;IAyB/F;;;;;;;;;;;;OAYG;IACH,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE;IAuB5D,iEAAiE;IACjE,QAAQ,IAAI,mBAAmB,EAAE;IAIjC,wEAAwE;IACxE,OAAO,IAAI,mBAAmB,EAAE;IAIhC,wCAAwC;IACxC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIhE,wFAAwF;IACxF,IAAI,WAAW,IAAI,MAAM,CAExB;CACF;AAQD;wDACwD;AACxD,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -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":"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"}
@@ -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"}