@cotal-ai/core 0.85.0 → 0.86.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 (153) hide show
  1. package/dist/agent-file.d.ts.map +1 -1
  2. package/dist/agent-file.js +10 -3
  3. package/dist/agent-file.js.map +1 -1
  4. package/dist/base64url.d.ts +5 -0
  5. package/dist/base64url.d.ts.map +1 -0
  6. package/dist/base64url.js +14 -0
  7. package/dist/base64url.js.map +1 -0
  8. package/dist/browser-control.d.ts +97 -0
  9. package/dist/browser-control.d.ts.map +1 -0
  10. package/dist/browser-control.js +66 -0
  11. package/dist/browser-control.js.map +1 -0
  12. package/dist/browser-validators-build.d.ts +23 -0
  13. package/dist/browser-validators-build.d.ts.map +1 -0
  14. package/dist/browser-validators-build.js +149 -0
  15. package/dist/browser-validators-build.js.map +1 -0
  16. package/dist/canonical-json.d.ts +14 -0
  17. package/dist/canonical-json.d.ts.map +1 -0
  18. package/dist/canonical-json.js +121 -0
  19. package/dist/canonical-json.js.map +1 -0
  20. package/dist/canonical.d.ts +2 -10
  21. package/dist/canonical.d.ts.map +1 -1
  22. package/dist/canonical.js +2 -108
  23. package/dist/canonical.js.map +1 -1
  24. package/dist/checkpoint-answer.d.ts.map +1 -1
  25. package/dist/checkpoint-answer.js +3 -4
  26. package/dist/checkpoint-answer.js.map +1 -1
  27. package/dist/connector-setup.d.ts +10 -1
  28. package/dist/connector-setup.d.ts.map +1 -1
  29. package/dist/digest-id.d.ts +4 -0
  30. package/dist/digest-id.d.ts.map +1 -0
  31. package/dist/digest-id.js +7 -0
  32. package/dist/digest-id.js.map +1 -0
  33. package/dist/endpoint-action.d.ts.map +1 -1
  34. package/dist/endpoint-action.js +2 -16
  35. package/dist/endpoint-action.js.map +1 -1
  36. package/dist/endpoint-auth-digest.d.ts +7 -0
  37. package/dist/endpoint-auth-digest.d.ts.map +1 -0
  38. package/dist/endpoint-auth-digest.js +13 -0
  39. package/dist/endpoint-auth-digest.js.map +1 -0
  40. package/dist/endpoint-call.d.ts +176 -0
  41. package/dist/endpoint-call.d.ts.map +1 -0
  42. package/dist/endpoint-call.js +490 -0
  43. package/dist/endpoint-call.js.map +1 -0
  44. package/dist/endpoint-caller.d.ts +113 -0
  45. package/dist/endpoint-caller.d.ts.map +1 -0
  46. package/dist/endpoint-caller.js +260 -0
  47. package/dist/endpoint-caller.js.map +1 -0
  48. package/dist/endpoint-checkpoint.d.ts.map +1 -1
  49. package/dist/endpoint-checkpoint.js +5 -14
  50. package/dist/endpoint-checkpoint.js.map +1 -1
  51. package/dist/endpoint-envelope.d.ts +0 -6
  52. package/dist/endpoint-envelope.d.ts.map +1 -1
  53. package/dist/endpoint-envelope.js +17 -18
  54. package/dist/endpoint-envelope.js.map +1 -1
  55. package/dist/endpoint-guard.d.ts.map +1 -1
  56. package/dist/endpoint-guard.js +2 -10
  57. package/dist/endpoint-guard.js.map +1 -1
  58. package/dist/endpoint-invoke.d.ts +36 -119
  59. package/dist/endpoint-invoke.d.ts.map +1 -1
  60. package/dist/endpoint-invoke.js +56 -300
  61. package/dist/endpoint-invoke.js.map +1 -1
  62. package/dist/endpoint-publish-denial.d.ts +1 -1
  63. package/dist/endpoint-publish-denial.d.ts.map +1 -1
  64. package/dist/endpoint-publish-denial.js +1 -1
  65. package/dist/endpoint-publish-denial.js.map +1 -1
  66. package/dist/endpoint-receipt.d.ts.map +1 -1
  67. package/dist/endpoint-receipt.js +2 -16
  68. package/dist/endpoint-receipt.js.map +1 -1
  69. package/dist/endpoint-subjects.d.ts.map +1 -1
  70. package/dist/endpoint-subjects.js.map +1 -1
  71. package/dist/endpoint-traits.d.ts.map +1 -1
  72. package/dist/endpoint-traits.js +3 -20
  73. package/dist/endpoint-traits.js.map +1 -1
  74. package/dist/endpoint-verbs.d.ts +18 -151
  75. package/dist/endpoint-verbs.d.ts.map +1 -1
  76. package/dist/endpoint-verbs.js +4 -500
  77. package/dist/endpoint-verbs.js.map +1 -1
  78. package/dist/endpoint-work.d.ts.map +1 -1
  79. package/dist/endpoint-work.js +2 -17
  80. package/dist/endpoint-work.js.map +1 -1
  81. package/dist/endpoint.d.ts +39 -15
  82. package/dist/endpoint.d.ts.map +1 -1
  83. package/dist/endpoint.js +90 -42
  84. package/dist/endpoint.js.map +1 -1
  85. package/dist/index.d.ts +4 -0
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +4 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/issued-accepted.d.ts +27 -0
  90. package/dist/issued-accepted.d.ts.map +1 -0
  91. package/dist/issued-accepted.js +62 -0
  92. package/dist/issued-accepted.js.map +1 -0
  93. package/dist/issued-authority.d.ts +3 -18
  94. package/dist/issued-authority.d.ts.map +1 -1
  95. package/dist/issued-authority.js +4 -55
  96. package/dist/issued-authority.js.map +1 -1
  97. package/dist/lifecycle-state.d.ts +3 -0
  98. package/dist/lifecycle-state.d.ts.map +1 -1
  99. package/dist/lifecycle-state.js +7 -0
  100. package/dist/lifecycle-state.js.map +1 -1
  101. package/dist/manager-caller.d.ts.map +1 -1
  102. package/dist/manager-caller.js +2 -1
  103. package/dist/manager-caller.js.map +1 -1
  104. package/dist/one-line.d.ts +6 -0
  105. package/dist/one-line.d.ts.map +1 -0
  106. package/dist/one-line.js +8 -0
  107. package/dist/one-line.js.map +1 -0
  108. package/dist/peer-label.d.ts +16 -0
  109. package/dist/peer-label.d.ts.map +1 -0
  110. package/dist/peer-label.js +15 -0
  111. package/dist/peer-label.js.map +1 -0
  112. package/dist/permission-denied.d.ts +8 -0
  113. package/dist/permission-denied.d.ts.map +1 -0
  114. package/dist/permission-denied.js +15 -0
  115. package/dist/permission-denied.js.map +1 -0
  116. package/dist/presence-text.d.ts +6 -0
  117. package/dist/presence-text.d.ts.map +1 -0
  118. package/dist/presence-text.js +25 -0
  119. package/dist/presence-text.js.map +1 -0
  120. package/dist/provision.d.ts.map +1 -1
  121. package/dist/provision.js +8 -2
  122. package/dist/provision.js.map +1 -1
  123. package/dist/resolve.d.ts +2 -13
  124. package/dist/resolve.d.ts.map +1 -1
  125. package/dist/resolve.js +2 -12
  126. package/dist/resolve.js.map +1 -1
  127. package/dist/run-driver-grants.d.ts +5 -0
  128. package/dist/run-driver-grants.d.ts.map +1 -1
  129. package/dist/run-driver-grants.js +16 -4
  130. package/dist/run-driver-grants.js.map +1 -1
  131. package/dist/run-migration.d.ts +21 -0
  132. package/dist/run-migration.d.ts.map +1 -1
  133. package/dist/run-migration.js +2 -27
  134. package/dist/run-migration.js.map +1 -1
  135. package/dist/run-notice.d.ts +20 -0
  136. package/dist/run-notice.d.ts.map +1 -1
  137. package/dist/run-notice.js +3 -28
  138. package/dist/run-notice.js.map +1 -1
  139. package/dist/schema-bounds.d.ts +24 -0
  140. package/dist/schema-bounds.d.ts.map +1 -0
  141. package/dist/schema-bounds.js +74 -0
  142. package/dist/schema-bounds.js.map +1 -0
  143. package/dist/schema-profile.d.ts +11 -24
  144. package/dist/schema-profile.d.ts.map +1 -1
  145. package/dist/schema-profile.js +16 -73
  146. package/dist/schema-profile.js.map +1 -1
  147. package/dist/subjects.d.ts.map +1 -1
  148. package/dist/subjects.js +1 -2
  149. package/dist/subjects.js.map +1 -1
  150. package/dist/turn-contract.d.ts.map +1 -1
  151. package/dist/turn-contract.js +14 -4
  152. package/dist/turn-contract.js.map +1 -1
  153. package/package.json +14 -1
