@cotal-ai/auth 0.88.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 +8 -1
  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 +15 -0
  25. package/dist/issuer.d.ts.map +1 -1
  26. package/dist/issuer.js +35 -2
  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
@@ -0,0 +1,51 @@
1
+ import { SignJWT, decodeProtectedHeader, jwtVerify } from "jose";
2
+ import { SERVICE_RENEWAL_TTL_SECONDS, parseServiceRegistrationWitness, serviceWitnessDigest, } from "@cotal-ai/core";
3
+ import { CLOCK_TOLERANCE_SEC, SERVICE_RENEWAL_TYP } from "./token.js";
4
+ export { SERVICE_RENEWAL_TYP } from "./token.js";
5
+ const nowSeconds = () => Math.floor(Date.now() / 1000);
6
+ function invalid() { throw new Error("service renewal proof is invalid or does not bind this registration"); }
7
+ /** Trusted issuer primitive only. The host must establish current approval/root authority before signing. */
8
+ export async function issueServiceRenewalProof(key, issuer, claims) {
9
+ const witness = parseServiceRegistrationWitness(claims.witness);
10
+ const now = nowSeconds(), exp = claims.expiresAt;
11
+ if (!issuer || !Number.isSafeInteger(exp) || exp <= now || exp > now + SERVICE_RENEWAL_TTL_SECONDS)
12
+ throw new Error("service renewal proof requires a future fixed expiry within its lifetime cap");
13
+ const proof = await new SignJWT({ ver: 1, kind: "service-renewal", witness, witnessDigest: serviceWitnessDigest(witness) })
14
+ .setProtectedHeader({ alg: "EdDSA", kid: key.kid, typ: SERVICE_RENEWAL_TYP })
15
+ .setIssuer(issuer).setAudience(witness.space).setSubject(witness.principal.owner)
16
+ .setIssuedAt(now).setNotBefore(now).setExpirationTime(exp).sign(key.privateKey);
17
+ if (exp <= nowSeconds())
18
+ throw new Error("service renewal proof expired before release; its fixed expiry is not extended");
19
+ return proof;
20
+ }
21
+ /** Signature/registration validation only. Current native approval, root and operation eligibility remain host checks. */
22
+ export async function validateServiceRenewalProof(token, opts) {
23
+ if (typeof token !== "string" || token.length > 64 * 1024)
24
+ invalid();
25
+ const expected = parseServiceRegistrationWitness(opts.witness);
26
+ try {
27
+ const header = decodeProtectedHeader(token);
28
+ if (header.typ !== SERVICE_RENEWAL_TYP || header.alg !== "EdDSA" || typeof header.kid !== "string"
29
+ || !header.kid || header.kid.length > 256 || Object.keys(header).some((k) => !["alg", "kid", "typ"].includes(k)))
30
+ invalid();
31
+ const { payload } = await jwtVerify(token, opts.key, {
32
+ algorithms: ["EdDSA"], issuer: opts.issuer, audience: expected.space, clockTolerance: CLOCK_TOLERANCE_SEC,
33
+ });
34
+ const fields = ["iss", "aud", "sub", "iat", "nbf", "exp", "ver", "kind", "witness", "witnessDigest"];
35
+ if (fields.some((k) => !Object.hasOwn(payload, k)) || Object.keys(payload).some((k) => !fields.includes(k)))
36
+ invalid();
37
+ const witness = parseServiceRegistrationWitness(payload.witness), now = nowSeconds();
38
+ if (payload.ver !== 1 || payload.kind !== "service-renewal" || payload.aud !== expected.space
39
+ || payload.sub !== witness.principal.owner || typeof payload.iat !== "number" || !Number.isSafeInteger(payload.iat)
40
+ || typeof payload.exp !== "number" || !Number.isSafeInteger(payload.exp) || payload.nbf !== payload.iat
41
+ || payload.iat < 0 || payload.iat > now + CLOCK_TOLERANCE_SEC || payload.exp <= now || payload.exp <= payload.iat
42
+ || payload.exp - payload.iat > SERVICE_RENEWAL_TTL_SECONDS || payload.exp > now + SERVICE_RENEWAL_TTL_SECONDS + CLOCK_TOLERANCE_SEC
43
+ || payload.witnessDigest !== serviceWitnessDigest(witness) || payload.witnessDigest !== serviceWitnessDigest(expected))
44
+ invalid();
45
+ return { witness, issuedAt: payload.iat, expiresAt: payload.exp };
46
+ }
47
+ catch {
48
+ return invalid();
49
+ }
50
+ }
51
+ //# sourceMappingURL=service-renewal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-renewal.js","sourceRoot":"","sources":["../src/service-renewal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type ConnectReader } from "./connect-reader.js";
2
+ import { type LifecycleRegistry } from "./lifecycle-registry.js";
3
+ import type { ServiceAssignmentBinding } from "./native-service-gate.js";
4
+ interface Proof {
5
+ expiresAt: number;
6
+ uidRevision: number;
7
+ headRevision: number;
8
+ gateRevision: number;
9
+ rootRevision: number;
10
+ }
11
+ /** Read-only proof through the trusted registry, for approval/activation. Snapshot input before await. */
12
+ export declare function readRegistryServiceRoot(reg: LifecycleRegistry, expected: ServiceAssignmentBinding, rootCredentialId: string, nowMs: number): Promise<Proof>;
13
+ /** Same exact proof through the sealed read-only connect connection, not ordinary connect auth. */
14
+ export declare function readConnectServiceRoot(reader: ConnectReader, expected: ServiceAssignmentBinding, rootCredentialId: string, nowMs: number): Promise<Proof>;
15
+ export {};
16
+ //# sourceMappingURL=service-root-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-root-reader.d.ts","sourceRoot":"","sources":["../src/service-root-reader.ts"],"names":[],"mappings":"AAOA,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAgBzE,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AA2DD,0GAA0G;AAC1G,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,wBAAwB,EACtG,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAEzD;AAED,mGAAmG;AACnG,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EACpG,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAEzD"}
@@ -0,0 +1,93 @@
1
+ import { EpEnvelopeError, assertLifecycleToken, canonicalJson, epAuthBucket, lifecycleHeadKey, parseNativeUidCustody, readRecordLeader, serviceEndpointActor, uidReservationKey, } from "@cotal-ai/core";
2
+ import { serviceConnectReaderStores } from "./connect-reader.js";
3
+ import { registryStores } from "./lifecycle-registry.js";
4
+ import { GATE_FIELDS, HEAD_FIELDS, ROOT_FIELDS, assertMirror, closedRecord } from "./service-custody-shapes.js";
5
+ const enc = new TextEncoder();
6
+ const dec = new TextDecoder("utf-8", { fatal: true });
7
+ function deny(detail) {
8
+ throw new EpEnvelopeError("permission-denied", `service native root ${detail}`);
9
+ }
10
+ const invalidClosed = () => deny("has an invalid closed record");
11
+ function closed(value, fields) {
12
+ return closedRecord(value, fields, invalidClosed);
13
+ }
14
+ function mirror(value, digest) {
15
+ assertMirror(value, digest, () => deny("custody mirror is missing or mismatched"), invalidClosed);
16
+ }
17
+ async function authRecord(jsm, space, key) {
18
+ const bucket = epAuthBucket(space);
19
+ let message;
20
+ try {
21
+ message = await jsm.streams.getMessage(`KV_${bucket}`, { last_by_subj: `$KV.${bucket}.${key}` });
22
+ }
23
+ catch (error) {
24
+ if (error.code === 10037)
25
+ return deny(`has no durable ${key}`);
26
+ throw error;
27
+ }
28
+ if (!message || message.header?.get("KV-Operation"))
29
+ return deny(`has absent or deleted ${key}`);
30
+ let value;
31
+ try {
32
+ value = JSON.parse(dec.decode(message.data));
33
+ }
34
+ catch {
35
+ return deny(`has malformed ${key}`);
36
+ }
37
+ return { value, revision: message.seq };
38
+ }
39
+ /** Internal parser/read core is never exported and cannot be called with a structural transport.
40
+ * The two entrypoints below obtain primary leader connections only from existing WeakMap seals.
41
+ * Expected account is trusted host assignment configuration, checked against full UID custody;
42
+ * it is not inferred from bearer claims or a caller-supplied stand-in store. */
43
+ async function proof(stores, binding, rootCredentialId, nowMs) {
44
+ if (stores.space !== binding.space)
45
+ deny("belongs to another sealed store space");
46
+ const uid = assertLifecycleToken(binding.lifecycleUid), rootId = assertLifecycleToken(rootCredentialId);
47
+ const actor = serviceEndpointActor(binding), { space, jsm } = stores;
48
+ if (!Number.isSafeInteger(nowMs) || nowMs < 0)
49
+ deny("requires a valid service clock");
50
+ const reservation = await readRecordLeader(jsm, space, uidReservationKey(uid));
51
+ if (!reservation)
52
+ return deny("has no immutable custody reservation");
53
+ const custody = parseNativeUidCustody(enc.encode(canonicalJson(reservation.value)), uid);
54
+ if (custody.kind !== "service")
55
+ return deny("requires service custody, not an ordinary reservation");
56
+ const { native, assignment } = custody.uid, digest = custody.uidDigest;
57
+ if (native.accountPublicKey !== binding.accountPublicKey || native.space !== space || native.lifecycleUid !== uid
58
+ || assignment.owner !== binding.owner || assignment.actor !== actor || assignment.endpoint !== binding.endpoint
59
+ || assignment.instanceId !== binding.instanceId || assignment.duty !== "serve" || digest !== binding.assignmentDigest)
60
+ deny("does not bind the immutable account/UID/assignment digest");
61
+ const headEntry = await readRecordLeader(jsm, space, lifecycleHeadKey(binding.owner, actor));
62
+ if (!headEntry)
63
+ return deny("is not current: head absent");
64
+ const head = closed(headEntry.value, HEAD_FIELDS.active);
65
+ mirror(head.serviceCustody, digest);
66
+ if (head.owner !== binding.owner || head.actor !== actor || head.lifecycleUid !== uid
67
+ || head.managerInstance !== assignment.instanceId || head.processEpoch !== 1
68
+ || head.state !== "active" || head.currentCredentialId !== rootId)
69
+ deny("is not current at the exact active service head");
70
+ const gateEntry = await authRecord(jsm, space, `gate.${uid}`);
71
+ const gate = closed(gateEntry.value, GATE_FIELDS.open);
72
+ mirror(gate.serviceCustody, digest);
73
+ if (gate.lifecycleUid !== uid || gate.state !== "open" || gate.generation !== 1)
74
+ deny("native issuance gate is not open at generation1");
75
+ const rootEntry = await authRecord(jsm, space, `cred.${uid}.${rootId}`);
76
+ const root = closed(rootEntry.value, ROOT_FIELDS);
77
+ mirror(root.serviceCustody, digest);
78
+ if (root.credentialId !== rootId || root.lifecycleUid !== uid || root.holderPrincipal !== `${binding.owner}.${actor}`
79
+ || !Array.isArray(root.sourceChain) || root.sourceChain.length !== 1 || root.sourceChain[0] !== "root"
80
+ || root.state !== "active" || typeof root.exp !== "number" || !Number.isSafeInteger(root.exp) || root.exp <= nowMs)
81
+ deny("credential is not live, exact-holder and root-sourced");
82
+ return { expiresAt: Math.floor(root.exp / 1000), uidRevision: reservation.revision, headRevision: headEntry.revision,
83
+ gateRevision: gateEntry.revision, rootRevision: rootEntry.revision };
84
+ }
85
+ /** Read-only proof through the trusted registry, for approval/activation. Snapshot input before await. */
86
+ export async function readRegistryServiceRoot(reg, expected, rootCredentialId, nowMs) {
87
+ return proof(registryStores(reg), { ...expected }, rootCredentialId, nowMs);
88
+ }
89
+ /** Same exact proof through the sealed read-only connect connection, not ordinary connect auth. */
90
+ export async function readConnectServiceRoot(reader, expected, rootCredentialId, nowMs) {
91
+ return proof(serviceConnectReaderStores(reader), { ...expected }, rootCredentialId, nowMs);
92
+ }
93
+ //# sourceMappingURL=service-root-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-root-reader.js","sourceRoot":"","sources":["../src/service-root-reader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-ledger.d.ts","sourceRoot":"","sources":["../src/session-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-ledger.d.ts","sourceRoot":"","sources":["../src/session-ledger.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Kvm } from "@nats-io/kv";
2
2
  import { jetstreamManager } from "@nats-io/jetstream";
