@cotal-ai/auth 0.89.0 → 0.90.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 (106) hide show
  1. package/README.md +11 -0
  2. package/dist/authority-client.d.ts +8 -1
  3. package/dist/authority-client.d.ts.map +1 -1
  4. package/dist/authority-client.js +11 -9
  5. package/dist/authority-client.js.map +1 -1
  6. package/dist/callout.d.ts +3 -0
  7. package/dist/callout.d.ts.map +1 -1
  8. package/dist/callout.js +24 -2
  9. package/dist/callout.js.map +1 -1
  10. package/dist/connect-reader.d.ts +7 -0
  11. package/dist/connect-reader.d.ts.map +1 -1
  12. package/dist/connect-reader.js +16 -1
  13. package/dist/connect-reader.js.map +1 -1
  14. package/dist/credential-ledger.d.ts.map +1 -1
  15. package/dist/credential-ledger.js +7 -1
  16. package/dist/credential-ledger.js.map +1 -1
  17. package/dist/idp.d.ts.map +1 -1
  18. package/dist/idp.js +2 -0
  19. package/dist/idp.js.map +1 -1
  20. package/dist/index.d.ts +5 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +4 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/issuer.d.ts +11 -0
  25. package/dist/issuer.d.ts.map +1 -1
  26. package/dist/issuer.js +29 -1
  27. package/dist/issuer.js.map +1 -1
  28. package/dist/lifecycle-registry.d.ts +6 -0
  29. package/dist/lifecycle-registry.d.ts.map +1 -1
  30. package/dist/lifecycle-registry.js +13 -1
  31. package/dist/lifecycle-registry.js.map +1 -1
  32. package/dist/native-issuance.d.ts +13 -1
  33. package/dist/native-issuance.d.ts.map +1 -1
  34. package/dist/native-issuance.js +76 -10
  35. package/dist/native-issuance.js.map +1 -1
  36. package/dist/native-service-callout.d.ts +38 -0
  37. package/dist/native-service-callout.d.ts.map +1 -0
  38. package/dist/native-service-callout.js +71 -0
  39. package/dist/native-service-callout.js.map +1 -0
  40. package/dist/native-service-gate.d.ts +72 -0
  41. package/dist/native-service-gate.d.ts.map +1 -0
  42. package/dist/native-service-gate.js +219 -0
  43. package/dist/native-service-gate.js.map +1 -0
  44. package/dist/native-service-name.d.ts +17 -0
  45. package/dist/native-service-name.d.ts.map +1 -0
  46. package/dist/native-service-name.js +77 -0
  47. package/dist/native-service-name.js.map +1 -0
  48. package/dist/permissions.js +2 -0
  49. package/dist/permissions.js.map +1 -1
  50. package/dist/plane-claim.d.ts +8 -0
  51. package/dist/plane-claim.d.ts.map +1 -1
  52. package/dist/plane-claim.js +11 -1
  53. package/dist/plane-claim.js.map +1 -1
  54. package/dist/provider.d.ts.map +1 -1
  55. package/dist/provider.js +48 -4
  56. package/dist/provider.js.map +1 -1
  57. package/dist/retirement-barrier.d.ts.map +1 -1
  58. package/dist/retirement-barrier.js +2 -1
  59. package/dist/retirement-barrier.js.map +1 -1
  60. package/dist/root-credential.d.ts.map +1 -1
  61. package/dist/root-credential.js +2 -1
  62. package/dist/root-credential.js.map +1 -1
  63. package/dist/service-authority-client.d.ts +19 -0
  64. package/dist/service-authority-client.d.ts.map +1 -0
  65. package/dist/service-authority-client.js +152 -0
  66. package/dist/service-authority-client.js.map +1 -0
  67. package/dist/service-caller-policy.d.ts +32 -0
  68. package/dist/service-caller-policy.d.ts.map +1 -0
  69. package/dist/service-caller-policy.js +218 -0
  70. package/dist/service-caller-policy.js.map +1 -0
  71. package/dist/service-custody-shapes.d.ts +109 -0
  72. package/dist/service-custody-shapes.d.ts.map +1 -0
  73. package/dist/service-custody-shapes.js +138 -0
  74. package/dist/service-custody-shapes.js.map +1 -0
  75. package/dist/service-custody.d.ts +96 -0
  76. package/dist/service-custody.d.ts.map +1 -0
  77. package/dist/service-custody.js +667 -0
  78. package/dist/service-custody.js.map +1 -0
  79. package/dist/service-host-contract.d.ts +312 -0
  80. package/dist/service-host-contract.d.ts.map +1 -0
  81. package/dist/service-host-contract.js +176 -0
  82. package/dist/service-host-contract.js.map +1 -0
  83. package/dist/service-renewal.d.ts +23 -0
  84. package/dist/service-renewal.d.ts.map +1 -0
  85. package/dist/service-renewal.js +51 -0
  86. package/dist/service-renewal.js.map +1 -0
  87. package/dist/service-root-reader.d.ts +16 -0
  88. package/dist/service-root-reader.d.ts.map +1 -0
  89. package/dist/service-root-reader.js +93 -0
  90. package/dist/service-root-reader.js.map +1 -0
  91. package/dist/session-ledger.d.ts.map +1 -1
  92. package/dist/session-ledger.js +8 -2
  93. package/dist/session-ledger.js.map +1 -1
  94. package/dist/store.d.ts +2 -0
  95. package/dist/store.d.ts.map +1 -1
  96. package/dist/store.js +2 -0
  97. package/dist/store.js.map +1 -1
  98. package/dist/token.d.ts +11 -1
  99. package/dist/token.d.ts.map +1 -1
  100. package/dist/token.js +31 -3
  101. package/dist/token.js.map +1 -1
  102. package/dist/tool-result-prerequisites.d.ts +55 -0
  103. package/dist/tool-result-prerequisites.d.ts.map +1 -0
  104. package/dist/tool-result-prerequisites.js +352 -0
  105. package/dist/tool-result-prerequisites.js.map +1 -0
  106. package/package.json +7 -4