@@ -0,0 +1,121 @@
1
+ /** The node-free half of `canonical.ts`: digest grammar and RFC 8785 canonical JSON. */
2
+ import { canonicalizeEx } from "json-canonicalize";
3
+ /** Digest identity form used everywhere a contract artifact is referenced: `sha256:<hex>`. */
4
+ export const DIGEST_PREFIX = "sha256:";
5
+ const DIGEST_RE = /^sha256:[0-9a-f]{64}$/;
6
+ /** True iff `s` is a well-formed `sha256:<hex>` artifact digest. */
7
+ export function isContractDigest(s) {
8
+ return DIGEST_RE.test(s);
9
+ }
10
+ /** True iff the string is well-formed UTF-16 (no unpaired surrogate). A lone surrogate has NO
11
+ * UTF-8 byte encoding — encoders silently substitute U+FFFD, so two distinct malformed strings
12
+ * can collapse to one byte sequence; anything digest- or wire-bound must refuse them. */
13
+ export function isWellFormedUnicode(s) {
14
+ return !hasLoneSurrogate(s);
15
+ }
16
+ /** True iff the string contains an unpaired UTF-16 surrogate (not well-formed / I-JSON
17
+ * violation). Manual scan: the repo's TS lib target predates `String#isWellFormed`. */
18
+ export function hasLoneSurrogate(s) {
19
+ for (let i = 0; i < s.length; i++) {
20
+ const c = s.charCodeAt(i);
21
+ if (c >= 0xd800 && c <= 0xdbff) {
22
+ const n = s.charCodeAt(i + 1);
23
+ if (!(n >= 0xdc00 && n <= 0xdfff))
24
+ return true;
25
+ i++; // well-formed pair; skip the low half
26
+ }
27
+ else if (c >= 0xdc00 && c <= 0xdfff) {
28
+ return true; // low surrogate with no preceding high half
29
+ }
30
+ }
31
+ return false;
32
+ }
33
+ /** Walk a JSON value once and return a plain copy of what the walk read, throwing on anything
34
+ * that cannot canonicalize EXACTLY (D28: verification and digesting must never run over a
35
+ * normalizing projection):
36
+ * - strings that are not well-formed UTF-16 (a lone surrogate violates I-JSON; canonicalizing
37
+ * it would mint a digest for text that cannot interchange), in values AND keys;
38
+ * - `undefined` anywhere and non-finite numbers (RFC 8785 cannot represent them);
39
+ * - NON-PLAIN-DATA graphs. `Object.entries` sees only enumerable string-keyed own data props,
40
+ * and the canonicalizer applies `toJSON`, so a symbol-keyed or non-enumerable own property,
41
+ * an accessor, or a class/exotic instance (Date → ISO string, Map → `{}`) would be SILENTLY
42
+ * projected away or rewritten — the exact field-dropping class D28 forbids (an artifact
43
+ * carrying state its signature never covered must refuse, not launder through the
44
+ * projection). Objects must be ordinary with a `null`/`Object.prototype` prototype and only
45
+ * enumerable string-keyed own DATA properties; arrays must be ordinary `Array.prototype`
46
+ * arrays with no holes and no extra own properties.
47
+ * The serializer gets the copy, never the input, and each copied value is the one in the
48
+ * descriptor the check inspected: a Proxy can answer a second read, or `toJSON`, differently,
49
+ * and the text must encode only data that was checked. */
50
+ function interchangeableCopy(v, path) {
51
+ if (v === null)
52
+ return null;
53
+ switch (typeof v) {
54
+ case "string":
55
+ if (hasLoneSurrogate(v))
56
+ throw new Error(`canonicalJson: lone surrogate in string at ${path} (I-JSON violation)`);
57
+ return v;
58
+ case "number":
59
+ if (!Number.isFinite(v))
60
+ throw new Error(`canonicalJson: non-finite number at ${path}`);
61
+ return v;
62
+ case "boolean":
63
+ return v;
64
+ case "undefined":
65
+ throw new Error(`canonicalJson: undefined at ${path} (strict mode never coerces to null)`);
66
+ case "object": {
67
+ if (Array.isArray(v)) {
68
+ if (Object.getPrototypeOf(v) !== Array.prototype)
69
+ throw new Error(`canonicalJson: non-ordinary array at ${path} (a subclassed/exotic array canonicalizes through projections)`);
70
+ // One read of `length`, from its descriptor, bounds both the index check and the copy. A
71
+ // second read could add an element no index check covered or drop one the check accepted.
72
+ const length = Object.getOwnPropertyDescriptor(v, "length")?.value;
73
+ if (typeof length !== "number" || !Number.isInteger(length) || length < 0)
74
+ throw new Error(`canonicalJson: invalid array length at ${path} (refusing the projection)`);
75
+ for (const k of Reflect.ownKeys(v)) {
76
+ if (typeof k !== "string")
77
+ throw new Error(`canonicalJson: symbol-keyed own property on array at ${path} (invisible to canonicalization; refusing the projection)`);
78
+ if (k === "length")
79
+ continue;
80
+ if (!/^(0|[1-9][0-9]*)$/.test(k) || Number(k) >= length)
81
+ throw new Error(`canonicalJson: non-index own property "${k}" on array at ${path} (invisible to canonicalization; refusing the projection)`);
82
+ }
83
+ const copy = [];
84
+ for (let i = 0; i < length; i++) {
85
+ const d = Object.getOwnPropertyDescriptor(v, i);
86
+ if (d === undefined)
87
+ throw new Error(`canonicalJson: hole at ${path}[${i}] (a hole would be coerced to null; refusing the projection)`);
88
+ if (!d.enumerable || d.get !== undefined || d.set !== undefined)
89
+ throw new Error(`canonicalJson: non-enumerable or accessor element at ${path}[${i}] (refusing the projection)`);
90
+ copy.push(interchangeableCopy(d.value, `${path}[${i}]`));
91
+ }
92
+ return copy;
93
+ }
94
+ const proto = Object.getPrototypeOf(v);
95
+ if (proto !== Object.prototype && proto !== null)
96
+ throw new Error(`canonicalJson: non-plain object at ${path} (a class/exotic instance canonicalizes through projections like toJSON; only plain data objects are interchangeable)`);
97
+ // A null prototype keeps an own `__proto__` key a key instead of a prototype assignment.
98
+ const copy = Object.create(null);
99
+ for (const k of Reflect.ownKeys(v)) {
100
+ if (typeof k !== "string")
101
+ throw new Error(`canonicalJson: symbol-keyed own property at ${path} (invisible to canonicalization; refusing the projection)`);
102
+ if (hasLoneSurrogate(k))
103
+ throw new Error(`canonicalJson: lone surrogate in key at ${path}.${k}`);
104
+ const d = Object.getOwnPropertyDescriptor(v, k);
105
+ if (!d.enumerable)
106
+ throw new Error(`canonicalJson: non-enumerable own property "${k}" at ${path} (invisible to canonicalization; refusing the projection)`);
107
+ if (d.get !== undefined || d.set !== undefined)
108
+ throw new Error(`canonicalJson: accessor property "${k}" at ${path} (a getter is code, not data; refusing the projection)`);
109
+ copy[k] = interchangeableCopy(d.value, `${path}.${k}`);
110
+ }
111
+ return copy;
112
+ }
113
+ default:
114
+ throw new Error(`canonicalJson: unsupported ${typeof v} at ${path}`);
115
+ }
116
+ }
117
+ /** RFC 8785 canonical JSON text of a value (strict: I-JSON enforced, no undefined→null). */
118
+ export function canonicalJson(value) {
119
+ return canonicalizeEx(interchangeableCopy(value, "$"), { undefinedInArrayToNull: false });
120
+ }
121
+ //# sourceMappingURL=canonical-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-json.js","sourceRoot":"","sources":["../src/canonical-json.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,5 @@
1
- /** Digest identity form used everywhere a contract artifact is referenced: `sha256:<hex>`. */
2
- export declare const DIGEST_PREFIX: "sha256:";
3
- /** True iff `s` is a well-formed `sha256:<hex>` artifact digest. */
4
- export declare function isContractDigest(s: string): boolean;
5
- /** True iff the string is well-formed UTF-16 (no unpaired surrogate). A lone surrogate has NO
6
- * UTF-8 byte encoding — encoders silently substitute U+FFFD, so two distinct malformed strings
7
- * can collapse to one byte sequence; anything digest- or wire-bound must refuse them. */
8
- export declare function isWellFormedUnicode(s: string): boolean;
9
- /** RFC 8785 canonical JSON text of a value (strict: I-JSON enforced, no undefined→null). */
10
- export declare function canonicalJson(value: unknown): string;
1
+ import { DIGEST_PREFIX, canonicalJson, isContractDigest, isWellFormedUnicode } from "./canonical-json.js";
2
+ export { DIGEST_PREFIX, canonicalJson, isContractDigest, isWellFormedUnicode };
11
3
  /** Content address of a contract artifact: `sha256:<hex>` over its RFC 8785 form (SPEC §13.7). */
