@cotal-ai/core 0.11.6 → 0.13.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 (170) hide show
  1. package/dist/acls.d.ts +31 -7
  2. package/dist/acls.d.ts.map +1 -1
  3. package/dist/acls.js +105 -17
  4. package/dist/acls.js.map +1 -1
  5. package/dist/agent-file.js +1 -1
  6. package/dist/agent-file.js.map +1 -1
  7. package/dist/auth-provider.d.ts +90 -10
  8. package/dist/auth-provider.d.ts.map +1 -1
  9. package/dist/auth-provider.js.map +1 -1
  10. package/dist/backup-config.d.ts +55 -0
  11. package/dist/backup-config.d.ts.map +1 -0
  12. package/dist/backup-config.js +243 -0
  13. package/dist/backup-config.js.map +1 -0
  14. package/dist/backup.d.ts +86 -0
  15. package/dist/backup.d.ts.map +1 -0
  16. package/dist/backup.js +497 -0
  17. package/dist/backup.js.map +1 -0
  18. package/dist/broker-floor.d.ts +34 -0
  19. package/dist/broker-floor.d.ts.map +1 -0
  20. package/dist/broker-floor.js +39 -0
  21. package/dist/broker-floor.js.map +1 -0
  22. package/dist/canonical.d.ts +24 -0
  23. package/dist/canonical.d.ts.map +1 -0
  24. package/dist/canonical.js +159 -0
  25. package/dist/canonical.js.map +1 -0
  26. package/dist/channels.d.ts.map +1 -1
  27. package/dist/channels.js +8 -1
  28. package/dist/channels.js.map +1 -1
  29. package/dist/connector.d.ts +4 -0
  30. package/dist/connector.d.ts.map +1 -1
  31. package/dist/endpoint-action.d.ts +424 -0
  32. package/dist/endpoint-action.d.ts.map +1 -0
  33. package/dist/endpoint-action.js +910 -0
  34. package/dist/endpoint-action.js.map +1 -0
  35. package/dist/endpoint-binding.d.ts +344 -0
  36. package/dist/endpoint-binding.d.ts.map +1 -0
  37. package/dist/endpoint-binding.js +753 -0
  38. package/dist/endpoint-binding.js.map +1 -0
  39. package/dist/endpoint-checkpoint.d.ts +292 -0
  40. package/dist/endpoint-checkpoint.d.ts.map +1 -0
  41. package/dist/endpoint-checkpoint.js +818 -0
  42. package/dist/endpoint-checkpoint.js.map +1 -0
  43. package/dist/endpoint-cluster.d.ts +95 -0
  44. package/dist/endpoint-cluster.d.ts.map +1 -0
  45. package/dist/endpoint-cluster.js +194 -0
  46. package/dist/endpoint-cluster.js.map +1 -0
  47. package/dist/endpoint-contract-store.d.ts +90 -0
  48. package/dist/endpoint-contract-store.d.ts.map +1 -0
  49. package/dist/endpoint-contract-store.js +348 -0
  50. package/dist/endpoint-contract-store.js.map +1 -0
  51. package/dist/endpoint-envelope.d.ts +165 -0
  52. package/dist/endpoint-envelope.d.ts.map +1 -0
  53. package/dist/endpoint-envelope.js +346 -0
  54. package/dist/endpoint-envelope.js.map +1 -0
  55. package/dist/endpoint-grants.d.ts +123 -0
  56. package/dist/endpoint-grants.d.ts.map +1 -0
  57. package/dist/endpoint-grants.js +215 -0
  58. package/dist/endpoint-grants.js.map +1 -0
  59. package/dist/endpoint-guard.d.ts +222 -0
  60. package/dist/endpoint-guard.d.ts.map +1 -0
  61. package/dist/endpoint-guard.js +468 -0
  62. package/dist/endpoint-guard.js.map +1 -0
  63. package/dist/endpoint-handle.d.ts +176 -0
  64. package/dist/endpoint-handle.d.ts.map +1 -0
  65. package/dist/endpoint-handle.js +608 -0
  66. package/dist/endpoint-handle.js.map +1 -0
  67. package/dist/endpoint-journal.d.ts +225 -0
  68. package/dist/endpoint-journal.d.ts.map +1 -0
  69. package/dist/endpoint-journal.js +431 -0
  70. package/dist/endpoint-journal.js.map +1 -0
  71. package/dist/endpoint-receipt.d.ts +225 -0
  72. package/dist/endpoint-receipt.d.ts.map +1 -0
  73. package/dist/endpoint-receipt.js +417 -0
  74. package/dist/endpoint-receipt.js.map +1 -0
  75. package/dist/endpoint-records.d.ts +243 -0
  76. package/dist/endpoint-records.d.ts.map +1 -0
  77. package/dist/endpoint-records.js +591 -0
  78. package/dist/endpoint-records.js.map +1 -0
  79. package/dist/endpoint-serve.d.ts +176 -0
  80. package/dist/endpoint-serve.d.ts.map +1 -0
  81. package/dist/endpoint-serve.js +446 -0
  82. package/dist/endpoint-serve.js.map +1 -0
  83. package/dist/endpoint-service.d.ts +518 -0
  84. package/dist/endpoint-service.d.ts.map +1 -0
  85. package/dist/endpoint-service.js +973 -0
  86. package/dist/endpoint-service.js.map +1 -0
  87. package/dist/endpoint-session.d.ts +398 -0
  88. package/dist/endpoint-session.d.ts.map +1 -0
  89. package/dist/endpoint-session.js +834 -0
  90. package/dist/endpoint-session.js.map +1 -0
  91. package/dist/endpoint-signing.d.ts +105 -0
  92. package/dist/endpoint-signing.d.ts.map +1 -0
  93. package/dist/endpoint-signing.js +190 -0
  94. package/dist/endpoint-signing.js.map +1 -0
  95. package/dist/endpoint-subjects.d.ts +222 -0
  96. package/dist/endpoint-subjects.d.ts.map +1 -0
  97. package/dist/endpoint-subjects.js +381 -0
  98. package/dist/endpoint-subjects.js.map +1 -0
  99. package/dist/endpoint-supervisor.d.ts +19 -0
  100. package/dist/endpoint-supervisor.d.ts.map +1 -0
  101. package/dist/endpoint-supervisor.js +12 -0
  102. package/dist/endpoint-supervisor.js.map +1 -0
  103. package/dist/endpoint-traits.d.ts +225 -0
  104. package/dist/endpoint-traits.d.ts.map +1 -0
  105. package/dist/endpoint-traits.js +469 -0
  106. package/dist/endpoint-traits.js.map +1 -0
  107. package/dist/endpoint-verbs.d.ts +277 -0
  108. package/dist/endpoint-verbs.d.ts.map +1 -0
  109. package/dist/endpoint-verbs.js +576 -0
  110. package/dist/endpoint-verbs.js.map +1 -0
  111. package/dist/endpoint-virtual.d.ts +308 -0
  112. package/dist/endpoint-virtual.d.ts.map +1 -0
  113. package/dist/endpoint-virtual.js +440 -0
  114. package/dist/endpoint-virtual.js.map +1 -0
  115. package/dist/endpoint-work.d.ts +304 -0
  116. package/dist/endpoint-work.d.ts.map +1 -0
  117. package/dist/endpoint-work.js +728 -0
  118. package/dist/endpoint-work.js.map +1 -0
  119. package/dist/endpoint.d.ts +66 -22
  120. package/dist/endpoint.d.ts.map +1 -1
  121. package/dist/endpoint.js +289 -89
  122. package/dist/endpoint.js.map +1 -1
  123. package/dist/evict.d.ts +95 -32
  124. package/dist/evict.d.ts.map +1 -1
  125. package/dist/evict.js +193 -3
  126. package/dist/evict.js.map +1 -1
  127. package/dist/index.d.ts +29 -0
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +29 -0
  130. package/dist/index.js.map +1 -1
  131. package/dist/lease.d.ts +4 -0
  132. package/dist/lease.d.ts.map +1 -1
  133. package/dist/lease.js.map +1 -1
  134. package/dist/members.d.ts +4 -4
  135. package/dist/members.d.ts.map +1 -1
  136. package/dist/members.js +12 -12
  137. package/dist/members.js.map +1 -1
  138. package/dist/provision.d.ts +78 -20
  139. package/dist/provision.d.ts.map +1 -1
  140. package/dist/provision.js +214 -37
  141. package/dist/provision.js.map +1 -1
  142. package/dist/runtime.d.ts +3 -0
  143. package/dist/runtime.d.ts.map +1 -1
  144. package/dist/safe-pattern.d.ts +33 -0
  145. package/dist/safe-pattern.d.ts.map +1 -0
  146. package/dist/safe-pattern.js +486 -0
  147. package/dist/safe-pattern.js.map +1 -0
  148. package/dist/schema-profile.d.ts +93 -0
  149. package/dist/schema-profile.d.ts.map +1 -0
  150. package/dist/schema-profile.js +284 -0
  151. package/dist/schema-profile.js.map +1 -0
  152. package/dist/secret-store.d.ts +46 -0
  153. package/dist/secret-store.d.ts.map +1 -0
  154. package/dist/secret-store.js +2 -0
  155. package/dist/secret-store.js.map +1 -0
  156. package/dist/space-auth.d.ts +9 -0
  157. package/dist/space-auth.d.ts.map +1 -0
  158. package/dist/space-auth.js +126 -0
  159. package/dist/space-auth.js.map +1 -0
  160. package/dist/streams.d.ts +14 -10
  161. package/dist/streams.d.ts.map +1 -1
  162. package/dist/streams.js +47 -76
  163. package/dist/streams.js.map +1 -1
  164. package/dist/subjects.d.ts +100 -40
  165. package/dist/subjects.d.ts.map +1 -1
  166. package/dist/subjects.js +136 -60
  167. package/dist/subjects.js.map +1 -1
  168. package/dist/types.d.ts +9 -0
  169. package/dist/types.d.ts.map +1 -1
  170. package/package.json +6 -2