@@ -1 +1 @@
1
- {"version":3,"file":"retirement-barrier.js","sourceRoot":"","sources":["../src/retirement-barrier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retirement-barrier.js","sourceRoot":"","sources":["../src/retirement-barrier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"root-credential.d.ts","sourceRoot":"","sources":["../src/root-credential.ts"],"names":[],"mappings":"AAmCA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAUjC;;;;yFAIyF;AACzF,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAe/D;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GACxG,OAAO,CAAC,MAAM,CAAC,CA+CjB"}
1
+ {"version":3,"file":"root-credential.d.ts","sourceRoot":"","sources":["../src/root-credential.ts"],"names":[],"mappings":"AAmCA,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAUjC;;;;yFAIyF;AACzF,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAe/D;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GACxG,OAAO,CAAC,MAAM,CAAC,CAgDjB"}
@@ -33,7 +33,7 @@
33
33
  * never-exported row). Rotation of the incarnation's root remains exclusively a barrier's job.
34
34
  */
35
35
  import { EpEnvelopeError, mintLifecycleUid } from "@cotal-ai/core";
36
- import { activateLifecycleAtUid, readLifecycleHeadForOperation, registryStores, setCurrentRootCredential, } from "./lifecycle-registry.js";
36
+ import { assertOrdinaryRegistryMutation, activateLifecycleAtUid, readLifecycleHeadForOperation, registryStores, setCurrentRootCredential, } from "./lifecycle-registry.js";
37
37
  import { credRowKey, finalizeAgentMint, markLedgerRowRevoked, parseLedgerRow, stageAgentMint, } from "./credential-ledger.js";
38
38
  /** Root-credential row lifetime (ms — ledger-row `exp` rides milliseconds). LONG by design: a
39
39
  * root credential lives with its incarnation, and its ROTATION is a family-revoke barrier
@@ -66,6 +66,7 @@ async function readCredRow(reg, lifecycleUid, credentialId) {
66
66
  * - any garbled trusted-path state.
67
67
  */
68
68
  export async function ensureRootCredential(reg, args) {
69
+ await assertOrdinaryRegistryMutation(reg, args);
69
70
  const now = args.now ?? Date.now;
70
71
  const { owner, actor, lifecycleUid } = args;
71
72
  const holder = `${owner}.${actor}`;
@@ -1 +1 @@
1
- {"version":3,"file":"root-credential.js","sourceRoot":"","sources":["../src/root-credential.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"root-credential.js","sourceRoot":"","sources":["../src/root-credential.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type ServiceAuthorityEnvelope, type ServiceAuthorityInfo, type ServiceAuthorityResult, type ServiceAuthorityRequest } from "@cotal-ai/core";
2
+ export interface ServiceAuthorityCallOptions {
3
+ timeoutMs?: number;
4
+ signal?: AbortSignal;
5
+ }
6
+ interface ServiceAuthorityBudget {
7
+ signal: AbortSignal;
8
+ check(): void;
9
+ remainingMs(): number;
10
+ }
11
+ /** One original local deadline covers preparation, fetch, body and response validation. */
12
+ export declare function withServiceAuthorityBudget<T>(operation: ServiceAuthorityRequest["operation"], options: ServiceAuthorityCallOptions, work: (budget: ServiceAuthorityBudget) => Promise<T>, startedAt?: number): Promise<T>;
13
+ export declare function assertServiceViewFreshness(result: ServiceAuthorityResult, startedAt: number): void;
14
+ /** Derive the protocol's fixed sibling from the protected exchange base. */
15
+ export declare function serviceAuthorityUrl(base: string): string;
16
+ export declare function readRemoteServiceAuthorityInfo(base: string, space: string): Promise<ServiceAuthorityInfo>;
17
+ export declare function postRemoteServiceAuthority(base: string, raw: ServiceAuthorityEnvelope, options?: ServiceAuthorityCallOptions): Promise<ServiceAuthorityResult>;
18
+ export {};
19
+ //# sourceMappingURL=service-authority-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-authority-client.d.ts","sourceRoot":"","sources":["../src/service-authority-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,KAAK,uBAAuB,EACpH,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,2BAA2B;IAAG,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE;AACzF,UAAU,sBAAsB;IAAG,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC;IAAC,WAAW,IAAI,MAAM,CAAA;CAAE;AAG9F,2FAA2F;AAC3F,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,2BAA2B,EACvI,IAAI,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,SAAoB,GAAG,OAAO,CAAC,CAAC,CAAC,CA4BjG;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAGlG;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUxD;AAuCD,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAQ/G;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,wBAAwB,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8BxK"}
@@ -0,0 +1,152 @@
1
+ import { SERVICE_AUTHORITY_MAX_BYTES, SERVICE_DESCRIBE_QUERY_BUDGET_MS, ServiceAuthorityTransportError, parseServiceAuthorityEnvelope, parseServiceAuthorityInfo, parseServiceAuthorityResult, } from "@cotal-ai/core";
2
+ import { assertPinnedFetchUrl } from "@cotal-ai/workspace";
3
+ const isMutation = (operation) => operation !== "status" && operation !== "describe-view";
4
+ /** One original local deadline covers preparation, fetch, body and response validation. */
5
+ export async function withServiceAuthorityBudget(operation, options, work, startedAt = performance.now()) {
6
+ const signal = options.signal;
7
+ const cap = operation === "describe-view" ? SERVICE_DESCRIBE_QUERY_BUDGET_MS : 30_000;
8
+ const requested = options.timeoutMs ?? cap;
9
+ if (typeof requested !== "number" || !Number.isFinite(requested) || requested <= 0)
10
+ throw new Error("service authority budget must be a positive finite duration");
11
+ const deadline = startedAt + Math.min(cap, requested), controller = new AbortController();
12
+ const failure = () => new ServiceAuthorityTransportError("service authority deadline expired or request was cancelled", isMutation(operation) ? "unknown" : "not-executed");
13
+ const abort = () => controller.abort();
14
+ const timer = setTimeout(abort, Math.max(1, Math.ceil(deadline - performance.now())));
15
+ timer.unref();
16
+ signal?.addEventListener("abort", abort, { once: true });
17
+ if (signal?.aborted)
18
+ abort();
19
+ let rejectOnAbort;
20
+ const aborted = new Promise((_, reject) => {
21
+ rejectOnAbort = () => reject(failure());
22
+ controller.signal.addEventListener("abort", rejectOnAbort, { once: true });
23
+ if (controller.signal.aborted)
24
+ rejectOnAbort();
25
+ });
26
+ const budget = { signal: controller.signal,
27
+ remainingMs: () => Math.max(0, deadline - performance.now()),
28
+ check: () => { if (controller.signal.aborted || performance.now() >= deadline)
29
+ throw failure(); },
30
+ };
31
+ try {
32
+ return await Promise.race([Promise.resolve().then(async () => { budget.check(); const result = await work(budget); budget.check(); return result; }), aborted]);
33
+ }
34
+ finally {
35
+ clearTimeout(timer);
36
+ signal?.removeEventListener("abort", abort);
37
+ controller.signal.removeEventListener("abort", rejectOnAbort);
38
+ }
39
+ }
40
+ export function assertServiceViewFreshness(result, startedAt) {
41
+ if (result.state === "view" && result.validForMs <= performance.now() - startedAt)
42
+ throw new ServiceAuthorityTransportError("service Describe view expired during the full query roundtrip", "not-executed");
43
+ }
44
+ /** Derive the protocol's fixed sibling from the protected exchange base. */
45
+ export function serviceAuthorityUrl(base) {
46
+ let url;
47
+ try {
48
+ url = new URL(base);
49
+ }
50
+ catch {
51
+ throw new Error("service authority requires a valid pinned exchange URL");
52
+ }
53
+ if (url.username || url.password)
54
+ throw new Error("service authority URL must not carry user credentials");
55
+ const refusal = assertPinnedFetchUrl(url, "service authority");
56
+ if (refusal)
57
+ throw new Error(refusal);
58
+ url.pathname = `${url.pathname.replace(/\/$/, "")}/service-endpoint-authority`;
59
+ url.search = "";
60
+ url.hash = "";
61
+ return url.toString();
62
+ }
63
+ async function readBoundedJson(response) {
64
+ if (!response.body)
65
+ throw new Error("empty authority response");
66
+ const reader = response.body.getReader();
67
+ const parts = [];
68
+ let length = 0;
69
+ try {
70
+ for (;;) {
71
+ const { done, value } = await reader.read();
72
+ if (done)
73
+ break;
74
+ length += value.byteLength;
75
+ if (length > SERVICE_AUTHORITY_MAX_BYTES)
76
+ throw new Error("authority response exceeds its byte limit");
77
+ parts.push(value);
78
+ }
79
+ const bytes = new Uint8Array(length);
80
+ let offset = 0;
81
+ for (const part of parts) {
82
+ bytes.set(part, offset);
83
+ offset += part.byteLength;
84
+ }
85
+ return JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
86
+ }
87
+ finally {
88
+ await reader.cancel().catch(() => { });
89
+ reader.releaseLock();
90
+ }
91
+ }
92
+ async function send(url, init, mutation) {
93
+ let response;
94
+ try {
95
+ response = await fetch(url, { ...init, redirect: "manual", signal: init.signal ?? AbortSignal.timeout(30_000) });
96
+ }
97
+ catch {
98
+ throw new ServiceAuthorityTransportError("service authority did not return a response; retain the existing request identity", mutation ? "unknown" : "not-executed");
99
+ }
100
+ if (response.status >= 300 && response.status < 400) {
101
+ await response.body?.cancel().catch(() => { });
102
+ throw new ServiceAuthorityTransportError("service authority redirects are refused", mutation ? "unknown" : "not-executed", response.status);
103
+ }
104
+ return response;
105
+ }
106
+ export async function readRemoteServiceAuthorityInfo(base, space) {
107
+ const response = await send(serviceAuthorityUrl(base), { method: "GET", headers: { "cache-control": "no-store" } }, false);
108
+ if (!response.ok) {
109
+ await response.body?.cancel().catch(() => { });
110
+ throw new ServiceAuthorityTransportError("service authority account metadata request failed", "not-executed", response.status);
111
+ }
112
+ try {
113
+ return parseServiceAuthorityInfo(await readBoundedJson(response), space);
114
+ }
115
+ catch {
116
+ throw new ServiceAuthorityTransportError("service authority returned invalid account metadata", "not-executed", response.status);
117
+ }
118
+ }
119
+ export async function postRemoteServiceAuthority(base, raw, options = {}) {
120
+ const startedAt = performance.now();
121
+ const envelope = parseServiceAuthorityEnvelope(raw);
122
+ const url = serviceAuthorityUrl(base);
123
+ return withServiceAuthorityBudget(envelope.request.operation, options, async (budget) => {
124
+ const mutation = isMutation(envelope.request.operation);
125
+ const response = await send(url, {
126
+ method: "POST", headers: { "content-type": "application/json", "cache-control": "no-store" }, body: JSON.stringify(envelope), signal: budget.signal,
127
+ }, mutation);
128
+ if (response.status >= 500) {
129
+ await response.body?.cancel().catch(() => { });
130
+ throw new ServiceAuthorityTransportError("service authority HTTP failure leaves the request unconfirmed; retain the existing request identity", mutation ? "unknown" : "not-executed", response.status);
131
+ }
132
+ if (envelope.request.operation === "describe-view" && !(response.headers.get("cache-control") ?? "").split(",").some((p) => p.trim().toLowerCase() === "no-store")) {
133
+ await response.body?.cancel().catch(() => { });
134
+ throw new ServiceAuthorityTransportError("service Describe response must forbid storage", "not-executed", response.status);
135
+ }
136
+ let result;
137
+ try {
138
+ result = parseServiceAuthorityResult(await readBoundedJson(response), envelope.request);
139
+ }
140
+ catch {
141
+ throw new ServiceAuthorityTransportError("service authority returned an unconfirmed response; retain the existing request identity", mutation ? "unknown" : "not-executed", response.status);
142
+ }
143
+ if (!response.ok && result.state !== "denied")
144
+ throw new ServiceAuthorityTransportError("service authority HTTP status disagrees with its result", mutation ? "unknown" : "not-executed", response.status);
145
+ if (result.state === "approval-required" && result.approvalUrl !== undefined && new URL(result.approvalUrl).origin !== new URL(url).origin)
146
+ throw new ServiceAuthorityTransportError("service approval URL leaves the pinned authority origin", mutation ? "unknown" : "not-executed", response.status);
147
+ budget.check();
148
+ assertServiceViewFreshness(result, startedAt);
149
+ return result;
150
+ }, startedAt);
151
+ }
152
+ //# sourceMappingURL=service-authority-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-authority-client.js","sourceRoot":"","sources":["../src/service-authority-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { type ServicePrincipal } from "@cotal-ai/core";
2
+ import { type LifecycleRegistry } from "./lifecycle-registry.js";
3
+ import type { ServiceCallerGrant } from "./service-host-contract.js";
4
+ export interface ServiceCallerPolicyBinding {
5
+ accountPublicKey: string;
6
+ space: string;
7
+ grantee: ServicePrincipal;
8
+ }
9
+ export interface NativeServiceCallerPolicy extends ServiceCallerPolicyBinding {
10
+ v: 1;
11
+ grants: ServiceCallerGrant[];
12
+ }
13
+ export interface NativeServiceCallerPolicyRead {
14
+ row: NativeServiceCallerPolicy;
15
+ revision: number;
16
+ }
17
+ /** Stored syntax only. Eligibility, ancestry and native capability containment are host checks. */
18
+ export declare function parseNativeServiceCallerPolicy(raw: unknown): NativeServiceCallerPolicy;
19
+ /** Internal leader-served read. Deleted or corrupt records are not an absent/empty policy. */
20
+ export declare function readNativeServiceCallerPolicy(reg: LifecycleRegistry, binding: ServiceCallerPolicyBinding): Promise<NativeServiceCallerPolicyRead | undefined>;
21
+ /** Storage commit only, after trusted host eligibility checks. Never replaces an existing grant. */
22
+ export declare function appendNativeServiceCallerGrant(reg: LifecycleRegistry, binding: ServiceCallerPolicyBinding, args: {
23
+ expectedRevision: number;
24
+ grant: ServiceCallerGrant;
25
+ }): Promise<NativeServiceCallerPolicyRead>;
26
+ /** Monotonic deny-new intent only. Cutoff, descendant invalidation and live retirement remain host work. */
27
+ export declare function beginNativeServiceCallerRevocation(reg: LifecycleRegistry, binding: ServiceCallerPolicyBinding, args: {
28
+ expectedRevision: number;
29
+ grantId: string;
30
+ operationId: string;
31
+ }): Promise<NativeServiceCallerPolicyRead>;
32
+ //# sourceMappingURL=service-caller-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-caller-policy.d.ts","sourceRoot":"","sources":["../src/service-caller-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAGmC,KAAK,gBAAgB,EAC9D,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAA4E,MAAM,4BAA4B,CAAC;AAE/I,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AACD,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,CAAC,EAAE,CAAC,CAAC;IACL,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AACD,MAAM,WAAW,6BAA6B;IAAG,GAAG,EAAE,yBAAyB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAuFnG,mGAAmG;AACnG,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,yBAAyB,CAYtF;AAQD,8FAA8F;AAC9F,wBAAsB,6BAA6B,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,GAAG,SAAS,CAAC,CAQnK;AA0BD,oGAAoG;AACpG,wBAAsB,8BAA8B,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE;IACtH,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAC;CACrD,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAgBzC;AAED,4GAA4G;AAC5G,wBAAsB,kCAAkC,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE;IAC1H,gBAAgB,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;CAChE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAezC"}
@@ -0,0 +1,218 @@
1
+ import { EpEnvelopeError, SERVICE_AUTHORITY_MAX_BYTES, assertBoundedOwner, assertDerivedOwnerToken, assertLifecycleToken, canonicalJson, endpointToken, isAccountNkey, isCasLoss, isContractDigest, parseEndpointCapabilities, spacePrefix, } from "@cotal-ai/core";
2
+ import { registryStores } from "./lifecycle-registry.js";
3
+ const enc = new TextEncoder(), dec = new TextDecoder("utf-8", { fatal: true });
4
+ const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
5
+ function bad() { throw new EpEnvelopeError("bad-request", "invalid native service caller policy"); }
6
+ function conflict(message) { throw new EpEnvelopeError("conflict", message); }
7
+ function object(raw, fields) {
8
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
9
+ bad();
10
+ const proto = Object.getPrototypeOf(raw);
11
+ if (proto !== Object.prototype && proto !== null)
12
+ bad();
13
+ if (fields.some((k) => !Object.hasOwn(raw, k)) || Reflect.ownKeys(raw).some((k) => typeof k !== "string" || !fields.includes(k)))
14
+ bad();
15
+ return raw;
16
+ }
17
+ function id(raw) {
18
+ if (typeof raw !== "string" || !/^[0-9a-f]{32}$/.test(raw))
19
+ bad();
20
+ return raw;
21
+ }
22
+ function uint(raw, positive = false) {
23
+ if (typeof raw !== "number" || !Number.isSafeInteger(raw) || raw < (positive ? 1 : 0))
24
+ bad();
25
+ return raw;
26
+ }
27
+ function digest(raw) { if (typeof raw !== "string" || !isContractDigest(raw))
28
+ bad(); return raw; }
29
+ function lifecycle(raw) { if (typeof raw !== "string")
30
+ bad(); return assertLifecycleToken(raw, "policy lifecycle"); }
31
+ function principal(raw) {
32
+ const o = object(raw, ["owner", "actor", "lifecycleUid"]);
33
+ if (typeof o.owner !== "string" || typeof o.actor !== "string")
34
+ bad();
35
+ return { owner: assertDerivedOwnerToken(o.owner), actor: assertBoundedOwner(o.actor, "policy actor"), lifecycleUid: lifecycle(o.lifecycleUid) };
36
+ }
37
+ function refs(raw) {
38
+ if (!Array.isArray(raw) || raw.length === 0)
39
+ bad();
40
+ const seen = new Set();
41
+ const result = raw.map((r) => {
42
+ const o = object(r, ["granteeUid", "grantId"]), ref = { granteeUid: lifecycle(o.granteeUid), grantId: id(o.grantId) };
43
+ const key = canonicalJson(ref);
44
+ if (seen.has(key))
45
+ bad();
46
+ seen.add(key);
47
+ return ref;
48
+ });
49
+ return result.sort((a, b) => compare(canonicalJson(a), canonicalJson(b)));
50
+ }
51
+ function source(raw) {
52
+ const kind = raw && typeof raw === "object" ? raw.kind : undefined;
53
+ if (kind === "service-owner") {
54
+ const o = object(raw, ["kind", "owner", "approvalDigest", "nameAuthorityRevision"]);
55
+ if (typeof o.owner !== "string")
56
+ bad();
57
+ return { kind, owner: assertDerivedOwnerToken(o.owner), approvalDigest: digest(o.approvalDigest), nameAuthorityRevision: uint(o.nameAuthorityRevision, true) };
58
+ }
59
+ if (kind === "delegated") {
60
+ const o = object(raw, ["kind", "principal", "grants"]), holder = principal(o.principal), grants = refs(o.grants);
61
+ if (grants.some((g) => g.granteeUid !== holder.lifecycleUid))
62
+ bad();
63
+ return { kind, principal: holder, grants };
64
+ }
65
+ return bad();
66
+ }
67
+ function state(raw) {
68
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
69
+ bad();
70
+ const s = raw;
71
+ if (s.state === "active") {
72
+ object(s, ["state"]);
73
+ return { state: "active" };
74
+ }
75
+ if (s.state === "revoking" && s.phase === "cutoff-required") {
76
+ object(s, ["state", "operationId", "phase"]);
77
+ return { state: "revoking", operationId: id(s.operationId), phase: "cutoff-required" };
78
+ }
79
+ if (s.state === "revoking") {
80
+ object(s, ["state", "operationId", "markerKey", "markerRevision", "notBefore"]);
81
+ if (typeof s.markerKey !== "string" || !/^[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)*$/.test(s.markerKey) || s.markerKey.length > 512)
82
+ bad();
83
+ return { state: "revoking", operationId: id(s.operationId), markerKey: s.markerKey,
84
+ markerRevision: uint(s.markerRevision, true), notBefore: uint(s.notBefore, true) };
85
+ }
86
+ if (s.state === "revoked") {
87
+ object(s, ["state", "operationId", "verifiedAt"]);
88
+ return { state: "revoked", operationId: id(s.operationId), verifiedAt: uint(s.verifiedAt, true) };
89
+ }
90
+ return bad();
91
+ }
92
+ function grant(raw) {
93
+ const o = object(raw, ["grantId", "endpoint", "instanceId", "serviceApprovalDigest", "capabilities", "source", "parentRefs", "status"]);
94
+ if (typeof o.endpoint !== "string" || !Array.isArray(o.parentRefs))
95
+ bad();
96
+ endpointToken(o.endpoint);
97
+ const seen = new Set();
98
+ const parents = o.parentRefs.map((p) => {
99
+ const ref = object(p, ["principal", "grants"]), holder = principal(ref.principal), grants = refs(ref.grants);
100
+ if (seen.has(holder.lifecycleUid) || grants.some((g) => g.granteeUid !== holder.lifecycleUid))
101
+ bad();
102
+ seen.add(holder.lifecycleUid);
103
+ return { principal: holder, grants };
104
+ });
105
+ parents.sort((a, b) => compare(a.principal.lifecycleUid, b.principal.lifecycleUid));
106
+ const capabilities = parseEndpointCapabilities(o.capabilities), provenance = source(o.source), approvalDigest = digest(o.serviceApprovalDigest);
107
+ if (capabilities.some((c) => c.endpoint !== o.endpoint) || (provenance.kind === "service-owner" && provenance.approvalDigest !== approvalDigest))
108
+ bad();
109
+ return { grantId: id(o.grantId), endpoint: o.endpoint, instanceId: lifecycle(o.instanceId), serviceApprovalDigest: approvalDigest,
110
+ capabilities, source: provenance, parentRefs: parents, status: state(o.status) };
111
+ }
112
+ /** Stored syntax only. Eligibility, ancestry and native capability containment are host checks. */
113
+ export function parseNativeServiceCallerPolicy(raw) {
114
+ const o = object(raw, ["v", "accountPublicKey", "space", "grantee", "grants"]);
115
+ if (o.v !== 1 || typeof o.accountPublicKey !== "string" || !isAccountNkey(o.accountPublicKey)
116
+ || typeof o.space !== "string" || !Array.isArray(o.grants))
117
+ bad();
118
+ spacePrefix(o.space);
119
+ if (Buffer.byteLength(canonicalJson(o), "utf8") > SERVICE_AUTHORITY_MAX_BYTES)
120
+ throw new EpEnvelopeError("resource-exhausted", "native service caller policy exceeds its byte bound");
121
+ const grantee = principal(o.grantee), seen = new Set();
122
+ const grants = o.grants.map((g) => {
123
+ const parsed = grant(g);
124
+ if (seen.has(parsed.grantId))
125
+ bad();
126
+ seen.add(parsed.grantId);
127
+ return parsed;
128
+ });
129
+ return { v: 1, accountPublicKey: o.accountPublicKey, space: o.space, grantee, grants };
130
+ }
131
+ function context(reg, binding) {
132
+ const stores = registryStores(reg);
133
+ const expected = parseNativeServiceCallerPolicy({ v: 1, ...binding, grants: [] });
134
+ if (stores.space !== expected.space)
135
+ throw new EpEnvelopeError("permission-denied", "caller policy belongs to another registry space");
136
+ return { kv: stores.authKv, key: `servicepolicy.${expected.grantee.lifecycleUid}`, expected };
137
+ }
138
+ /** Internal leader-served read. Deleted or corrupt records are not an absent/empty policy. */
139
+ export async function readNativeServiceCallerPolicy(reg, binding) {
140
+ const { kv, key, expected } = context(reg, binding), entry = await kv.get(key);
141
+ if (!entry)
142
+ return undefined;
143
+ if (entry.operation !== "PUT")
144
+ throw new EpEnvelopeError("failed-precondition", "native caller policy carries a deletion marker");
145
+ const row = parseNativeServiceCallerPolicy(JSON.parse(dec.decode(entry.value)));
146
+ if (row.accountPublicKey !== expected.accountPublicKey || row.space !== expected.space || canonicalJson(row.grantee) !== canonicalJson(expected.grantee))
147
+ conflict("native caller policy belongs to another immutable grantee binding");
148
+ return { row, revision: entry.revision };
149
+ }
150
+ async function write(reg, binding, row, revision) {
151
+ const { kv, key } = context(reg, binding), parsed = parseNativeServiceCallerPolicy(row), bytes = enc.encode(canonicalJson(parsed));
152
+ try {
153
+ return { row: parsed, revision: revision === 0 ? await kv.put(key, bytes, { previousSeq: 0 }) : await kv.update(key, bytes, revision) };
154
+ }
155
+ catch (error) {
156
+ if (isCasLoss(error))
157
+ conflict("native caller policy changed; re-read before another mutation");
158
+ throw new EpEnvelopeError("unavailable", "native caller policy write outcome is unknown; retain the operation identity");
159
+ }
160
+ }
161
+ const byteSize = (value) => Buffer.byteLength(canonicalJson(value), "utf8");
162
+ // Exact closed status syntax bounds. Reserve for all grants simultaneously, not just the
163
+ // newly appended grant or the first cutoff intent. No cap increase or old-row rewriting.
164
+ const maxStatusBytes = Math.max(...[
165
+ { state: "active" },
166
+ { state: "revoking", operationId: "f".repeat(32), phase: "cutoff-required" },
167
+ { state: "revoking", operationId: "f".repeat(32), markerKey: "m".repeat(512),
168
+ markerRevision: Number.MAX_SAFE_INTEGER, notBefore: Number.MAX_SAFE_INTEGER },
169
+ { state: "revoked", operationId: "f".repeat(32), verifiedAt: Number.MAX_SAFE_INTEGER },
170
+ ].map(byteSize));
171
+ function assertRevocationHeadroom(row) {
172
+ const worstBytes = byteSize(row) + row.grants.reduce((sum, g) => sum + Math.max(0, maxStatusBytes - byteSize(g.status)), 0);
173
+ if (worstBytes > SERVICE_AUTHORITY_MAX_BYTES)
174
+ throw new EpEnvelopeError("resource-exhausted", "native service caller policy lacks all-grant revocation status headroom");
175
+ }
176
+ /** Storage commit only, after trusted host eligibility checks. Never replaces an existing grant. */
177
+ export async function appendNativeServiceCallerGrant(reg, binding, args) {
178
+ const revision = uint(args.expectedRevision);
179
+ const { accountPublicKey, space, grantee } = context(reg, binding).expected;
180
+ binding = { accountPublicKey, space, grantee };
181
+ const candidate = parseNativeServiceCallerPolicy({ v: 1, ...binding, grants: [args.grant] }).grants[0];
182
+ if (candidate.status.state !== "active")
183
+ bad();
184
+ const found = await readNativeServiceCallerPolicy(reg, binding), existing = found?.row.grants.find((g) => g.grantId === candidate.grantId);
185
+ if (existing) {
186
+ if (canonicalJson(existing) !== canonicalJson(candidate))
187
+ conflict("grant id is immutable and cannot be rebound or reactivated");
188
+ return found;
189
+ }
190
+ if ((found?.revision ?? 0) !== revision)
191
+ conflict("native caller policy revision changed");
192
+ const row = found?.row ?? context(reg, binding).expected;
193
+ const next = { ...row, grants: [...row.grants, candidate] };
194
+ assertRevocationHeadroom(next);
195
+ return write(reg, binding, next, revision);
196
+ }
197
+ /** Monotonic deny-new intent only. Cutoff, descendant invalidation and live retirement remain host work. */
198
+ export async function beginNativeServiceCallerRevocation(reg, binding, args) {
199
+ const revision = uint(args.expectedRevision), grantId = id(args.grantId), operationId = id(args.operationId);
200
+ const { accountPublicKey, space, grantee } = context(reg, binding).expected;
201
+ binding = { accountPublicKey, space, grantee };
202
+ const found = await readNativeServiceCallerPolicy(reg, binding);
203
+ if (!found)
204
+ throw new EpEnvelopeError("not-found", "native caller policy is absent");
205
+ const existing = found.row.grants.find((g) => g.grantId === grantId);
206
+ if (!existing)
207
+ throw new EpEnvelopeError("not-found", "native caller grant is absent");
208
+ if (existing.status.state !== "active") {
209
+ if (existing.status.operationId !== operationId)
210
+ conflict("caller grant is already bound to another revocation operation");
211
+ return found;
212
+ }
213
+ if (found.revision !== revision)
214
+ conflict("native caller policy revision changed");
215
+ return write(reg, binding, { ...found.row, grants: found.row.grants.map((g) => g.grantId === grantId
216
+ ? { ...g, status: { state: "revoking", operationId, phase: "cutoff-required" } } : g) }, found.revision);
217
+ }
218
+ //# sourceMappingURL=service-caller-policy.js.map