12
4
  export declare function contractDigest(value: unknown): string;
13
5
  /** `sha256:<hex>` over RAW bytes (a string digests as its UTF-8 encoding), NEVER re-canonicalized:
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"AAYA,8FAA8F;AAC9F,eAAO,MAAM,aAAa,EAAG,SAAkB,CAAC;AAGhD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;0FAE0F;AAC1F,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtD;AAsFD,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGpD;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;;qEAKqE;AACrE,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAS3D;AAED;;;;;;;;;;0CAU0C;AAC1C,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAK5E;AAED;;;8DAG8D;AAC9D,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAWzE"}
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE5H,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;AAE/E,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;;qEAKqE;AACrE,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAS3D;AAED;;;;;;;;;;0CAU0C;AAC1C,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAK5E;AAED;;;8DAG8D;AAC9D,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAWzE"}
package/dist/canonical.js CHANGED
@@ -8,114 +8,8 @@
8
8
  * error, not data, and MUST NOT silently become `null`.
9
9
  */
10
10
  import { createHash } from "node:crypto";
11
- import { canonicalizeEx } from "json-canonicalize";
12
- /** Digest identity form used everywhere a contract artifact is referenced: `sha256:<hex>`. */
13
- export const DIGEST_PREFIX = "sha256:";
14
- const DIGEST_RE = /^sha256:[0-9a-f]{64}$/;
15
- /** True iff `s` is a well-formed `sha256:<hex>` artifact digest. */
16
- export function isContractDigest(s) {
17
- return DIGEST_RE.test(s);
18
- }
19
- /** True iff the string is well-formed UTF-16 (no unpaired surrogate). A lone surrogate has NO
20
- * UTF-8 byte encoding — encoders silently substitute U+FFFD, so two distinct malformed strings
21
- * can collapse to one byte sequence; anything digest- or wire-bound must refuse them. */
22
- export function isWellFormedUnicode(s) {
23
- return !hasLoneSurrogate(s);
24
- }
25
- /** True iff the string contains an unpaired UTF-16 surrogate (not well-formed / I-JSON
26
- * violation). Manual scan: the repo's TS lib target predates `String#isWellFormed`. */
27
- function hasLoneSurrogate(s) {
28
- for (let i = 0; i < s.length; i++) {
29
- const c = s.charCodeAt(i);
30
- if (c >= 0xd800 && c <= 0xdbff) {
31
- const n = s.charCodeAt(i + 1);
32
- if (!(n >= 0xdc00 && n <= 0xdfff))
33
- return true;
34
- i++; // well-formed pair; skip the low half
35
- }
36
- else if (c >= 0xdc00 && c <= 0xdfff) {
37
- return true; // low surrogate with no preceding high half
38
- }
39
- }
40
- return false;
41
- }
42
- /** Walk a JSON value and throw on anything that cannot canonicalize EXACTLY (D28: verification
43
- * and digesting must never run over a normalizing projection):
44
- * - strings that are not well-formed UTF-16 (a lone surrogate violates I-JSON; canonicalizing
45
- * it would mint a digest for text that cannot interchange), in values AND keys;
46
- * - `undefined` anywhere and non-finite numbers (RFC 8785 cannot represent them);
47
- * - NON-PLAIN-DATA graphs. `Object.entries` sees only enumerable string-keyed own data props,
48
- * and the canonicalizer applies `toJSON`, so a symbol-keyed or non-enumerable own property,
49
- * an accessor, or a class/exotic instance (Date → ISO string, Map → `{}`) would be SILENTLY
50
- * projected away or rewritten — the exact field-dropping class D28 forbids (an artifact
51
- * carrying state its signature never covered must refuse, not launder through the
52
- * projection). Objects must be ordinary with a `null`/`Object.prototype` prototype and only
53
- * enumerable string-keyed own DATA properties; arrays must be ordinary `Array.prototype`
54
- * arrays with no holes and no extra own properties. */
55
- function assertInterchangeable(v, path) {
56
- if (v === null)
57
- return;
58
- switch (typeof v) {
59
- case "string":
60
- if (hasLoneSurrogate(v))
61
- throw new Error(`canonicalJson: lone surrogate in string at ${path} (I-JSON violation)`);
62
- return;
63
- case "number":
64
- if (!Number.isFinite(v))
65
- throw new Error(`canonicalJson: non-finite number at ${path}`);
66
- return;
67
- case "boolean":
68
- return;
69
- case "undefined":
70
- throw new Error(`canonicalJson: undefined at ${path} (strict mode never coerces to null)`);
71
- case "object": {
72
- if (Array.isArray(v)) {
73
- if (Object.getPrototypeOf(v) !== Array.prototype)
74
- throw new Error(`canonicalJson: non-ordinary array at ${path} (a subclassed/exotic array canonicalizes through projections)`);
75
- for (const k of Reflect.ownKeys(v)) {
76
- if (typeof k !== "string")
77
- throw new Error(`canonicalJson: symbol-keyed own property on array at ${path} (invisible to canonicalization; refusing the projection)`);
78
- if (k === "length")
79
- continue;
80
- if (!/^(0|[1-9][0-9]*)$/.test(k) || Number(k) >= v.length)
81
- throw new Error(`canonicalJson: non-index own property "${k}" on array at ${path} (invisible to canonicalization; refusing the projection)`);
82
- }
83
- for (let i = 0; i < v.length; i++) {
84
- const d = Object.getOwnPropertyDescriptor(v, i);
85
- if (d === undefined)
86
- throw new Error(`canonicalJson: hole at ${path}[${i}] (a hole would be coerced to null; refusing the projection)`);
87
- if (!d.enumerable || d.get !== undefined || d.set !== undefined)
88
- throw new Error(`canonicalJson: non-enumerable or accessor element at ${path}[${i}] (refusing the projection)`);
89
- assertInterchangeable(v[i], `${path}[${i}]`);
90
- }
91
- return;
92
- }
93
- const proto = Object.getPrototypeOf(v);
94
- if (proto !== Object.prototype && proto !== null)
95
- throw new Error(`canonicalJson: non-plain object at ${path} (a class/exotic instance canonicalizes through projections like toJSON; only plain data objects are interchangeable)`);
96
- for (const k of Reflect.ownKeys(v)) {
97
- if (typeof k !== "string")
98
- throw new Error(`canonicalJson: symbol-keyed own property at ${path} (invisible to canonicalization; refusing the projection)`);
99
- if (hasLoneSurrogate(k))
100
- throw new Error(`canonicalJson: lone surrogate in key at ${path}.${k}`);
101
- const d = Object.getOwnPropertyDescriptor(v, k);
102
- if (!d.enumerable)
103
- throw new Error(`canonicalJson: non-enumerable own property "${k}" at ${path} (invisible to canonicalization; refusing the projection)`);
104
- if (d.get !== undefined || d.set !== undefined)
105
- throw new Error(`canonicalJson: accessor property "${k}" at ${path} (a getter is code, not data; refusing the projection)`);
106
- assertInterchangeable(v[k], `${path}.${k}`);
107
- }
108
- return;
109
- }
110
- default:
111
- throw new Error(`canonicalJson: unsupported ${typeof v} at ${path}`);
112
- }
113
- }
114
- /** RFC 8785 canonical JSON text of a value (strict: I-JSON enforced, no undefined→null). */
115
- export function canonicalJson(value) {
116
- assertInterchangeable(value, "$");
117
- return canonicalizeEx(value, { undefinedInArrayToNull: false });
118
- }
11
+ import { DIGEST_PREFIX, canonicalJson, hasLoneSurrogate, isContractDigest, isWellFormedUnicode } from "./canonical-json.js";
12
+ export { DIGEST_PREFIX, canonicalJson, isContractDigest, isWellFormedUnicode };
119
13
  /** Content address of a contract artifact: `sha256:<hex>` over its RFC 8785 form (SPEC §13.7). */