package/dist/provision.js CHANGED
@@ -17,8 +17,13 @@
17
17
  import { join } from "node:path";
18
18
  import { encodeOperator, encodeAccount, encodeUser, fmtCreds, } from "@nats-io/jwt";
19
19
  import { createOperator, createAccount, fromPublic, fromSeed } from "@nats-io/nkeys";
20
- import { token, spacePrefix, chatSubject, assertValidChannel, channelInAllow, principalKey, parsePrincipalKey, deprovisionTargetPrincipal, principalTags, assertInboxConnId, DEV_OWNER, unicastSubject, anycastSubject, controlServiceSubject, CONTROL_PRIVILEGED, CONTROL_SELF_SERVICE, CONTROL_ADMIN, CONTROL_DELIVERY, CONTROL_DELIVERY_ADMIN, chatStream, dmStream, taskStream, dlvStream, inboxStream, chatHistDurable, dmDurable, taskDurable, dlvDurable, presenceBucket, channelBucket, membersBucket, aclBucket, aclKey, membershipBucket, deliveryBucket, managerBucket, MANAGER_LEASE_KEY, connzRequestSubject, accountConnectSubject, accountDisconnectSubject, MEMBERSHIP_INBOX_PREFIX, FANOUT_DURABLE, INBOX_READER_DURABLE, } from "./subjects.js";
20
+ import { token, spacePrefix, chatSubject, assertValidChannel, channelInAllow, principalKey, parsePrincipalKey, deprovisionTargetPrincipal, principalTags, assertInboxConnId, DEV_OWNER, unicastSubject, anycastSubject, controlServiceSubject, CONTROL_PRIVILEGED, CONTROL_SELF_SERVICE, CONTROL_ADMIN, CONTROL_DELIVERY, CONTROL_DELIVERY_ADMIN, CONTROL_AUTH_ADMIN, chatStream, dmStream, taskStream, dlvStream, inboxStream, chatHistDurable, dmDurable, taskDurable, dlvDurable, presenceBucket, channelBucket, membersBucket, aclBucket, aclKey, assertLifecycleToken, membershipBucket, deliveryBucket, managerBucket, MANAGER_LEASE_KEY, connzRequestSubject, accountConnectSubject, accountDisconnectSubject, MEMBERSHIP_INBOX_PREFIX, FANOUT_DURABLE, INBOX_READER_DURABLE, } from "./subjects.js";
21
+ import { epCallerGrantRows, epServeGrantRows, epBaselineGrantRows, spawnCallerCapabilities } from "./endpoint-grants.js";
22
+ import { assertServeGrantMintable, finalizeServeIssuance } from "./endpoint-service.js";
23
+ import { effectsBindGrants, poolOwnerBindGrants } from "./endpoint-binding.js";
24
+ import { rawDigest } from "./canonical.js";
21
25
  import { credsClaims } from "./identity.js";
