@cotal-ai/auth 0.78.1 → 0.81.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 (42) hide show
  1. package/dist/authority-client.d.ts +11 -0
  2. package/dist/authority-client.d.ts.map +1 -1
  3. package/dist/authority-client.js +22 -0
  4. package/dist/authority-client.js.map +1 -1
  5. package/dist/barrier-evict.d.ts +3 -0
  6. package/dist/barrier-evict.d.ts.map +1 -1
  7. package/dist/barrier-evict.js +1 -1
  8. package/dist/barrier-evict.js.map +1 -1
  9. package/dist/commands.js +6 -4
  10. package/dist/commands.js.map +1 -1
  11. package/dist/delivery-admin.d.ts.map +1 -1
  12. package/dist/delivery-admin.js +2 -9
  13. package/dist/delivery-admin.js.map +1 -1
  14. package/dist/environment-manager-admission-index.d.ts +29 -0
  15. package/dist/environment-manager-admission-index.d.ts.map +1 -0
  16. package/dist/environment-manager-admission-index.js +100 -0
  17. package/dist/environment-manager-admission-index.js.map +1 -0
  18. package/dist/environment-manager-admission.d.ts +15 -0
  19. package/dist/environment-manager-admission.d.ts.map +1 -0
  20. package/dist/environment-manager-admission.js +100 -0
  21. package/dist/environment-manager-admission.js.map +1 -0
  22. package/dist/environment-manager-bootstrap-mint.d.ts +24 -0
  23. package/dist/environment-manager-bootstrap-mint.d.ts.map +1 -0
  24. package/dist/environment-manager-bootstrap-mint.js +92 -0
  25. package/dist/environment-manager-bootstrap-mint.js.map +1 -0
  26. package/dist/ledger-scanner.d.ts.map +1 -1
  27. package/dist/ledger-scanner.js +2 -7
  28. package/dist/ledger-scanner.js.map +1 -1
  29. package/dist/manager-authority.d.ts.map +1 -1
  30. package/dist/manager-authority.js +44 -48
  31. package/dist/manager-authority.js.map +1 -1
  32. package/dist/records-scanner.d.ts.map +1 -1
  33. package/dist/records-scanner.js +2 -6
  34. package/dist/records-scanner.js.map +1 -1
  35. package/dist/service.d.ts.map +1 -1
  36. package/dist/service.js +49 -35
  37. package/dist/service.js.map +1 -1
  38. package/dist/store.d.ts +4 -1
  39. package/dist/store.d.ts.map +1 -1
  40. package/dist/store.js +10 -0
  41. package/dist/store.js.map +1 -1
  42. package/package.json +4 -4
