@zelari/core 2.5.0 → 2.6.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 (64) hide show
  1. package/dist/core/AgentHarness.d.ts +17 -0
  2. package/dist/core/AgentHarness.d.ts.map +1 -1
  3. package/dist/core/AgentHarness.js +43 -0
  4. package/dist/core/AgentHarness.js.map +1 -1
  5. package/dist/mission/budgetContinuation.d.ts +36 -0
  6. package/dist/mission/budgetContinuation.d.ts.map +1 -0
  7. package/dist/mission/budgetContinuation.js +66 -0
  8. package/dist/mission/budgetContinuation.js.map +1 -0
  9. package/dist/runtime/harnessManifest.d.ts +91 -0
  10. package/dist/runtime/harnessManifest.d.ts.map +1 -0
  11. package/dist/runtime/harnessManifest.js +113 -0
  12. package/dist/runtime/harnessManifest.js.map +1 -0
  13. package/dist/runtime/index.d.ts +4 -1
  14. package/dist/runtime/index.d.ts.map +1 -1
  15. package/dist/runtime/index.js +4 -1
  16. package/dist/runtime/index.js.map +1 -1
  17. package/dist/runtime/profiles.d.ts +7 -0
  18. package/dist/runtime/profiles.d.ts.map +1 -1
  19. package/dist/runtime/profiles.js +10 -0
  20. package/dist/runtime/profiles.js.map +1 -1
  21. package/dist/runtime/resourceBudget.d.ts +69 -0
  22. package/dist/runtime/resourceBudget.d.ts.map +1 -0
  23. package/dist/runtime/resourceBudget.js +98 -0
  24. package/dist/runtime/resourceBudget.js.map +1 -0
  25. package/dist/runtime/resourcePolicy.d.ts +56 -0
  26. package/dist/runtime/resourcePolicy.d.ts.map +1 -0
  27. package/dist/runtime/resourcePolicy.js +77 -0
  28. package/dist/runtime/resourcePolicy.js.map +1 -0
  29. package/dist/session/compactionState.d.ts.map +1 -1
  30. package/dist/session/compactionState.js +20 -2
  31. package/dist/session/compactionState.js.map +1 -1
  32. package/dist/session/index.d.ts +1 -0
  33. package/dist/session/index.d.ts.map +1 -1
  34. package/dist/session/index.js +1 -0
  35. package/dist/session/index.js.map +1 -1
  36. package/dist/session/invariants.d.ts +5 -0
  37. package/dist/session/invariants.d.ts.map +1 -1
  38. package/dist/session/invariants.js +58 -0
  39. package/dist/session/invariants.js.map +1 -1
  40. package/dist/session/modelSurface.d.ts +19 -1
  41. package/dist/session/modelSurface.d.ts.map +1 -1
  42. package/dist/session/modelSurface.js +61 -1
  43. package/dist/session/modelSurface.js.map +1 -1
  44. package/dist/session/taskContract.d.ts +104 -0
  45. package/dist/session/taskContract.d.ts.map +1 -0
  46. package/dist/session/taskContract.js +129 -0
  47. package/dist/session/taskContract.js.map +1 -0
  48. package/dist/session/types.d.ts +7 -1
  49. package/dist/session/types.d.ts.map +1 -1
  50. package/dist/session/types.js +15 -0
  51. package/dist/session/types.js.map +1 -1
  52. package/dist/verification/index.d.ts +1 -0
  53. package/dist/verification/index.d.ts.map +1 -1
  54. package/dist/verification/index.js +1 -0
  55. package/dist/verification/index.js.map +1 -1
  56. package/dist/verification/metrics.d.ts +20 -0
  57. package/dist/verification/metrics.d.ts.map +1 -1
  58. package/dist/verification/metrics.js +18 -0
  59. package/dist/verification/metrics.js.map +1 -1
  60. package/dist/verification/resourceReserveGate.d.ts +39 -0
  61. package/dist/verification/resourceReserveGate.d.ts.map +1 -0
  62. package/dist/verification/resourceReserveGate.js +56 -0
  63. package/dist/verification/resourceReserveGate.js.map +1 -0
  64. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harnessManifest.js","sourceRoot":"","sources":["../../src/runtime/harnessManifest.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  /**
2
- * @zelari/core/runtime execution seams + profiles (ADR-0022).
2
+ * @zelari/core/runtime - execution seams + profiles (ADR-0022) + harness manifest (2.6).
3
3
  */