26
+ import { backupProfilePermissions, restoreProfilePermissions, } from "./backup.js";
22
27
  const FIVE_MINUTES = 5 * 60;
23
28
  /** Bounded lifetime for `standing-renewable` credentials whose renewal owner is ONLINE (D5 slice 5):
24
29
  * the holder (or its launcher) re-mints at 75% of the lifetime via the endpoint's creds-source seam,
@@ -43,8 +48,11 @@ export const CREDENTIAL_LIFETIMES = {
43
48
  "membership-rw": { class: "standing-renewable", defaultTtlSeconds: STANDING_RENEWABLE_TTL_SEC, renewalOwner: "manager", note: "membership feed writer; seed-less - the manager re-signs .cotal/membership-rw.creds for the SAME nkey, delivery-admin reloadCreds reconnects the rw feed explicitly, and source re-read is only a backstop (D5 slice 5 class 2)" },
44
49
  provisioner: { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "setup/spawn provisioning window only" },
45
50
  deprovisioner: { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "target-pinned teardown window only" },
51
+ "retirement-requester": { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "one despawn's retirement request window; request+reply only" },
46
52
  operator: { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "send/dm/join/probe-style operator command" },
47
53
  purger: { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "history purge command" },
54
+ backup: { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "offline snapshot phase; exact stream and delivery subject, memory-only" },
55
+ restore: { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "offline restore initiation or exact-ID upload phase, memory-only" },
48
56
  probe: { class: "one-shot", defaultTtlSeconds: 60, note: "connect-only preflight" },
49
57
  "channel-writer": { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "channel registry mutation command" },
50
58
  "channel-purger": { class: "mixed", note: "one-shot for CLI, standing inside web; split or renewal required before default exp" },
@@ -52,9 +60,18 @@ export const CREDENTIAL_LIFETIMES = {
52
60
  "control-caller-privileged": { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "ps/start control call" },
53
61
  "control-caller-admin": { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "stop/attach admin control call" },
54
62
  deployer: { class: "one-shot", note: "manifest deploy spans planning/launch/ledger; needs near-expiry guard or remint before default exp" },
63
+ "endpoint-serve": { class: "standing-renewable", defaultTtlSeconds: STANDING_RENEWABLE_TTL_SEC, renewalOwner: "manager", note: "per-instance endpoint serve credential (SPEC 13.9); the managing authority re-mints on renewal and on takeover (new epoch), and the 13.1 barrier revokes the superseded one" },
55
64
  "membership-observer": { class: "rotation-renewed", defaultTtlSeconds: ROTATION_RENEWED_TTL_SEC, renewalOwner: "system-account rotation", note: "$SYS-account CONNZ observer; NOT online-renewable ($SYS seed dies at `up`) - bounded exp, renewed only by rotateSystemAccount + broker restart; doctor warns near expiry" },
56
65
  "connection-evictor": { class: "rotation-renewed", defaultTtlSeconds: ROTATION_RENEWED_TTL_SEC, renewalOwner: "system-account rotation", note: "$SYS-account KICK-only live-eviction cred (D5 slice 4); same rotation-renewed posture as the observer" },
57
66
  };
67
+ // RUNTIME integrity (the afa715b class): the matrix and every policy freeze at module load
68
+ // (a post-import `defaultTtlSeconds = undefined` would otherwise mint a NON-EXPIRING credential
69
+ // out of a one-shot profile, executed repro), and the mint path below reads a PRIVATE TTL
70
+ // snapshot taken here, never the live export.
71
+ for (const p of Object.values(CREDENTIAL_LIFETIMES))
72
+ Object.freeze(p);
73
+ Object.freeze(CREDENTIAL_LIFETIMES);
74
+ const LIFETIME_TTL_SNAP = new Map(Object.entries(CREDENTIAL_LIFETIMES).map(([k, p]) => [k, p.defaultTtlSeconds]));
58
75
  export function credentialLifetime(kind) {
59
76
  return CREDENTIAL_LIFETIMES[kind];
60
77
  }
@@ -186,7 +203,7 @@ function userValidDates(kind, opts) {
186
203
  throw new Error("mintCreds: expiresAt must be a non-negative integer timestamp (seconds)");
187
204
  return { exp: opts.expiresAt };
188
205
  }
189
- const ttl = opts.expiresInSeconds ?? CREDENTIAL_LIFETIMES[kind].defaultTtlSeconds;
206
+ const ttl = opts.expiresInSeconds ?? LIFETIME_TTL_SNAP.get(kind);
190
207
  if (ttl === undefined)
191
208
  return {};
192
209
  if (!Number.isInteger(ttl) || ttl <= 0)
@@ -198,21 +215,26 @@ function userValidDates(kind, opts) {
198
215
  * id, so the agent's lane is `local.<id>`. The connection nkey is always the identity's id here (the
199
216
  * creds bind to it). User mode does NOT flow through here — the callout mints directly with the
200
217
  * server-derived owner + ledger actor. */
