@cotal-ai/auth 0.89.0 → 0.90.1

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 (109) 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/service.d.ts.map +1 -1
  92. package/dist/service.js +14 -5
  93. package/dist/service.js.map +1 -1
  94. package/dist/session-ledger.d.ts.map +1 -1
  95. package/dist/session-ledger.js +8 -2
  96. package/dist/session-ledger.js.map +1 -1
  97. package/dist/store.d.ts +2 -0
  98. package/dist/store.d.ts.map +1 -1
  99. package/dist/store.js +2 -0
  100. package/dist/store.js.map +1 -1
  101. package/dist/token.d.ts +11 -1
  102. package/dist/token.d.ts.map +1 -1
  103. package/dist/token.js +31 -3
  104. package/dist/token.js.map +1 -1
  105. package/dist/tool-result-prerequisites.d.ts +55 -0
  106. package/dist/tool-result-prerequisites.d.ts.map +1 -0
  107. package/dist/tool-result-prerequisites.js +352 -0
  108. package/dist/tool-result-prerequisites.js.map +1 -0
  109. 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":"AAAA,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAwC,MAAM,MAAM,CAAC;AACvG,OAAO,EACL,2BAA2B,EAAE,+BAA+B,EAAE,oBAAoB,GAEnF,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAWjD,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvD,SAAS,OAAO,KAAY,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC,CAAC,CAAC;AAErH,6GAA6G;AAC7G,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,GAAe,EAAE,MAAc,EAAE,MAA4B;IAC1G,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,UAAU,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;IACjD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,2BAA2B;QAChG,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;SACxH,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC;SAC5E,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;SAChF,WAAW,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClF,IAAI,GAAG,IAAI,UAAU,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IAC3H,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0HAA0H;AAC1H,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAAa,EAAE,IAEhE;IACC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI;QAAE,OAAO,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,GAAG,KAAK,mBAAmB,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;eAC7F,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9H,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAAsB,EAAE;YACtE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,mBAAmB;SAC1G,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACrG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QACvH,MAAM,OAAO,GAAG,+BAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,CAAC;QACrF,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK;eACxF,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;eAChH,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;eACpG,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,mBAAmB,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;eAC9G,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,2BAA2B,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,2BAA2B,GAAG,mBAAmB;eAChI,OAAO,CAAC,aAAa,KAAK,oBAAoB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,aAAa,KAAK,oBAAoB,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACpI,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -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":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/dist/service.js CHANGED
@@ -147,6 +147,11 @@ const MANAGER_PIN_REMEDY = {
147
147
  agent: "name one with --manager-instance <instanceId>",
148
148
  wire: "name one as managerInstanceId",
149
149
  };
150
+ /** An unpinned manager-caller selection that found no single live manager. It is raised only after
151
+ * the exchange's credential verified, and it describes the caller's own owner, so it is not probing:
152
+ * the exchange arms neither count it against the refused-exchange budget nor hide it behind 429. */
153
+ class ManagerSelectionRefusal extends Error {
154
+ }
150
155
  /** Package-internal policy step for the hosted retirement requester. The HTTP production door calls
151
156
  * this after deriving the owner and manager actors; broker-free smokes exercise the same decision. */
152
157
  export function authorizeRemoteManagerRetirement(args) {
@@ -564,12 +569,12 @@ async function buildAuthAuthorityPlane(opts, unwind, onConnection) {
564
569
  if (remoteLive.length === 1)
565
570
  return remoteLive[0];
566
571
  if (remoteLive.length > 1)
567
- throw new Error(`manager-caller selection found ${remoteLive.length} live remote manager candidates for owner ${owner} (${remoteLive.join(", ")}); exactly one is required, so ${MANAGER_PIN_REMEDY[caller ?? "wire"]}`);
572
+ throw new ManagerSelectionRefusal(`manager-caller selection found ${remoteLive.length} live remote manager candidates for owner ${owner} (${remoteLive.join(", ")}); exactly one is required, so ${MANAGER_PIN_REMEDY[caller ?? "wire"]}`);
568
573
  if (remoteInstances.length > 0)
569
- throw new Error(`the remote manager for owner ${owner} is unavailable (${remoteInstances.length} gate${remoteInstances.length === 1 ? "" : "s"}, none live); start one with \`cotal supervise\` and retry, as this call is never routed to the local manager`);
574
+ throw new ManagerSelectionRefusal(`the remote manager for owner ${owner} is unavailable (${remoteInstances.length} gate${remoteInstances.length === 1 ? "" : "s"}, none live); start one with \`cotal supervise\` and retry, as this call is never routed to the local manager`);
570
575
  if (localCandidate !== undefined)
571
576
  return localCandidate;
572
- throw new Error(`manager-caller selection found no manager candidate for owner ${owner}`);
577
+ throw new ManagerSelectionRefusal(`manager-caller selection found no manager candidate for owner ${owner}`);
573
578
  };
574
579
  // Every authority operation refuses once the plane is fenced: a half-dead plane keeps NO face up.
575
580
  // AUDIENCE SPLIT (ux): these refusals reach a CONNECTING AGENT during the brief fence→exit
@@ -2594,9 +2599,11 @@ async function handleExchange(req, res, ctx, policy) {
2594
2599
  return send(res, 200, { token, owner, exp, ...(selectedManagerInstanceId ? { managerInstanceId: selectedManagerInstanceId } : {}) });
2595
2600
  }
2596
2601
  catch (e) {
2597
- policy.recordFailure(ctx, peer);
2598
2602
  const reason = e instanceof Error ? e.message : String(e);
2599
2603
  console.error(`auth-service: refused an agent exchange: ${reason}`);
2604
+ if (e instanceof ManagerSelectionRefusal)
2605
+ return send(res, 401, { error: reason });
2606
+ policy.recordFailure(ctx, peer);
2600
2607
  if (peerThrottled)
2601
2608
  return send(res, 429, { error: "too many refused exchanges - wait a minute and retry" });
2602
2609
  return send(res, 401, { error: reason });
@@ -2629,9 +2636,11 @@ async function handleExchange(req, res, ctx, policy) {
2629
2636
  catch (e) {
2630
2637
  // A refused exchange (bad IdP token, ungranted actor, expired proof) is an AUTHENTICATED
2631
2638
  // denial with the reason — the client shows it to the operator verbatim.
2632
- policy.recordFailure(ctx, peer);
2633
2639
  const reason = e instanceof Error ? e.message : String(e);
2634
2640
  console.error(`auth-service: refused an exchange: ${reason}`);
2641
+ if (e instanceof ManagerSelectionRefusal)
2642
+ return send(res, 401, { error: reason });
2643
+ policy.recordFailure(ctx, peer);
2635
2644
  if (peerThrottled)
2636
2645
  return send(res, 429, { error: "too many refused exchanges - wait a minute and retry" });
2637
2646
  return send(res, 401, { error: reason });