4
4
  export * from './providers.js';
5
5
  export * from './nodeProviders.js';
6
6
  export * from './memoryProviders.js';
7
7
  export * from './worktreeWorkspace.js';
8
8
  export * from './profiles.js';
9
+ export * from './harnessManifest.js';
9
10
  export * from './executionContext.js';
11
+ export * from './resourcePolicy.js';
12
+ export * from './resourceBudget.js';
10
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
@@ -1,10 +1,13 @@
1
1
  /**
2
- * @zelari/core/runtime execution seams + profiles (ADR-0022).
2
+ * @zelari/core/runtime - execution seams + profiles (ADR-0022) + harness manifest (2.6).
3
3
  */
4
4
  export * from './providers.js';
5
5
  export * from './nodeProviders.js';
6
6
  export * from './memoryProviders.js';
7
7
  export * from './worktreeWorkspace.js';
8
8
  export * from './profiles.js';
9
+ export * from './harnessManifest.js';
9
10
  export * from './executionContext.js';
11
+ export * from './resourcePolicy.js';
12
+ export * from './resourceBudget.js';
10
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
@@ -41,4 +41,11 @@ export declare class UnknownProfileError extends Error {
41
41
  export declare function resolveProfile(id: string): Profile;
42
42
  /** sha256 of the sorted tool names — recorded in the session header. */
43
43
  export declare function toolManifestHash(tools: readonly string[]): string;
44
+ /**
45
+ * Stable hash of the FULL profile (capability set + orchestration mounts +
46
+ * verification flags) — the `profile.hash` field of the harness manifest
47
+ * (2.6 Track A). Uses the shared canonical serializer (requestSnapshot) so
48
+ * key order can never flip the hash.
49
+ */
50
+ export declare function profileHash(profile: Profile): string;
44
51
  //# sourceMappingURL=profiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/runtime/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;iBAiBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,aAAa,2EAA4E,CAAC;AAEvG,eAAO,MAAM,UAAU,EAAE,OAOvB,CAAC;AAEH,eAAO,MAAM,SAAS,EAAE,OAOtB,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,OAOvB,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,OAOvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK9D,CAAC;AAEH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,SAAS,EAAE,MAAM;aACjB,KAAK,EAAE,MAAM,EAAE;IAHjC,QAAQ,CAAC,IAAI,qBAAqB;gBAEhB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EAAE;CAKlC;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIlD;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAGjE"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/runtime/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;iBAiBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,aAAa,2EAA4E,CAAC;AAEvG,eAAO,MAAM,UAAU,EAAE,OAOvB,CAAC;AAEH,eAAO,MAAM,SAAS,EAAE,OAOtB,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,OAOvB,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,OAOvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK9D,CAAC;AAEH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,SAAS,EAAE,MAAM;aACjB,KAAK,EAAE,MAAM,EAAE;IAHjC,QAAQ,CAAC,IAAI,qBAAqB;gBAEhB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EAAE;CAKlC;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIlD;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAGjE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEpD"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { createHash } from 'node:crypto';
10
10
  import { z } from 'zod';
11
+ import { stableStringify } from '../core/requestSnapshot.js';
11
12
  export const ProfileSchema = z.object({
12
13
  /** `<name>/v<N>` — immutable once published. */
13
14
  id: z.string().regex(/^[a-z0-9-]+\/v\d+$/, 'profile id must be <name>/v<N>'),
@@ -88,4 +89,13 @@ export function toolManifestHash(tools) {
88
89
  const manifest = [...tools].sort().join(',');
89
90
  return createHash('sha256').update(manifest).digest('hex');
90
91
  }
92
+ /**
93
+ * Stable hash of the FULL profile (capability set + orchestration mounts +
94
+ * verification flags) — the `profile.hash` field of the harness manifest
95
+ * (2.6 Track A). Uses the shared canonical serializer (requestSnapshot) so
96
+ * key order can never flip the hash.
97
+ */
98
+ export function profileHash(profile) {
99
+ return createHash('sha256').update(stableStringify(profile)).digest('hex');
100
+ }
91
101
  //# sourceMappingURL=profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/runtime/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/runtime/profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * runtime/resourceBudget.ts — central resource budget projection (2.6 Track B,
3
+ * doc §9). PURE functions: the host owns enforcement; nothing here talks to
4
+ * the model or mutates state. Budget state is reconstructible from the
5
+ * session log (ResourceLedger on the CLI side counts `tool.call` events).
6
+ *
7
+ * Invariants (§9.5): used <= limit, remaining = limit - used, reserves >= 0.
8
+ */
9
+ import type { BudgetPressure, ResourcePolicy, ResourceStage } from './resourcePolicy.js';
10
+ export interface ResourceBudget {
11
+ toolCalls: {
12
+ limit: number;
13
+ used: number;
14
+ remaining: number;
15
+ };
16
+ wallTime: {
17
+ limitMs?: number;
18
+ elapsedMs: number;
19
+ remainingMs?: number;
20
+ };
21
+ tokens?: {
22
+ softLimit?: number;
23
+ used: number;
24
+ remaining?: number;
25
+ };
26
+ reserve: {
27
+ verification: number;
28
+ repair: number;
29
+ };
30
+ stage: ResourceStage;
31
+ }
32
+ export type ResourceLedgerReason = 'tool-call' | 'model-turn' | 'verification' | 'repair' | 'timeout' | 'reservation';
33
+ /** Host-owned ledger entry (append-only; rebuilt from session events on resume). */
34
+ export interface ResourceLedgerEntry {
35
+ seq: number;
36
+ reason: ResourceLedgerReason;
37
+ delta: {
38
+ toolCalls?: number;
39
+ tokens?: number;
40
+ wallMs?: number;
41
+ };
42
+ }
43
+ /** Compute the budget projection from a policy and cumulative usage. Pure. */
44
+ export declare function computeBudget(policy: ResourcePolicy, usage: {
45
+ toolCallsUsed: number;
46
+ elapsedMs?: number;
47
+ tokensUsed?: number;
48
+ }, stage?: ResourceStage): ResourceBudget;
49
+ /** Reduce the ledger to cumulative usage. Pure; double entries count once by seq. */
50
+ export declare function usageFromLedger(entries: readonly ResourceLedgerEntry[]): {
51
+ toolCallsUsed: number;
52
+ wallMs: number;
53
+ tokensUsed: number;
54
+ };
55
+ /**
56
+ * Pressure band (§12): usable = remaining - verificationReserve floor.
57
+ * critical < thresholds.critical <= constrained < thresholds.ample <= ample.
58
+ */
59
+ export declare function budgetPressure(budget: ResourceBudget, policy: ResourcePolicy): BudgetPressure;
60
+ /**
61
+ * Protected verification reserve (§11.3): when true, only the verify/repair
62
+ * tool set may spend — the host enforces, this is the predicate.
63
+ */
64
+ export declare function isVerificationReserveProtected(budget: ResourceBudget): boolean;
65
+ /** Can the run still afford `calls` outside the protected reserve? */
66
+ export declare function canSpendOutsideReserve(budget: ResourceBudget, calls: number): boolean;
67
+ /** Map an event stream reason onto the ledger delta (single counting point). */
68
+ export declare function ledgerDeltaFor(reason: ResourceLedgerReason, calls?: number): ResourceLedgerEntry['delta'];
69
+ //# sourceMappingURL=resourceBudget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceBudget.d.ts","sourceRoot":"","sources":["../../src/runtime/resourceBudget.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,SAAS,GACT,aAAa,CAAC;AAElB,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE;IACL,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EACD,KAAK,GAAE,aAAyB,GAC/B,cAAc,CA8BhB;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,GAAG;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAaA;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,GAAG,cAAc,CAS7F;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE9E;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAErF;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,SAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAapG"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * runtime/resourceBudget.ts — central resource budget projection (2.6 Track B,
3
+ * doc §9). PURE functions: the host owns enforcement; nothing here talks to
4
+ * the model or mutates state. Budget state is reconstructible from the
5
+ * session log (ResourceLedger on the CLI side counts `tool.call` events).
6
+ *
7
+ * Invariants (§9.5): used <= limit, remaining = limit - used, reserves >= 0.
8
+ */
9
+ /** Compute the budget projection from a policy and cumulative usage. Pure. */
10
+ export function computeBudget(policy, usage, stage = 'explore') {
11
+ const used = Math.max(0, Math.min(usage.toolCallsUsed, policy.maxToolCalls));
12
+ return {
13
+ toolCalls: {
14
+ limit: policy.maxToolCalls,
15
+ used,
16
+ remaining: policy.maxToolCalls - used,
17
+ },
18
+ wallTime: {
19
+ limitMs: policy.wallClockMs,
20
+ elapsedMs: Math.max(0, usage.elapsedMs ?? 0),
21
+ remainingMs: policy.wallClockMs === undefined ? undefined : Math.max(0, policy.wallClockMs - (usage.elapsedMs ?? 0)),
22
+ },
23
+ tokens: usage.tokensUsed === undefined && policy.softMaxTokens === undefined
24
+ ? undefined
25
+ : {
26
+ softLimit: policy.softMaxTokens,
27
+ used: usage.tokensUsed ?? 0,
28
+ remaining: policy.softMaxTokens === undefined
29
+ ? undefined
30
+ : Math.max(0, policy.softMaxTokens - (usage.tokensUsed ?? 0)),
31
+ },
32
+ reserve: {
33
+ verification: Math.max(0, policy.reserve.verification),
34
+ repair: Math.max(0, policy.reserve.repair),
35
+ },
36
+ stage,
37
+ };
38
+ }
39
+ /** Reduce the ledger to cumulative usage. Pure; double entries count once by seq. */
40
+ export function usageFromLedger(entries) {
41
+ const seen = new Set();
42
+ let toolCallsUsed = 0;
43
+ let wallMs = 0;
44
+ let tokensUsed = 0;
45
+ for (const e of entries) {
46
+ if (seen.has(e.seq))
47
+ continue; // idempotent replay
48
+ seen.add(e.seq);
49
+ toolCallsUsed += e.delta.toolCalls ?? 0;
50
+ wallMs += e.delta.wallMs ?? 0;
51
+ tokensUsed += e.delta.tokens ?? 0;
52
+ }
53
+ return { toolCallsUsed: Math.max(0, toolCallsUsed), wallMs: Math.max(0, wallMs), tokensUsed: Math.max(0, tokensUsed) };
54
+ }
55
+ /**
56
+ * Pressure band (§12): usable = remaining - verificationReserve floor.
57
+ * critical < thresholds.critical <= constrained < thresholds.ample <= ample.
58
+ */
59
+ export function budgetPressure(budget, policy) {
60
+ const usable = Math.max(0, budget.toolCalls.remaining - budget.reserve.verification);
61
+ const capacity = Math.max(1, budget.toolCalls.limit - budget.reserve.verification);
62
+ const ratio = usable / capacity;
63
+ const t = policy.pressure;
64
+ if (ratio >= t.ample)
65
+ return 'ample';
66
+ if (ratio >= t.constrained)
67
+ return 'normal';
68
+ if (ratio >= t.critical)
69
+ return 'constrained';
70
+ return 'critical';
71
+ }
72
+ /**
73
+ * Protected verification reserve (§11.3): when true, only the verify/repair
74
+ * tool set may spend — the host enforces, this is the predicate.
75
+ */
76
+ export function isVerificationReserveProtected(budget) {
77
+ return budget.toolCalls.remaining <= budget.reserve.verification;
78
+ }
79
+ /** Can the run still afford `calls` outside the protected reserve? */
80
+ export function canSpendOutsideReserve(budget, calls) {
81
+ return budget.toolCalls.remaining - budget.reserve.verification >= calls;
82
+ }
83
+ /** Map an event stream reason onto the ledger delta (single counting point). */
84
+ export function ledgerDeltaFor(reason, calls = 1) {
85
+ switch (reason) {
86
+ case 'tool-call':
87
+ return { toolCalls: calls };
88
+ case 'model-turn':
89
+ case 'verification':
90
+ case 'repair':
91
+ return { toolCalls: calls };
92
+ case 'timeout':
93
+ return {};
94
+ case 'reservation':
95
+ return {};
96
+ }
97
+ }
98
+ //# sourceMappingURL=resourceBudget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceBudget.js","sourceRoot":"","sources":["../../src/runtime/resourceBudget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * runtime/resourcePolicy.ts — host-owned resource policy (2.6 Track B, doc §11-12).
3
+ *
4
+ * The policy is BEHAVIOURAL: it shapes how the agent spends its remaining
5
+ * budget, so its hash feeds the harness manifest (§6.6). Enforcement stays
6
+ * host-side; the model only ever sees a projection (doc §9.2).
7
+ *
8
+ * Pressure thresholds are policy-configurable, NOT copied from other
9
+ * domains (§12.3): defaults below are first-guess values to be replaced by
10
+ * Zelari's own benchmark data.
11
+ */
12
+ import { z } from 'zod';
13
+ export declare const BudgetPressureSchema: z.ZodEnum<{
14
+ critical: "critical";
15
+ ample: "ample";
16
+ normal: "normal";
17
+ constrained: "constrained";
18
+ }>;
19
+ export type BudgetPressure = z.infer<typeof BudgetPressureSchema>;
20
+ /** Operational stage of the run — deliberately NOT named `phase` (WorkPhase collision). */
21
+ export declare const ResourceStageSchema: z.ZodEnum<{
22
+ explore: "explore";
23
+ verify: "verify";
24
+ implement: "implement";
25
+ repair: "repair";
26
+ }>;
27
+ export type ResourceStage = z.infer<typeof ResourceStageSchema>;
28
+ /** Fractions of (limit - reserve floor) at which pressure bands change. */
29
+ export declare const PressureThresholdsSchema: z.ZodObject<{
30
+ ample: z.ZodNumber;
31
+ constrained: z.ZodNumber;
32
+ critical: z.ZodNumber;
33
+ }, z.core.$strip>;
34
+ export type PressureThresholds = z.infer<typeof PressureThresholdsSchema>;
35
+ export declare const DEFAULT_PRESSURE_THRESHOLDS: PressureThresholds;
36
+ export declare const ResourcePolicySchema: z.ZodObject<{
37
+ maxToolCalls: z.ZodNumber;
38
+ reserve: z.ZodObject<{
39
+ verification: z.ZodNumber;
40
+ repair: z.ZodNumber;
41
+ }, z.core.$strip>;
42
+ wallClockMs: z.ZodOptional<z.ZodNumber>;
43
+ softMaxTokens: z.ZodOptional<z.ZodNumber>;
44
+ pressure: z.ZodDefault<z.ZodObject<{
45
+ ample: z.ZodNumber;
46
+ constrained: z.ZodNumber;
47
+ critical: z.ZodNumber;
48
+ }, z.core.$strip>>;
49
+ }, z.core.$strip>;
50
+ export type ResourcePolicy = z.infer<typeof ResourcePolicySchema>;
51
+ /** Default policies per profile (doc §11.2 kraken default 40/6/4/900000). */
52
+ export declare const PROFILE_RESOURCE_POLICIES: Readonly<Record<string, ResourcePolicy>>;
53
+ export declare function defaultResourcePolicy(profileId: string): ResourcePolicy;
54
+ /** Canonical behavioural hash — the manifest's `policies.resourcePolicyHash`. */
55
+ export declare function resourcePolicyHash(policy: ResourcePolicy): string;
56
+ //# sourceMappingURL=resourcePolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourcePolicy.d.ts","sourceRoot":"","sources":["../../src/runtime/resourcePolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB;;;;;EAAyD,CAAC;AAC3F,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB;;;;;EAAuD,CAAC;AACxF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB;;;;iBAOnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B,EAAE,kBAIxC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAY/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAuB7E,CAAC;AAEH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAEvE;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAEjE"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * runtime/resourcePolicy.ts — host-owned resource policy (2.6 Track B, doc §11-12).
3
+ *
4
+ * The policy is BEHAVIOURAL: it shapes how the agent spends its remaining
5
+ * budget, so its hash feeds the harness manifest (§6.6). Enforcement stays
6
+ * host-side; the model only ever sees a projection (doc §9.2).
7
+ *
8
+ * Pressure thresholds are policy-configurable, NOT copied from other
9
+ * domains (§12.3): defaults below are first-guess values to be replaced by
10
+ * Zelari's own benchmark data.
11
+ */
12
+ import { createHash } from 'node:crypto';
13
+ import { z } from 'zod';
14
+ import { stableStringify } from '../core/requestSnapshot.js';
15
+ export const BudgetPressureSchema = z.enum(['ample', 'normal', 'constrained', 'critical']);
16
+ /** Operational stage of the run — deliberately NOT named `phase` (WorkPhase collision). */
17
+ export const ResourceStageSchema = z.enum(['explore', 'implement', 'verify', 'repair']);
18
+ /** Fractions of (limit - reserve floor) at which pressure bands change. */
19
+ export const PressureThresholdsSchema = z.object({
20
+ /** remaining/usable >= ample → ample. */
21
+ ample: z.number().min(0).max(1),
22
+ /** remaining/usable >= constrained → normal; below → constrained. */
23
+ constrained: z.number().min(0).max(1),
24
+ /** remaining/usable < critical → critical. */
25
+ critical: z.number().min(0).max(1),
26
+ });
27
+ export const DEFAULT_PRESSURE_THRESHOLDS = Object.freeze({
28
+ ample: 0.5,
29
+ constrained: 0.25,
30
+ critical: 0.1,
31
+ });
32
+ export const ResourcePolicySchema = z.object({
33
+ maxToolCalls: z.number().int().positive(),
34
+ reserve: z.object({
35
+ /** Protected: tool budget the non-verification loop may not consume (§11.4). */
36
+ verification: z.number().int().min(0),
37
+ /** Advisory-only by default (§11.4). */
38
+ repair: z.number().int().min(0),
39
+ }),
40
+ wallClockMs: z.number().int().positive().optional(),
41
+ /** Soft token ceiling (advisory telemetry, not enforced). */
42
+ softMaxTokens: z.number().int().positive().optional(),
43
+ pressure: PressureThresholdsSchema.default(DEFAULT_PRESSURE_THRESHOLDS),
44
+ });
45
+ /** Default policies per profile (doc §11.2 kraken default 40/6/4/900000). */
46
+ export const PROFILE_RESOURCE_POLICIES = Object.freeze({
47
+ 'minimal/v1': {
48
+ maxToolCalls: 25,
49
+ reserve: { verification: 4, repair: 3 },
50
+ pressure: DEFAULT_PRESSURE_THRESHOLDS,
51
+ },
52
+ 'kraken/v1': {
53
+ maxToolCalls: 40,
54
+ reserve: { verification: 6, repair: 4 },
55
+ wallClockMs: 900_000,
56
+ pressure: DEFAULT_PRESSURE_THRESHOLDS,
57
+ },
58
+ 'council/v1': {
59
+ maxToolCalls: 30,
60
+ reserve: { verification: 4, repair: 2 },
61
+ pressure: DEFAULT_PRESSURE_THRESHOLDS,
62
+ },
63
+ 'mission/v1': {
64
+ maxToolCalls: 60,
65
+ reserve: { verification: 8, repair: 6 },
66
+ wallClockMs: 1_800_000,
67
+ pressure: DEFAULT_PRESSURE_THRESHOLDS,
68
+ },
69
+ });
70
+ export function defaultResourcePolicy(profileId) {
71
+ return PROFILE_RESOURCE_POLICIES[profileId] ?? PROFILE_RESOURCE_POLICIES['kraken/v1'];
72
+ }
73
+ /** Canonical behavioural hash — the manifest's `policies.resourcePolicyHash`. */
74
+ export function resourcePolicyHash(policy) {
75
+ return createHash('sha256').update(stableStringify(ResourcePolicySchema.parse(policy))).digest('hex');
76
+ }
77
+ //# sourceMappingURL=resourcePolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourcePolicy.js","sourceRoot":"","sources":["../../src/runtime/resourcePolicy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compactionState.d.ts","sourceRoot":"","sources":["../../src/session/compactionState.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMvD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAmFD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,KAAK,EAAE,MAAM,GACZ,uBAAuB,CAoHzB;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,CAsBvF"}
1
+ {"version":3,"file":"compactionState.d.ts","sourceRoot":"","sources":["../../src/session/compactionState.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMvD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAmFD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,KAAK,EAAE,MAAM,GACZ,uBAAuB,CA6IzB;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,CAsBvF"}
@@ -176,9 +176,27 @@ export function buildCompactionStateSnapshot(events, toSeq) {
176
176
  : {}),
177
177
  }
178
178
  : undefined;
179
+ // 2.6 (doc section 14.5): prefer the first-class TaskContract when the
180
+ // session carries one; the regex extraction above stays as fallback.
181
+ const latestContractEvent = [...scoped]
182
+ .reverse()
183
+ .find((event) => event.kind === 'task.contract' || event.kind === 'task.contract_updated');
184
+ const contractRaw = latestContractEvent && typeof latestContractEvent.data.contract === 'object'
185
+ ? latestContractEvent.data.contract
186
+ : undefined;
187
+ const contractConstraints = Array.isArray(contractRaw?.constraints)
188
+ ? contractRaw.constraints
189
+ .filter((c) => c.source === 'user' && c.required === true && typeof c.text === 'string')
190
+ .map((c) => String(c.text))
191
+ : undefined;
192
+ const contractCriteria = Array.isArray(contractRaw?.acceptanceCriteria)
193
+ ? contractRaw.acceptanceCriteria
194
+ .filter((c) => typeof c.id === 'string')
195
+ .map((c) => ({ id: String(c.id), required: c.required === true }))
196
+ : undefined;
179
197
  return {
180
198
  version: 1,
181
- activeCriteria,
199
+ activeCriteria: contractCriteria ?? activeCriteria,
182
200
  unresolvedIssues,
183
201
  ...(latestVerification
184
202
  ? {
@@ -195,7 +213,7 @@ export function buildCompactionStateSnapshot(events, toSeq) {
195
213
  : {}),
196
214
  retainedEvidenceRefs: evidenceFromResults(results),
197
215
  affectedFiles: [...affectedFiles].slice(0, 64),
198
- userConstraints: [...userConstraints].slice(-12),
216
+ userConstraints: contractConstraints ?? [...userConstraints].slice(-12),
199
217
  ...(missionState ? { missionState } : {}),
200
218
  };
201
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compactionState.js","sourceRoot":"","sources":["../../src/session/compactionState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compactionState.js","sourceRoot":"","sources":["../../src/session/compactionState.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,5 @@ export * from './lineage.js';
16
16
  export * from './exportSession.js';
17
17
  export * from './invariants.js';
18
18
  export * from './recovery.js';
19
+ export * from './taskContract.js';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -16,4 +16,5 @@ export * from './lineage.js';
16
16
  export * from './exportSession.js';
17
17
  export * from './invariants.js';
18
18
  export * from './recovery.js';
19
+ export * from './taskContract.js';
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -13,4 +13,9 @@ export interface SessionInvariantViolation {
13
13
  }
14
14
  export type SessionInvariantMode = 'minimal' | 'strict';
15
15
  export declare function validateSessionTrace(events: readonly SessionEventEnvelope[], mode?: SessionInvariantMode): SessionInvariantViolation[];
16
+ /**
17
+ * 2.6 Track A/B relational invariants: resource events + task contract
18
+ * (doc section 24.1). Standalone so replay/CI can opt in per surface.
19
+ */
20
+ export declare function validateResourceAndContractEvents(events: readonly SessionEventEnvelope[]): SessionInvariantViolation[];
16
21
  //# sourceMappingURL=invariants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/session/invariants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAyBxD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,IAAI,GAAE,oBAAgC,GACrC,yBAAyB,EAAE,CA2E7B"}
1
+ {"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/session/invariants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAyBxD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,oBAAoB,EAAE,EACvC,IAAI,GAAE,oBAAgC,GACrC,yBAAyB,EAAE,CA2E7B;AAmGD;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,SAAS,oBAAoB,EAAE,GACtC,yBAAyB,EAAE,CAoD7B"}