@claudexor/daemon 4.1.0 → 4.2.0

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 (46) hide show
  1. package/dist/account-evidence.d.ts +37 -0
  2. package/dist/account-evidence.d.ts.map +1 -0
  3. package/dist/account-evidence.js +48 -0
  4. package/dist/account-evidence.js.map +1 -0
  5. package/dist/credential-generation.d.ts +23 -2
  6. package/dist/credential-generation.d.ts.map +1 -1
  7. package/dist/credential-generation.js +27 -3
  8. package/dist/credential-generation.js.map +1 -1
  9. package/dist/credential-unusable-ledger.d.ts +1 -1
  10. package/dist/credential-unusable-ledger.d.ts.map +1 -1
  11. package/dist/credential-unusable-ledger.js +2 -2
  12. package/dist/credential-unusable-ledger.js.map +1 -1
  13. package/dist/delivery-command.d.ts.map +1 -1
  14. package/dist/delivery-command.js +4 -1
  15. package/dist/delivery-command.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/pre-progress-refusal-ledger.d.ts +1 -1
  21. package/dist/pre-progress-refusal-ledger.d.ts.map +1 -1
  22. package/dist/pre-progress-refusal-ledger.js +2 -2
  23. package/dist/pre-progress-refusal-ledger.js.map +1 -1
  24. package/dist/store/account-service.d.ts +40 -0
  25. package/dist/store/account-service.d.ts.map +1 -0
  26. package/dist/store/account-service.js +116 -0
  27. package/dist/store/account-service.js.map +1 -0
  28. package/dist/store/command-prune.d.ts.map +1 -1
  29. package/dist/store/command-prune.js +3 -2
  30. package/dist/store/command-prune.js.map +1 -1
  31. package/dist/store/pragmas.d.ts +11 -8
  32. package/dist/store/pragmas.d.ts.map +1 -1
  33. package/dist/store/pragmas.js.map +1 -1
  34. package/dist/store/schema.d.ts +2 -2
  35. package/dist/store/schema.d.ts.map +1 -1
  36. package/dist/store/schema.js +22 -5
  37. package/dist/store/schema.js.map +1 -1
  38. package/dist/store/sql-daemon-services.d.ts +8 -0
  39. package/dist/store/sql-daemon-services.d.ts.map +1 -1
  40. package/dist/store/sql-daemon-services.js +5 -0
  41. package/dist/store/sql-daemon-services.js.map +1 -1
  42. package/dist/store/store.d.ts +16 -1
  43. package/dist/store/store.d.ts.map +1 -1
  44. package/dist/store/store.js +32 -1
  45. package/dist/store/store.js.map +1 -1
  46. package/package.json +5 -5
@@ -0,0 +1,37 @@
1
+ import type { AccountLastService, CredentialProfile } from "@claudexor/schema";
2
+ import { CredentialGeneration } from "./credential-generation.js";
3
+ import { CredentialUnusableLedger } from "./credential-unusable-ledger.js";
4
+ import { ModelSubstitutionLedger } from "./model-substitution-ledger.js";
5
+ import { PreProgressRefusalLedger } from "./pre-progress-refusal-ledger.js";
6
+ import { type ServiceProducer } from "./store/account-service.js";
7
+ import type { EngineStore } from "./store/store.js";
8
+ /** The store's last-served facts as routing and Accounts read them. A write is
9
+ * ordering evidence: its failure is logged and never fails a run, a ranking or
10
+ * a credential mutation. */
11
+ export interface AccountServiceEvidence {
12
+ serve(profile: CredentialProfile, model: string | null, producer: ServiceProducer): void;
13
+ retract(profile: CredentialProfile, model: string | null, producer: ServiceProducer): void;
14
+ orders(harnessId: string, model: string | null, profiles: readonly CredentialProfile[]): ReadonlyMap<string, number>;
15
+ latest(profiles: readonly CredentialProfile[]): AccountLastService[];
16
+ }
17
+ /**
18
+ * The daemon's account evidence for ONE engine-store lifetime: the credential
19
+ * generation every observation binds to, the bounded in-memory ledgers that
20
+ * share it, and the store's durable last-served facts. The SQL services graph
21
+ * builds it once and retires it on close; a global-generation recovery keeps
22
+ * the same store, so it keeps this evidence too. Every credential change that
23
+ * moves the generation also deletes the durable facts it voided, after the
24
+ * move, so a failed delete leaves at worst a stale ordering preference.
25
+ * Without a store (library embedders, unit tests) nothing is durable.
26
+ */
27
+ export declare function createAccountEvidence(store?: EngineStore, warn?: (line: string) => void): {
28
+ credentials: CredentialGeneration;
29
+ unusable: CredentialUnusableLedger;
30
+ refusals: PreProgressRefusalLedger;
31
+ substitutions: ModelSubstitutionLedger;
32
+ services: AccountServiceEvidence | null;
33
+ /** The owning store is closing: no outcome of an earlier run binds any more. */
34
+ retire: () => void;
35
+ };
36
+ export type AccountEvidence = ReturnType<typeof createAccountEvidence>;
37
+ //# sourceMappingURL=account-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-evidence.d.ts","sourceRoot":"","sources":["../src/account-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;4BAE4B;AAC5B,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACzF,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3F,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GACrC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,CAAC;CACtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,CAAC,EAAE,WAAW,EACnB,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe;;;;;;IA8BrC,gFAAgF;;EAGnF;AACD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { CredentialGeneration } from "./credential-generation.js";
2
+ import { CredentialUnusableLedger } from "./credential-unusable-ledger.js";
3
+ import { ModelSubstitutionLedger } from "./model-substitution-ledger.js";
4
+ import { PreProgressRefusalLedger } from "./pre-progress-refusal-ledger.js";
5
+ import { AccountServiceStore } from "./store/account-service.js";
6
+ /**
7
+ * The daemon's account evidence for ONE engine-store lifetime: the credential
8
+ * generation every observation binds to, the bounded in-memory ledgers that
9
+ * share it, and the store's durable last-served facts. The SQL services graph
10
+ * builds it once and retires it on close; a global-generation recovery keeps
11
+ * the same store, so it keeps this evidence too. Every credential change that
12
+ * moves the generation also deletes the durable facts it voided, after the
13
+ * move, so a failed delete leaves at worst a stale ordering preference.
14
+ * Without a store (library embedders, unit tests) nothing is durable.
15
+ */
16
+ export function createAccountEvidence(store, warn = () => { }) {
17
+ const durable = store ? new AccountServiceStore(store) : null;
18
+ const guarded = (label, action, fallback) => {
19
+ try {
20
+ return action();
21
+ }
22
+ catch (error) {
23
+ warn(`account service evidence ${label} failed: ${String(error)}`);
24
+ return fallback;
25
+ }
26
+ };
27
+ const credentials = new CredentialGeneration(undefined, (scope) => {
28
+ if (durable)
29
+ guarded("clear", () => durable.clear(scope), undefined);
30
+ });
31
+ const services = durable && {
32
+ serve: (profile, model, producer) => guarded("write", () => durable.serve(profile, model, producer), undefined),
33
+ retract: (profile, model, producer) => guarded("retraction", () => durable.retract(profile, model, producer), undefined),
34
+ orders: (harnessId, model, profiles) => guarded("read", () => durable.orders(harnessId, model, profiles), new Map()),
35
+ // The Accounts read reports its own failure to the caller instead.
36
+ latest: (profiles) => durable.latest(profiles),
37
+ };
38
+ return {
39
+ credentials,
40
+ unusable: new CredentialUnusableLedger(undefined, undefined, credentials),
41
+ refusals: new PreProgressRefusalLedger(undefined, undefined, credentials),
42
+ substitutions: new ModelSubstitutionLedger(),
43
+ services,
44
+ /** The owning store is closing: no outcome of an earlier run binds any more. */
45
+ retire: () => credentials.retire(),
46
+ };
47
+ }
48
+ //# sourceMappingURL=account-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-evidence.js","sourceRoot":"","sources":["../src/account-evidence.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,4BAA4B,CAAC;AAiBvF;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAmB,EACnB,IAAI,GAA2B,GAAG,EAAE,GAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,MAAM,OAAO,GAAG,CAAI,KAAa,EAAE,MAAe,EAAE,QAAW,EAAK,EAAE;QACpE,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,4BAA4B,KAAK,YAAY,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAChE,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAkC,OAAO,IAAI;QACzD,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAClC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;QAC5E,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CACpC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;QACnF,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CACrC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC;QAC9E,mEAAmE;QACnE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;KAC/C,CAAC;IACF,OAAO;QACL,WAAW;QACX,QAAQ,EAAE,IAAI,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;QACzE,QAAQ,EAAE,IAAI,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;QACzE,aAAa,EAAE,IAAI,uBAAuB,EAAE;QAC5C,QAAQ;QACR,gFAAgF;QAChF,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE;KACnC,CAAC;AACJ,CAAC"}
@@ -1,18 +1,39 @@
1
1
  import { type CredentialExecutionBinding, type CredentialExecutionSubject } from "@claudexor/core";
2
+ /** The registered rows a credential change voided (null = every row). */
3
+ export type CredentialInvalidation = {
4
+ harnessId: string;
5
+ profileId: string;
6
+ } | null;
2
7
  /** Extracted from the pre-progress ledger: one managed lifecycle for all observations. */
3
8
  export declare class CredentialGeneration {
4
9
  private readonly mutating;
10
+ /** Durable facts about registered rows that the same change voids. Called
11
+ * after the generation moved, so a failing hook can never leave a stale
12
+ * binding current. */
13
+ private readonly onInvalidated;
5
14
  private changes;
6
15
  private everyAccountChangedAt;
7
16
  private defaultChangedAt;
8
17
  private accountChangedAt;
9
18
  private dispatchOrder;
10
- constructor(mutating?: (harnessId: string) => boolean);
19
+ private retired;
20
+ constructor(mutating?: (harnessId: string) => boolean,
21
+ /** Durable facts about registered rows that the same change voids. Called
22
+ * after the generation moved, so a failing hook can never leave a stale
23
+ * binding current. */
24
+ onInvalidated?: (scope: CredentialInvalidation) => void);
11
25
  generation(harnessId: string, profileId: string | null): number;
12
26
  bind(subject: CredentialExecutionSubject, startedAt?: string): CredentialExecutionBinding;
13
27
  current(binding: CredentialExecutionBinding): boolean;
28
+ /** The owning store closed: no binding is current any more, so a late
29
+ * outcome of a run from the closed graph neither records nor clears. */
30
+ retire(): void;
14
31
  noteCredentialChange(): void;
15
- clearSubject(harnessId: string, profileId: string | null): void;
32
+ /** A change that keeps the row's binding (its Enabled toggle) still moves the
33
+ * generation, so no try bound before it records or clears anything after it,
34
+ * but leaves that binding's durable facts. */
35
+ clearSubject(harnessId: string, profileId: string | null, keepsBinding?: boolean): void;
16
36
  clearDefaultSubjects(): void;
37
+ private invalidated;
17
38
  }