120
14
  export function contractDigest(value) {
121
15
  return DIGEST_PREFIX + createHash("sha256").update(canonicalJson(value), "utf8").digest("hex");
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE5H,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;AAE/E,kGAAkG;AAClG,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjG,CAAC;AAED;;;;;qEAKqE;AACrE,MAAM,UAAU,SAAS,CAAC,IAAyB;IACjD,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,gBAAgB,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAC;QACnK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;0CAU0C;AAC1C,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,MAAc;IAC9D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7G,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,UAAU,sBAAsB,MAAM,gBAAgB,MAAM,EAAE,CAAC,CAAC;IACrJ,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;8DAG8D;AAC9D,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,MAAc;IAC9D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7G,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,6BAA8B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,gBAAgB,MAAM,EAAE,CAAC,CAAC;IACtH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-answer.d.ts","sourceRoot":"","sources":["../src/checkpoint-answer.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAOtC;oGACoG;AACpG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;uEACmE;IACnE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AA+BD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAU/G;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAe5C;AAED,wEAAwE;AACxE,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAO5C;AAED;;;;;;;4EAO4E;AAC5E,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAQxH"}
1
+ {"version":3,"file":"checkpoint-answer.d.ts","sourceRoot":"","sources":["../src/checkpoint-answer.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAQtC;oGACoG;AACpG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;uEACmE;IACnE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AA+BD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQ/G;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAe5C;AAED,wEAAwE;AACxE,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAO5C;AAED;;;;;;;4EAO4E;AAC5E,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAQxH"}
@@ -27,9 +27,10 @@
27
27
  * acted on the accepted answer and that stays true. It exists so a participant who changes their
28
28
  * position records the change where the original sits, and a reader of the run sees both.
29
29
  */
30
- import { createHash, randomBytes } from "node:crypto";
30
+ import { randomBytes } from "node:crypto";
31
31
  import { EpEnvelopeError } from "./endpoint-envelope.js";
32
32
  import { assertIdToken, endpointToken } from "./endpoint-subjects.js";
33
+ import { digestIdToken } from "./digest-id.js";
33
34
  import { RECORD_KINDS, createRecordEntry, recordAtomicKey } from "./endpoint-records.js";
34
35
  import { canonicalJson } from "./canonical.js";
35
36
  import { walkKvEntries } from "./kv-scan.js";
@@ -79,9 +80,7 @@ export function checkpointAnswerId(a) {
79
80
  value: a.value ?? null,
80
81
  artifact: a.artifact ?? null,
81
82
  });
82
- // base64url of the sha256, truncated to 43 chars — the same shape and alphabet the run's own
83
- // request ids use, so an answer id is a `<token>` by construction rather than by hope.
84
- return createHash("sha256").update(canonical, "utf8").digest("base64url").slice(0, 43);
83
+ return digestIdToken(canonical);
85
84
  }