3
3
  import { SignJWT } from "jose";
4
4
  import { EpEnvelopeError, epAuthBucket, epsSubject, endpointToken, parsePrincipalKey, isPrincipalOwnerToken, epgateKey, parseEndpointGate, serveIssuanceGateKv, sessionLedgerKey, assertSessionStateTransition, sweepSessionRow, SESSION_TERMINAL_STATES, } from "@cotal-ai/core";
5
- import { observeGate, registryStores, readLifecycleMappingLeader, } from "./lifecycle-registry.js";
5
+ import { observeGate, registryStores, assertOrdinaryRegistryMutation, readLifecycleMappingLeader, } from "./lifecycle-registry.js";
6
6
  import { createRowByteIdempotent, markLedgerRowRevoked, parseLedgerRow, } from "./credential-ledger.js";
7
7
  import { assertScannerSpace } from "./ledger-scanner.js";
8
8
  const enc = new TextEncoder();
@@ -212,7 +212,9 @@ export async function writeEndpointGate(kv, endpoint, instanceId, gate) {
212
212
  await kv.put(epgateKey(endpoint, instanceId), enc.encode(JSON.stringify(gate)));
213
213
  }
214
214
  /** Observe the serving instance's endpoint gate (candidate read feeding the pinned touch). A
215
- * DEL/PURGE marker refuses loudly — a gate is never deleted (corruption, not absence). */
215
+ * DEL/PURGE marker refuses loudly — a gate is never deleted (corruption, not absence). A native
216
+ * service gate is never a session serving gate: its issuance runs only through the service
217
+ * callout, so both this observation and stagePair's fresh read refuse it before any pin or row. */
216
218
  async function observeEndpointGate(kv, endpoint, instanceId, what) {
217
219
  const key = epgateKey(endpoint, instanceId);
218
220
  const entry = await kv.get(key);
@@ -221,6 +223,8 @@ async function observeEndpointGate(kv, endpoint, instanceId, what) {
221
223
  if (entry.operation !== "PUT")
222
224
  throw new EpEnvelopeError("failed-precondition", `the endpoint gate ${key} carries a ${entry.operation} marker; a gate is never deleted (corruption, not absence, SPEC 13.12)`);
223
225
  const gate = parseEndpointGate(entry.value, key);
226
+ if (gate.authorityFamily === "service")
227
+ throw new EpEnvelopeError("permission-denied", `${what}'s endpoint gate ${key} belongs to a native service; a session never serves on a service gate (SPEC 13.6)`);
224
228
  if (gate.state !== "open")
225
229
  throw new EpEnvelopeError("permission-denied", `${what}'s endpoint issuance gate is "${gate.state}"; only an open gate mints (a frozen gate is a barrier in flight, a retired one is terminal, SPEC 13.1)`);
226
230
  return { pin: { key, revision: entry.revision }, gate };
@@ -454,6 +458,8 @@ export function sessionRedemptionHooks(deps) {
454
458
  const entry = await kv.get(key);
455
459
  if (!entry)
456
460
  return; // a dead (never-staged) id re-revokes successfully
461
+ if (key.startsWith("cred."))
462
+ await assertOrdinaryRegistryMutation(registry, { lifecycleUid: key.split(".")[1] });
457
463
  await markLedgerRowRevoked(kv, key);
458
464
  },
459
465
  ...(now ? { now } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"session-ledger.js","sourceRoot":"","sources":["../src/session-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-ledger.js","sourceRoot":"","sources":["../src/session-ledger.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -13,6 +13,8 @@ export declare const AUTH_PROVIDER_NAME: "cotal";
13
13
  * segment is workspace's ONE guarded encoder (`spaceSegment`, shared with `userAuthStateDir`):
14
14
  * a `.`/`..`/empty space is refused before any key or path exists, on both surfaces. */
15
15
  export declare const authCalloutKey: (space: string) => string;
16
+ /** Host-written client projection. Reading it never loads the callout account signing material. */
17
+ export declare const authClientSentinelKey: (space: string) => string;
16
18
  export declare const authIssuerKey: (space: string) => string;
17
19
  export declare const authOwnerSecretKey: (space: string) => string;
18
20
  export declare const authServiceKeysKey: (space: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -47,6 +47,8 @@ export const AUTH_PROVIDER_NAME = "cotal";
47
47
  * segment is workspace's ONE guarded encoder (`spaceSegment`, shared with `userAuthStateDir`):
48
48
  * a `.`/`..`/empty space is refused before any key or path exists, on both surfaces. */
49
49
  export const authCalloutKey = (space) => `auth/${spaceSegment(space)}/callout.json`;
50
+ /** Host-written client projection. Reading it never loads the callout account signing material. */
51
+ export const authClientSentinelKey = (space) => `auth/${spaceSegment(space)}/client-sentinel.creds`;
50
52
  export const authIssuerKey = (space) => `auth/${spaceSegment(space)}/issuer.json`;
51
53
  export const authOwnerSecretKey = (space) => `auth/${spaceSegment(space)}/owner-secret.json`;
52
54
  export const authServiceKeysKey = (space) => `auth/${spaceSegment(space)}/service-keys.json`;
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/token.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import type { CryptoKey, JWTVerifyGetKey } from "jose";
2
+ import { type ServiceRegistrationWitness } from "@cotal-ai/core";
2
3
  /** Current normative token-shape version. Bump only with a SPEC change; validators reject
3
4
  * anything else (older = downgrade, newer = from-the-future misconfig). */
4
5
  export declare const USER_TOKEN_VER = 1;
6
+ /** A renewal proof is a distinct JWT class, never a user/connect bearer. */
7
+ export declare const SERVICE_RENEWAL_TYP = "cotal-service-renewal+jwt";
5
8
  /** Default cap on `exp - iat`. 15 minutes: long enough for connect + retries, short enough that
6
9
  * re-mint is the working revocation path. */
7
10
  export declare const MAX_TOKEN_TTL_SEC = 900;
@@ -16,7 +19,7 @@ export declare const CLOCK_TOLERANCE_SEC = 5;
16
19
  * instead of `agent`. A closed enum on BOTH the mint and validate side — an unknown view fails
17
20
  * closed, never falls back to a profile. Deliberately NOT a generic `view=<profile>` passthrough:
18
21
  * most profiles are daemon/provisioning surfaces that must never become human-requestable. */
19
- export declare const USER_TOKEN_VIEWS: readonly ["admin", "purger", "channel-purger", "channel-writer", "deployer", "manager-service", "manager-caller", "session-caller", "transfer-writer"];
22
+ export declare const USER_TOKEN_VIEWS: readonly ["admin", "purger", "channel-purger", "channel-writer", "deployer", "manager-service", "manager-caller", "session-caller", "transfer-writer", "service-endpoint"];
20
23
  export type UserTokenView = (typeof USER_TOKEN_VIEWS)[number];
21
24
  /** Views the public exchange face will mint (still ledger-gated). Every other
22
25
  * {@link USER_TOKEN_VIEWS} value stays loopback-only. An actor-secret exchange may request
@@ -46,6 +49,11 @@ export interface UserTokenSession {
46
49
  epoch: number;
47
50
  exp: number;
48
51
  }
52
+ /** Exact service registration carried by a serve-only access bearer. */
53
+ export interface UserTokenService {
54
+ duty: "serve";
55
+ witness: ServiceRegistrationWitness;
56
+ }
49
57
  /** The server-authored actor claim. `owner` restates `sub` (cross-checked); `actor` is the
50
58
  * ledger-derived agent-instance id; `parent` is at most ONE spawner audit link; `view` is the
51
59
  * exchange-authorized elevated profile request (absent = the agent profile). */
@@ -73,6 +81,8 @@ export interface UserTokenActor {
73
81
  session?: UserTokenSession;
74
82
  /** The one object a transfer-writer bearer may upload (#1499). */
75
83
  transferWriter?: UserTokenTransferWriter;
84
+ /** Service-only registration binding, never an ordinary agent profile. */
85
+ service?: UserTokenService;
76
86
  }
77
87
  /** A fully validated user token, reduced to what the callout needs. */
78
88
  export interface ValidatedUserToken {
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
package/dist/token.js CHANGED
@@ -18,10 +18,12 @@
18
18
  * token would quietly disable it).
19
19
  */
20
20
  import { decodeProtectedHeader, jwtVerify } from "jose";
21
- import { assertDerivedOwnerToken, assertLifecycleToken, assertValidOwnerToken, credentialLifetime } from "@cotal-ai/core";
21
+ import { assertDerivedOwnerToken, assertLifecycleToken, assertValidOwnerToken, credentialLifetime, SERVICE_ACCESS_TTL_SECONDS, parseServiceRegistrationWitness } from "@cotal-ai/core";
22
22
  /** Current normative token-shape version. Bump only with a SPEC change; validators reject
23
23
  * anything else (older = downgrade, newer = from-the-future misconfig). */
24
24
  export const USER_TOKEN_VER = 1;
25
+ /** A renewal proof is a distinct JWT class, never a user/connect bearer. */
26
+ export const SERVICE_RENEWAL_TYP = "cotal-service-renewal+jwt";
25
27
  /** Default cap on `exp - iat`. 15 minutes: long enough for connect + retries, short enough that
26
28
  * re-mint is the working revocation path. */
27
29
  export const MAX_TOKEN_TTL_SEC = 900;
@@ -36,7 +38,7 @@ export const CLOCK_TOLERANCE_SEC = 5;
36
38
  * instead of `agent`. A closed enum on BOTH the mint and validate side — an unknown view fails
37
39
  * closed, never falls back to a profile. Deliberately NOT a generic `view=<profile>` passthrough:
38
40
  * most profiles are daemon/provisioning surfaces that must never become human-requestable. */
39
- export const USER_TOKEN_VIEWS = ["admin", "purger", "channel-purger", "channel-writer", "deployer", "manager-service", "manager-caller", "session-caller", "transfer-writer"];
41
+ export const USER_TOKEN_VIEWS = ["admin", "purger", "channel-purger", "channel-writer", "deployer", "manager-service", "manager-caller", "session-caller", "transfer-writer", "service-endpoint"];
40
42
  /** Views the public exchange face will mint (still ledger-gated). Every other
41
43
  * {@link USER_TOKEN_VIEWS} value stays loopback-only. An actor-secret exchange may request
42
44
  * only manager-caller, which narrows its existing command authority to one instance. */
@@ -60,11 +62,14 @@ export const VIEW_REQUIRED_SCOPE = {
60
62
  // #1499: the bytes a carried resume uploads are announced by `transcript-receive`, a
61
63
  // `manager.admin` row, so writing them needs the same scope.
62
64
  "transfer-writer": "admin",
65
+ "service-endpoint": undefined, // dedicated service authority only, never ordinary exchange
63
66
  };
64
67
  /** The longest a bearer of `view` may live. A transfer-writer bearer is the user-mode form of the
65
68
  * one-shot `transfer-writer` credential, so it carries that profile's five minutes, and so does the
66
69
  * broker credential the callout binds to the bearer's expiry. */
67
70
  export function viewTtlCapSec(view) {
71
+ if (view === "service-endpoint")
72
+ return SERVICE_ACCESS_TTL_SECONDS;
68
73
  return view === "transfer-writer" ? credentialLifetime("transfer-writer").defaultTtlSeconds : MAX_TOKEN_TTL_SEC;
69
74
  }
70
75
  /** A KV-safe key segment: the ledger's `cred.` key alphabet. Kept local to the validator (not
@@ -112,6 +117,8 @@ export function assertTransferWriterClaim(v) {
112
117
  * connection). */
113
118
  export async function validateUserToken(token, opts) {
114
119
  const header = decodeProtectedHeader(token);
120
+ if (header.typ === SERVICE_RENEWAL_TYP)
121
+ throw new Error("user token: a service renewal proof is not a connect bearer");
115
122
  if (header.jku !== undefined || header.jwk !== undefined || header.x5u !== undefined || header.x5c !== undefined)
116
123
  throw new Error("user token: embedded key material (jku/jwk/x5u/x5c) is rejected - keys resolve only via the pinned JWKS");
117
124
  if (header.alg !== "EdDSA")
@@ -211,6 +218,27 @@ export async function validateUserToken(token, opts) {
211
218
  // present claim is a well-formed, KV-safe id, so no garbled id reaches that read.
212
219
  if (act.credentialId !== undefined)
213
220
  assertCredentialIdClaim(act.credentialId);
221
+ if ((act.view === "service-endpoint") !== (act.service !== undefined))
222
+ throw new Error("user token: service-endpoint view and service claim must occur together");
223
+ let service;
224
+ if (act.view === "service-endpoint") {
225
+ const closed = (value, fields) => value !== null && typeof value === "object" && !Array.isArray(value)
226
+ && fields.every((k) => Object.hasOwn(value, k)) && Object.keys(value).every((k) => fields.includes(k));
227
+ if (!closed(header, ["alg", "kid"]) || typeof header.kid !== "string" || !header.kid || header.kid.length > 256
228
+ || !closed(payload, ["iss", "aud", "sub", "iat", "nbf", "exp", "scope", "ver", "act"])
229
+ || !closed(act, ["owner", "actor", "scope", "lifecycleUid", "credentialId", "view", "service"])
230
+ || !closed(act.service, ["duty", "witness"]) || act.service.duty !== "serve"
231
+ || !Array.isArray(payload.scope) || payload.scope.length !== 0 || !Array.isArray(act.scope) || act.scope.length !== 0
232
+ || payload.aud !== opts.audience || !Number.isSafeInteger(payload.iat) || !Number.isSafeInteger(payload.exp)
233
+ || payload.iat < 0 || payload.nbf !== payload.iat || payload.exp <= payload.iat
234
+ || payload.exp <= Math.floor(Date.now() / 1000))
235
+ throw new Error("user token: invalid closed service access claims");
236
+ const witness = parseServiceRegistrationWitness(act.service.witness);
237
+ if (witness.space !== opts.audience || witness.principal.owner !== owner || witness.principal.actor !== act.actor
238
+ || witness.principal.lifecycleUid !== act.lifecycleUid || witness.rootCredentialId !== act.credentialId)
239
+ throw new Error("user token: service witness does not bind the bearer principal and root");
240
+ service = { duty: "serve", witness };
241
+ }
214
242
  const scope = payload.scope === undefined ? [] : payload.scope;
215
243
  if (!(Array.isArray(scope) && scope.every((s) => typeof s === "string")))
216
244
  throw new Error("user token: scope must be a string list when present");
@@ -218,7 +246,7 @@ export async function validateUserToken(token, opts) {
218
246
  owner,
219
247
  space: opts.audience,
220
248
  scope,
221
- act: { owner: act.owner, actor: act.actor, scope: act.scope, parent: act.parent, lifecycleUid: act.lifecycleUid, credentialId: act.credentialId, view: act.view, managerInstanceId: act.managerInstanceId, ...(act.session ? { session: act.session } : {}), ...(act.transferWriter ? { transferWriter: act.transferWriter } : {}) },
249
+ act: { owner: act.owner, actor: act.actor, scope: act.scope, parent: act.parent, lifecycleUid: act.lifecycleUid, credentialId: act.credentialId, view: act.view, managerInstanceId: act.managerInstanceId, ...(act.session ? { session: act.session } : {}), ...(act.transferWriter ? { transferWriter: act.transferWriter } : {}), ...(service ? { service } : {}) },
222
250
  credentialId: act.credentialId,
223
251
  ver: USER_TOKEN_VER,
224
252
  exp: payload.exp,