201
- function principalOf(identity, principal) {
218
+ function principalOf(identity, principal, lifecycleUid) {
202
219
  return {
203
220
  owner: principal?.owner ?? DEV_OWNER,
204
221
  actor: principal?.actor ?? identity.id,
205
222
  connId: identity.id,
223
+ ...(lifecycleUid !== undefined ? { lifecycleUid } : {}),
206
224
  };
207
225
  }
208
226
  /** Onboard an agent for launch (auth mode): pre-create its bind-only DM (+ Plane-3 DELIVER + role
209
227
  * TASK) durables, RECORD its read ACL in the durable registry (unless `durableMembership:false`), and
210
228
  * mint its scoped creds. Live delivery is the agent's own core subscription — there is no per-instance
211
229
  * chat durable. Boot durable MEMBERSHIP is not written here: the agent self-joins its durable channels
212
- * via the server-side delivery daemon's `ctl.delivery` op at connect. A live-only launcher
213
- * (`durableMembership:false`, e.g. direct `cotal spawn`) gets no ACL row and stays live-only. */
230
+ * via the server-side delivery daemon's `ctl.delivery` op at connect. A deliberately live-only
231
+ * launcher (`durableMembership:false`, e.g. `cotal spawn --live-only`) gets no ACL row, so the
232
+ * daemon never authorizes a durable backstop for it. */
214
233
  export async function provisionAgent(provisioner, auth, identity, opts = {}) {
215
- const allowSubscribe = await provisionAgentDurables(provisioner, principalOf(identity, opts.principal), opts);
234
+ if (!opts.lifecycleUid)
235
+ throw new Error("provisionAgent: a lifecycleUid is required - the agent's broker footprint is lifecycle-keyed (SPEC 13.1); mint one with mintLifecycleUid() and persist it with the agent");
236
+ const pr = principalOf(identity, opts.principal, opts.lifecycleUid);
237
+ const allowSubscribe = await provisionAgentDurables(provisioner, { owner: pr.owner, actor: pr.actor, lifecycleUid: opts.lifecycleUid }, opts);
216
238
  return mintCreds(auth, identity, "agent", { ...opts, allowSubscribe });
217
239
  }
218
240
  /** The DURABLE half of agent onboarding, principal-keyed and credential-agnostic: pre-create the
@@ -221,6 +243,7 @@ export async function provisionAgent(provisioner, auth, identity, opts = {}) {
221
243
  * a user agent's credential is its bearer (callout-minted per connect), never a static cred.
222
244
  * Returns the resolved read ACL so both callers scope from the same computed set. */
223
245
  export async function provisionAgentDurables(provisioner, pr, opts = {}) {
246
+ const uid = assertLifecycleToken(pr.lifecycleUid); // hard cut: every provisioned footprint is lifecycle-keyed (SPEC 13.1)
224
247
  const subscribe = opts.subscribe?.length ? opts.subscribe : ["general"];
225
248
  const allowSubscribe = opts.allowSubscribe?.length ? opts.allowSubscribe : subscribe;
226
249
  // Reject channel names the wire layer would rewrite (the pre-created filter rides token() too).
@@ -232,17 +255,17 @@ export async function provisionAgentDurables(provisioner, pr, opts = {}) {
232
255
  for (const ch of subscribe)
233
256
  if (!channelInAllow(allowSubscribe, ch))
234
257
  throw new Error(`provisionAgent: subscribe "${ch}" is not within allowSubscribe [${allowSubscribe.join(", ")}]`);
235
- await provisioner.provisionDmInbox(pr.owner, pr.actor);
236
- await provisioner.provisionDlvInbox(pr.owner, pr.actor);
258
+ await provisioner.provisionDmInbox(pr.owner, pr.actor, uid);
259
+ await provisioner.provisionDlvInbox(pr.owner, pr.actor, uid);
237
260
  // Record the agent's read ACL in the durable registry (the same act as baking it into the JWT) so the
238
261
  // server-side delivery daemon can re-authorize this agent's durable entries + validate its runtime
239
262
  // durable-joins — it holds no in-memory ledger. The agent SELF-JOINS its durable boot channels via the
240
- // daemon at connect (no manager-written boot membership). `durableMembership:false` (a live-only
241
- // launcher, e.g. direct `cotal spawn` with no daemon) opts out of the ACL row → the daemon never
263
+ // daemon at connect (no manager-written boot membership). `durableMembership:false` (an explicit
264
+ // live-only launcher, e.g. `cotal spawn --live-only`) opts out of the ACL row → the daemon never
242
265
  // authorizes a durable backstop for it, so it stays live-only.
243
- // ACL is keyed by the agent's owner+actor principal dot-form (per-agent read authority).
266
+ // ACL is keyed by the lifecycle-scoped dot-form <owner>.<actor>.<uid> (per-incarnation read authority).
244
267
  if (opts.durableMembership !== false)
245
- await provisioner.commitAcl(principalKey(pr.owner, pr.actor).key, allowSubscribe);
268
+ await provisioner.commitAcl(principalKey(pr.owner, pr.actor).key, uid, allowSubscribe);
246
269
  if (opts.role)
247
270
  await provisioner.provisionTaskQueue(opts.role);
248
271
  return allowSubscribe;
@@ -256,16 +279,52 @@ export async function provisionAgentDurables(provisioner, pr, opts = {}) {
256
279
  * enumerated least-privilege — there is no allow-all cred (the former `manager` is deleted). */
257
280
  export async function mintCreds(auth, identity, profile, opts = {}) {
258
281
  const signer = fromSeed(new TextEncoder().encode(auth.account.signingSeed));
259
- const pr = principalOf(identity, opts.principal);
260
- const perms = permissionsFor(profile, auth.space, pr, opts);
282
+ const pr = principalOf(identity, opts.principal, opts.lifecycleUid);
283
+ // Serve rows are INTERNAL to mintCreds behind the §13.1 fence: the exported permissionsFor
284
+ // refuses "endpoint-serve" (so a direct caller can never obtain unfenced serve rows), and only
285
+ // this fenced path calls the row builder.
286
+ const perms = profile === "endpoint-serve"
287
+ ? endpointServePermissions(auth.space, pr, opts)
288
+ : permissionsFor(profile, auth.space, pr, opts);
261
289
  const validDates = userValidDates(profile, opts);
262
290
  const userJwt = await encodeUser(profile, fromPublic(identity.id), fromPublic(auth.account.pub),
263
291
  // Stamp the principal `tags` so this connection's identity is CONNZ-recoverable by the membership
264
292
  // feed — the SAME tags the auth callout stamps (user mode), via core's single-source builder. The
265
293
  // JWT `name` stays the profile label (a debug breadcrumb; not a surfaced/queryable CONNZ field).
266
294
  { ...perms, tags: principalTags(pr.owner, pr.actor) }, { signer, ...validDates });
267
- const creds = fmtCreds(userJwt, fromSeed(new TextEncoder().encode(identity.seed)));
268
- return new TextDecoder().decode(creds);
295
+ // Build the credential string FULLY before the fence: nothing fallible may run AFTER a winning
296
+ // CAS, or a post-CAS throw would leave a committed ledger row with no released credential (an
297
+ // orphan authority record). fmtCreds only wraps the already-signed JWT with the seed, so it is
298
+ // done here and the fence is the mint's LAST step.
299
+ const creds = new TextDecoder().decode(fmtCreds(userJwt, fromSeed(new TextEncoder().encode(identity.seed))));
300
+ // §13.1 mint fence for the serve credential: the credential is BUILT, but released only when its
301
+ // NORMATIVE ledger row (holderPrincipal/lifecycleUid/sourceChain/state/exp + the currency
302
+ // coordinates) is durably staged and its revision-pinned CAS wins the instance's single issuance
303
+ // gate (still `open` at the authorized epoch + registrationRevision + nameAuthorityRevision). A
304
+ // takeover, re-registration, or name transfer that froze the gate first makes this lose and
305
+ // release nothing. A read is never a fence, so this is a CAS write, not an in-memory mark.
306
+ if (profile === "endpoint-serve") {
307
+ if (!opts.serveIssuance)
308
+ throw new Error("mintCreds: endpoint-serve requires opts.serveIssuance (the durable issuance-gate seam; the mint releases only on its revision-pinned CAS win, SPEC 13.1)");
309
+ await finalizeServeIssuance(opts.serveIssuance, opts.endpointServe, {
310
+ // PER-ISSUED-JWT id (digest of the credential): every issuance (a standing renewal included)
311
+ // has distinct bytes (fresh exp/iat), so it writes a DISTINCT ledger row and never overwrites
312
+ // or resurrects a prior one. The create-only / idempotent-if-identical guarantee lives at the
313
+ // finalize/stage seam (the SAME credential object staged twice), not the mint layer. The
314
+ // stable nkey rides separately as `credentialKey` for broker revocation. KEY-SAFE digest
315
+ // form (`sha256-<hex>`, never the §13.7 `sha256:` artifact form): the id becomes a segment
316
+ // of the durable `epcred.` KV key, whose grammar has no ":" — the digest property (a
317
+ // byte-identical retry maps to the SAME id) is what matters, not the separator.
318
+ credentialId: rawDigest(creds).replace("sha256:", "sha256-"),
319
+ credentialKey: identity.id,
320
+ holderActor: pr.actor,
321
+ // A serve credential is minted directly by the provisioner authority, so its §13.1 issuance
322
+ // lineage is the root anchor (not owner/actor principal components).
323
+ sourceChain: ["root"],
324
+ ...(validDates.exp !== undefined ? { exp: validDates.exp } : {}),
325
+ });
326
+ }
327
+ return creds;
269
328
  }
270
329
  /** Build the NATS user permission object for a profile: a default-deny allow-list scoped to
271
330
  * exactly what each profile does. Every profile is now enumerated least-privilege — the former
@@ -285,6 +344,12 @@ export function permissionsFor(profile, space, pr, opts) {
285
344
  // chosen nonce (untrusted), so a metacharacter here would escalate the inbox grant to every inbox.
286
345
  // Assert once, for all profiles (each early-returning profile builds its own inbox from pr.connId).
287
346
  assertInboxConnId(pr.connId);
347
+ // Extraneous serve-artifact refusal, hoisted ABOVE the profile dispatch: every early-return
348
+ // profile (delivery/supervisor/observer/...) must refuse it too, not just the agent tail, or a
349
+ // misconfigured sensitive mint is silently masked (MintOpts: every other profile refuses it).
350
+ // The "endpoint-serve" profile is excluded so its own arm below keeps the call-mintCreds redirect.
351
+ if (opts.endpointServe && profile !== "endpoint-serve")
352
+ throw new Error(`permissionsFor: endpointServe rides the dedicated "endpoint-serve" profile - a serve credential is per-instance authority (SPEC 13.9), never folded into a "${profile}" cred`);
288
353
  if (profile === "delivery")
289
354
  return deliveryPermissions(space, pr); // scoped server-side Plane-3 infra
290
355
  if (profile === "membership-rw")
@@ -298,11 +363,31 @@ export function permissionsFor(profile, space, pr, opts) {
298
363
  // full principal dot-form for user-mode agents, or a bare static/dev actor id (keyed under
299
364
  // DEV_OWNER) — see {@link deprovisionTargetPrincipal}.
300
365
  if (!opts.deprovisionTarget)
301
- throw new Error("permissionsFor: deprovisioner requires opts.deprovisionTarget (the departed agent's actor id)");
366
+ throw new Error("permissionsFor: deprovisioner requires opts.deprovisionTarget ({principal, lifecycleUid} of the departed incarnation)");
302
367
  return deprovisionerPermissions(space, pr, opts.deprovisionTarget);
303
368
  }
369
+ if (profile === "retirement-requester") {
370
+ // Ephemeral request+reply on the auth-admin rail (#29 piece 3): publish EXACTLY the
371
+ // requester's own control subject + subscribe its own reply subtree and inbox. No store
372
+ // reads, no barrier/scanner/plane authority - the requester only asks; the auth plane
373
+ // holds every executing right and re-checks the lease at serve time.
374
+ if (!opts.retirementRequester)
375
+ throw new Error("permissionsFor: retirement-requester requires opts.retirementRequester ({owner, actor} of the requesting manager)");
376
+ const req = controlServiceSubject(space, CONTROL_AUTH_ADMIN, opts.retirementRequester.owner, opts.retirementRequester.actor);
377
+ return { pub: { allow: [req] }, sub: { allow: [`${req}.reply.>`, `_INBOX_${pr.connId}.>`] } };
378
+ }
304
379
  if (profile === "purger")
305
380
  return purgerPermissions(space, pr); // ephemeral history-purge (closure (ii))
381
+ if (profile === "backup") {
382
+ if (!opts.backup)
383
+ throw new Error("permissionsFor: backup requires opts.backup");
384
+ return backupProfilePermissions(space, pr.connId, opts.backup);
385
+ }
386
+ if (profile === "restore") {
387
+ if (!opts.restore)
388
+ throw new Error("permissionsFor: restore requires opts.restore");
389
+ return restoreProfilePermissions(space, pr.connId, opts.restore);
390
+ }
306
391
  if (profile === "operator")
307
392
  return operatorPermissions(space, pr); // human-CLI client (send/dm/ask) (closure (ii))
308
393
  if (profile === "probe")
@@ -319,6 +404,10 @@ export function permissionsFor(profile, space, pr, opts) {
319
404
  return controlCallerPermissions(space, pr, CONTROL_ADMIN); // stop/attach (PR 1.5)
320
405
  if (profile === "deployer")
321
406
  return deployerPermissions(space, pr, opts.controlTier ?? CONTROL_ADMIN); // spawn -f deploy authority (PR 1.5; user-mode view rides privileged)
407
+ if (profile === "endpoint-serve")
408
+ // Serve rows are emitted ONLY by mintCreds behind the §13.1 issuance fence — never via this
409
+ // exported builder, so a direct signer/callout can't obtain unfenced serve rows (SPEC 13.1/13.9).
410
+ throw new Error("permissionsFor: endpoint-serve rows are emitted only by mintCreds behind the §13.1 issuance fence; call mintCreds");
322
411
  const CHAT = chatStream(space), DM = dmStream(space), TASK = taskStream(space);
323
412
  const KV = `KV_${presenceBucket(space)}`;
324
413
  const CHKV = `KV_${channelBucket(space)}`; // channel registry (read-only for everyone)
@@ -333,13 +422,17 @@ export function permissionsFor(profile, space, pr, opts) {
333
422
  // creates on CHAT + the presence KV. No chat/inst/svc/ctl publish → can't post.
334
423
  // observer — sub chat.> only; DM_<space>/svc never named → DMs + anycast structurally
335
424
  // invisible (step-6 inbox scoping means it can't sniff deliveries either).
336
- // admin — sub widened to the whole space so the dashboard's tap also sees DMs (inst.>)
337
- // and anycast (svc.>) live, PLUS DM-stream read verbs so it can backfill DM history.
338
- // A deliberate god-view: DMs are plaintext + ACL-gated, so mint this only for a trusted
339
- // audit dashboard. CONSUMER.CREATE on DM_<space> is the DM-confidentiality surface
340
- // granted here ONLY for this elevated read-only profile, never to agents.
425
+ // admin — sub widened to the MESSAGING plane, enumerated (SPEC 13.9/13.11): the
426
+ // dashboard's tap also sees DMs (inst.>) and anycast (svc.>) live, PLUS DM-stream read
427
+ // verbs so it can backfill DM history. A deliberate god-view over messaging only: a
428
+ // space-wide `>` would additionally plain-subscribe every v0.4 endpoint request rail
429
+ // (collecting the reply nonces the queue-qualified-only rule protects) and every
430
+ // core-only session frame, so the ep/epe/epf/epj/ept/epr/epw/eps/epc planes are
431
+ // deliberately excluded. DMs are plaintext + ACL-gated, so mint this only for a
432
+ // trusted audit dashboard. CONSUMER.CREATE on DM_<space> is the DM-confidentiality
433
+ // surface — granted here ONLY for this elevated read-only profile, never to agents.
341
434
  const sub = profile === "admin"
342
- ? [`${spacePrefix(space)}.>`, inbox]
435
+ ? [`${spacePrefix(space)}.chat.>`, `${spacePrefix(space)}.inst.>`, `${spacePrefix(space)}.svc.>`, inbox]
343
436
  : [`${spacePrefix(space)}.chat.>`, inbox];
344
437
  const allow = [
345
438
  "$JS.API.INFO",
@@ -392,8 +485,11 @@ export function permissionsFor(profile, space, pr, opts) {
392
485
  for (const ch of [...allowSubscribe, ...allowPublish])
393
486
  assertValidChannel(ch);
394
487
  const manager = opts.manager ?? CONTROL_PRIVILEGED;
395
- const chatHistD = chatHistDurable(pr.owner, pr.actor), dmD = dmDurable(pr.owner, pr.actor);
396
- const DLV = dlvStream(space), dlvD = dlvDurable(pr.owner, pr.actor); // Plane-3 per-member delivery (bind-only)
488
+ if (!pr.lifecycleUid)
489
+ throw new Error("permissionsFor(agent): a lifecycleUid is required - the agent's dm/dlv/chathist grants are lifecycle-keyed exact names (SPEC 13.1)");
490
+ const uid = assertLifecycleToken(pr.lifecycleUid);
491
+ const chatHistD = chatHistDurable(pr.owner, pr.actor, uid), dmD = dmDurable(pr.owner, pr.actor, uid);
492
+ const DLV = dlvStream(space), dlvD = dlvDurable(pr.owner, pr.actor, uid); // Plane-3 per-member delivery (bind-only)
397
493
  const svcD = opts.role ? taskDurable(opts.role) : undefined;
398
494
  const pubAllow = [
399
495
  // peer publish — owner+actor identity + channel scope, built from the real builders. Default-deny:
@@ -480,6 +576,32 @@ export function permissionsFor(profile, space, pr, opts) {
480
576
  // broker-enforced half of the tier split; the manager's per-op checks stay on top of it.
481
577
  pubAllow.push(controlServiceSubject(space, CONTROL_ADMIN, pr.owner, pr.actor));
482
578
  }
579
+ // v0.4 endpoint rails (SPEC §13.9 caller rows). EVERY agent gets the Appendix-B BASELINE set
580
+ // (wildcard describe + delivery join/leave/list + self-mode lifecycle + the reply rail), keyed
581
+ // on the SAME lifecycle uid as the agent's durables; the spawn capability adds the owner-mode
582
+ // manager lifecycle set. Beyond the baseline stays default-deny: only minted capabilities
583
+ // produce rows, each pinning the full caller triple (§13.1 lifecycle UID included; the nonce
584
+ // is the only wildcard token).
585
+ // ONE lifecycle uid keys the whole caller rail (§13.1/§13.2 forge-lock: one credential names one
586
+ // incarnation). `uid` is the already-asserted pr.lifecycleUid; the baseline, the spawn set, AND
587
+ // the explicit capabilities ALL build their caller triple from it. opts.lifecycleUid is a public
588
+ // seam (the IdP-adapter path) that must AGREE, never a second source of truth for the triple: a
589
+ // divergent value would mint two reply rails on one credential, so it fails loud here.
590
+ const epCaller = { owner: pr.owner, actor: pr.actor, uid };
591
+ const baseline = epBaselineGrantRows(space, epCaller);
592
+ pubAllow.push(...baseline.pub);
593
+ const epSub = [...baseline.sub];
594
+ if (opts.capabilities?.includes("spawn"))
595
+ pubAllow.push(...epCallerGrantRows(space, spawnCallerCapabilities(pr.owner), epCaller).pub);
596
+ if (opts.endpointCapabilities?.length) {
597
+ if (opts.lifecycleUid !== undefined && assertLifecycleToken(opts.lifecycleUid) !== uid)
598
+ throw new Error(`permissionsFor: opts.lifecycleUid "${opts.lifecycleUid}" disagrees with the principal's lifecycleUid "${uid}" - one credential names ONE incarnation on the caller rail (SPEC 13.1/13.2)`);
599
+ const rows = epCallerGrantRows(space, opts.endpointCapabilities, epCaller);
600
+ pubAllow.push(...rows.pub);
601
+ for (const s of rows.sub)
602
+ if (!epSub.includes(s))
603
+ epSub.push(s);
604
+ }
483
605
  // Explicit create-deny (defense-in-depth over default-deny) on the two streams whose
484
606
  // create-time filter_subject is the attack surface — DM (private content) and TASK
485
607
  // (cross-role work-stealing). Covers the bare ephemeral form (no trailing token), the
@@ -517,7 +639,7 @@ export function permissionsFor(profile, space, pr, opts) {
517
639
  controlReplies.push(`${controlServiceSubject(space, CONTROL_PRIVILEGED, pr.owner, pr.actor)}.reply.>`);
518
640
  if (opts.capabilities?.includes("admin"))
519
641
  controlReplies.push(`${controlServiceSubject(space, CONTROL_ADMIN, pr.owner, pr.actor)}.reply.>`);
520
- return { pub: { allow: pubAllow, deny: pubDeny }, sub: { allow: [inbox, deliveryReplies, ...controlReplies, ...subChat] } };
642
+ return { pub: { allow: pubAllow, deny: pubDeny }, sub: { allow: [inbox, deliveryReplies, ...controlReplies, ...subChat, ...epSub] } };
521
643
  }
522
644
  /** The long-lived SUPERVISOR permission set (closure (ii), residual 2) — the always-on manager daemon
523
645
  * (`manager.ts` `this.ep`), carved down from the former allow-all `manager`. THIS is the cred whose
@@ -740,6 +862,54 @@ function controlCallerPermissions(space, pr, tier) {
740
862
  sub: { allow: [`_INBOX_${pr.connId}.>`, `${reqSubject}.reply.>`] },
741
863
  };
742
864
  }
865
+ /** ENDPOINT-SERVE (v0.4, SPEC §13.9 "Serve grants") — the per-instance serve credential:
866
+ * EXACTLY the instance's registered rails and nothing else. Subscribe: the queue-qualified
867
+ * class rail, the plain scatter rail, and the own-instance rail for the FULL registered
868
+ * command set plus the derived `describe`, and the own epoch-pinned timer-fire subjects;
869
+ * publish: the epoch-pinned egress (reply / `epe` events / `ept` schedule requests / `epr`
870
+ * record-write ingress) plus, from the branded snapshot only, the §13.9 bind rows: the shared
871
+ * `eff_<e>` effects bind iff the surface is journal-class and each owned `pool_<e>_<pool>`
872
+ * bind (bind-only + `$JS.API.INFO`; an ephemeral-only poolless endpoint emits none). No agent
873
+ * baseline of any kind — no chat/DM/anycast/presence/ctl, no broad `$JS.>`. The value MUST be the
874
+ * branded ARTIFACT `authorizeServeGrant` returned, and its mint context binds: same space, and
875
+ * the minted principal is the registered owner. This builds the ROWS; the RELEASE fence is the
876
+ * durable issuance-gate CAS `mintCreds` runs (SPEC §13.1) — a raw/copied/diverging value or a
877
+ * foreign space/principal refuses here, and a stale incarnation loses the gate CAS. */
878
+ function endpointServePermissions(space, pr, opts) {
879
+ if (!opts.endpointServe)
880
+ throw new Error("permissionsFor: endpoint-serve requires opts.endpointServe (the authorized serve artifact)");
881
+ // The fence is INSEPARABLE from serve-row emission: a serve credential's rows are only ever
882
+ // valid when released behind the §13.1 issuance CAS, so this builder refuses to emit them
883
+ // without the gate seam — closing the exported-permissionsFor bypass where a direct signer
884
+ // could obtain unfenced serve rows past the brand/space/owner check. `mintCreds` runs the CAS.
885
+ if (!opts.serveIssuance)
886
+ throw new Error("permissionsFor: endpoint-serve requires opts.serveIssuance (serve rows are emitted only behind the §13.1 issuance fence; mintCreds runs its CAS before release)");
887
+ const snap = assertServeGrantMintable(opts.endpointServe, { space, holderOwner: pr.owner });
888
+ // Rail subscribe rows cover the EPHEMERAL commands only (journal commands ride epj, never the
889
+ // request rails) + the derived describe; the descriptor surface stays full. The class comes
890
+ // from the brand-verified artifact surface, not the caller.
891
+ const ephemeralCommands = snap.commands.filter((cmd) => opts.endpointServe.surface[cmd].class === "ephemeral");
892
+ const rows = epServeGrantRows(space, {
893
+ endpoint: snap.endpoint, instanceId: snap.instanceId, epoch: snap.epoch, ephemeralCommands,
894
+ });
895
+ // §13.9:2473 bind rows, from the BRANDED snapshot only (journal class is registered truth,
896
+ // pools are the authorizing provisioner's pre-created durables): a journal-class instance
897
+ // binds the shared `eff_<e>` effects durable, a pool-owning one binds each owned
898
+ // `pool_<e>_<pool>` — all bind-only (INFO/MSG.NEXT/ACK, never create/delete), plus the one
899
+ // `$JS.API.INFO` a pull consumer needs. An ephemeral-only poolless endpoint emits NONE of
900
+ // these rows (default-deny both directions).
901
+ const bindRows = [];
902
+ if (snap.journalClass)
903
+ bindRows.push(...effectsBindGrants(space, snap.endpoint));
904
+ for (const pool of snap.pools)
905
+ bindRows.push(...poolOwnerBindGrants(space, snap.endpoint, pool));
906
+ if (bindRows.length > 0)
907
+ bindRows.push("$JS.API.INFO");
908
+ return {
909
+ pub: { allow: [...rows.pub, ...bindRows] },
910
+ sub: { allow: [...rows.sub, `_INBOX_${pr.connId}.>`] },
911
+ };
912
+ }
743
913
  /** DEPLOYER (PR 1.5) — the `cotal spawn -f` manifest-deploy authority. `spawn -f` drives ONE
744
914
  * `connectProbe` endpoint that both READS live state (roster/presence watch, channel registry,
745
915
  * membership feed, manager-singleton lease) AND control-CALLS the running manager's admin tier
@@ -761,6 +931,7 @@ function controlCallerPermissions(space, pr, tier) {
761
931
  function deployerPermissions(space, pr, tier = CONTROL_ADMIN) {
762
932
  const PKV = `KV_${presenceBucket(space)}`, CHKV = `KV_${channelBucket(space)}`;
763
933
  const MSHIP = `KV_${membershipBucket(space)}`, MGRKV = `KV_${managerBucket(space)}`;
934
+ const DLVKV = `KV_${deliveryBucket(space)}`;
764
935
  // Read verbs for a KV bucket SCANNED/WATCHED via an ordered consumer (presence, channel registry, and
765
936
  // the membership feed — `readMembership` enumerates keys via `kv.keys()`): existence + kv.get (both
766
937
  // STREAM.MSG.GET and keyed DIRECT.GET forms) + the ordered consumer. NO `$KV.<bucket>` publish → no write.
@@ -786,6 +957,7 @@ function deployerPermissions(space, pr, tier = CONTROL_ADMIN) {
786
957
  ...kvScan(CHKV), // channel registry read (readChannelRegistry + classifyChannels)
787
958
  ...kvScan(MSHIP), // membership FEED read (readMembership → detectUnmanagedActors) — the membership_ bucket
788
959
  ...kvPointRead(MGRKV), // manager-singleton lease keyed read (waitManagerReady) — point-get, NO write, NO watch
960
+ ...kvPointRead(DLVKV), // delivery-lease keyed read (preserve-state quiescence proof) — point-get, NO write, NO watch
789
961
  "$JS.FC.>", // ordered-consumer flow control
790
962
  // ONE control tier — launch + ps readiness. Static operator deploy creds ride CONTROL_ADMIN
791
963
  // (the historical shape); the user-mode `deployer` VIEW rides CONTROL_PRIVILEGED so the
@@ -912,21 +1084,24 @@ function provisionerPermissions(space, pr) {
912
1084
  * the absent ACL) if fired while T is still alive. It CANNOT read T's bodies, impersonate T, reach any peer, or
913
1085
  * delete a stream — and it is ephemeral (one per-exit teardown, minted then dropped). Contained and
914
1086
  * recoverable (re-provision T). */
915
- function deprovisionerPermissions(space, pr, targetActor) {
1087
+ function deprovisionerPermissions(space, pr, deprovisionTarget) {
916
1088
  const DM = dmStream(space), DLV = dlvStream(space);
917
- const t = deprovisionTargetPrincipal(targetActor);
1089
+ const t = deprovisionTargetPrincipal(deprovisionTarget);
918
1090
  const target = principalKey(t.owner, t.actor);
919
1091
  return {
920
1092
  pub: {
921
1093
  allow: [
922
1094
  "$JS.API.INFO", // jetstreamManager bootstrap
923
- // Delete the target's two bind-only durables BY EXACT NAME — no `.>`, no cross-agent reach.
924
- `$JS.API.CONSUMER.DELETE.${DM}.${dmDurable(t.owner, t.actor)}`,
925
- `$JS.API.CONSUMER.DELETE.${DLV}.${dlvDurable(t.owner, t.actor)}`,
926
- // Purge the target's read-ACL row (own-target key only — the reader then treats it as an unknown
927
- // owner). `kvm.open` binds the pre-created bucket; the purge rides `$KV.<aclBucket>.<key>`.
1095
+ // Delete the target LIFECYCLE's two bind-only durables BY EXACT NAME — no `.>`, no cross-agent
1096
+ // reach, and no reach into a same-alias successor: its names carry a different uid, so a
1097
+ // replayed teardown is broker-DENIED there (SPEC 13.1 / Appendix "deprovisioner").
1098
+ `$JS.API.CONSUMER.DELETE.${DM}.${dmDurable(t.owner, t.actor, t.lifecycleUid)}`,
1099
+ `$JS.API.CONSUMER.DELETE.${DLV}.${dlvDurable(t.owner, t.actor, t.lifecycleUid)}`,
1100
+ // Purge the target lifecycle's read-ACL row (own-target exact key only — the reader then treats
1101
+ // it as an unknown owner). `kvm.open` binds the pre-created bucket; the purge rides
1102
+ // `$KV.<aclBucket>.<key>`.
928
1103
  `$JS.API.STREAM.INFO.KV_${aclBucket(space)}`,
929
- `$KV.${aclBucket(space)}.${aclKey(target.key)}`,
1104
+ `$KV.${aclBucket(space)}.${aclKey(target.key, t.lifecycleUid)}`,
930
1105
  ],
931
1106
  },
932
1107
  // Replies only: the CONSUMER.DELETE PubAcks + KV purge ack land on the per-connection inbox. NO chat/DM/ctl
@@ -984,9 +1159,11 @@ function deliveryPermissions(space, pr) {
984
1159
  // Delivery lease/readiness KV: read the bucket (renew CAS) + write ONLY lease keys.
985
1160
  `$JS.API.STREAM.INFO.${DKV}`, `$JS.API.STREAM.MSG.GET.${DKV}`,
986
1161
  `$KV.${deliveryBucket(space)}.lease.*`,
987
- // Plane-3 data writes: dinbox (fan-out target) + dlv (post-auth handoff) for ANY principal — the
988
- // owner+actor slots widen to `.*.*` (dinbox/dlv are per-agent now).
989
- `${p}.dinbox.*.*`, `${p}.dlv.*.*`,
1162
+ // Plane-3 data writes: dinbox (fan-out target) + dlv (post-auth handoff) for ANY lifecycle — the
1163
+ // identity slots widen to `.*.*.*` (owner+actor+lifecycleUid: dinbox/dlv are per-LIFECYCLE now,
1164
+ // SPEC 13.1; NATS subject arity is exact, so the old two-token form is broker-denied on every
1165
+ // three-token write).
1166
+ `${p}.dinbox.*.*.*`, `${p}.dlv.*.*.*`,
990
1167
  // ctl.delivery control REPLIES ONLY (requests arrive on the sub below; the daemon only ever
991
1168
  // m.respond()s to a requester's reply subject `ctl.delivery.<owner>.<actor>.reply.<n>`). Scoped to
992
1169
  // the `.reply.>` leaf so the daemon can't publish to the request subjects themselves — tighter than a
@@ -1 +1 @@
1
- {"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}