86
85
  /**
87
86
  * The id an AMENDMENT is filed under: fresh for every filing, never derived from its content.
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-answer.js","sourceRoot":"","sources":["../src/checkpoint-answer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-answer.js","sourceRoot":"","sources":["../src/checkpoint-answer.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export interface ConnectorSetupAction<Input = void> {
11
11
  * provider whose action narrows `Input` past what the CLI sends would still compile. */
12
12
  readonly run: (input: Input) => Promise<string> | string;
13
13
  }
14
+ /** What a connector's install action receives. */
15
+ export interface ConnectorSetupInput {
16
+ /** The argv that runs this Cotal CLI, `[node, ...loaderFlags, entry]` by absolute path, so an asset
17
+ * the action installs can run the CLI without `cotal` on its PATH. */
18
+ readonly cotal: readonly string[];
19
+ }
14
20
  /** Inputs shared by connector-specific skills installers. The authored skills themselves use the
15
21
  * cross-vendor Agent Skills format; a provider decides how its harness consumes them. */
16
22
  export interface ConnectorSkillsSetupInput {
@@ -59,7 +65,10 @@ export interface ConnectorSetupProvider extends Extension {
59
65
  /** Native executables required to run this provider. If none are present on PATH, setup skips this
60
66
  * provider while still reconciling the cross-vendor skills drop. */
61
67
  readonly requires?: readonly string[];
62
- readonly connector?: ConnectorSetupAction;
68
+ readonly connector?: ConnectorSetupAction<ConnectorSetupInput>;
69
+ /** Brings what {@link connector} installed earlier up to this release and installs nothing new. A
70
+ * repeat `cotal setup` and `cotal update` run it, so an upgrade reaches the harness's own copy. */
71
+ readonly refresh?: ConnectorSetupAction<ConnectorSetupInput>;
63
72
  readonly skills?: ConnectorSetupAction<ConnectorSkillsSetupInput>;
64
73
  /** Shares the MCP servers the user's own harness sessions load with the agents this connector
65
74
  * spawns. First-run setup runs it; a share list the cotal config already declares is kept. */
@@ -1 +1 @@
1
- {"version":3,"file":"connector-setup.d.ts","sourceRoot":"","sources":["../src/connector-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;oGACoG;AACpG,MAAM,WAAW,oBAAoB,CAAC,KAAK,GAAG,IAAI;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;4FACwF;IACxF,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CAC1D;AAED;yFACyF;AACzF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;iGACiG;AACjG,MAAM,WAAW,wBAAwB;IACvC;2CACuC;IACvC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC;CACvD;AAED;;gDAEgD;AAChD,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;uDAEmD;IACnD,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;gCACgC;AAChC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;6BAE6B;AAC7B,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;wEACoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAClE;kGAC8F;IAC9F,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAClC;wGACoG;IACpG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,SAAS,kBAAkB,EAAE,CAAC;CAClF"}
1
+ {"version":3,"file":"connector-setup.d.ts","sourceRoot":"","sources":["../src/connector-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;oGACoG;AACpG,MAAM,WAAW,oBAAoB,CAAC,KAAK,GAAG,IAAI;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;4FACwF;IACxF,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CAC1D;AAED,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC;2EACuE;IACvE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;yFACyF;AACzF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;iGACiG;AACjG,MAAM,WAAW,wBAAwB;IACvC;2CACuC;IACvC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC;CACvD;AAED;;gDAEgD;AAChD,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;uDAEmD;IACnD,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;gCACgC;AAChC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;6BAE6B;AAC7B,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;wEACoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC/D;uGACmG;IACnG,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAClE;kGAC8F;IAC9F,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAClC;wGACoG;IACpG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,SAAS,kBAAkB,EAAE,CAAC;CAClF"}
@@ -0,0 +1,4 @@
1
+ /** An id derived from `input`: its base64url sha256, 43 characters, so it fits {@link ID} and the
2
+ * same input re-derives the same id in every module that needs it. */
3
+ export declare function digestIdToken(input: string): string;
4
+ //# sourceMappingURL=digest-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest-id.d.ts","sourceRoot":"","sources":["../src/digest-id.ts"],"names":[],"mappings":"AAEA;uEACuE;AACvE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,7 @@
1
+ import { createHash } from "node:crypto";
2
+ /** An id derived from `input`: its base64url sha256, 43 characters, so it fits {@link ID} and the
3
+ * same input re-derives the same id in every module that needs it. */
4
+ export function digestIdToken(input) {
5
+ return createHash("sha256").update(input, "utf8").digest("base64url");
6
+ }
7
+ //# sourceMappingURL=digest-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest-id.js","sourceRoot":"","sources":["../src/digest-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;uEACuE;AACvE,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-action.d.ts","sourceRoot":"","sources":["../src/endpoint-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-action.d.ts","sourceRoot":"","sources":["../src/endpoint-action.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { jetstream, jetstreamManager } from "@nats-io/jetstream";
2
2
  import { headers as natsHeaders } from "@nats-io/transport-node";
3
3
  import { canonicalJson, contractDigest } from "./canonical.js";
4
4
  import { EpEnvelopeError } from "./endpoint-envelope.js";
5
+ import { withDeadline } from "./deadline.js";
5
6
  import { epfSubject, assertIdToken, endpointToken } from "./endpoint-subjects.js";
6
7
  import { RECORD_KINDS, recordSpecKey, recordStatusKey, recordAtomicKey, createRecordEntry, updateRecordEntry, assertStatusValue, openRecordsBucket, readRecordLeader, decodeEntry } from "./endpoint-records.js";
7
8
  import { epfStreamName, epfGoalBindSubject, readLastFact, parseDecisionFact } from "./endpoint-journal.js";
@@ -119,21 +120,6 @@ function assertClosedKeys(o, allowed, what) {
119
120
  if (!allowed.includes(k))
120
121
  throw new EpEnvelopeError("internal", `${what} carries unknown field ${JSON.stringify(k)}; a closed schema admits no extras - garbled state never authorizes (SPEC 13.4)`);
121
122
  }
122
- /** Bound an executor-epoch resolver await: past the budget the caller REFUSES `unavailable`
123
- * (fail-closed, retryable) instead of hanging. Races `Promise.resolve` unconditionally so a
124
- * non-native thenable cannot bypass the deadline. */
125
- async function resolveWithBudget(p, budgetMs) {
126
- let timer;
127
- const deadline = new Promise((_, reject) => {
128
- timer = setTimeout(() => reject(new EpEnvelopeError("unavailable", `the executor-epoch resolver did not answer within ${budgetMs}ms; a stuck lifecycle authority is a bounded refusal, never a hung transition (SPEC 13.6)`)), budgetMs);
129
- });
130
- try {
131
- return await Promise.race([Promise.resolve(p), deadline]);
132
- }
133
- finally {
134
- clearTimeout(timer);
135
- }
136
- }
137
123
  function parseBind(raw, subject, goalId) {
138
124
  if (raw === null || typeof raw !== "object" || Array.isArray(raw))
139
125
  throw new EpEnvelopeError("internal", `goal-bind fact on ${subject} is not an object; garbled mediated fact state never authorizes (SPEC 13.4)`);
@@ -413,7 +399,7 @@ async function assertExecutorCurrency(spec, goalId, executor, resolveCurrentEpoc
413
399
  throw new EpEnvelopeError("failed-precondition", `goal "${goalId}" is pinned to a target lifecycle; this requires a fresh-epoch resolver (SPEC 13.6: a superseded epoch cannot commit transitions)`);
414
400
  if (executor.lifecycleUid !== spec.target.lifecycleUid)
415
401
  throw new EpEnvelopeError("expired", `goal "${goalId}" was accepted against lifecycle ${spec.target.lifecycleUid} but the executor is ${executor.lifecycleUid}; a goal is never effectful against a same-name successor (SPEC 13.6)`);
416
- const current = await resolveWithBudget(resolveCurrentEpoch(spec.target), budgetMs);
402
+ const current = await withDeadline(Promise.resolve(resolveCurrentEpoch(spec.target)), budgetMs, () => new EpEnvelopeError("unavailable", `the executor-epoch resolver did not answer within ${budgetMs}ms; a stuck lifecycle authority is a bounded refusal, never a hung transition (SPEC 13.6)`));
417
403
  if (current !== null && (typeof current !== "number" || !Number.isSafeInteger(current) || current < 0))
418
404
  throw new EpEnvelopeError("internal", `the fresh-epoch resolver returned ${JSON.stringify(current)}; a non-integer epoch never authorizes (SPEC 13.6)`);
419
405
  if (current === null)