instar 1.3.606 → 1.3.608
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 +333 -32
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +38 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/coordination/CrossMachineMandate.d.ts +53 -0
- package/dist/coordination/CrossMachineMandate.d.ts.map +1 -0
- package/dist/coordination/CrossMachineMandate.js +76 -0
- package/dist/coordination/CrossMachineMandate.js.map +1 -0
- package/dist/core/AccountCredentialShare.d.ts +115 -0
- package/dist/core/AccountCredentialShare.d.ts.map +1 -0
- package/dist/core/AccountCredentialShare.js +113 -0
- package/dist/core/AccountCredentialShare.js.map +1 -0
- package/dist/core/AccountFollowMeGrants.d.ts +92 -0
- package/dist/core/AccountFollowMeGrants.d.ts.map +1 -0
- package/dist/core/AccountFollowMeGrants.js +106 -0
- package/dist/core/AccountFollowMeGrants.js.map +1 -0
- package/dist/core/CoherenceJournal.d.ts +1 -1
- package/dist/core/CoherenceJournal.d.ts.map +1 -1
- package/dist/core/CoherenceJournal.js +12 -2
- package/dist/core/CoherenceJournal.js.map +1 -1
- package/dist/core/PairingEpochManager.d.ts +68 -0
- package/dist/core/PairingEpochManager.d.ts.map +1 -0
- package/dist/core/PairingEpochManager.js +88 -0
- package/dist/core/PairingEpochManager.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +38 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SecretStore.d.ts +44 -0
- package/dist/core/SecretStore.d.ts.map +1 -1
- package/dist/core/SecretStore.js +126 -0
- package/dist/core/SecretStore.js.map +1 -1
- package/dist/core/SecretSync.d.ts.map +1 -1
- package/dist/core/SecretSync.js +6 -0
- package/dist/core/SecretSync.js.map +1 -1
- package/dist/core/SubscriptionAccountMetaReplicatedStore.d.ts +106 -0
- package/dist/core/SubscriptionAccountMetaReplicatedStore.d.ts.map +1 -0
- package/dist/core/SubscriptionAccountMetaReplicatedStore.js +263 -0
- package/dist/core/SubscriptionAccountMetaReplicatedStore.js.map +1 -0
- package/dist/core/SubscriptionPool.d.ts +23 -5
- package/dist/core/SubscriptionPool.d.ts.map +1 -1
- package/dist/core/SubscriptionPool.js +30 -6
- package/dist/core/SubscriptionPool.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 +37 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/AutonomousLivenessReconciler.d.ts +278 -0
- package/dist/monitoring/AutonomousLivenessReconciler.d.ts.map +1 -0
- package/dist/monitoring/AutonomousLivenessReconciler.js +660 -0
- package/dist/monitoring/AutonomousLivenessReconciler.js.map +1 -0
- package/dist/monitoring/ResumeQueue.d.ts +10 -0
- package/dist/monitoring/ResumeQueue.d.ts.map +1 -1
- package/dist/monitoring/ResumeQueue.js +12 -0
- package/dist/monitoring/ResumeQueue.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +7 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +1 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +6 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +4 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +10 -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 +7 -0
- package/upgrades/1.3.607.md +25 -0
- package/upgrades/1.3.608.md +29 -0
- package/upgrades/side-effects/autonomous-liveness-reconciler.md +39 -0
- package/upgrades/side-effects/ws52-account-follow-me-pr1.md +74 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WS5.2 R7a — grant / lease-slice primitives for account follow-me.
|
|
3
|
+
*
|
|
4
|
+
* Two load-bearing properties for a SHARED account spread across N machines:
|
|
5
|
+
* - SINGLE-USE GRANTS: each credential share carries a one-time grant; a replayed (already
|
|
6
|
+
* consumed) grant is refused (R3 — consumed at the `account-credential-share` gate).
|
|
7
|
+
* - SUM-OF-LEASES SPEND BOUND: each grant reserves a SLICE of the account's spend ceiling; the
|
|
8
|
+
* sum of OUTSTANDING slices for an account can never exceed the ceiling, regardless of issue
|
|
9
|
+
* order, and the bound is RE-DERIVABLE from the durable ledger so a fenced-lease-holder
|
|
10
|
+
* FAILOVER cannot double-allocate (a new holder rebuilds outstanding from the ledger before
|
|
11
|
+
* issuing). Slices are LEASE-EPOCH-FENCED: a slice stamped with a stale epoch is void at a
|
|
12
|
+
* newer epoch (the single-writer-by-fenced-lease guarantee).
|
|
13
|
+
*
|
|
14
|
+
* PR1 scope: the durable ledger + accounting logic, with an injected store seam (production wires
|
|
15
|
+
* a durable JSON/SQLite store; tests use in-memory). The fenced-lease HOLDER election + the live
|
|
16
|
+
* placement wiring are integration-layer (later PR); this module enforces the math the holder runs.
|
|
17
|
+
*/
|
|
18
|
+
export type GrantStatus = 'outstanding' | 'consumed' | 'released' | 'expired';
|
|
19
|
+
export interface GrantRecord {
|
|
20
|
+
grantId: string;
|
|
21
|
+
mandateId: string;
|
|
22
|
+
accountId: string;
|
|
23
|
+
targetFingerprint: string;
|
|
24
|
+
/** This grant's slice of the account spend ceiling (provider quota-fraction, 0..ceiling). */
|
|
25
|
+
amount: number;
|
|
26
|
+
/** Fenced-lease epoch this slice was issued under — stale-epoch slices are void (R7a). */
|
|
27
|
+
leaseEpoch: number;
|
|
28
|
+
issuedAt: number;
|
|
29
|
+
expiresAt: number;
|
|
30
|
+
status: GrantStatus;
|
|
31
|
+
}
|
|
32
|
+
export interface GrantLedgerData {
|
|
33
|
+
grants: Record<string, GrantRecord>;
|
|
34
|
+
}
|
|
35
|
+
/** Durable persistence seam (production: JSON/SQLite; tests: in-memory). */
|
|
36
|
+
export interface GrantStore {
|
|
37
|
+
read(): GrantLedgerData;
|
|
38
|
+
write(data: GrantLedgerData): void;
|
|
39
|
+
}
|
|
40
|
+
export declare function inMemoryGrantStore(): GrantStore;
|
|
41
|
+
export interface IssueSliceArgs {
|
|
42
|
+
grantId: string;
|
|
43
|
+
mandateId: string;
|
|
44
|
+
accountId: string;
|
|
45
|
+
targetFingerprint: string;
|
|
46
|
+
amount: number;
|
|
47
|
+
/** The account's spend ceiling (provider quota-fraction). */
|
|
48
|
+
ceiling: number;
|
|
49
|
+
/** Current fenced-lease epoch (the accountant must be the lease holder). */
|
|
50
|
+
leaseEpoch: number;
|
|
51
|
+
expiresAt: number;
|
|
52
|
+
}
|
|
53
|
+
export type IssueResult = {
|
|
54
|
+
ok: true;
|
|
55
|
+
grant: GrantRecord;
|
|
56
|
+
} | {
|
|
57
|
+
ok: false;
|
|
58
|
+
reason: string;
|
|
59
|
+
};
|
|
60
|
+
export type ConsumeResult = {
|
|
61
|
+
ok: true;
|
|
62
|
+
} | {
|
|
63
|
+
ok: false;
|
|
64
|
+
reason: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Per-account spend accountant + single-use grant ledger. ALL outstanding state is re-derived
|
|
68
|
+
* from the durable store on every call, so a fresh instance after a lease-holder failover sees
|
|
69
|
+
* the exact same outstanding set (no double-allocation).
|
|
70
|
+
*/
|
|
71
|
+
export declare class AccountFollowMeGrantLedger {
|
|
72
|
+
private readonly store;
|
|
73
|
+
private readonly now;
|
|
74
|
+
constructor(store: GrantStore, now?: () => number);
|
|
75
|
+
/** Sum of OUTSTANDING (live, unexpired) slices for an account — the spend currently committed. */
|
|
76
|
+
outstandingFor(accountId: string): number;
|
|
77
|
+
/**
|
|
78
|
+
* Issue a single-use grant reserving `amount` of the account ceiling. Refused when:
|
|
79
|
+
* the grant id already exists; the amount is non-positive/over-ceiling; or the new sum-of-
|
|
80
|
+
* outstanding would exceed the ceiling (R7a). Idempotent against the durable ledger.
|
|
81
|
+
*/
|
|
82
|
+
issue(args: IssueSliceArgs): IssueResult;
|
|
83
|
+
/**
|
|
84
|
+
* Consume a single-use grant at the credential-share gate. Refused when: unknown; wrong
|
|
85
|
+
* mandate; expired; issued under a STALE lease epoch (void at the current epoch); or already
|
|
86
|
+
* consumed/released (replay defeat — R3). On success the grant flips to `consumed`.
|
|
87
|
+
*/
|
|
88
|
+
consume(grantId: string, mandateId: string, currentLeaseEpoch: number): ConsumeResult;
|
|
89
|
+
/** Release a slice (revocation / completion) — frees its spend back to the ceiling. */
|
|
90
|
+
release(grantId: string): ConsumeResult;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=AccountFollowMeGrants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountFollowMeGrants.d.ts","sourceRoot":"","sources":["../../src/core/AccountFollowMeGrants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,eAAe,CAAC;IACxB,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAG/C;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE;;;;GAIG;AACH,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,KAAK,EAAE,UAAU,EACjB,GAAG,GAAE,MAAM,MAAiB;IAG/C,kGAAkG;IAClG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAQzC;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW;IAwBxC;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,aAAa;IAYrF,uFAAuF;IACvF,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;CAQxC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WS5.2 R7a — grant / lease-slice primitives for account follow-me.
|
|
3
|
+
*
|
|
4
|
+
* Two load-bearing properties for a SHARED account spread across N machines:
|
|
5
|
+
* - SINGLE-USE GRANTS: each credential share carries a one-time grant; a replayed (already
|
|
6
|
+
* consumed) grant is refused (R3 — consumed at the `account-credential-share` gate).
|
|
7
|
+
* - SUM-OF-LEASES SPEND BOUND: each grant reserves a SLICE of the account's spend ceiling; the
|
|
8
|
+
* sum of OUTSTANDING slices for an account can never exceed the ceiling, regardless of issue
|
|
9
|
+
* order, and the bound is RE-DERIVABLE from the durable ledger so a fenced-lease-holder
|
|
10
|
+
* FAILOVER cannot double-allocate (a new holder rebuilds outstanding from the ledger before
|
|
11
|
+
* issuing). Slices are LEASE-EPOCH-FENCED: a slice stamped with a stale epoch is void at a
|
|
12
|
+
* newer epoch (the single-writer-by-fenced-lease guarantee).
|
|
13
|
+
*
|
|
14
|
+
* PR1 scope: the durable ledger + accounting logic, with an injected store seam (production wires
|
|
15
|
+
* a durable JSON/SQLite store; tests use in-memory). The fenced-lease HOLDER election + the live
|
|
16
|
+
* placement wiring are integration-layer (later PR); this module enforces the math the holder runs.
|
|
17
|
+
*/
|
|
18
|
+
export function inMemoryGrantStore() {
|
|
19
|
+
let data = { grants: {} };
|
|
20
|
+
return { read: () => data, write: (d) => { data = d; } };
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Per-account spend accountant + single-use grant ledger. ALL outstanding state is re-derived
|
|
24
|
+
* from the durable store on every call, so a fresh instance after a lease-holder failover sees
|
|
25
|
+
* the exact same outstanding set (no double-allocation).
|
|
26
|
+
*/
|
|
27
|
+
export class AccountFollowMeGrantLedger {
|
|
28
|
+
store;
|
|
29
|
+
now;
|
|
30
|
+
constructor(store, now = Date.now) {
|
|
31
|
+
this.store = store;
|
|
32
|
+
this.now = now;
|
|
33
|
+
}
|
|
34
|
+
/** Sum of OUTSTANDING (live, unexpired) slices for an account — the spend currently committed. */
|
|
35
|
+
outstandingFor(accountId) {
|
|
36
|
+
const { grants } = this.store.read();
|
|
37
|
+
const t = this.now();
|
|
38
|
+
return Object.values(grants)
|
|
39
|
+
.filter((g) => g.accountId === accountId && g.status === 'outstanding' && g.expiresAt > t)
|
|
40
|
+
.reduce((sum, g) => sum + g.amount, 0);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Issue a single-use grant reserving `amount` of the account ceiling. Refused when:
|
|
44
|
+
* the grant id already exists; the amount is non-positive/over-ceiling; or the new sum-of-
|
|
45
|
+
* outstanding would exceed the ceiling (R7a). Idempotent against the durable ledger.
|
|
46
|
+
*/
|
|
47
|
+
issue(args) {
|
|
48
|
+
const data = this.store.read();
|
|
49
|
+
if (data.grants[args.grantId])
|
|
50
|
+
return { ok: false, reason: 'duplicate-grant-id' };
|
|
51
|
+
if (!(args.amount > 0))
|
|
52
|
+
return { ok: false, reason: 'non-positive-amount' };
|
|
53
|
+
if (args.amount > args.ceiling)
|
|
54
|
+
return { ok: false, reason: 'amount-exceeds-ceiling' };
|
|
55
|
+
const outstanding = this.outstandingFor(args.accountId);
|
|
56
|
+
if (outstanding + args.amount > args.ceiling) {
|
|
57
|
+
return { ok: false, reason: 'would-exceed-ceiling' };
|
|
58
|
+
}
|
|
59
|
+
const grant = {
|
|
60
|
+
grantId: args.grantId,
|
|
61
|
+
mandateId: args.mandateId,
|
|
62
|
+
accountId: args.accountId,
|
|
63
|
+
targetFingerprint: args.targetFingerprint,
|
|
64
|
+
amount: args.amount,
|
|
65
|
+
leaseEpoch: args.leaseEpoch,
|
|
66
|
+
issuedAt: this.now(),
|
|
67
|
+
expiresAt: args.expiresAt,
|
|
68
|
+
status: 'outstanding',
|
|
69
|
+
};
|
|
70
|
+
this.store.write({ grants: { ...data.grants, [args.grantId]: grant } });
|
|
71
|
+
return { ok: true, grant };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Consume a single-use grant at the credential-share gate. Refused when: unknown; wrong
|
|
75
|
+
* mandate; expired; issued under a STALE lease epoch (void at the current epoch); or already
|
|
76
|
+
* consumed/released (replay defeat — R3). On success the grant flips to `consumed`.
|
|
77
|
+
*/
|
|
78
|
+
consume(grantId, mandateId, currentLeaseEpoch) {
|
|
79
|
+
const data = this.store.read();
|
|
80
|
+
const g = data.grants[grantId];
|
|
81
|
+
if (!g)
|
|
82
|
+
return { ok: false, reason: 'unknown-grant' };
|
|
83
|
+
if (g.mandateId !== mandateId)
|
|
84
|
+
return { ok: false, reason: 'mandate-mismatch' };
|
|
85
|
+
if (g.expiresAt <= this.now())
|
|
86
|
+
return { ok: false, reason: 'expired' };
|
|
87
|
+
if (g.leaseEpoch < currentLeaseEpoch)
|
|
88
|
+
return { ok: false, reason: 'stale-lease-epoch' };
|
|
89
|
+
if (g.status !== 'outstanding')
|
|
90
|
+
return { ok: false, reason: `already-${g.status}` };
|
|
91
|
+
this.store.write({ grants: { ...data.grants, [grantId]: { ...g, status: 'consumed' } } });
|
|
92
|
+
return { ok: true };
|
|
93
|
+
}
|
|
94
|
+
/** Release a slice (revocation / completion) — frees its spend back to the ceiling. */
|
|
95
|
+
release(grantId) {
|
|
96
|
+
const data = this.store.read();
|
|
97
|
+
const g = data.grants[grantId];
|
|
98
|
+
if (!g)
|
|
99
|
+
return { ok: false, reason: 'unknown-grant' };
|
|
100
|
+
if (g.status === 'released')
|
|
101
|
+
return { ok: true };
|
|
102
|
+
this.store.write({ grants: { ...data.grants, [grantId]: { ...g, status: 'released' } } });
|
|
103
|
+
return { ok: true };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=AccountFollowMeGrants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountFollowMeGrants.js","sourceRoot":"","sources":["../../src/core/AccountFollowMeGrants.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
*/
|
|
32
32
|
import fs from 'node:fs';
|
|
33
33
|
import { type ReplicatedKindRegistry } from './ReplicatedRecordEnvelope.js';
|
|
34
|
-
export type JournalKind = 'topic-placement' | 'session-lifecycle' | 'autonomous-run' | 'threadline-conversation' | 'guard-latch' | 'pref-record' | 'relationship-record' | 'learning-record' | 'knowledge-record' | 'evolution-action-record' | 'user-record' | 'topic-operator-record' | 'threadline-pairing-record';
|
|
34
|
+
export type JournalKind = 'topic-placement' | 'session-lifecycle' | 'autonomous-run' | 'threadline-conversation' | 'guard-latch' | 'pref-record' | 'relationship-record' | 'learning-record' | 'knowledge-record' | 'evolution-action-record' | 'user-record' | 'topic-operator-record' | 'threadline-pairing-record' | 'subscription-account-meta';
|
|
35
35
|
export declare const JOURNAL_KINDS: JournalKind[];
|
|
36
36
|
/** §3.2 enums. */
|
|
37
37
|
export type PlacementReason = 'user-move' | 'placed' | 'failover' | 'released' | 'quota-block-move' | 'reconcile';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoherenceJournal.d.ts","sourceRoot":"","sources":["../../src/core/CoherenceJournal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB,OAAO,EAEL,KAAK,sBAAsB,EAE5B,MAAM,+BAA+B,CAAC;AAGvC,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,yBAAyB,GAAG,aAAa,GAAG,aAAa,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,aAAa,GAAG,uBAAuB,GAAG,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"CoherenceJournal.d.ts","sourceRoot":"","sources":["../../src/core/CoherenceJournal.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ import path from 'node:path';
|
|
|
35
35
|
import { coerceHlc, serializeHlcKey } from './HybridLogicalClock.js';
|
|
36
36
|
import { validateReplicatedEnvelope, } from './ReplicatedRecordEnvelope.js';
|
|
37
37
|
import { SafeFsExecutor } from './SafeFsExecutor.js';
|
|
38
|
-
export const JOURNAL_KINDS = ['topic-placement', 'session-lifecycle', 'autonomous-run', 'threadline-conversation', 'guard-latch', 'pref-record', 'relationship-record', 'learning-record', 'knowledge-record', 'evolution-action-record', 'user-record', 'topic-operator-record', 'threadline-pairing-record'];
|
|
38
|
+
export const JOURNAL_KINDS = ['topic-placement', 'session-lifecycle', 'autonomous-run', 'threadline-conversation', 'guard-latch', 'pref-record', 'relationship-record', 'learning-record', 'knowledge-record', 'evolution-action-record', 'user-record', 'topic-operator-record', 'threadline-pairing-record', 'subscription-account-meta'];
|
|
39
39
|
export const DEFAULT_RETENTION = {
|
|
40
40
|
'topic-placement': { maxFileBytes: 8 * 1024 * 1024, rotateKeep: 0 },
|
|
41
41
|
'session-lifecycle': { maxFileBytes: 16 * 1024 * 1024, rotateKeep: 4 },
|
|
@@ -101,6 +101,12 @@ export const DEFAULT_RETENTION = {
|
|
|
101
101
|
// (ThreadlinePairingReplicatedStore.THREADLINE_PAIRING_RECORD_BOUNDS) override the
|
|
102
102
|
// replicated stream; this is the journal-level fallback.
|
|
103
103
|
'threadline-pairing-record': { maxFileBytes: 1 * 1024 * 1024, rotateKeep: 4 },
|
|
104
|
+
// subscription-account-meta (WS5.2 §6.1a): a metadata-only projection — NEVER rotateKeep:0
|
|
105
|
+
// (rotate-but-never-delete parity with the other replicated kinds). Accounts are FEW + bounded
|
|
106
|
+
// (a handful per operator), so a small window with a few archives suffices; the churny quota-
|
|
107
|
+
// refresh loop is coalesced upstream. Carries NO credential and NO PII beyond email (the
|
|
108
|
+
// configHome + every credential field are stripped at the projector).
|
|
109
|
+
'subscription-account-meta': { maxFileBytes: 2 * 1024 * 1024, rotateKeep: 4 },
|
|
104
110
|
};
|
|
105
111
|
export const DEFAULT_FLUSH_INTERVAL_MS = 250;
|
|
106
112
|
export const DEFAULT_MAX_ENTRY_BYTES = 8 * 1024;
|
|
@@ -170,7 +176,7 @@ export class CoherenceJournal {
|
|
|
170
176
|
state = 'closed';
|
|
171
177
|
incarnation = '';
|
|
172
178
|
/** Next seq to assign at enqueue, per kind (in-memory counter seeded at open). */
|
|
173
|
-
nextSeq = { 'topic-placement': 1, 'session-lifecycle': 1, 'autonomous-run': 1, 'threadline-conversation': 1, 'guard-latch': 1, 'pref-record': 1, 'relationship-record': 1, 'learning-record': 1, 'knowledge-record': 1, 'evolution-action-record': 1, 'user-record': 1, 'topic-operator-record': 1, 'threadline-pairing-record': 1 };
|
|
179
|
+
nextSeq = { 'topic-placement': 1, 'session-lifecycle': 1, 'autonomous-run': 1, 'threadline-conversation': 1, 'guard-latch': 1, 'pref-record': 1, 'relationship-record': 1, 'learning-record': 1, 'knowledge-record': 1, 'evolution-action-record': 1, 'user-record': 1, 'topic-operator-record': 1, 'threadline-pairing-record': 1, 'subscription-account-meta': 1 };
|
|
174
180
|
/** Durable highWaterSeq per kind (advanced after data fdatasync). */
|
|
175
181
|
highWaterSeq = {
|
|
176
182
|
'topic-placement': 0,
|
|
@@ -186,6 +192,7 @@ export class CoherenceJournal {
|
|
|
186
192
|
'user-record': 0,
|
|
187
193
|
'topic-operator-record': 0,
|
|
188
194
|
'threadline-pairing-record': 0,
|
|
195
|
+
'subscription-account-meta': 0,
|
|
189
196
|
};
|
|
190
197
|
/** In-memory enqueue order; drained by the flusher in seq order per kind. */
|
|
191
198
|
queue = [];
|
|
@@ -204,6 +211,7 @@ export class CoherenceJournal {
|
|
|
204
211
|
'user-record': new Set(),
|
|
205
212
|
'topic-operator-record': new Set(),
|
|
206
213
|
'threadline-pairing-record': new Set(),
|
|
214
|
+
'subscription-account-meta': new Set(),
|
|
207
215
|
};
|
|
208
216
|
rateBuckets;
|
|
209
217
|
timer = null;
|
|
@@ -250,6 +258,7 @@ export class CoherenceJournal {
|
|
|
250
258
|
'user-record': config.retention?.['user-record'] ?? DEFAULT_RETENTION['user-record'],
|
|
251
259
|
'topic-operator-record': config.retention?.['topic-operator-record'] ?? DEFAULT_RETENTION['topic-operator-record'],
|
|
252
260
|
'threadline-pairing-record': config.retention?.['threadline-pairing-record'] ?? DEFAULT_RETENTION['threadline-pairing-record'],
|
|
261
|
+
'subscription-account-meta': config.retention?.['subscription-account-meta'] ?? DEFAULT_RETENTION['subscription-account-meta'],
|
|
253
262
|
};
|
|
254
263
|
this.rateCapCfg = config.rateCap ?? DEFAULT_RATE_CAP;
|
|
255
264
|
this.artifactRoots = (config.artifactRoots ?? [path.join(this.stateDir, 'autonomous'), this.stateDir]).map((r) => {
|
|
@@ -282,6 +291,7 @@ export class CoherenceJournal {
|
|
|
282
291
|
'user-record': { tokens: this.rateCapCfg.capacity, lastRefillMs: initMs },
|
|
283
292
|
'topic-operator-record': { tokens: this.rateCapCfg.capacity, lastRefillMs: initMs },
|
|
284
293
|
'threadline-pairing-record': { tokens: this.rateCapCfg.capacity, lastRefillMs: initMs },
|
|
294
|
+
'subscription-account-meta': { tokens: this.rateCapCfg.capacity, lastRefillMs: initMs },
|
|
285
295
|
};
|
|
286
296
|
}
|
|
287
297
|
// ---- lifecycle ----------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoherenceJournal.js","sourceRoot":"","sources":["../../src/core/CoherenceJournal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CoherenceJournal.js","sourceRoot":"","sources":["../../src/core/CoherenceJournal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WS5.2 R4b — de-pair X25519 key-rotation as the pairing-epoch mechanism.
|
|
3
|
+
*
|
|
4
|
+
* The load-bearing revocation primitive: instead of inventing a new counter, the recipient's
|
|
5
|
+
* X25519 key (the key credentials are sealed TO) is ROTATED on de-pair, and the rotation
|
|
6
|
+
* generation IS the `pairingEpoch` bound into every sealed credential's AAD (SecretStore.ts).
|
|
7
|
+
* Rotating the key makes EVERY previously-sealed blob undecryptable at once — achieving
|
|
8
|
+
* replay-defeat (S3) and forward-revocation of sealed blobs (S4) by reusing identity machinery.
|
|
9
|
+
*
|
|
10
|
+
* Durability + rollback-resistance (R4b invariant): the (private key, epoch) anchor is persisted
|
|
11
|
+
* via the injected `PairingKeyAnchor`. In production that anchor is backed by the existing
|
|
12
|
+
* encrypted `SecretStore` (AES-256-GCM under the OS-keychain master key) — so a hostile local
|
|
13
|
+
* root that reverts the on-disk ciphertext CANNOT yield the old private key (the keychain master
|
|
14
|
+
* key is not file-revertible; the GCM fallback is authenticated). The receiver learns the CURRENT
|
|
15
|
+
* key/generation across reboot by reading this anchor, never an in-memory or plaintext value.
|
|
16
|
+
*
|
|
17
|
+
* `secretStoreKeyAnchor` wires the anchor to a real encrypted store; tests use an in-memory anchor.
|
|
18
|
+
*/
|
|
19
|
+
import crypto from 'node:crypto';
|
|
20
|
+
export interface PairingEpochState {
|
|
21
|
+
/** PKCS8 PEM of the current X25519 private key. */
|
|
22
|
+
privateKeyPem: string;
|
|
23
|
+
/** Raw 32-byte X25519 public key (base64) — what peers seal credentials to. */
|
|
24
|
+
publicKeyB64: string;
|
|
25
|
+
/** Rotation generation — bound into sealed-credential AAD as `pairingEpoch`. */
|
|
26
|
+
epoch: number;
|
|
27
|
+
}
|
|
28
|
+
/** Durable, rollback-resistant anchor for the pairing key + epoch. */
|
|
29
|
+
export interface PairingKeyAnchor {
|
|
30
|
+
load(): PairingEpochState | null;
|
|
31
|
+
save(state: PairingEpochState): void;
|
|
32
|
+
}
|
|
33
|
+
/** Minimal encrypted key/value surface (satisfied by SecretStore). */
|
|
34
|
+
export interface EncryptedKvStore {
|
|
35
|
+
get(keyPath: string): unknown;
|
|
36
|
+
set(keyPath: string, value: unknown): void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Build a durable anchor backed by an encrypted store (production: the real SecretStore, whose
|
|
40
|
+
* master key lives in the OS keychain — giving the R4b rollback-resistance for free).
|
|
41
|
+
*/
|
|
42
|
+
export declare function secretStoreKeyAnchor(store: EncryptedKvStore, keyPath?: string): PairingKeyAnchor;
|
|
43
|
+
export declare class PairingEpochManager {
|
|
44
|
+
private readonly anchor;
|
|
45
|
+
constructor(anchor: PairingKeyAnchor);
|
|
46
|
+
/**
|
|
47
|
+
* The current pairing identity. Initializes epoch 0 + a fresh key on first use (persisted),
|
|
48
|
+
* and returns the SAME key/epoch on every later call (and across reboot, via the anchor).
|
|
49
|
+
*/
|
|
50
|
+
current(): {
|
|
51
|
+
privateKey: crypto.KeyObject;
|
|
52
|
+
publicKeyB64: string;
|
|
53
|
+
epoch: number;
|
|
54
|
+
};
|
|
55
|
+
/** Just the current epoch (for AAD construction / status reads) without materializing the key. */
|
|
56
|
+
currentEpoch(): number;
|
|
57
|
+
/** Just the current public key (base64) peers seal to. */
|
|
58
|
+
currentPublicKeyB64(): string;
|
|
59
|
+
/**
|
|
60
|
+
* De-pair rotation (R4b). Generates a NEW X25519 key, bumps the epoch, persists atomically.
|
|
61
|
+
* Every credential sealed to the prior key/epoch is now permanently undecryptable.
|
|
62
|
+
*/
|
|
63
|
+
rotateOnDepair(): {
|
|
64
|
+
publicKeyB64: string;
|
|
65
|
+
epoch: number;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=PairingEpochManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PairingEpochManager.d.ts","sourceRoot":"","sources":["../../src/core/PairingEpochManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,iBAAiB,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACtC;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,OAAO,SAA4C,GAClD,gBAAgB,CAelB;AAUD,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;IAErD;;;OAGG;IACH,OAAO,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAahF,kGAAkG;IAClG,YAAY,IAAI,MAAM;IAItB,0DAA0D;IAC1D,mBAAmB,IAAI,MAAM;IAI7B;;;OAGG;IACH,cAAc,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAM1D"}
|