18
39
  //# sourceMappingURL=credential-generation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-generation.d.ts","sourceRoot":"","sources":["../src/credential-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAC;AAEzB,0FAA0F;AAC1F,qBAAa,oBAAoB;IAQ7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,aAAa,CAAK;IAE1B,YACmB,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAsC,EACtF;IAEJ,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAO9D;IAED,IAAI,CACF,OAAO,EAAE,0BAA0B,EACnC,SAAS,SAA2B,GACnC,0BAA0B,CAO5B;IAED,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAIpD;IAED,oBAAoB,IAAI,IAAI,CAG3B;IAED,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE9D;IAED,oBAAoB,IAAI,IAAI,CAE3B;CACF"}
1
+ {"version":3,"file":"credential-generation.d.ts","sourceRoot":"","sources":["../src/credential-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAC;AAEzB,yEAAyE;AACzE,MAAM,MAAM,sBAAsB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC;AAErF,0FAA0F;AAC1F,qBAAa,oBAAoB;IAS7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB;;0BAEsB;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAZhC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,OAAO,CAAS;IAExB,YACmB,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAsC;IACxF;;0BAEsB;IACL,aAAa,GAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAe,EAChF;IAEJ,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAO9D;IAED,IAAI,CACF,OAAO,EAAE,0BAA0B,EACnC,SAAS,SAA2B,GACnC,0BAA0B,CAO5B;IAED,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAIpD;IAED;4EACwE;IACxE,MAAM,IAAI,IAAI,CAEb;IAED,oBAAoB,IAAI,IAAI,CAI3B;IAED;;kDAE8C;IAC9C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,UAAQ,GAAG,IAAI,CAIpF;IAED,oBAAoB,IAAI,IAAI,CAE3B;IAED,OAAO,CAAC,WAAW;CAIpB"}
@@ -2,16 +2,23 @@ import { credentialMutationWindowOpen, } from "@claudexor/core";
2
2
  /** Extracted from the pre-progress ledger: one managed lifecycle for all observations. */
3
3
  export class CredentialGeneration {
4
4
  mutating;
5
+ onInvalidated;
5
6
  changes = 0;
6
7
  everyAccountChangedAt = 0;
7
8
  defaultChangedAt = 0;
8
9
  accountChangedAt = new Map();
9
10
  dispatchOrder = 0;
10
- constructor(mutating = credentialMutationWindowOpen) {
11
+ retired = false;
12
+ constructor(mutating = credentialMutationWindowOpen,
13
+ /** Durable facts about registered rows that the same change voids. Called
14
+ * after the generation moved, so a failing hook can never leave a stale
15
+ * binding current. */
16
+ onInvalidated = () => { }) {
11
17
  this.mutating = mutating;
18
+ this.onInvalidated = onInvalidated;
12
19
  }
13
20
  generation(harnessId, profileId) {
14
- if (this.mutating(harnessId))
21
+ if (this.retired || this.mutating(harnessId))
15
22
  return Number.NaN;
16
23
  return Math.max(this.everyAccountChangedAt, profileId === null ? this.defaultChangedAt : 0, this.accountChangedAt.get(key(harnessId, profileId)) ?? 0);
17
24
  }
@@ -26,16 +33,33 @@ export class CredentialGeneration {
26
33
  current(binding) {
27
34
  return (this.generation(binding.subject.harnessId, binding.subject.profileId) === binding.generation);
28
35
  }
36
+ /** The owning store closed: no binding is current any more, so a late
37
+ * outcome of a run from the closed graph neither records nor clears. */
38
+ retire() {
39
+ this.retired = true;
40
+ }
29
41
  noteCredentialChange() {
30
42
  this.accountChangedAt.clear();
31
43
  this.everyAccountChangedAt = ++this.changes;
44
+ this.invalidated(null);
32
45
  }
33
- clearSubject(harnessId, profileId) {
46
+ /** A change that keeps the row's binding (its Enabled toggle) still moves the
47
+ * generation, so no try bound before it records or clears anything after it,
48
+ * but leaves that binding's durable facts. */
49
+ clearSubject(harnessId, profileId, keepsBinding = false) {
34
50
  this.accountChangedAt.set(key(harnessId, profileId), ++this.changes);
51
+ // Durable facts exist only for registered rows, never the default subject.
52
+ if (profileId !== null && !keepsBinding)
53
+ this.invalidated({ harnessId, profileId });
35
54
  }
36
55
  clearDefaultSubjects() {
37
56
  this.defaultChangedAt = ++this.changes;
38
57
  }
58
+ invalidated(scope) {
59
+ // A retired generation's store is closed; its facts died with the graph.
60
+ if (!this.retired)
61
+ this.onInvalidated(scope);
62
+ }
39
63
  }
40
64
  function key(harnessId, profileId) {
41
65
  return `${harnessId}\0${profileId ?? "\u0001"}`;
@@ -1 +1 @@
1
- {"version":3,"file":"credential-generation.js","sourceRoot":"","sources":["../src/credential-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAG7B,MAAM,iBAAiB,CAAC;AAEzB,0FAA0F;AAC1F,MAAM,OAAO,oBAAoB;IAQZ,QAAQ;IAPnB,OAAO,GAAG,CAAC,CAAC;IACZ,qBAAqB,GAAG,CAAC,CAAC;IAC1B,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,aAAa,GAAG,CAAC,CAAC;IAE1B,YACmB,QAAQ,GAAmC,4BAA4B;wBAAvE,QAAQ;IACxB,CAAC;IAEJ,UAAU,CAAC,SAAiB,EAAE,SAAwB;QACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,qBAAqB,EAC1B,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED,IAAI,CACF,OAAmC,EACnC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAEpC,OAAO;YACL,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YACjE,KAAK,EAAE,EAAE,IAAI,CAAC,aAAa;YAC3B,SAAS;SACV,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAAmC;QACzC,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,UAAU,CAC7F,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,SAAwB;QACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IACzC,CAAC;CACF;AAED,SAAS,GAAG,CAAC,SAAiB,EAAE,SAAwB;IACtD,OAAO,GAAG,SAAS,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"credential-generation.js","sourceRoot":"","sources":["../src/credential-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAG7B,MAAM,iBAAiB,CAAC;AAKzB,0FAA0F;AAC1F,MAAM,OAAO,oBAAoB;IASZ,QAAQ;IAIR,aAAa;IAZxB,OAAO,GAAG,CAAC,CAAC;IACZ,qBAAqB,GAAG,CAAC,CAAC;IAC1B,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,aAAa,GAAG,CAAC,CAAC;IAClB,OAAO,GAAG,KAAK,CAAC;IAExB,YACmB,QAAQ,GAAmC,4BAA4B;IACxF;;0BAEsB;IACL,aAAa,GAA4C,GAAG,EAAE,GAAE,CAAC;wBAJjE,QAAQ;6BAIR,aAAa;IAC7B,CAAC;IAEJ,UAAU,CAAC,SAAiB,EAAE,SAAwB;QACpD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC;QAChE,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,qBAAqB,EAC1B,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED,IAAI,CACF,OAAmC,EACnC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAEpC,OAAO;YACL,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YACjE,KAAK,EAAE,EAAE,IAAI,CAAC,aAAa;YAC3B,SAAS;SACV,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAAmC;QACzC,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,UAAU,CAC7F,CAAC;IACJ,CAAC;IAED;4EACwE;IACxE,MAAM;QACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;kDAE8C;IAC9C,YAAY,CAAC,SAAiB,EAAE,SAAwB,EAAE,YAAY,GAAG,KAAK;QAC5E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,2EAA2E;QAC3E,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;IACzC,CAAC;IAEO,WAAW,CAAC,KAA6B;QAC/C,yEAAyE;QACzE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,SAAS,GAAG,CAAC,SAAiB,EAAE,SAAwB;IACtD,OAAO,GAAG,SAAS,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;AAClD,CAAC"}
@@ -56,7 +56,7 @@ export declare class CredentialUnusableLedger implements CredentialEvidenceAutho
56
56
  /** ONE subject's credential changed (a control-API profile or profile-secret
57
57
  * mutation): only ITS verdicts are void, across every model scope.
58
58
  * `profileId` null = the harness's default subject. */
59
- clearSubject(harnessId: string, profileId: string | null): void;
59
+ clearSubject(harnessId: string, profileId: string | null, keepsBinding?: boolean): void;
60
60
  /** A bare managed secret name changed an engine-DEFAULT credential slot.
61
61
  * WHICH harness reads that slot is adapter knowledge the daemon does not
62
62
  * duplicate, so every default subject's verdicts are voided — fail-open by
@@ -1 +1 @@
1
- {"version":3,"file":"credential-unusable-ledger.d.ts","sourceRoot":"","sources":["../src/credential-unusable-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EAClC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAclE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,wBAAyB,YAAW,2BAA2B;IAMxE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB;IAP5C,OAAO,CAAC,IAAI,CAAoD;IAChE,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,SAAS,CAAgC;IAEjD,YACmB,GAAG,GAAE,MAAM,IAAuB,EAClC,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAsC,EAC/E,WAAW,GAAE,oBAAyD,EAC7E;IAEJ,IAAI,CAAC,OAAO,EAAE,0BAA0B,GAAG,0BAA0B,CAEpE;IAED,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAEpD;IAED,WAAW,CAAC,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,6BAA6B,GAAG,IAAI,CAe3F;IAED,8EAA8E;IAC9E,UAAU,CACR,OAAO,EAAE,0BAA0B,EACnC,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,UAAU,SAA2B,GACpC,IAAI,CAmDN;IAED,0EAA0E;IAC1E,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI,CAQjD;IAED,OAAO,CAAC,KAAK;IA6Bb,8EAA8E;IAC9E,IAAI,IAAI,SAAS,6BAA6B,EAAE,CAM/C;IAED,OAAO,IAAI,SAAS,4BAA4B,EAAE,CAajD;IAED,wEAAwE;IACxE,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,cAAc;IAItB;2CACuC;IACvC,oBAAoB,IAAI,IAAI,CAK3B;IAED;;2DAEuD;IACvD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAU9D;IAED;;;yEAGqE;IACrE,oBAAoB,IAAI,IAAI,CAS3B;IAED,OAAO,CAAC,KAAK;CAed"}
1
+ {"version":3,"file":"credential-unusable-ledger.d.ts","sourceRoot":"","sources":["../src/credential-unusable-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EAClC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAclE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,wBAAyB,YAAW,2BAA2B;IAMxE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB;IAP5C,OAAO,CAAC,IAAI,CAAoD;IAChE,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,SAAS,CAAgC;IAEjD,YACmB,GAAG,GAAE,MAAM,IAAuB,EAClC,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAsC,EAC/E,WAAW,GAAE,oBAAyD,EAC7E;IAEJ,IAAI,CAAC,OAAO,EAAE,0BAA0B,GAAG,0BAA0B,CAEpE;IAED,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAEpD;IAED,WAAW,CAAC,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,6BAA6B,GAAG,IAAI,CAe3F;IAED,8EAA8E;IAC9E,UAAU,CACR,OAAO,EAAE,0BAA0B,EACnC,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,UAAU,SAA2B,GACpC,IAAI,CAmDN;IAED,0EAA0E;IAC1E,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI,CAQjD;IAED,OAAO,CAAC,KAAK;IA6Bb,8EAA8E;IAC9E,IAAI,IAAI,SAAS,6BAA6B,EAAE,CAM/C;IAED,OAAO,IAAI,SAAS,4BAA4B,EAAE,CAajD;IAED,wEAAwE;IACxE,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,cAAc;IAItB;2CACuC;IACvC,oBAAoB,IAAI,IAAI,CAK3B;IAED;;2DAEuD;IACvD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,UAAQ,GAAG,IAAI,CAUpF;IAED;;;yEAGqE;IACrE,oBAAoB,IAAI,IAAI,CAS3B;IAED,OAAO,CAAC,KAAK;CAed"}
@@ -203,7 +203,7 @@ export class CredentialUnusableLedger {
203
203
  /** ONE subject's credential changed (a control-API profile or profile-secret
204
204
  * mutation): only ITS verdicts are void, across every model scope.
205
205
  * `profileId` null = the harness's default subject. */
206
- clearSubject(harnessId, profileId) {
206
+ clearSubject(harnessId, profileId, keepsBinding = false) {
207
207
  for (const k of this.successes.keys())
208
208
  if (k.startsWith([harnessId, profileId ?? "", ""].join("\0")))
209
209
  this.successes.delete(k);
@@ -213,7 +213,7 @@ export class CredentialUnusableLedger {
213
213
  this.orders.delete(k);
214
214
  }
215
215
  }
216
- this.credentials.clearSubject(harnessId, profileId);
216
+ this.credentials.clearSubject(harnessId, profileId, keepsBinding);
217
217
  }
218
218
  /** A bare managed secret name changed an engine-DEFAULT credential slot.
219
219
  * WHICH harness reads that slot is adapter knowledge the daemon does not
@@ -1 +1 @@
1
- {"version":3,"file":"credential-unusable-ledger.js","sourceRoot":"","sources":["../src/credential-unusable-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-unusable-ledger.js","sourceRoot":"","sources":["../src/credential-unusable-ledger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-command.d.ts","sourceRoot":"","sources":["../src/delivery-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;EAc5E;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,GACd,IAAI,CAGN;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,GACb,IAAI,CAcN"}
1
+ {"version":3,"file":"delivery-command.d.ts","sourceRoot":"","sources":["../src/delivery-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;EAc5E;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,GACd,IAAI,CAGN;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,GACb,IAAI,CAiBN"}
@@ -1,4 +1,4 @@
1
- import { newId, nowIso, safeProblemMessage } from "@claudexor/util";
1
+ import { newId, nowIso, safeProblemContext, safeProblemMessage } from "@claudexor/util";
2
2
  export function beginDeliveryCommand(store, params, input) {
3
3
  const accepted = store.accept({
4
4
  id: newId("delivery"),
@@ -22,11 +22,14 @@ export function failDeliveryCommand(store, id, error) {
22
22
  if (!store)
23
23
  throw new Error(`delivery authority lost command ${id}`);
24
24
  const value = error && typeof error === "object" ? error : {};
25
+ const context = safeProblemContext(value["context"]);
25
26
  store.update(id, {
26
27
  state: "failed",
27
28
  // This command store is the durable journal authority; redact before append.
28
29
  error: safeProblemMessage(error),
29
30
  errorCode: typeof value["code"] === "string" ? value["code"] : undefined,
31
+ // A replay answers the same typed recovery facts as the first refusal.
32
+ ...(Object.keys(context).length > 0 ? { errorContext: context } : {}),
30
33
  result: {
31
34
  status: typeof value["status"] === "number" ? value["status"] : 500,
32
35
  code: typeof value["code"] === "string" ? value["code"] : null,
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-command.js","sourceRoot":"","sources":["../src/delivery-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGpE,MAAM,UAAU,oBAAoB,CAClC,KAAuB,EACvB,MAAe,EACf,KAA2E;IAE3E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC;QACrB,MAAM;QACN,cAAc,EAAE,KAAK,CAAC,GAAG;QACzB,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,SAAS,EAAE,YAAY,KAAK,CAAC,SAAS,EAAE;QACxC,iBAAiB,EAAE,KAAK,CAAC,OAAO;KACjC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM;QAC5B,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAmC,EACnC,EAAU,EACV,MAAe;IAEf,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAmC,EACnC,EAAU,EACV,KAAc;IAEd,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,QAAQ;QACf,6EAA6E;QAC7E,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAChC,SAAS,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,MAAM,EAAE;YACN,MAAM,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;YACnE,IAAI,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;SAC/D;QACD,UAAU,EAAE,MAAM,EAAE;KACrB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"delivery-command.js","sourceRoot":"","sources":["../src/delivery-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGxF,MAAM,UAAU,oBAAoB,CAClC,KAAuB,EACvB,MAAe,EACf,KAA2E;IAE3E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC;QACrB,MAAM;QACN,cAAc,EAAE,KAAK,CAAC,GAAG;QACzB,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,SAAS,EAAE,YAAY,KAAK,CAAC,SAAS,EAAE;QACxC,iBAAiB,EAAE,KAAK,CAAC,OAAO;KACjC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM;QAC5B,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAmC,EACnC,EAAU,EACV,MAAe;IAEf,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAmC,EACnC,EAAU,EACV,KAAc;IAEd,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,QAAQ;QACf,6EAA6E;QAC7E,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAChC,SAAS,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,uEAAuE;QACvE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,EAAE;YACN,MAAM,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;YACnE,IAAI,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;SAC/D;QACD,UAAU,EAAE,MAAM,EAAE;KACrB,CAAC,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -44,6 +44,7 @@ export * from "./credential-unusable-ledger.js";
44
44
  export * from "./credential-generation.js";
45
45
  export * from "./model-substitution-ledger.js";
46
46
  export * from "./pre-progress-refusal-ledger.js";
47
+ export * from "./account-evidence.js";
47
48
  export * from "./model-operations.js";
48
49
  export * from "./memory-facts.js";
49
50
  export * from "./loop-facts.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI9E,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAE,4BAA4B,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI9E,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAE,4BAA4B,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -43,6 +43,7 @@ export * from "./credential-unusable-ledger.js";
43
43
  export * from "./credential-generation.js";
44
44
  export * from "./model-substitution-ledger.js";
45
45
  export * from "./pre-progress-refusal-ledger.js";
46
+ export * from "./account-evidence.js";
46
47
  export * from "./model-operations.js";
47
48
  export * from "./memory-facts.js";
48
49
  export * from "./loop-facts.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,sBAAsB,GAEvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAE,4BAA4B,EAA6B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,sBAAsB,GAEvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAE,4BAA4B,EAA6B,MAAM,mBAAmB,CAAC"}
@@ -52,7 +52,7 @@ export declare class PreProgressRefusalLedger {
52
52
  noteCredentialChange(): void;
53
53
  /** ONE account's credential changed (a control-API profile mutation): only
54
54
  * ITS verdicts are void, across every requested model. */
55
- clearSubject(harnessId: string, profileId: string): void;
55
+ clearSubject(harnessId: string, profileId: string, keepsBinding?: boolean): void;
56
56
  private prune;
57
57
  }
58
58
  //# sourceMappingURL=pre-progress-refusal-ledger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pre-progress-refusal-ledger.d.ts","sourceRoot":"","sources":["../src/pre-progress-refusal-ledger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAUlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,wBAAwB;IAGjC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB;IAJ5C,OAAO,CAAC,IAAI,CAAoD;IAChE,YACmB,GAAG,GAAE,MAAM,IAAuB,EAClC,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAsC,EAC/E,WAAW,GAAE,oBAAyD,EAC7E;IAEJ,sEAAsE;IACtE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,6BAA6B,EAAE,aAAa,GAAG,YAAY,CAAC,GAAG,IAAI,CAiBrF;IAED,0EAA0E;IAC1E,IAAI,IAAI,SAAS,6BAA6B,EAAE,CAG/C;IAED,wEAAwE;IACxE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAI/E;IAED;6EACyE;IACzE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;IAED;2CACuC;IACvC,oBAAoB,IAAI,IAAI,CAG3B;IAED;8DAC0D;IAC1D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAKvD;IAED,OAAO,CAAC,KAAK;CAMd"}
1
+ {"version":3,"file":"pre-progress-refusal-ledger.d.ts","sourceRoot":"","sources":["../src/pre-progress-refusal-ledger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAUlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,wBAAwB;IAGjC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,WAAW,EAAE,oBAAoB;IAJ5C,OAAO,CAAC,IAAI,CAAoD;IAChE,YACmB,GAAG,GAAE,MAAM,IAAuB,EAClC,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAsC,EAC/E,WAAW,GAAE,oBAAyD,EAC7E;IAEJ,sEAAsE;IACtE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,6BAA6B,EAAE,aAAa,GAAG,YAAY,CAAC,GAAG,IAAI,CAiBrF;IAED,0EAA0E;IAC1E,IAAI,IAAI,SAAS,6BAA6B,EAAE,CAG/C;IAED,wEAAwE;IACxE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAI/E;IAED;6EACyE;IACzE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;IAED;2CACuC;IACvC,oBAAoB,IAAI,IAAI,CAG3B;IAED;8DAC0D;IAC1D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,IAAI,CAK7E;IAED,OAAO,CAAC,KAAK;CAMd"}
@@ -90,12 +90,12 @@ export class PreProgressRefusalLedger {
90
90
  }
91
91
  /** ONE account's credential changed (a control-API profile mutation): only
92
92
  * ITS verdicts are void, across every requested model. */
93
- clearSubject(harnessId, profileId) {
93
+ clearSubject(harnessId, profileId, keepsBinding = false) {
94
94
  for (const [k, obs] of this.rows) {
95
95
  if (obs.harness_id === harnessId && obs.profile_id === profileId)
96
96
  this.rows.delete(k);
97
97
  }
98
- this.credentials.clearSubject(harnessId, profileId);
98
+ this.credentials.clearSubject(harnessId, profileId, keepsBinding);
99
99
  }
100
100
  prune() {
101
101
  const now = this.now().getTime();
@@ -1 +1 @@
1
- {"version":3,"file":"pre-progress-refusal-ledger.js","sourceRoot":"","sources":["../src/pre-progress-refusal-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-progress-refusal-ledger.js","sourceRoot":"","sources":["../src/pre-progress-refusal-ledger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { AccountLastService, CredentialProfile } from "@claudexor/schema";
2
+ import type { EngineStore } from "./store.js";
3
+ /** The try that served: dedupe and producer-bound retraction key. */
4
+ export interface ServiceProducer {
5
+ runId: string;
6
+ attemptId: string;
7
+ tryIndex: number;
8
+ }
9
+ type BoundProfile = Pick<CredentialProfile, "harness_id" | "profile_id" | "credential_kind" | "secret_ref" | "isolation_locator" | "created_at">;
10
+ /** A row's credential binding: only its non-secret registration identity.
11
+ * Renaming or toggling a row keeps its service history; replacing what it
12
+ * points at (locator, secret name, kind, re-creation) does not. */
13
+ export declare function accountBindingDigest(profile: BoundProfile): string;
14
+ /**
15
+ * Durable "which account served this requested model last" (INV-135 tie-break)
16
+ * in the engine store. One current fact per binding and requested model,
17
+ * written synchronously by the single row writer; it carries no expiry, quota
18
+ * or authentication meaning. Reads never write.
19
+ */
20
+ export declare class AccountServiceStore {
21
+ private readonly store;
22
+ constructor(store: EngineStore);
23
+ /** Record that this producer's try served; the same producer twice is a no-op. */
24
+ serve(profile: BoundProfile, model: string | null, producer: ServiceProducer): void;
25
+ /** The try's own identity contradicted the row after it served: remove only
26
+ * the fact THIS producer wrote, never a newer producer's. */
27
+ retract(profile: BoundProfile, model: string | null, producer: ServiceProducer): void;
28
+ /** A credential change voids the facts about it: one row's, or every row's. */
29
+ clear(subject: {
30
+ harnessId: string;
31
+ profileId: string;
32
+ } | null): void;
33
+ /** Service order of each given row for one harness and requested model
34
+ * (higher = served more recently); rows whose binding changed are absent. */
35
+ orders(harnessId: string, model: string | null, profiles: readonly BoundProfile[]): Map<string, number>;
36
+ /** The latest service of each given row per requested model, newest first. */
37
+ latest(profiles: readonly BoundProfile[]): AccountLastService[];
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=account-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-service.d.ts","sourceRoot":"","sources":["../../src/store/account-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG,IAAI,CACtB,iBAAiB,EACf,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,YAAY,GACZ,mBAAmB,GACnB,YAAY,CACf,CAAC;AAEF;;mEAEmE;AACnE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAWlE;AAID;;;;;GAKG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAlC,YAA6B,KAAK,EAAE,WAAW,EAAI;IAEnD,kFAAkF;IAClF,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CA0ClF;IAED;iEAC6D;IAC7D,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAiBpF;IAED,+EAA+E;IAC/E,KAAK,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,IAAI,CAQpE;IAED;iFAC6E;IAC7E,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,SAAS,YAAY,EAAE,GAChC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBrB;IAED,8EAA8E;IAC9E,MAAM,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,kBAAkB,EAAE,CA2B9D;CACF"}
@@ -0,0 +1,116 @@
1
+ import { createHash } from "node:crypto";
2
+ /** A row's credential binding: only its non-secret registration identity.
3
+ * Renaming or toggling a row keeps its service history; replacing what it
4
+ * points at (locator, secret name, kind, re-creation) does not. */
5
+ export function accountBindingDigest(profile) {
6
+ return createHash("sha256")
7
+ .update(JSON.stringify([
8
+ profile.credential_kind,
9
+ profile.secret_ref ?? null,
10
+ profile.isolation_locator ?? null,
11
+ profile.created_at ?? null,
12
+ ]))
13
+ .digest("hex");
14
+ }
15
+ const modelKey = (model) => JSON.stringify(model);
16
+ /**
17
+ * Durable "which account served this requested model last" (INV-135 tie-break)
18
+ * in the engine store. One current fact per binding and requested model,
19
+ * written synchronously by the single row writer; it carries no expiry, quota
20
+ * or authentication meaning. Reads never write.
21
+ */
22
+ export class AccountServiceStore {
23
+ store;
24
+ constructor(store) {
25
+ this.store = store;
26
+ }
27
+ /** Record that this producer's try served; the same producer twice is a no-op. */
28
+ serve(profile, model, producer) {
29
+ const key = [
30
+ profile.harness_id,
31
+ profile.profile_id,
32
+ modelKey(model),
33
+ accountBindingDigest(profile),
34
+ ];
35
+ this.store.transaction(() => {
36
+ const current = this.store
37
+ .prepare(`SELECT run_id, attempt_id, try_index FROM account_last_service
38
+ WHERE harness_id=? AND profile_id=? AND requested_model_key=? AND binding_digest=?`)
39
+ .get(...key);
40
+ if (current?.run_id === producer.runId &&
41
+ current.attempt_id === producer.attemptId &&
42
+ Number(current.try_index) === producer.tryIndex)
43
+ return;
44
+ // Allocated inside the writer's transaction: above every live row, so
45
+ // the newest service always sorts first whatever the wall clock says.
46
+ const { next } = this.store
47
+ .prepare("SELECT coalesce(max(service_seq), 0) + 1 AS next FROM account_last_service")
48
+ .get();
49
+ this.store
50
+ .prepare(`INSERT INTO account_last_service(harness_id, profile_id, requested_model_key, binding_digest,
51
+ service_seq, observed_at, run_id, attempt_id, try_index) VALUES(?,?,?,?,?,?,?,?,?)
52
+ ON CONFLICT(harness_id, profile_id, requested_model_key, binding_digest) DO UPDATE SET
53
+ service_seq=excluded.service_seq, observed_at=excluded.observed_at, run_id=excluded.run_id,
54
+ attempt_id=excluded.attempt_id, try_index=excluded.try_index`)
55
+ .run(...key, Number(next), this.store.now().toISOString(), producer.runId, producer.attemptId, producer.tryIndex);
56
+ });
57
+ }
58
+ /** The try's own identity contradicted the row after it served: remove only
59
+ * the fact THIS producer wrote, never a newer producer's. */
60
+ retract(profile, model, producer) {
61
+ this.store.transaction(() => this.store
62
+ .prepare(`DELETE FROM account_last_service WHERE harness_id=? AND profile_id=? AND requested_model_key=?
63
+ AND binding_digest=? AND run_id=? AND attempt_id=? AND try_index=?`)
64
+ .run(profile.harness_id, profile.profile_id, modelKey(model), accountBindingDigest(profile), producer.runId, producer.attemptId, producer.tryIndex));
65
+ }
66
+ /** A credential change voids the facts about it: one row's, or every row's. */
67
+ clear(subject) {
68
+ this.store.transaction(() => {
69
+ if (subject)
70
+ this.store
71
+ .prepare("DELETE FROM account_last_service WHERE harness_id=? AND profile_id=?")
72
+ .run(subject.harnessId, subject.profileId);
73
+ else
74
+ this.store.prepare("DELETE FROM account_last_service").run();
75
+ });
76
+ }
77
+ /** Service order of each given row for one harness and requested model
78
+ * (higher = served more recently); rows whose binding changed are absent. */
79
+ orders(harnessId, model, profiles) {
80
+ const digests = new Map(profiles
81
+ .filter((profile) => profile.harness_id === harnessId)
82
+ .map((profile) => [profile.profile_id, accountBindingDigest(profile)]));
83
+ const orders = new Map();
84
+ if (digests.size === 0)
85
+ return orders;
86
+ const rows = this.store
87
+ .prepare(`SELECT profile_id, binding_digest, service_seq FROM account_last_service
88
+ WHERE harness_id=? AND requested_model_key=?`)
89
+ .all(harnessId, modelKey(model));
90
+ for (const row of rows) {
91
+ if (digests.get(row.profile_id) === row.binding_digest)
92
+ orders.set(row.profile_id, Number(row.service_seq));
93
+ }
94
+ return orders;
95
+ }
96
+ /** The latest service of each given row per requested model, newest first. */
97
+ latest(profiles) {
98
+ const digests = new Map(profiles.map((profile) => [
99
+ `${profile.harness_id}\0${profile.profile_id}`,
100
+ accountBindingDigest(profile),
101
+ ]));
102
+ const rows = this.store
103
+ .prepare(`SELECT harness_id, profile_id, requested_model_key, binding_digest, observed_at
104
+ FROM account_last_service ORDER BY service_seq DESC`)
105
+ .all();
106
+ return rows
107
+ .filter((row) => digests.get(`${row.harness_id}\0${row.profile_id}`) === row.binding_digest)
108
+ .map((row) => ({
109
+ harness_id: row.harness_id,
110
+ profile_id: row.profile_id,
111
+ requested_model: JSON.parse(row.requested_model_key),
112
+ observed_at: row.observed_at,
113
+ }));
114
+ }
115
+ }
116
+ //# sourceMappingURL=account-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-service.js","sourceRoot":"","sources":["../../src/store/account-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command-prune.d.ts","sourceRoot":"","sources":["../../src/store/command-prune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAMtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;wEAEwE;AACxE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,EAAE,CAkC/F;AAED;iFACiF;AACjF,qBAAa,gBAAgB;IAGzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,WAAW,CAAgC;IACnD,YACmB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE;QACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,gBAAgB,CAAC,EAAE,OAAO,qBAAqB,CAAC;KAC5C,EACJ;IAEJ,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBpE;IAED,KAAK,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAchD;IAED;;4EAEwE;IACxE,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"command-prune.d.ts","sourceRoot":"","sources":["../../src/store/command-prune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAMtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;wEAEwE;AACxE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,EAAE,CAkC/F;AAED;iFACiF;AACjF,qBAAa,gBAAgB;IAGzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,WAAW,CAAgC;IACnD,YACmB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE;QACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,gBAAgB,CAAC,EAAE,OAAO,qBAAqB,CAAC;KAC5C,EACJ;IAEJ,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBpE;IAED,KAAK,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAchD;IAED;;4EAEwE;IACxE,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,OAAO;CAGhB"}
@@ -1,4 +1,4 @@
1
- import { retainedEnvelopeOfRun } from "@claudexor/workspace";
1
+ import { holdsRetainedSources, retainedEnvelopeOfRun } from "@claudexor/workspace";
2
2
  import { deleteTargetIdempotencyInTx } from "./idempotency.js";
3
3
  import { requireTransaction, runMutation } from "./mutation.js";
4
4
  import { commandRetentionCandidates, deleteEventKeysInTx, COMMAND_RETENTION_BATCH, } from "./retention.js";
@@ -56,7 +56,8 @@ export class SqlCommandPruner {
56
56
  cap,
57
57
  exempt: (candidate) => !!(candidate.runDir &&
58
58
  candidate.runId &&
59
- (this.options.retainedEnvelope ?? retainedEnvelopeOfRun)(candidate.runDir, candidate.runId)),
59
+ ((this.options.retainedEnvelope ?? retainedEnvelopeOfRun)(candidate.runDir, candidate.runId) ||
60
+ holdsRetainedSources(candidate.runDir, candidate.runId, (error) => this.options.log?.(`command retention kept ${candidate.id}: retained sources of run ${candidate.runId} are unreadable: ${error instanceof Error ? error.message : String(error)}`)))),
60
61
  });
61
62
  this.prune(selection.victims.map((row) => row.id));
62
63
  this.pruneReceiptEvents(now);
@@ -1 +1 @@
1
- {"version":3,"file":"command-prune.js","sourceRoot":"","sources":["../../src/store/command-prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-prune.js","sourceRoot":"","sources":["../../src/store/command-prune.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,17 @@ import type { DatabaseSync } from "node:sqlite";
2
2
  /**
3
3
  * Connection pragmas of the engine store (SYNTHESIS_R5 §2, topology A2).
4
4
  *
5
- * Main connection: WAL + NORMAL (a commit performs no sync), autocheckpoint
6
- * TRIGGERED at 4000 pages (about 16 MiB of frames — a threshold, not a WAL
7
- * size bound: a pinned reader or a large transaction grows the WAL beyond it
8
- * until the reader releases, R5_AMENDMENTS A6)
9
- * with `checkpoint_fullfsync=1` so the one checkpoint that may complete a
10
- * backfill on this thread syncs WAL -> DB -> reuse with F_FULLFSYNC; plain
11
- * `fullfsync` stays off so nothing else on the request thread syncs. The busy
12
- * timeout is a fuse, not a design: hitting it is the `busy_waits` fact.
5
+ * Main connection: WAL + NORMAL, autocheckpoint TRIGGERED at 4000 pages
6
+ * (about 16 MiB of frames — a threshold, not a WAL size bound: a pinned reader
7
+ * or a large transaction grows the WAL beyond it until the reader releases,
8
+ * R5_AMENDMENTS A6) with `checkpoint_fullfsync=1`; plain `fullfsync` stays off.
9
+ * NORMAL skips the per-commit WAL sync, yet COMMIT on this thread is not
10
+ * sync-free: a commit that restarts the WAL syncs its new header, and a commit
11
+ * that reaches the threshold runs that checkpoint inside the same call, which
12
+ * may complete a backfill and sync WAL -> DB -> reuse. Both use the checkpoint
13
+ * sync class (F_FULLFSYNC on macOS); `EngineStore.facts().commit` times these
14
+ * calls. The busy timeout is a fuse, not a design: hitting it is the
15
+ * `busy_waits` fact.
13
16
  *
14
17
  * Flusher connection: never writes rows, never waits for a lock (PASSIVE
15
18
  * checkpoints are lock-free by contract), same checkpoint sync class.
@@ -1 +1 @@
1
- {"version":3,"file":"pragmas.d.ts","sourceRoot":"","sources":["../../src/store/pragmas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,eAAO,MAAM,uBAAuB,EAAE,UAWpC,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,UAIvC,CAAC;AAaH,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO;IAH1B,YACW,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,MAAM,EAAE,OAAO,EAIzB;CACF;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAMhG;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAgB/F"}
1
+ {"version":3,"file":"pragmas.d.ts","sourceRoot":"","sources":["../../src/store/pragmas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,eAAO,MAAM,uBAAuB,EAAE,UAWpC,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,UAIvC,CAAC;AAaH,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO;IAH1B,YACW,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,MAAM,EAAE,OAAO,EAIzB;CACF;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAMhG;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAgB/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"pragmas.js","sourceRoot":"","sources":["../../src/store/pragmas.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,uBAAuB,GAAe,MAAM,CAAC,MAAM,CAAC;IAC/D,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,CAAC;IACd,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,CAAC;IACvB,SAAS,EAAE,CAAC;IACZ,kBAAkB,EAAE,QAAQ;IAC5B,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAe,MAAM,CAAC,MAAM,CAAC;IAClE,oBAAoB,EAAE,CAAC;IACvB,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CAChB,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,gBAAgB,GAA2C;IAC/D,YAAY,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;IAC5B,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;IAC9B,UAAU,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;IAC7B,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;CAC7B,CAAC;AAEF,wEAAwE;AACxE,MAAM,eAAe,GAA2B,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AAE5E,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAEjC,MAAM;IACN,QAAQ;IACR,MAAM;IAHjB,YACW,MAAc,EACd,QAAyB,EACzB,MAAe;QAExB,KAAK,CAAC,UAAU,MAAM,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;sBAJ3E,MAAM;wBACN,QAAQ;sBACR,MAAM;QAGf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,EAAgB,EAAE,IAAgB;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACzE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,WAAW,CAAC,EAAgB,EAAE,IAAgB;IAC5D,MAAM,QAAQ,GAAoC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,EAAyC,CAAC;QACtF,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC7C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,UAAU,GACd,OAAO,MAAM,KAAK,QAAQ;YACxB,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;YACtB,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChB,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,UAAU,KAAK,QAAQ;YAAE,MAAM,IAAI,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnF,QAAQ,CAAC,IAAI,CAAC,GAAG,UAA6B,CAAC;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"pragmas.js","sourceRoot":"","sources":["../../src/store/pragmas.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { DatabaseSync } from "node:sqlite";
2
2
  /** `PRAGMA application_id` of every engine store ("CXEN"). */
3
3
  export declare const ENGINE_APPLICATION_ID = 1129858382;
4
4
  /** `PRAGMA user_version`: the one schema this engine creates and serves. */
5
- export declare const ENGINE_SCHEMA_VERSION = 1;
5
+ export declare const ENGINE_SCHEMA_VERSION = 2;
6
6
  /**
7
7
  * SYNTHESIS_R5 §5 with R5_AMENDMENTS A1 (`command.kind`/`live` replace
8
8
  * `retention_exempt`; obligation `state`/`materialized_g`). STRICT everywhere; WITHOUT ROWID where the
@@ -11,7 +11,7 @@ export declare const ENGINE_SCHEMA_VERSION = 1;
11
11
  * history. `pid` is the surrogate of one partition generation and the only
12
12
  * partition key a row carries.
13
13
  */
14
- export declare const ENGINE_SCHEMA_SQL = "\nCREATE TABLE meta(key TEXT PRIMARY KEY, value TEXT NOT NULL) STRICT;\nCREATE TABLE partition(id INTEGER PRIMARY KEY, name TEXT NOT NULL, epoch TEXT NOT NULL, status TEXT NOT NULL,\n next_seq INTEGER NOT NULL, project_id TEXT, created_at TEXT NOT NULL, UNIQUE(name, epoch)) STRICT;\nCREATE TABLE event(pid INTEGER NOT NULL, seq INTEGER NOT NULL, time TEXT NOT NULL, type TEXT NOT NULL,\n payload BLOB NOT NULL, payload_sha TEXT, slot_key TEXT, group_key TEXT, PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;\nCREATE INDEX event_type ON event(pid, type, seq);\nCREATE INDEX event_slot ON event(pid, slot_key) WHERE slot_key IS NOT NULL;\nCREATE INDEX event_group ON event(pid, group_key) WHERE group_key IS NOT NULL;\nCREATE INDEX event_payload ON event(payload_sha) WHERE payload_sha IS NOT NULL;\nCREATE INDEX event_command_age ON event(time,pid,seq) WHERE type IN ('command.accepted','command.updated');\nCREATE TABLE blob(sha256 TEXT PRIMARY KEY, size INTEGER NOT NULL, inline BLOB) STRICT;\nCREATE TABLE command(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, operation TEXT NOT NULL, state TEXT NOT NULL, client_id TEXT,\n run_id TEXT, task_id TEXT, run_dir TEXT, thread_id TEXT, turn_id TEXT, delegated_from TEXT, continue_from TEXT, scope_root TEXT,\n created_at TEXT NOT NULL, started_at TEXT, finished_at TEXT, summary BLOB NOT NULL, params_sha TEXT NOT NULL, result_sha TEXT,\n error BLOB, last_event_seq INTEGER, response_state TEXT, response_expires_at TEXT, request_resource_id TEXT, response_resource_id TEXT,\n kind TEXT NOT NULL, live INTEGER NOT NULL DEFAULT 1, needs_decision INTEGER NOT NULL DEFAULT 0) STRICT;\nCREATE INDEX command_run ON command(run_id);\nCREATE INDEX command_partition ON command(pid);\nCREATE INDEX command_active ON command(state, pid) WHERE live = 1 AND state IN ('queued','running');\nCREATE INDEX command_thread ON command(thread_id, state);\nCREATE INDEX command_turn ON command(turn_id, created_at);\nCREATE INDEX command_request_resource ON command(request_resource_id) WHERE request_resource_id IS NOT NULL;\nCREATE INDEX command_response_resource ON command(response_resource_id) WHERE response_resource_id IS NOT NULL;\nCREATE INDEX command_parent ON command(delegated_from);\nCREATE INDEX command_continue ON command(continue_from);\nCREATE INDEX command_list ON command(created_at DESC, id DESC) WHERE live = 1 AND kind = 'product';\nCREATE INDEX command_list_state ON command(state, created_at DESC, id DESC) WHERE live = 1 AND kind = 'product';\nCREATE INDEX command_terminal ON command(created_at, id)\n WHERE live = 1 AND kind IN ('product','delivery','maintenance') AND finished_at IS NOT NULL;\nCREATE INDEX command_prunable ON command(created_at, id)\n WHERE live = 1 AND kind IN ('product','delivery','maintenance') AND finished_at IS NOT NULL AND needs_decision = 0;\nCREATE INDEX command_expiry ON command(response_state, response_expires_at) WHERE kind = 'model';\nCREATE INDEX command_maintenance_harness ON command(json_extract(CAST(summary AS TEXT),'$.params.harness'),created_at)\n WHERE live=1 AND kind='maintenance';\nCREATE INDEX command_params ON command(params_sha);\nCREATE INDEX command_result ON command(result_sha) WHERE result_sha IS NOT NULL;\nCREATE TABLE run_terminal(run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL, event BLOB NOT NULL) STRICT;\nCREATE TABLE effect_obligation(kind TEXT NOT NULL, key TEXT NOT NULL, pid INTEGER NOT NULL, created_at TEXT NOT NULL, payload BLOB NOT NULL,\n state TEXT NOT NULL DEFAULT 'pending', materialized_g INTEGER, PRIMARY KEY(kind, key)) WITHOUT ROWID, STRICT;\nCREATE TABLE idempotency(owner TEXT NOT NULL, pid INTEGER NOT NULL, key_digest TEXT NOT NULL, operation TEXT NOT NULL,\n request_digest TEXT NOT NULL, target_id TEXT NOT NULL, result BLOB, created_at TEXT NOT NULL,\n PRIMARY KEY(owner, pid, key_digest)) WITHOUT ROWID, STRICT;\nCREATE INDEX idempotency_target ON idempotency(target_id);\nCREATE TABLE thread(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, state TEXT NOT NULL, updated_at TEXT NOT NULL,\n head_revision INTEGER NOT NULL DEFAULT 0, body BLOB NOT NULL) STRICT;\nCREATE INDEX thread_list ON thread(pid, state, updated_at DESC);\nCREATE TABLE turn(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, thread_id TEXT NOT NULL, ordinal INTEGER NOT NULL, run_id TEXT,\n created_at TEXT NOT NULL, prompt_sha TEXT NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE UNIQUE INDEX turn_thread ON turn(thread_id, ordinal);\nCREATE UNIQUE INDEX turn_run ON turn(run_id) WHERE run_id IS NOT NULL;\nCREATE INDEX turn_prompt ON turn(prompt_sha);\nCREATE TABLE session(id TEXT PRIMARY KEY, thread_id TEXT NOT NULL, harness_id TEXT NOT NULL, profile_id TEXT NOT NULL DEFAULT '', pid INTEGER NOT NULL,\n insertion_ordinal INTEGER NOT NULL DEFAULT 0, body BLOB NOT NULL) WITHOUT ROWID, STRICT;\nCREATE INDEX session_lane ON session(thread_id, harness_id, profile_id);\nCREATE INDEX session_order ON session(thread_id, insertion_ordinal);\nCREATE INDEX session_partition ON session(pid, insertion_ordinal);\nCREATE TABLE lane_checkpoint(thread_id TEXT NOT NULL, harness_id TEXT NOT NULL, profile_id TEXT NOT NULL DEFAULT '', pid INTEGER NOT NULL,\n insertion_ordinal INTEGER NOT NULL DEFAULT 0, turn_id TEXT NOT NULL, body BLOB NOT NULL, PRIMARY KEY(thread_id, harness_id, profile_id)) WITHOUT ROWID, STRICT;\nCREATE INDEX lane_checkpoint_order ON lane_checkpoint(thread_id, insertion_ordinal);\nCREATE INDEX lane_checkpoint_partition ON lane_checkpoint(pid, insertion_ordinal);\nCREATE TABLE interaction(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, run_id TEXT NOT NULL, state TEXT NOT NULL,\n request BLOB NOT NULL, resolution BLOB) STRICT;\nCREATE INDEX interaction_pending ON interaction(run_id) WHERE state = 'pending';\nCREATE INDEX interaction_run ON interaction(run_id);\nCREATE INDEX interaction_partition_pending ON interaction(pid,run_id) WHERE state = 'pending';\nCREATE TABLE operator_decision(run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE TABLE project(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, root TEXT NOT NULL, status TEXT NOT NULL,\n current_pid INTEGER, creation_key_digest TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE UNIQUE INDEX project_root_active ON project(pid, root) WHERE status = 'active';\nCREATE INDEX project_current_pid ON project(current_pid) WHERE status = 'active';\nCREATE TABLE pruned_root(root TEXT PRIMARY KEY) STRICT;\nCREATE TABLE resource(id TEXT PRIMARY KEY, purpose TEXT, kind TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,\n state TEXT NOT NULL, created_at TEXT NOT NULL, expires_at TEXT, released_at TEXT, body BLOB NOT NULL) STRICT;\nCREATE INDEX resource_sha ON resource(sha256);\nCREATE INDEX resource_expiry ON resource(state, expires_at);\nCREATE TABLE upload(id TEXT PRIMARY KEY, state TEXT NOT NULL, received_bytes INTEGER NOT NULL, expected_bytes INTEGER,\n finalize_sha TEXT, body BLOB NOT NULL) STRICT;\nCREATE INDEX upload_finalize ON upload(finalize_sha) WHERE finalize_sha IS NOT NULL;\nCREATE TABLE import_partition(name TEXT PRIMARY KEY, status TEXT NOT NULL, pid INTEGER, epoch TEXT, next_seq INTEGER,\n previous_frame_hash TEXT, source_size INTEGER, source_mtime TEXT, fingerprint TEXT, records INTEGER, digest TEXT, problem TEXT) STRICT;\nCREATE TABLE unclassified(pid INTEGER NOT NULL, seq INTEGER NOT NULL, type TEXT NOT NULL, reason TEXT NOT NULL, payload BLOB NOT NULL,\n PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;\n";
14
+ export declare const ENGINE_SCHEMA_SQL = "\nCREATE TABLE meta(key TEXT PRIMARY KEY, value TEXT NOT NULL) STRICT;\nCREATE TABLE partition(id INTEGER PRIMARY KEY, name TEXT NOT NULL, epoch TEXT NOT NULL, status TEXT NOT NULL,\n next_seq INTEGER NOT NULL, project_id TEXT, created_at TEXT NOT NULL, UNIQUE(name, epoch)) STRICT;\nCREATE TABLE event(pid INTEGER NOT NULL, seq INTEGER NOT NULL, time TEXT NOT NULL, type TEXT NOT NULL,\n payload BLOB NOT NULL, payload_sha TEXT, slot_key TEXT, group_key TEXT, PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;\nCREATE INDEX event_type ON event(pid, type, seq);\nCREATE INDEX event_slot ON event(pid, slot_key) WHERE slot_key IS NOT NULL;\nCREATE INDEX event_group ON event(pid, group_key) WHERE group_key IS NOT NULL;\nCREATE INDEX event_payload ON event(payload_sha) WHERE payload_sha IS NOT NULL;\nCREATE INDEX event_command_age ON event(time,pid,seq) WHERE type IN ('command.accepted','command.updated');\nCREATE TABLE blob(sha256 TEXT PRIMARY KEY, size INTEGER NOT NULL, inline BLOB) STRICT;\nCREATE TABLE command(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, operation TEXT NOT NULL, state TEXT NOT NULL, client_id TEXT,\n run_id TEXT, task_id TEXT, run_dir TEXT, thread_id TEXT, turn_id TEXT, delegated_from TEXT, continue_from TEXT, scope_root TEXT,\n created_at TEXT NOT NULL, started_at TEXT, finished_at TEXT, summary BLOB NOT NULL, params_sha TEXT NOT NULL, result_sha TEXT,\n error BLOB, last_event_seq INTEGER, response_state TEXT, response_expires_at TEXT, request_resource_id TEXT, response_resource_id TEXT,\n kind TEXT NOT NULL, live INTEGER NOT NULL DEFAULT 1, needs_decision INTEGER NOT NULL DEFAULT 0) STRICT;\nCREATE INDEX command_run ON command(run_id);\nCREATE INDEX command_partition ON command(pid);\nCREATE INDEX command_active ON command(state, pid) WHERE live = 1 AND state IN ('queued','running');\nCREATE INDEX command_thread ON command(thread_id, state);\nCREATE INDEX command_turn ON command(turn_id, created_at);\nCREATE INDEX command_request_resource ON command(request_resource_id) WHERE request_resource_id IS NOT NULL;\nCREATE INDEX command_response_resource ON command(response_resource_id) WHERE response_resource_id IS NOT NULL;\nCREATE INDEX command_parent ON command(delegated_from);\nCREATE INDEX command_continue ON command(continue_from);\nCREATE INDEX command_list ON command(created_at DESC, id DESC) WHERE live = 1 AND kind = 'product';\nCREATE INDEX command_list_state ON command(state, created_at DESC, id DESC) WHERE live = 1 AND kind = 'product';\nCREATE INDEX command_terminal ON command(created_at, id)\n WHERE live = 1 AND kind IN ('product','delivery','maintenance') AND finished_at IS NOT NULL;\nCREATE INDEX command_prunable ON command(created_at, id)\n WHERE live = 1 AND kind IN ('product','delivery','maintenance') AND finished_at IS NOT NULL AND needs_decision = 0;\nCREATE INDEX command_expiry ON command(response_state, response_expires_at) WHERE kind = 'model';\nCREATE INDEX command_maintenance_harness ON command(json_extract(CAST(summary AS TEXT),'$.params.harness'),created_at)\n WHERE live=1 AND kind='maintenance';\nCREATE INDEX command_params ON command(params_sha);\nCREATE INDEX command_result ON command(result_sha) WHERE result_sha IS NOT NULL;\nCREATE TABLE run_terminal(run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL, event BLOB NOT NULL) STRICT;\nCREATE TABLE effect_obligation(kind TEXT NOT NULL, key TEXT NOT NULL, pid INTEGER NOT NULL, created_at TEXT NOT NULL, payload BLOB NOT NULL,\n state TEXT NOT NULL DEFAULT 'pending', materialized_g INTEGER, PRIMARY KEY(kind, key)) WITHOUT ROWID, STRICT;\nCREATE TABLE idempotency(owner TEXT NOT NULL, pid INTEGER NOT NULL, key_digest TEXT NOT NULL, operation TEXT NOT NULL,\n request_digest TEXT NOT NULL, target_id TEXT NOT NULL, result BLOB, created_at TEXT NOT NULL,\n PRIMARY KEY(owner, pid, key_digest)) WITHOUT ROWID, STRICT;\nCREATE INDEX idempotency_target ON idempotency(target_id);\nCREATE TABLE thread(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, state TEXT NOT NULL, updated_at TEXT NOT NULL,\n head_revision INTEGER NOT NULL DEFAULT 0, body BLOB NOT NULL) STRICT;\nCREATE INDEX thread_list ON thread(pid, state, updated_at DESC);\nCREATE TABLE turn(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, thread_id TEXT NOT NULL, ordinal INTEGER NOT NULL, run_id TEXT,\n created_at TEXT NOT NULL, prompt_sha TEXT NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE UNIQUE INDEX turn_thread ON turn(thread_id, ordinal);\nCREATE UNIQUE INDEX turn_run ON turn(run_id) WHERE run_id IS NOT NULL;\nCREATE INDEX turn_prompt ON turn(prompt_sha);\nCREATE TABLE session(id TEXT PRIMARY KEY, thread_id TEXT NOT NULL, harness_id TEXT NOT NULL, profile_id TEXT NOT NULL DEFAULT '', pid INTEGER NOT NULL,\n insertion_ordinal INTEGER NOT NULL DEFAULT 0, body BLOB NOT NULL) WITHOUT ROWID, STRICT;\nCREATE INDEX session_lane ON session(thread_id, harness_id, profile_id);\nCREATE INDEX session_order ON session(thread_id, insertion_ordinal);\nCREATE INDEX session_partition ON session(pid, insertion_ordinal);\nCREATE TABLE lane_checkpoint(thread_id TEXT NOT NULL, harness_id TEXT NOT NULL, profile_id TEXT NOT NULL DEFAULT '', pid INTEGER NOT NULL,\n insertion_ordinal INTEGER NOT NULL DEFAULT 0, turn_id TEXT NOT NULL, body BLOB NOT NULL, PRIMARY KEY(thread_id, harness_id, profile_id)) WITHOUT ROWID, STRICT;\nCREATE INDEX lane_checkpoint_order ON lane_checkpoint(thread_id, insertion_ordinal);\nCREATE INDEX lane_checkpoint_partition ON lane_checkpoint(pid, insertion_ordinal);\nCREATE TABLE interaction(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, run_id TEXT NOT NULL, state TEXT NOT NULL,\n request BLOB NOT NULL, resolution BLOB) STRICT;\nCREATE INDEX interaction_pending ON interaction(run_id) WHERE state = 'pending';\nCREATE INDEX interaction_run ON interaction(run_id);\nCREATE INDEX interaction_partition_pending ON interaction(pid,run_id) WHERE state = 'pending';\nCREATE TABLE operator_decision(run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE TABLE project(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, root TEXT NOT NULL, status TEXT NOT NULL,\n current_pid INTEGER, creation_key_digest TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE UNIQUE INDEX project_root_active ON project(pid, root) WHERE status = 'active';\nCREATE INDEX project_current_pid ON project(current_pid) WHERE status = 'active';\nCREATE TABLE pruned_root(root TEXT PRIMARY KEY) STRICT;\nCREATE TABLE resource(id TEXT PRIMARY KEY, purpose TEXT, kind TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,\n state TEXT NOT NULL, created_at TEXT NOT NULL, expires_at TEXT, released_at TEXT, body BLOB NOT NULL) STRICT;\nCREATE INDEX resource_sha ON resource(sha256);\nCREATE INDEX resource_expiry ON resource(state, expires_at);\nCREATE TABLE upload(id TEXT PRIMARY KEY, state TEXT NOT NULL, received_bytes INTEGER NOT NULL, expected_bytes INTEGER,\n finalize_sha TEXT, body BLOB NOT NULL) STRICT;\nCREATE INDEX upload_finalize ON upload(finalize_sha) WHERE finalize_sha IS NOT NULL;\nCREATE TABLE import_partition(name TEXT PRIMARY KEY, status TEXT NOT NULL, pid INTEGER, epoch TEXT, next_seq INTEGER,\n previous_frame_hash TEXT, source_size INTEGER, source_mtime TEXT, fingerprint TEXT, records INTEGER, digest TEXT, problem TEXT) STRICT;\nCREATE TABLE unclassified(pid INTEGER NOT NULL, seq INTEGER NOT NULL, type TEXT NOT NULL, reason TEXT NOT NULL, payload BLOB NOT NULL,\n PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;\n\nCREATE TABLE account_last_service(harness_id TEXT NOT NULL, profile_id TEXT NOT NULL, requested_model_key TEXT NOT NULL,\n binding_digest TEXT NOT NULL, service_seq INTEGER NOT NULL, observed_at TEXT NOT NULL, run_id TEXT NOT NULL,\n attempt_id TEXT NOT NULL, try_index INTEGER NOT NULL,\n PRIMARY KEY(harness_id, profile_id, requested_model_key, binding_digest)) WITHOUT ROWID, STRICT;\n";
15
15
  /** Every table the DDL creates, in creation order (for tests and the importer seam). */
16
16
  export declare const ENGINE_TABLES: readonly string[];
17
17
  export interface SchemaIdentity {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,k6OAmF7B,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAE1C,CAAC;AASF,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,CAYnE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAqB9F;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,GAAE,MAAM,IAAuB,GAAG,IAAI,CAkCvF"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAiBvC;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,2yPAmFF,CAAC;AAE7B,wFAAwF;AACxF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAE1C,CAAC;AAYF,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,CAYnE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAqB9F;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,GAAE,MAAM,IAAuB,GAAG,IAAI,CAkCvF"}
@@ -3,7 +3,21 @@ import { StoreSchemaUnsupportedError } from "./errors.js";
3
3
  /** `PRAGMA application_id` of every engine store ("CXEN"). */
4
4
  export const ENGINE_APPLICATION_ID = 0x4358454e;
5
5
  /** `PRAGMA user_version`: the one schema this engine creates and serves. */
6
- export const ENGINE_SCHEMA_VERSION = 1;
6
+ export const ENGINE_SCHEMA_VERSION = 2;
7
+ /**
8
+ * Version 2: the latest request each account served per requested model
9
+ * (INV-135 last-served tie-break). One current row per (harness, row,
10
+ * requested-model key, credential-binding digest); the model key is the JSON
11
+ * encoding, so the default model (`null`), `""` and `"null"` stay distinct.
12
+ * `service_seq` orders services by acceptance in the single writer, never by
13
+ * the wall clock.
14
+ */
15
+ const ACCOUNT_LAST_SERVICE_SQL = `
16
+ CREATE TABLE account_last_service(harness_id TEXT NOT NULL, profile_id TEXT NOT NULL, requested_model_key TEXT NOT NULL,
17
+ binding_digest TEXT NOT NULL, service_seq INTEGER NOT NULL, observed_at TEXT NOT NULL, run_id TEXT NOT NULL,
18
+ attempt_id TEXT NOT NULL, try_index INTEGER NOT NULL,
19
+ PRIMARY KEY(harness_id, profile_id, requested_model_key, binding_digest)) WITHOUT ROWID, STRICT;
20
+ `;
7
21
  /**
8
22
  * SYNTHESIS_R5 §5 with R5_AMENDMENTS A1 (`command.kind`/`live` replace
9
23
  * `retention_exempt`; obligation `state`/`materialized_g`). STRICT everywhere; WITHOUT ROWID where the
@@ -95,15 +109,18 @@ CREATE TABLE import_partition(name TEXT PRIMARY KEY, status TEXT NOT NULL, pid I
95
109
  previous_frame_hash TEXT, source_size INTEGER, source_mtime TEXT, fingerprint TEXT, records INTEGER, digest TEXT, problem TEXT) STRICT;
96
110
  CREATE TABLE unclassified(pid INTEGER NOT NULL, seq INTEGER NOT NULL, type TEXT NOT NULL, reason TEXT NOT NULL, payload BLOB NOT NULL,
97
111
  PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;
98
- `;
112
+ ${ACCOUNT_LAST_SERVICE_SQL}`;
99
113
  /** Every table the DDL creates, in creation order (for tests and the importer seam). */
100
114
  export const ENGINE_TABLES = Object.freeze([...ENGINE_SCHEMA_SQL.matchAll(/CREATE TABLE (\w+)\(/g)].map((match) => match[1]));
101
115
  /**
102
116
  * Migrations from an older `user_version` to the current one, keyed by the
103
- * version they start from. Empty for version 1; a stored version with no
104
- * entry here (older without a path, or newer than this engine) is refused.
117
+ * version they start from; a stored version with no entry here (older without
118
+ * a path, or newer than this engine) is refused. Each step only adds: an
119
+ * older engine refuses the upgraded file as newer, so the upgrade is one-way.
105
120
  */
106
- const SCHEMA_MIGRATIONS = new Map();
121
+ const SCHEMA_MIGRATIONS = new Map([
122
+ [1, (db) => db.exec(ACCOUNT_LAST_SERVICE_SQL)],
123
+ ]);
107
124
  export function readSchemaIdentity(db) {
108
125
  const scalar = (sql) => {
109
126
  const row = db.prepare(sql).get();
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAChD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAG;;;;;CAKhC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmF/B,wBAAwB,EAAE,CAAC;AAE7B,wFAAwF;AACxF,MAAM,CAAC,MAAM,aAAa,GAAsB,MAAM,CAAC,MAAM,CAC3D,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CACnF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,iBAAiB,GAAoD,IAAI,GAAG,CAAC;IACjF,CAAC,CAAC,EAAE,CAAC,EAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;CAC7D,CAAC,CAAC;AAUH,MAAM,UAAU,kBAAkB,CAAC,EAAgB;IACjD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAU,EAAE;QACrC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAA6B,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,uBAAuB,CAAC;QAC9C,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC;QAC1C,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,oCAAoC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAwB;IAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,KAAK,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,CAAC,IAAI,SAAS,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1F,IAAI,QAAQ,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;QACrD,MAAM,IAAI,2BAA2B,CAAC;YACpC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,MAAM,EAAE,iEAAiE;SAC1E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,qBAAqB;QAAE,OAAO,SAAS,CAAC;IACrE,IAAI,QAAQ,CAAC,WAAW,GAAG,qBAAqB,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7F,OAAO,SAAS,CAAC;IACnB,MAAM,IAAI,2BAA2B,CAAC;QACpC,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EACJ,QAAQ,CAAC,WAAW,GAAG,qBAAqB;YAC1C,CAAC,CAAC,4CAA4C;YAC9C,CAAC,CAAC,mDAAmD;KAC1D,CAAC,CAAC;AACL,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,YAAY,CAAC,EAAgB,EAAE,GAAG,GAAe,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;IAC/E,MAAM,WAAW,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO;IACtC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC3B,EAAE,CAAC,IAAI,CAAC,yBAAyB,qBAAqB,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC;YACjD,OAAO,OAAO,GAAG,qBAAqB,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,aAAa,CAAC,CAAC;gBAClF,IAAI,CAAC,EAAE,CAAC,CAAC;gBACT,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CACtE,MAAM,CAAC,qBAAqB,CAAC,CAC9B,CAAC;QACJ,CAAC;QACD,EAAE,CAAC,IAAI,CAAC,uBAAuB,qBAAqB,EAAE,CAAC,CAAC;QACxD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -42,6 +42,14 @@ export declare function createSqlDaemonServices(store: EngineStore, options: Sql
42
42
  readonly quota: QuotaRegistry;
43
43
  interactions: InteractionRegistry;
44
44
  liveInputs: LiveInputRegistry;
45
+ accounts: {
46
+ credentials: import("../credential-generation.js").CredentialGeneration;
47
+ unusable: import("../credential-unusable-ledger.js").CredentialUnusableLedger;
48
+ refusals: import("../pre-progress-refusal-ledger.js").PreProgressRefusalLedger;
49
+ substitutions: import("../model-substitution-ledger.js").ModelSubstitutionLedger;
50
+ services: import("../account-evidence.js").AccountServiceEvidence | null;
51
+ retire: () => void;
52
+ };
45
53
  /** Called by the existing global recovery replacement owner after it
46
54
  * drains setup and changes the registry generation. Publish both owners
47
55
  * together only after the new quota projection validates. */
@@ -1 +1 @@
1
- {"version":3,"file":"sql-daemon-services.d.ts","sourceRoot":"","sources":["../../src/store/sql-daemon-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAyB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAChE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;CAC3D;AAED;;gFAEgF;AAChF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB;;;;;;;;;;;;;;;;IA8DzF;;iEAE6D;;+BAElC,MAAM,gBAAgB,MAAM;;;;;;;;;IAuBvD,+EAA+E;;EAclF"}
1
+ {"version":3,"file":"sql-daemon-services.d.ts","sourceRoot":"","sources":["../../src/store/sql-daemon-services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAyB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAChE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;CAC3D;AAED;;gFAEgF;AAChF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;IAiEzF;;iEAE6D;;+BAElC,MAAM,gBAAgB,MAAM;;;;;;;;;IAuBvD,+EAA+E;;EAelF"}
@@ -1,3 +1,4 @@
1
+ import { createAccountEvidence } from "../account-evidence.js";
1
2
  import { InteractionRegistry } from "../interactions.js";
2
3
  import { LiveInputRegistry } from "../live-input.js";
3
4
  import { QuotaRegistry } from "../quota-registry.js";
@@ -57,6 +58,8 @@ export function createSqlDaemonServices(store, options) {
57
58
  const liveInputs = new LiveInputRegistry({
58
59
  pendingForRun: (runId) => interactions.pendingForRun(runId),
59
60
  });
61
+ // Store-scoped like the facts it owns: global recovery keeps both.
62
+ const accounts = createAccountEvidence(store, (line) => options.log?.(line));
60
63
  return {
61
64
  store,
62
65
  blobs,
@@ -79,6 +82,7 @@ export function createSqlDaemonServices(store, options) {
79
82
  },
80
83
  interactions,
81
84
  liveInputs,
85
+ accounts,
82
86
  /** Called by the existing global recovery replacement owner after it
83
87
  * drains setup and changes the registry generation. Publish both owners
84
88
  * together only after the new quota projection validates. */
@@ -106,6 +110,7 @@ export function createSqlDaemonServices(store, options) {
106
110
  },
107
111
  /** Caller closes transports/runners first, then this graph, then its store. */
108
112
  async close() {
113
+ accounts.retire();
109
114
  await maintenance.stop();
110
115
  try {
111
116
  await store.flushed();
@@ -1 +1 @@
1
- {"version":3,"file":"sql-daemon-services.js","sourceRoot":"","sources":["../../src/store/sql-daemon-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-daemon-services.js","sourceRoot":"","sources":["../../src/store/sql-daemon-services.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export interface EngineStoreOptions {
11
11
  workerEntry?: string;
12
12
  flusherHooks?: FlusherHooks;
13
13
  now?: () => Date;
14
+ /** Monotonic milliseconds for COMMIT timing (default `performance.now`); injectable. */
15
+ monotonicNow?: () => number;
14
16
  log?: (line: string) => void;
15
17
  /** Synchronous physical-fault notification; the caller owns serving admission. */
16
18
  onCorrupt?: (problem: StoreCorruptError) => void;
@@ -31,6 +33,13 @@ export interface StoreFacts {
31
33
  interval_ms: number;
32
34
  wal_bytes: number | null;
33
35
  busy_waits: number;
36
+ /** `transaction()` COMMIT calls since this store opened: a lifetime summary, not a window. */
37
+ commit: {
38
+ attempts: number;
39
+ failures: number;
40
+ last_ms: number | null;
41
+ max_ms: number | null;
42
+ };
34
43
  obligations_open: number | null;
35
44
  integrity: "pending" | "ok" | "failed";
36
45
  /** Filled by the importer (PR-D); the store core never migrates. */
@@ -58,7 +67,10 @@ export declare class EngineStore {
58
67
  private readonly syncedListeners;
59
68
  /** Clock for rows the store itself stamps (obligations, meta); injectable. */
60
69
  readonly now: () => Date;
70
+ private readonly monotonicNow;
61
71
  private busyWaits;
72
+ /** Constant-space COMMIT timing; only `facts()` reads it. */
73
+ private readonly commits;
62
74
  private integrityState;
63
75
  private closed;
64
76
  private closing;
@@ -80,7 +92,9 @@ export declare class EngineStore {
80
92
  * BEGIN IMMEDIATE … COMMIT with ROLLBACK in `finally`. `fn` must be
81
93
  * synchronous: returning a thenable rolls the transaction back and throws,
82
94
  * because an await inside a transaction would hold the writer lock across
83
- * the event loop and break "returned means committed".
95
+ * the event loop and break "returned means committed". Only the native COMMIT
96
+ * call is timed for `facts().commit`, including any WAL header sync or
97
+ * automatic checkpoint SQLite runs inside it (see `pragmas.ts`).
84
98
  */
85
99
  transaction<T>(fn: () => T): T;
86
100
  /** A `{g, dir}` registration after a rename/link in `dir` (SYNTHESIS_R5 §4.4). */
@@ -106,5 +120,6 @@ export declare class EngineStore {
106
120
  /** The request thread and private worker channels share one error owner. */
107
121
  failure(error: unknown, context: string): unknown;
108
122
  private assertOpen;
123
+ private recordCommit;
109
124
  }
110
125
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,15 @@ export class EngineStore {
28
28
  syncedListeners = new Set();
29
29
  /** Clock for rows the store itself stamps (obligations, meta); injectable. */
30
30
  now;
31
+ monotonicNow;
31
32
  busyWaits = 0;
33
+ /** Constant-space COMMIT timing; only `facts()` reads it. */
34
+ commits = {
35
+ attempts: 0,
36
+ failures: 0,
37
+ lastMs: null,
38
+ maxMs: null,
39
+ };
32
40
  integrityState = "pending";
33
41
  closed = false;
34
42
  closing = null;
@@ -38,6 +46,7 @@ export class EngineStore {
38
46
  this.paths = paths;
39
47
  this.connection = connection;
40
48
  this.now = options.now ?? (() => new Date());
49
+ this.monotonicNow = options.monotonicNow ?? (() => performance.now());
41
50
  this.flusher = new FlusherController({
42
51
  dbPath: paths.database,
43
52
  ...(options.workerEntry ? { workerEntry: options.workerEntry } : {}),
@@ -121,7 +130,9 @@ export class EngineStore {
121
130
  * BEGIN IMMEDIATE … COMMIT with ROLLBACK in `finally`. `fn` must be
122
131
  * synchronous: returning a thenable rolls the transaction back and throws,
123
132
  * because an await inside a transaction would hold the writer lock across
124
- * the event loop and break "returned means committed".
133
+ * the event loop and break "returned means committed". Only the native COMMIT
134
+ * call is timed for `facts().commit`, including any WAL header sync or
135
+ * automatic checkpoint SQLite runs inside it (see `pragmas.ts`).
125
136
  */
126
137
  transaction(fn) {
127
138
  this.assertOpen();
@@ -135,12 +146,15 @@ export class EngineStore {
135
146
  if (isThenable(result)) {
136
147
  throw new StoreError("store_transaction_async", 500, false, "engine store transaction bodies must be synchronous (a Promise was returned)");
137
148
  }
149
+ const started = this.monotonicNow();
138
150
  try {
139
151
  this.connection.exec("COMMIT");
140
152
  }
141
153
  catch (error) {
154
+ this.recordCommit(this.monotonicNow() - started, true);
142
155
  throw this.failure(error, "committing a transaction");
143
156
  }
157
+ this.recordCommit(this.monotonicNow() - started, false);
144
158
  committed = true;
145
159
  return result;
146
160
  }
@@ -214,6 +228,12 @@ export class EngineStore {
214
228
  interval_ms: flusher.interval_ms,
215
229
  wal_bytes: flusher.last_pass?.wal_bytes ?? null,
216
230
  busy_waits: this.busyWaits,
231
+ commit: {
232
+ attempts: this.commits.attempts,
233
+ failures: this.commits.failures,
234
+ last_ms: microsecondMs(this.commits.lastMs),
235
+ max_ms: microsecondMs(this.commits.maxMs),
236
+ },
217
237
  obligations_open: open,
218
238
  integrity: this.integrityState,
219
239
  migration: null,
@@ -282,6 +302,17 @@ export class EngineStore {
282
302
  throw new StoreError("store_closed", 503, false, "engine store is closed");
283
303
  }
284
304
  }
305
+ recordCommit(elapsedMs, failed) {
306
+ this.commits.attempts += 1;
307
+ if (failed)
308
+ this.commits.failures += 1;
309
+ this.commits.lastMs = elapsedMs;
310
+ this.commits.maxMs = Math.max(this.commits.maxMs ?? elapsedMs, elapsedMs);
311
+ }
312
+ }
313
+ /** Measured durations keep microsecond resolution; a measured zero stays zero. */
314
+ function microsecondMs(value) {
315
+ return value === null ? null : Math.round(value * 1_000) / 1_000;
285
316
  }
286
317
  function ensureSchemaIdentityOrThrow(db) {
287
318
  // ensureSchema() repeats this check after the pragmas; the early call keeps
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudexor/daemon",
3
- "version": "4.1.0",
3
+ "version": "4.2.0",
4
4
  "license": "MIT",
5
5
  "description": "Managed local daemon: Unix-socket JSON-RPC, token auth, task queue. Runner injected (no second scheduler).",
6
6
  "type": "module",
@@ -17,10 +17,10 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "yaml": "^2.9.1",
20
- "@claudexor/core": "4.1.0",
21
- "@claudexor/schema": "4.1.0",
22
- "@claudexor/util": "4.1.0",
23
- "@claudexor/workspace": "4.1.0"
20
+ "@claudexor/core": "4.2.0",
21
+ "@claudexor/schema": "4.2.0",
22
+ "@claudexor/util": "4.2.0",
23
+ "@claudexor/workspace": "4.2.0"
24
24
  },
25
25
  "repository": {
26
26
  "type": "git",