@@ -0,0 +1,100 @@
1
+ import { assertDerivedOwnerToken, assertLifecycleToken, endpointRegistrationBarrier, endpointToken, environmentBootstrapActor, EpEnvelopeError, isCasLoss, provisionEndpointGateOpen, remoteManagerActors, serveIssuanceGateKv, } from "@cotal-ai/core";
2
+ import { activateLifecycleAtUid, registryStores } from "./lifecycle-registry.js";
3
+ /** Stage the native registration reservation under the host's original operation. The caller must
4
+ * have validated the external admission and required host policies before reaching this step. */
5
+ export async function stageEnvironmentManagerAdmission(reg, input) {
6
+ const pin = structuredClone(input);
7
+ assertDerivedOwnerToken(pin.owner);
8
+ for (const field of ["instanceId", "lifecycleUid", "authorityInstanceId", "operationId"])
9
+ assertLifecycleToken(pin[field], field);
10
+ endpointToken(pin.authorityEndpoint);
11
+ const fields = ["owner", "instanceId", "lifecycleUid", "authorityEndpoint", "authorityInstanceId",
12
+ "expiresAt", "environmentId", "admissionRevision", "operationId"];
13
+ if (Object.keys(pin).some(key => !fields.includes(key)) || !/^[0-9a-f]{64}$/.test(pin.environmentId) ||
14
+ !Number.isSafeInteger(pin.admissionRevision) || pin.admissionRevision < 1 ||
15
+ !Number.isSafeInteger(pin.expiresAt) || pin.expiresAt <= Math.floor(Date.now() / 1000))
16
+ throw new EpEnvelopeError("failed-precondition", "environment manager admission coordinates are invalid or expired");
17
+ const { space, authKv } = registryStores(reg);
18
+ const principal = `${pin.owner}.${remoteManagerActors(pin.instanceId).serve}`;
19
+ const gate = serveIssuanceGateKv(authKv, space, { endpoint: "manager", instanceId: pin.instanceId });
20
+ const eligible = async () => {
21
+ const observed = await gate.observe();
22
+ if (observed && (observed.authorityFamily !== "environment-manager" || observed.principal !== principal))
23
+ throw new EpEnvelopeError("permission-denied", "environment admission cannot adopt an ordinary or foreign manager instance");
24
+ if (observed && (observed.state === "retired" || observed.registrationRevision !== 0 ||
25
+ (observed.state === "frozen" && (observed.op.kind !== "registration" || observed.op.opId !== pin.operationId))))
26
+ throw new EpEnvelopeError("conflict", "environment admission cannot adopt a completed or foreign registration operation");
27
+ return observed;
28
+ };
29
+ await eligible();
30
+ const key = `stage.${pin.operationId}.environment-manager`;
31
+ // Explicit ordering makes a same-input retry byte-identical regardless of input property order.
32
+ const bytes = new TextEncoder().encode(JSON.stringify({
33
+ v: 1, kind: "environment-manager-admission", space,
34
+ owner: pin.owner, environmentId: pin.environmentId, admissionRevision: pin.admissionRevision,
35
+ instanceId: pin.instanceId, lifecycleUid: pin.lifecycleUid, authorityEndpoint: pin.authorityEndpoint,
36
+ authorityInstanceId: pin.authorityInstanceId, expiresAt: pin.expiresAt, operationId: pin.operationId,
37
+ }));
38
+ try {
39
+ // KV.create can resurrect a tombstone. An operation never acquires a second binding.
40
+ await authKv.put(key, bytes, { previousSeq: 0 });
41
+ }
42
+ catch (error) {
43
+ if (!isCasLoss(error))
44
+ throw new EpEnvelopeError("unavailable", "environment admission staging outcome is unknown");
45
+ const existing = await authKv.get(key);
46
+ if (!existing || existing.operation !== "PUT" || Buffer.compare(existing.value, bytes) !== 0)
47
+ throw new EpEnvelopeError("conflict", "environment admission operation has foreign content or a deletion marker");
48
+ }
49
+ await activateLifecycleAtUid(reg, { owner: pin.owner, actor: environmentBootstrapActor(pin.instanceId),
50
+ lifecycleUid: pin.lifecycleUid, managerInstance: pin.instanceId });
51
+ if (await eligible() === null)
52
+ await provisionEndpointGateOpen(authKv, { endpoint: "manager", instanceId: pin.instanceId,
53
+ principal, authorityFamily: "environment-manager" });
54
+ // An abort may preserve every counter; its changed KV revision is the durable distinction.
55
+ const birthKey = `stage.${pin.operationId}.environment-manager-gate`;
56
+ let birth = await authKv.get(birthKey);
57
+ if (!birth) {
58
+ const opened = await eligible();
59
+ if (opened?.state === "open" && opened.generation === 0) {
60
+ const value = JSON.stringify({ instanceId: pin.instanceId, principal, openRevision: opened.revision });
61
+ try {
62
+ await authKv.put(birthKey, value, { previousSeq: 0 });
63
+ }
64
+ catch (error) {
65
+ if (!isCasLoss(error))
66
+ throw new EpEnvelopeError("unavailable", "environment manager initial gate reservation outcome is unknown");
67
+ }
68
+ }
69
+ birth = await authKv.get(birthKey);
70
+ }
71
+ if (!birth || birth.operation !== "PUT")
72
+ throw new EpEnvelopeError("failed-precondition", "environment manager initial gate reservation is absent or deleted");
73
+ let initial;
74
+ try {
75
+ initial = birth.json();
76
+ }
77
+ catch {
78
+ throw new EpEnvelopeError("failed-precondition", "environment manager initial gate reservation is not JSON");
79
+ }
80
+ const row = initial;
81
+ if (!row || typeof row !== "object" || Object.keys(row).length !== 3 || row.instanceId !== pin.instanceId ||
82
+ row.principal !== principal || !Number.isSafeInteger(row.openRevision) || Number(row.openRevision) < 1)
83
+ throw new EpEnvelopeError("failed-precondition", "environment manager initial gate reservation has foreign coordinates");
84
+ const barrier = endpointRegistrationBarrier(authKv, space, { endpoint: "manager", instanceId: pin.instanceId,
85
+ opId: pin.operationId });
86
+ for (let attempt = 0; attempt < 3; attempt++) {
87
+ const current = await eligible();
88
+ if (!current)
89
+ throw new EpEnvelopeError("failed-precondition", "environment manager gate disappeared");
90
+ if (current.state === "frozen")
91
+ return { gateRevision: current.revision };
92
+ if (current.revision !== row.openRevision)
93
+ throw new EpEnvelopeError("conflict", "environment manager registration was aborted; its reopened gate cannot be re-frozen");
94
+ const revision = await barrier.freeze(current.revision);
95
+ if (revision !== null)
96
+ return { gateRevision: revision };
97
+ }
98
+ throw new EpEnvelopeError("conflict", "environment registration reservation kept losing its native freeze CAS");
99
+ }
100
+ //# sourceMappingURL=environment-manager-admission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-manager-admission.js","sourceRoot":"","sources":["../src/environment-manager-admission.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { EnvironmentManagerAdmissionCoordinates } from "./environment-manager-admission.js";
2
+ import { type LifecycleRegistry } from "./lifecycle-registry.js";
3
+ /** Host-only signing inputs. The public nkey and credential ID are recorded before this call;
4
+ * neither a guest request nor this helper chooses a new admission or permission profile. */
5
+ interface BootstrapMintInput {
6
+ publicId: string;
7
+ credentialId: string;
8
+ expiresAt: number;
9
+ account: {
10
+ pub: string;
11
+ signingSeed: string;
12
+ };
13
+ }
14
+ /** Internal one-shot mint after native admission staging. A reserved or ambiguous attempt stays
15
+ * held on replay; external cleanup must retire its recorded lifecycle, never mint a replacement.
16
+ * Full provider/policy admission and private file delivery are not implemented by this helper. */
17
+ export declare function mintEnvironmentManagerBootstrap(reg: LifecycleRegistry, input: EnvironmentManagerAdmissionCoordinates, mint: BootstrapMintInput): Promise<{
18
+ jwt: string;
19
+ exp: number;
20
+ credentialId: string;
21
+ gateRevision: number;
22
+ }>;
23
+ export {};
24
+ //# sourceMappingURL=environment-manager-bootstrap-mint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-manager-bootstrap-mint.d.ts","sourceRoot":"","sources":["../src/environment-manager-bootstrap-mint.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAEjG,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjF;4FAC4F;AAC5F,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED;;kGAEkG;AAClG,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,sCAAsC,EAC7C,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAyEnF"}
@@ -0,0 +1,92 @@
1
+ import { assertLifecycleToken, contractDigest, environmentBootstrapActor, EpEnvelopeError, epgateKey, isCasLoss, isUserNkey, mintPublicUserJwt, parseEndpointGate, remoteManagerActors, } from "@cotal-ai/core";
2
+ import { finalizeAgentMint, markLedgerRowRevoked, stageAgentMint } from "./credential-ledger.js";
3
+ import { registryStores } from "./lifecycle-registry.js";
4
+ /** Internal one-shot mint after native admission staging. A reserved or ambiguous attempt stays
5
+ * held on replay; external cleanup must retire its recorded lifecycle, never mint a replacement.
6
+ * Full provider/policy admission and private file delivery are not implemented by this helper. */
7
+ export async function mintEnvironmentManagerBootstrap(reg, input, mint) {
8
+ const pin = structuredClone(input);
9
+ const args = structuredClone(mint);
10
+ const now = Math.floor(Date.now() / 1000);
11
+ const fields = ["owner", "instanceId", "lifecycleUid", "authorityEndpoint", "authorityInstanceId",
12
+ "expiresAt", "environmentId", "admissionRevision", "operationId"];
13
+ if (Object.keys(pin).length !== fields.length || Object.keys(pin).some(key => !fields.includes(key)) ||
14
+ Object.keys(args).sort().join(",") !== "account,credentialId,expiresAt,publicId" ||
15
+ !isUserNkey(args.publicId) || !Number.isSafeInteger(args.expiresAt) || args.expiresAt <= now ||
16
+ args.expiresAt > now + 300 || args.expiresAt > pin.expiresAt)
17
+ throw new EpEnvelopeError("failed-precondition", "environment bootstrap mint inputs or expiry are invalid");
18
+ assertLifecycleToken(pin.operationId, "operationId");
19
+ assertLifecycleToken(pin.instanceId, "instanceId");
20
+ assertLifecycleToken(pin.lifecycleUid, "lifecycleUid");
21
+ assertLifecycleToken(args.credentialId, "credentialId");
22
+ const { space, authKv } = registryStores(reg);
23
+ const admission = await authKv.get(`stage.${pin.operationId}.environment-manager`);
24
+ if (!admission || admission.operation !== "PUT")
25
+ throw new EpEnvelopeError("permission-denied", "environment bootstrap has no native admission staging");
26
+ let staged;
27
+ try {
28
+ staged = admission.json();
29
+ }
30
+ catch {
31
+ throw new EpEnvelopeError("failed-precondition", "environment bootstrap admission staging is not JSON");
32
+ }
33
+ const expected = { v: 1, kind: "environment-manager-admission", space, ...pin };
34
+ if (contractDigest(staged) !== contractDigest(expected))
35
+ throw new EpEnvelopeError("permission-denied", "environment bootstrap does not match the staged admission");
36
+ const birth = await authKv.get(`stage.${pin.operationId}.environment-manager-gate`);
37
+ if (!birth || birth.operation !== "PUT")
38
+ throw new EpEnvelopeError("permission-denied", "environment bootstrap has no native initial-gate stamp");
39
+ let initial;
40
+ try {
41
+ initial = birth.json();
42
+ }
43
+ catch {
44
+ throw new EpEnvelopeError("failed-precondition", "environment bootstrap initial-gate stamp is not JSON");
45
+ }
46
+ if (!initial || typeof initial !== "object" || Object.keys(initial).length !== 3 || initial.instanceId !== pin.instanceId ||
47
+ initial.principal !== `${pin.owner}.${remoteManagerActors(pin.instanceId).serve}` ||
48
+ !Number.isSafeInteger(initial.openRevision) || Number(initial.openRevision) < 1)
49
+ throw new EpEnvelopeError("permission-denied", "environment bootstrap initial-gate stamp has foreign coordinates");
50
+ const key = epgateKey("manager", pin.instanceId);
51
+ const entry = await authKv.get(key);
52
+ if (!entry || entry.operation !== "PUT")
53
+ throw new EpEnvelopeError("permission-denied", "environment bootstrap has no native registration gate");
54
+ const gate = parseEndpointGate(entry.value, key);
55
+ if (gate.authorityFamily !== "environment-manager" ||
56
+ gate.principal !== `${pin.owner}.${remoteManagerActors(pin.instanceId).serve}` ||
57
+ gate.state !== "frozen" || gate.op.kind !== "registration" || gate.op.opId !== pin.operationId ||
58
+ gate.registrationRevision !== 0)
59
+ throw new EpEnvelopeError("permission-denied", "environment bootstrap requires its original frozen registration");
60
+ const reservationKey = `stage.${pin.operationId}.environment-bootstrap-mint`;
61
+ const reservation = JSON.stringify({ v: 1, admissionDigest: contractDigest(expected), publicId: args.publicId,
62
+ credentialId: args.credentialId, expiresAt: args.expiresAt });
63
+ try {
64
+ await authKv.put(reservationKey, reservation, { previousSeq: 0 });
65
+ }
66
+ catch (error) {
67
+ if (isCasLoss(error))
68
+ throw new EpEnvelopeError("conflict", "environment bootstrap mint is already reserved; its outcome stays held");
69
+ throw new EpEnvelopeError("unavailable", "environment bootstrap mint reservation outcome is unknown");
70
+ }
71
+ const signed = await mintPublicUserJwt({ space, account: args.account }, args.publicId, "environment-bootstrap", {
72
+ principal: { owner: pin.owner, actor: environmentBootstrapActor(pin.instanceId) }, lifecycleUid: pin.lifecycleUid,
73
+ environmentManager: pin, expiresAt: args.expiresAt,
74
+ });
75
+ const ledger = await stageAgentMint(reg, { lifecycleUid: pin.lifecycleUid, credentialId: args.credentialId,
76
+ holderPrincipal: `${pin.owner}.${environmentBootstrapActor(pin.instanceId)}`, sourceChain: ["root"], exp: signed.exp });
77
+ let gateRevision;
78
+ try {
79
+ // This touch precedes preparation, never a token-pinned registration continuation. The native
80
+ // lifecycle finalize remains separate; terminal cleanup freezes that lifecycle before abort.
81
+ gateRevision = await authKv.update(key, entry.value, entry.revision);
82
+ await finalizeAgentMint(reg, ledger);
83
+ }
84
+ catch (error) {
85
+ await markLedgerRowRevoked(authKv, ledger.rowKey);
86
+ if (isCasLoss(error))
87
+ throw new EpEnvelopeError("permission-denied", "environment bootstrap lost its native registration fence");
88
+ throw error;
89
+ }
90
+ return { ...signed, credentialId: args.credentialId, gateRevision };
91
+ }
92
+ //# sourceMappingURL=environment-manager-bootstrap-mint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-manager-bootstrap-mint.js","sourceRoot":"","sources":["../src/environment-manager-bootstrap-mint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-scanner.d.ts","sourceRoot":"","sources":["../src/ledger-scanner.ts"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAyF,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE5I,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAkC/D;;;;oGAIoG;AACpG,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;CACxB;AAED;0EAC0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,gGAAgG;IAChG,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C;2CACuC;IACvC,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE,6FAA6F;IAC7F,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5F;4BACwB;IACxB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE;8FAC0F;IAC1F,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3C;;;wFAGoF;IACpF,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACxC,iDAAiD;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAgBD;wFACwF;AACxF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMlF;AAED;;;iFAGiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,KAAK,EAAE,cAAc,CAAC;IACtB,8FAA8F;IAC9F,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB;+FAC2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB,CAAC;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,YAAY,CAAC,EAAE,OAAO,uBAAuB,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnF,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0BlC;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAE7I;AAED;;;;;;yGAMyG;AACzG,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AA6JD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAehH"}
1
+ {"version":3,"file":"ledger-scanner.d.ts","sourceRoot":"","sources":["../src/ledger-scanner.ts"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAA6G,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhK,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAkC/D;;;;oGAIoG;AACpG,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;CACxB;AAED;0EAC0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,gGAAgG;IAChG,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C;2CACuC;IACvC,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE,6FAA6F;IAC7F,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5F;4BACwB;IACxB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE;8FAC0F;IAC1F,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3C;;;wFAGoF;IACpF,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACxC,iDAAiD;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AASD;wFACwF;AACxF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMlF;AAED;;;iFAGiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,KAAK,EAAE,cAAc,CAAC;IACtB,8FAA8F;IAC9F,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB;+FAC2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB,CAAC;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,YAAY,CAAC,EAAE,OAAO,uBAAuB,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnF,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0BlC;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAE7I;AAED;;;;;;yGAMyG;AACzG,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AA6JD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAehH"}
@@ -62,8 +62,8 @@
62
62
  * class, excluded by the one-plane-per-space composition; a foreign re-resolution of the name is
63
63
  * made loud by the per-message exact-prefix validation in the drain.
64
64
  */
65
- import { AckPolicy, DeliverPolicy, JetStreamApiCodes, JetStreamApiError, jetstream, jetstreamManager } from "@nats-io/jetstream";
66
- import { EpEnvelopeError, assertInboxConnId, assertLifecycleToken, endpointToken, epAuthBucket } from "@cotal-ai/core";
65
+ import { AckPolicy, DeliverPolicy, jetstream, jetstreamManager } from "@nats-io/jetstream";
66
+ import { EpEnvelopeError, assertInboxConnId, assertLifecycleToken, endpointToken, epAuthBucket, isConsumerNotFound } from "@cotal-ai/core";
67
67
  import { openAuthorityClient } from "./authority-client.js";
68
68
  import { guardedScan } from "./plane-claim.js";
69
69
  import { serializedFor } from "./serialized.js";
@@ -95,11 +95,6 @@ function assertSegment(v, what) {
95
95
  throw new EpEnvelopeError("failed-precondition", `the sealed scanner's ${what} ${JSON.stringify(v)} is not a KV-safe key segment (SPEC 13.9)`);
96
96
  return v;
97
97
  }
98
- /** STRUCTURAL not-found classification (not a message regex): @nats-io/jetstream@3.4.0 throws a
99
- * ConsumerNotFoundError extends JetStreamApiError whose `.code` is the JS API err_code
100
- * (`JetStreamApiCodes.ConsumerNotFound` = 10014); `.status` is the HTTP 404. The pre-clean proceeds
101
- * ONLY on this exact structured shape — any other error fails the scan closed. */
102
- const isConsumerNotFound = (e) => e instanceof JetStreamApiError && e.code === JetStreamApiCodes.ConsumerNotFound;
103
98
  /** The production scanner's BRAND (HIGH: security/distsys, site-1 re-verify): the ONLY way to be an
104
99
  * AuthLedgerScanner the barrier registry accepts is to be built by {@link buildScanner} in THIS
105
100
  * module, which pins the scanner's exact space. A hand-assembled structural object (e.g. one whose
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-scanner.js","sourceRoot":"","sources":["../src/ledger-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger-scanner.js","sourceRoot":"","sources":["../src/ledger-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAA+C,MAAM,oBAAoB,CAAC;AAExI,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAuB,MAAM,gBAAgB,CAAC;AAChK,OAAO,EAAE,mBAAmB,EAAwB,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;6EAE6E;AAC7E,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAElD;2FAC2F;AAC3F,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAC9D;+FAC+F;AAC/F,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAC7C;;;;;4FAK4F;AAC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B;kGACkG;AAClG,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC;qFACqF;AACrF,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,SAAS,aAAa,CAAC,CAAS,EAAE,IAAY;IAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,wBAAwB,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;IACjJ,OAAO,CAAC,CAAC;AACX,CAAC;AAuCD;;;;kGAIkG;AAClG,MAAM,aAAa,GAAG,IAAI,OAAO,EAA6B,CAAC;AAE/D;wFACwF;AACxF,MAAM,UAAU,kBAAkB,CAAC,OAA0B,EAAE,KAAa;IAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,SAAS;QACtB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,yLAAyL,CAAC,CAAC;IAC9O,IAAI,MAAM,KAAK,KAAK;QAClB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,uDAAuD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,4IAA4I,CAAC,CAAC;AAC9S,CAAC;AAiBD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAMpD;IACC,MAAM,MAAM,GAAoB,MAAM,mBAAmB,CAAC;QACxD,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,mBAAmB,IAAI,CAAC,KAAK,EAAE;QAC7G,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI;KAC5F,CAAC,CAAC;IACH,8FAA8F;IAC9F,2CAA2C;IAC3C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QACzD,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,+FAA+F,CAAC,CAAC;IACzI,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,CAAC,KAAgB,EAAqB,EAAE;YAChD,IAAI,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,oFAAoF,CAAC,CAAC;YACnJ,IAAI,SAAS;gBAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,6FAA6F,CAAC,CAAC;YAC/J,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAAkB,EAAE,KAAa,EAAE,KAAoB,EAAE,KAAiB;IACxH,OAAO,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,GAA6B,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC1F,CAAC;AAcD,SAAS,YAAY,CAAC,EAAkB,EAAE,KAAa,EAAE,OAA4B,EAAE,KAAoB,EAAE,KAAiB;IAC5H,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC;IAC7C,IAAI,IAA2C,CAAC;IAChD,IAAI,KAAkC,CAAC;IACvC,MAAM,KAAK,GAAG,GAA8B,EAAE,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,GAAoB,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9D,2FAA2F;IAC3F,gFAAgF;IAChF,iCAAiC;IACjC,MAAM,UAAU,GAAG,CAAI,EAAoB,EAAc,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAExG,+FAA+F;IAC/F,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAA2B,EAAE;QACjE,MAAM,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,OAAO,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,8CAA8C;QAC5F,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG,CAAC;QAEhC,+FAA+F;QAC/F,8FAA8F;QAC9F,4FAA4F;QAC5F,iGAAiG;QACjG,8FAA8F;QAC9F,SAAS;QACT,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC;YACH,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,KAAK,IAAI,CAAC;QACtF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,kBAAkB,CAAC,CAAC,CAAC;gBAAE,YAAY,GAAG,IAAI,CAAC;;gBAC1C,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,qEAAqE,MAAM,uDAAwD,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxN,CAAC;QACD,IAAI,CAAC,YAAY;YACf,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,4FAA4F,MAAM,yEAAyE,CAAC,CAAC;QAExN,0FAA0F;QAC1F,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC9B,IAAI,EAAE,qBAAqB;gBAC3B,cAAc,EAAE,MAAM;gBACtB,UAAU,EAAE,SAAS,CAAC,IAAI;gBAC1B,cAAc,EAAE,aAAa,CAAC,cAAc;gBAC5C,WAAW,EAAE,IAAI;gBACjB,kBAAkB,EAAE,qBAAqB;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,uDAAuD,MAAM,KAAK,MAAM,yCAA0C,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClM,CAAC;QAED,IAAI,CAAC;YACH,4FAA4F;YAC5F,2FAA2F;YAC3F,2FAA2F;YAC3F,6EAA6E;YAC7E,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACrE,MAAM,GAAG,GAAG,IAAI,CAAC,MAIhB,CAAC;YACF,MAAM,KAAK,GACT,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzD,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;oBAChE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;wBACnI,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;4BAC9E,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;gCAChE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;oCAC7D,GAAG,CAAC,cAAc,KAAK,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;wCACvF,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;4CAC7D,GAAG,CAAC,kBAAkB,KAAK,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;gDACnG,SAAS,CAAC;YACZ,IAAI,KAAK,KAAK,SAAS;gBACrB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,oCAAoC,MAAM,yDAAyD,KAAK,kCAAkC,CAAC,CAAC;YAE/L,2FAA2F;YAC3F,uFAAuF;YACvF,IAAI,KAAK,EAAE,WAAW;gBAAE,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YAElD,0FAA0F;YAC1F,0FAA0F;YAC1F,8FAA8F;YAC9F,+FAA+F;YAC/F,8FAA8F;YAC9F,wFAAwF;YACxF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqE,CAAC;YAC5F,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACvE,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,EAAE,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC;gBACpD,IAAI,OAAO,KAAK,CAAC;oBAAE,MAAM;gBACzB,IAAI,KAAK,IAAI,gBAAgB;oBAC3B,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,4BAA4B,MAAM,wCAAwC,KAAK,4CAA4C,CAAC,CAAC;gBACxK,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1E,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC3B,GAAG,EAAE,CAAC;oBACN,oFAAoF;oBACpF,8EAA8E;oBAC9E,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;wBACnC,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,uCAAuC,CAAC,CAAC,OAAO,8BAA8B,UAAU,wBAAwB,CAAC,CAAC;oBAC1J,uFAAuF;oBACvF,sCAAsC;oBACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;wBAC5C,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,8DAA8D,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,wBAAwB,CAAC,CAAC;oBACtJ,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACnC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;wBACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;gBACzG,CAAC;gBACD,4FAA4F;gBAC5F,0FAA0F;gBAC1F,uEAAuE;gBACvE,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,EAAE,eAAe;oBAAE,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;gBACzE,uFAAuF;gBACvF,wFAAwF;gBACxF,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACd,IAAI,EAAE,UAAU,IAAI,sBAAsB;wBACxC,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,4BAA4B,MAAM,+CAA+C,UAAU,4CAA4C,CAAC,CAAC;gBACtL,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,MAAM,GAAG,GAAmB,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtH,OAAO,GAAG,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,qFAAqF;YACrF,IAAI,CAAC;gBAAC,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;QACnH,CAAC;IACH,CAAC,CAAC;IAEF,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,MAAM,OAAO,GAAsB,MAAM,CAAC,MAAM,CAAC;QAC/C,gBAAgB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC/F,oBAAoB,EAAE,CAAC,YAAoB,EAAE,EAAE,CAC7C,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,oBAAoB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACrG,4BAA4B,EAAE,CAAC,QAAgB,EAAE,UAAkB,EAAE,EAAE,CACrE,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,aAAa,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9I,SAAS,EAAE,CAAC,WAAmB,EAAE,EAAU,EAAE,EAAE,CAC7C,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/I,eAAe,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrF,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACpF,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IACH,mGAAmG;IACnG,6FAA6F;IAC7F,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,MAAc;IAClE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO;QACL,OAAO,EAAE;YACP,cAAc;YACd,uBAAuB,MAAM,EAAE;YAC/B,2BAA2B,MAAM,IAAI,qBAAqB,QAAQ,MAAM,IAAI;YAC5E,yBAAyB,MAAM,IAAI,qBAAqB,EAAE;YAC1D,6BAA6B,MAAM,IAAI,qBAAqB,EAAE;YAC9D,2BAA2B,MAAM,IAAI,qBAAqB,EAAE;SAC7D;QACD,SAAS,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager-authority.d.ts","sourceRoot":"","sources":["../src/manager-authority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager-authority.d.ts","sourceRoot":"","sources":["../src/manager-authority.ts"],"names":[],"mappings":"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"}
@@ -77,12 +77,14 @@ export function parseRemoteManagerAuthorityRequest(raw, opts = {}) {
77
77
  }
78
78
  else if (o.run !== undefined)
79
79
  requestError(`${o.operation} must not carry run`);
80
+ let session;
80
81
  if (o.operation === "session") {
81
82
  const s = o.session;
82
- if (!s || !isUserNkey(s.id) || s.endpoint !== "manager" ||
83
+ if (!s || Object.keys(s).sort().join(",") !== "endpoint,epoch,exp,id,sessionId" || !isUserNkey(s.id) || s.endpoint !== "manager" ||
83
84
  typeof s.sessionId !== "string" || s.sessionId.length === 0 || typeof s.epoch !== "number" || !Number.isSafeInteger(s.epoch) || s.epoch < 0 ||
84
85
  typeof s.exp !== "number" || !Number.isSafeInteger(s.exp) || s.exp <= 0)
85
86
  requestError("session requires { id, endpoint:\"manager\", sessionId, epoch, exp }");
87
+ session = { id: s.id, endpoint: s.endpoint, sessionId: s.sessionId, epoch: s.epoch, exp: s.exp };
86
88
  }
87
89
  else if (o.session !== undefined)
88
90
  requestError(`${o.operation} must not carry session`);
@@ -128,7 +130,7 @@ export function parseRemoteManagerAuthorityRequest(raw, opts = {}) {
128
130
  ...envelope,
129
131
  ...(renewal ? { accountPublicKey: o.accountPublicKey, processEpoch: o.processEpoch } : {}),
130
132
  ...(run ? { run } : {}),
131
- ...(o.session && typeof o.session === "object" ? { session: o.session } : {}),
133
+ ...(session ? { session } : {}),
132
134
  ...(retirement ? { retirement } : {}),
133
135
  ...(o.operation === "transferReader" ? { transferReader: { id: o.transferReader.id } } : {}),
134
136
  ...(Array.isArray(o.contractArtifacts) ? { contractArtifacts: o.contractArtifacts } : {}),
@@ -202,29 +204,37 @@ export async function issueRemoteManagerAuthority(args) {
202
204
  credentials,
203
205
  };
204
206
  }
205
- function admissionError(what) {
206
- throw new EpEnvelopeError("bad-request", `manager run admission request ${what}`);
207
+ function runRequestError(what, detail) {
208
+ throw new EpEnvelopeError("bad-request", `${what} request ${detail}`);
207
209
  }
208
- /** Closed parser for {@link RemoteRunAdmissionRequest}: unknown fields refuse, never ignored. */
209
- export function parseRemoteRunAdmissionRequest(raw) {
210
+ /** Closed parser for what every run request from a registered manager carries: the envelope, the
211
+ * assigned account and the process epoch. A field outside those and the request's own `fields` is
212
+ * refused, and `what` names the request in every refusal. */
213
+ function parseRegisteredRunRequest(raw, kind, what, fields) {
210
214
  if (raw === null || typeof raw !== "object" || Array.isArray(raw))
211
- admissionError("must be an object");
215
+ runRequestError(what, "must be an object");
212
216
  const o = raw;
213
- const allowed = ["v", "kind", "space", "actor", "instanceId", "managerLifecycleUid", "requestId", "registrationProof", "accountPublicKey", "processEpoch", "identities", "run"];
217
+ const allowed = ["v", "kind", "space", "actor", "instanceId", "managerLifecycleUid", "requestId", "registrationProof", "accountPublicKey", "processEpoch", "identities", ...fields];
214
218
  for (const k of Object.keys(o))
215
219
  if (!allowed.includes(k))
216
- admissionError(`has unknown field ${k}`);
217
- const envelope = parseRemoteManagerEnvelope(o, "manager-run-admission", "manager run admission");
220
+ runRequestError(what, `has unknown field ${k}`);
221
+ const envelope = parseRemoteManagerEnvelope(o, kind, what);
218
222
  if (!isAccountNkey(o.accountPublicKey))
219
- admissionError("requires an account public key");
223
+ runRequestError(what, "requires an account public key");
220
224
  if (!Number.isSafeInteger(o.processEpoch) || o.processEpoch < 0)
221
- admissionError("requires a non-negative processEpoch");
222
- const run = o.run;
225
+ runRequestError(what, "requires a non-negative processEpoch");
226
+ return { ...envelope, accountPublicKey: o.accountPublicKey, processEpoch: o.processEpoch };
227
+ }
228
+ /** Closed parser for {@link RemoteRunAdmissionRequest}: unknown fields refuse, never ignored. */
229
+ export function parseRemoteRunAdmissionRequest(raw) {
230
+ const what = "manager run admission";
231
+ const registered = parseRegisteredRunRequest(raw, "manager-run-admission", what, ["run"]);
232
+ const run = raw.run;
223
233
  if (run === null || typeof run !== "object" || Object.keys(run).sort().join(",") !== "runId,subject" ||
224
234
  typeof run.runId !== "string" || !/^run-[0-9a-f]{32}$/.test(run.runId) || typeof run.subject !== "string")
225
- admissionError("requires exactly run.runId (host-minted) and run.subject");
235
+ runRequestError(what, "requires exactly run.runId (host-minted) and run.subject");
226
236
  return {
227
- v: 1, kind: "manager-run-admission", ...envelope, accountPublicKey: o.accountPublicKey, processEpoch: o.processEpoch,
237
+ v: 1, kind: "manager-run-admission", ...registered,
228
238
  run: { runId: run.runId, subject: run.subject },
229
239
  };
230
240
  }
@@ -302,25 +312,16 @@ export async function admitRemoteRun(args) {
302
312
  const ID_TOKEN = /^[A-Za-z0-9_-]{1,64}$/;
303
313
  /** Closed parser for the issuing-host revoke. It carries no asserted owner or attribution. */
304
314
  export function parseRemoteRunRevokeRequest(raw) {
305
- if (raw === null || typeof raw !== "object" || Array.isArray(raw))
306
- admissionError("must be an object");
307
- const o = raw;
308
- if (o.kind !== "manager-run-revoke")
309
- admissionError("must be v1 manager-run-revoke");
310
- const allowed = ["v", "kind", "space", "actor", "instanceId", "managerLifecycleUid", "requestId", "registrationProof", "accountPublicKey", "processEpoch", "identities", "revoke"];
311
- for (const key of Object.keys(o))
312
- if (!allowed.includes(key))
313
- admissionError(`has unknown field ${key}`);
314
- const { revoke, ...rest } = o;
315
- const base = parseRemoteRunAdmissionRequest({ ...rest, kind: "manager-run-admission", run: { runId: `run-${"0".repeat(32)}`, subject: "" } });
315
+ const what = "manager run revoke";
316
+ const registered = parseRegisteredRunRequest(raw, "manager-run-revoke", what, ["revoke"]);
317
+ const { revoke } = raw;
316
318
  if (revoke === null || typeof revoke !== "object" || Array.isArray(revoke))
317
- admissionError("requires revoke");
319
+ runRequestError(what, "requires revoke");
318
320
  const r = revoke;
319
321
  if (Object.keys(r).sort().join(",") !== "reason,runId" || typeof r.runId !== "string" || !/^run-[0-9a-f]{32}$/.test(r.runId) ||
320
322
  typeof r.reason !== "string" || r.reason.length === 0)
321
- admissionError("requires exactly revoke.runId and a non-empty revoke.reason");
322
- const { run: _run, ...registered } = base;
323
- return { ...registered, kind: "manager-run-revoke", revoke: { runId: r.runId, reason: r.reason } };
323
+ runRequestError(what, "requires exactly revoke.runId and a non-empty revoke.reason");
324
+ return { v: 1, kind: "manager-run-revoke", ...registered, revoke: { runId: r.runId, reason: r.reason } };
324
325
  }
325
326
  /** The door has authenticated the holder and read its current scope. The run's owner comes only
326
327
  * from the recorded admission. A platform assignment is not an admin grant. */
@@ -348,22 +349,17 @@ export async function revokeRemoteRun(args) {
348
349
  }
349
350
  /** Closed parser for {@link RemoteRunAttemptRequest}. */
350
351
  export function parseRemoteRunAttemptRequest(raw) {
351
- if (raw === null || typeof raw !== "object" || Array.isArray(raw))
352
- admissionError("must be an object");
353
- const o = raw;
354
- if (o.kind !== "manager-run-attempt")
355
- admissionError("must be v1 manager-run-attempt");
356
- const { attempt, operator, ...rest } = o;
352
+ const what = "manager run attempt";
353
+ const registered = parseRegisteredRunRequest(raw, "manager-run-attempt", what, ["attempt", "operator"]);
354
+ const { attempt, operator } = raw;
357
355
  if ((attempt === undefined) === (operator === undefined))
358
- admissionError("carries exactly one of attempt or operator");
359
- const base = parseRemoteRunAdmissionRequest({ ...rest, kind: "manager-run-admission", run: { runId: `run-${"0".repeat(32)}`, subject: "" } });
360
- const { run: _run, kind: _kind, ...registered } = base;
356
+ runRequestError(what, "carries exactly one of attempt or operator");
361
357
  const plain = (v, keys, optional = []) => {
362
358
  if (v === null || typeof v !== "object" || Array.isArray(v))
363
- admissionError("attempt/operator must be an object");
359
+ runRequestError(what, "attempt/operator must be an object");
364
360
  const k = Object.keys(v);
365
361
  if (k.some((x) => !keys.includes(x) && !optional.includes(x)) || keys.some((x) => !k.includes(x)))
366
- admissionError(`attempt/operator must carry exactly ${keys.join(", ")}`);
362
+ runRequestError(what, `attempt/operator must carry exactly ${keys.join(", ")}`);
367
363
  return v;
368
364
  };
369
365
  const runIdOk = (v) => typeof v === "string" && /^run-[0-9a-f]{32}$/.test(v);
@@ -373,26 +369,26 @@ export function parseRemoteRunAttemptRequest(raw) {
373
369
  if (!runIdOk(a.runId) || typeof a.takeoverId !== "string" || !ID_TOKEN.test(a.takeoverId) ||
374
370
  !Number.isSafeInteger(a.epoch) || a.epoch < 1 || !Number.isSafeInteger(a.fencingToken) || a.fencingToken < 1 ||
375
371
  !isUserNkey(a.driverId) || !isUserNkey(a.mediatorId) || a.driverId === a.mediatorId)
376
- admissionError("attempt requires a run id, takeover id, positive epoch/fencingToken and distinct driver/mediator nkeys");
372
+ runRequestError(what, "attempt requires a run id, takeover id, positive epoch/fencingToken and distinct driver/mediator nkeys");
377
373
  if (!servedOk(a.served))
378
- admissionError("attempt served must be a request subject");
379
- return { ...registered, kind: "manager-run-attempt", attempt: { runId: a.runId, takeoverId: a.takeoverId, epoch: a.epoch, fencingToken: a.fencingToken, driverId: a.driverId, mediatorId: a.mediatorId, ...(a.served !== undefined ? { served: a.served } : {}) } };
374
+ runRequestError(what, "attempt served must be a request subject");
375
+ return { v: 1, kind: "manager-run-attempt", ...registered, attempt: { runId: a.runId, takeoverId: a.takeoverId, epoch: a.epoch, fencingToken: a.fencingToken, driverId: a.driverId, mediatorId: a.mediatorId, ...(a.served !== undefined ? { served: a.served } : {}) } };
380
376
  }
381
377
  const op = plain(operator, ["id", "takeoverId"], ["runId", "answers", "served"]);
382
378
  if (!isUserNkey(op.id) || typeof op.takeoverId !== "string" || !ID_TOKEN.test(op.takeoverId) ||
383
379
  (op.runId !== undefined && !runIdOk(op.runId)))
384
- admissionError("operator requires an nkey id, a takeover id and an optional run id");
380
+ runRequestError(what, "operator requires an nkey id, a takeover id and an optional run id");
385
381
  let answers;
386
382
  if (op.answers !== undefined) {
387
383
  const t = plain(op.answers, ["runId", "stepKey"], ["amend"]);
388
384
  if (!runIdOk(t.runId) || typeof t.stepKey !== "string" || t.stepKey.length === 0 || t.stepKey.length > 1024 || op.runId !== undefined ||
389
385
  (t.amend !== undefined && t.amend !== true))
390
- admissionError("operator answers carries the run id and step key of one pause, an optional amend: true and no outer run id");
386
+ runRequestError(what, "operator answers carries the run id and step key of one pause, an optional amend: true and no outer run id");
391
387
  answers = { runId: t.runId, stepKey: t.stepKey, ...(t.amend === true ? { amend: true } : {}) };
392
388
  }
393
389
  if (!servedOk(op.served) || (op.served !== undefined && answers === undefined))
394
- admissionError("operator served is the run-answer subject, and only an answering operator carries one");
395
- return { ...registered, kind: "manager-run-attempt", operator: { id: op.id, takeoverId: op.takeoverId, ...(op.runId !== undefined ? { runId: op.runId } : {}), ...(answers ? { answers } : {}), ...(op.served !== undefined ? { served: op.served } : {}) } };
390
+ runRequestError(what, "operator served is the run-answer subject, and only an answering operator carries one");
391
+ return { v: 1, kind: "manager-run-attempt", ...registered, operator: { id: op.id, takeoverId: op.takeoverId, ...(op.runId !== undefined ? { runId: op.runId } : {}), ...(answers ? { answers } : {}), ...(op.served !== undefined ? { served: op.served } : {}) } };
396
392
  }
397
393
  /** The run-start, resume or answer request its caller published on `subject`, or undefined for a
398
394
  * request no manager serves. */