@cotal-ai/core 0.48.2 → 0.49.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 (104) hide show
  1. package/dist/agent-file.d.ts +34 -0
  2. package/dist/agent-file.d.ts.map +1 -1
  3. package/dist/agent-file.js +94 -2
  4. package/dist/agent-file.js.map +1 -1
  5. package/dist/auth-provider.d.ts +25 -1
  6. package/dist/auth-provider.d.ts.map +1 -1
  7. package/dist/auth-provider.js.map +1 -1
  8. package/dist/connector.d.ts +4 -0
  9. package/dist/connector.d.ts.map +1 -1
  10. package/dist/connector.js.map +1 -1
  11. package/dist/endpoint-action.d.ts +1 -0
  12. package/dist/endpoint-action.d.ts.map +1 -1
  13. package/dist/endpoint-action.js +1 -1
  14. package/dist/endpoint-action.js.map +1 -1
  15. package/dist/endpoint-binding.d.ts +6 -0
  16. package/dist/endpoint-binding.d.ts.map +1 -1
  17. package/dist/endpoint-binding.js +17 -0
  18. package/dist/endpoint-binding.js.map +1 -1
  19. package/dist/endpoint-grants.d.ts.map +1 -1
  20. package/dist/endpoint-grants.js +34 -12
  21. package/dist/endpoint-grants.js.map +1 -1
  22. package/dist/endpoint-invoke.d.ts.map +1 -1
  23. package/dist/endpoint-invoke.js +9 -49
  24. package/dist/endpoint-invoke.js.map +1 -1
  25. package/dist/endpoint-publish-denial.d.ts +35 -0
  26. package/dist/endpoint-publish-denial.d.ts.map +1 -0
  27. package/dist/endpoint-publish-denial.js +56 -0
  28. package/dist/endpoint-publish-denial.js.map +1 -0
  29. package/dist/endpoint-serve-kv.d.ts +16 -0
  30. package/dist/endpoint-serve-kv.d.ts.map +1 -1
  31. package/dist/endpoint-serve-kv.js +29 -0
  32. package/dist/endpoint-serve-kv.js.map +1 -1
  33. package/dist/endpoint-serve.d.ts.map +1 -1
  34. package/dist/endpoint-serve.js +9 -4
  35. package/dist/endpoint-serve.js.map +1 -1
  36. package/dist/endpoint-service.d.ts +21 -0
  37. package/dist/endpoint-service.d.ts.map +1 -1
  38. package/dist/endpoint-service.js +150 -15
  39. package/dist/endpoint-service.js.map +1 -1
  40. package/dist/endpoint-subjects.d.ts +34 -0
  41. package/dist/endpoint-subjects.d.ts.map +1 -1
  42. package/dist/endpoint-subjects.js +87 -18
  43. package/dist/endpoint-subjects.js.map +1 -1
  44. package/dist/endpoint-verbs.d.ts +4 -2
  45. package/dist/endpoint-verbs.d.ts.map +1 -1
  46. package/dist/endpoint-verbs.js +22 -7
  47. package/dist/endpoint-verbs.js.map +1 -1
  48. package/dist/endpoint.d.ts +155 -5
  49. package/dist/endpoint.d.ts.map +1 -1
  50. package/dist/endpoint.js +528 -48
  51. package/dist/endpoint.js.map +1 -1
  52. package/dist/index.d.ts +4 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +8 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/issued-authority.d.ts +168 -0
  57. package/dist/issued-authority.d.ts.map +1 -0
  58. package/dist/issued-authority.js +497 -0
  59. package/dist/issued-authority.js.map +1 -0
  60. package/dist/issuer-session.d.ts +30 -0
  61. package/dist/issuer-session.d.ts.map +1 -0
  62. package/dist/issuer-session.js +51 -0
  63. package/dist/issuer-session.js.map +1 -0
  64. package/dist/lifecycle-state.d.ts +9 -2
  65. package/dist/lifecycle-state.d.ts.map +1 -1
  66. package/dist/lifecycle-state.js +11 -2
  67. package/dist/lifecycle-state.js.map +1 -1
  68. package/dist/provision.d.ts +24 -14
  69. package/dist/provision.d.ts.map +1 -1
  70. package/dist/provision.js +137 -14
  71. package/dist/provision.js.map +1 -1
  72. package/dist/remote-manager-authority.d.ts +126 -1
  73. package/dist/remote-manager-authority.d.ts.map +1 -1
  74. package/dist/remote-manager-authority.js +21 -0
  75. package/dist/remote-manager-authority.js.map +1 -1
  76. package/dist/run-admission.d.ts +88 -0
  77. package/dist/run-admission.d.ts.map +1 -0
  78. package/dist/run-admission.js +193 -0
  79. package/dist/run-admission.js.map +1 -0
  80. package/dist/run-driver-grants.d.ts.map +1 -1
  81. package/dist/run-driver-grants.js +7 -0
  82. package/dist/run-driver-grants.js.map +1 -1
  83. package/dist/run-host.d.ts +5 -0
  84. package/dist/run-host.d.ts.map +1 -1
  85. package/dist/run-host.js.map +1 -1
  86. package/dist/runtime.d.ts +31 -3
  87. package/dist/runtime.d.ts.map +1 -1
  88. package/dist/secret-fs.d.ts +25 -0
  89. package/dist/secret-fs.d.ts.map +1 -1
  90. package/dist/secret-fs.js +136 -3
  91. package/dist/secret-fs.js.map +1 -1
  92. package/dist/secret-store.d.ts +38 -0
  93. package/dist/secret-store.d.ts.map +1 -1
  94. package/dist/secret-store.js +53 -1
  95. package/dist/secret-store.js.map +1 -1
  96. package/dist/streams.d.ts +23 -75
  97. package/dist/streams.d.ts.map +1 -1
  98. package/dist/streams.js +65 -85
  99. package/dist/streams.js.map +1 -1
  100. package/dist/subjects.d.ts +3 -1
  101. package/dist/subjects.d.ts.map +1 -1
  102. package/dist/subjects.js +3 -1
  103. package/dist/subjects.js.map +1 -1
  104. package/package.json +1 -1
@@ -212,13 +212,20 @@ export interface StaticManagedSlotRow {
212
212
  * option. Absent on a legacy row and on every phase before the cleanup step, which a resume reads
213
213
  * as not-known-complete and re-runs the idempotent cleanup — the totality-preserving default. */
214
214
  cleanupComplete?: boolean;
215
+ /** The runtime's durable reference to the incarnation's process custody (an `AgentHandle.reference`),
216
+ * recorded when the slot goes `active` and re-recorded when a same-lifecycle restart or resume binds
217
+ * a new handle. A successor's terminal reaps the orphaned OS process through it, so a manager crash
218
+ * never leaves a seat running outside every manager. Absent for a runtime without durable custody
219
+ * (nothing to reap by reference) and on a row written before this field existed. */
220
+ runtime?: {
221
+ kind: string;
222
+ id: string;
223
+ };
215
224
  }
216
225
  /** The slot key prefix in the records store. Core-owned so permission builders and the manager
217
226
  * share ONE encoder (a second literal is the drift class this module bans). */
218
227
  export declare const STATIC_SLOT_PREFIX = "mgrslot";
219
228
  /** The slot key `mgrslot.<owner>.<alias>`. */
220
229
  export declare function staticSlotKey(owner: string, alias: string): string;
221
- /** Validate a slot row at the consuming boundary — CLOSED schema, and the embedded identity
222
- * MUST rebuild the row's own key, so a key-mismatched row never drives a resume or terminal. */
223
230
  export declare function parseStaticSlotRow(raw: Uint8Array, key: string): StaticManagedSlotRow;
224
231
  //# sourceMappingURL=lifecycle-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-state.d.ts","sourceRoot":"","sources":["../src/lifecycle-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-state.d.ts","sourceRoot":"","sources":["../src/lifecycle-state.ts"],"names":[],"mappings":"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"}
@@ -377,6 +377,14 @@ export function staticSlotKey(owner, alias) {
377
377
  }
378
378
  /** Validate a slot row at the consuming boundary — CLOSED schema, and the embedded identity
379
379
  * MUST rebuild the row's own key, so a key-mismatched row never drives a resume or terminal. */
380
+ function isRuntimeReference(v) {
381
+ if (!isRec(v))
382
+ return false;
383
+ for (const k of Object.keys(v))
384
+ if (k !== "kind" && k !== "id")
385
+ return false;
386
+ return typeof v.kind === "string" && v.kind.length > 0 && typeof v.id === "string" && v.id.length > 0;
387
+ }
380
388
  export function parseStaticSlotRow(raw, key) {
381
389
  let o;
382
390
  try {
@@ -387,7 +395,7 @@ export function parseStaticSlotRow(raw, key) {
387
395
  }
388
396
  if (!isRec(o))
389
397
  throw new EpEnvelopeError("internal", `the static slot row ${key} is not an object`);
390
- const allowed = new Set(["owner", "alias", "actor", "lifecycleUid", "phase", "credentialIds", "managerInstance", "ownerInstanceId", "cleanupComplete"]);
398
+ const allowed = new Set(["owner", "alias", "actor", "lifecycleUid", "phase", "credentialIds", "managerInstance", "ownerInstanceId", "cleanupComplete", "runtime"]);
391
399
  for (const k of Object.keys(o))
392
400
  if (!allowed.has(k))
393
401
  throw new EpEnvelopeError("internal", `the static slot row ${key} carries the unknown field "${k}" (closed schema)`);
@@ -396,8 +404,9 @@ export function parseStaticSlotRow(raw, key) {
396
404
  typeof o.phase !== "string" || !STATIC_SLOT_PHASES.has(o.phase) ||
397
405
  (o.ownerInstanceId !== undefined && (typeof o.ownerInstanceId !== "string" || o.ownerInstanceId.length === 0)) ||
398
406
  (o.cleanupComplete !== undefined && typeof o.cleanupComplete !== "boolean") ||
407
+ (o.runtime !== undefined && !isRuntimeReference(o.runtime)) ||
399
408
  !Array.isArray(o.credentialIds) || !o.credentialIds.every((c) => typeof c === "string" && c.length > 0))
400
- throw new EpEnvelopeError("internal", `the static slot row ${key} does not validate (owner/alias/actor/uid/phase/credentialIds/managerInstance/ownerInstanceId/cleanupComplete)`);
409
+ throw new EpEnvelopeError("internal", `the static slot row ${key} does not validate (owner/alias/actor/uid/phase/credentialIds/managerInstance/ownerInstanceId/cleanupComplete/runtime)`);
401
410
  assertLifecycleToken(o.lifecycleUid);
402
411
  for (const c of o.credentialIds)
403
412
  assertCredentialIdTail(c, `slot row ${key} credentialId`);
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-state.js","sourceRoot":"","sources":["../src/lifecycle-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-state.js","sourceRoot":"","sources":["../src/lifecycle-state.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,12 @@ import type { BrokerTransport } from "./broker-tls.js";
2
2
  import { type DeprovisionTarget } from "./subjects.js";
3
3
  import { type EpCapability } from "./endpoint-grants.js";
4
4
  import { type EpServeGrant, type EpIssuanceGate } from "./endpoint-service.js";
5
+ import { type IssuanceSeam } from "./issued-authority.js";
5
6
  import { type RunDriverGrantArgs, type RunOperatorGrantArgs } from "./run-driver-grants.js";
6
7
  import { type Identity } from "./identity.js";
7
8
  import { type BackupPermissionScope, type RestorePermissionScope } from "./backup.js";
8
9
  /** Cred profiles. Each profile has an explicit permission arm and a D5 lifetime classification. */
9
- export type Profile = "agent" | "observer" | "admin" | "supervisor" | "provisioner" | "deprovisioner" | "retirement-requester" | "lifecycle-executor" | "endpoint-serve-executor" | "operator" | "purger" | "backup" | "restore" | "delivery" | "membership-rw" | "probe" | "channel-writer" | "channel-purger" | "teardown" | "control-caller-privileged" | "control-caller-admin" | "deployer" | "endpoint-serve" | "goal-writer" | "session-caller" | "session-serving" | "session-ledger" | "run-driver" | "run-mediator" | "run-operator" | "endpoint-evictor" | "remote-manager";
10
+ export type Profile = "agent" | "observer" | "admin" | "supervisor" | "provisioner" | "deprovisioner" | "retirement-requester" | "lifecycle-executor" | "endpoint-serve-executor" | "operator" | "purger" | "backup" | "restore" | "delivery" | "membership-rw" | "probe" | "channel-writer" | "channel-purger" | "teardown" | "control-caller-privileged" | "control-caller-admin" | "deployer" | "endpoint-serve" | "goal-writer" | "session-caller" | "session-serving" | "session-ledger" | "run-driver" | "run-mediator" | "run-operator" | "endpoint-evictor" | "issuer" | "run-admitter" | "remote-manager";
10
11
  export type CredentialLifetimeClass = "standing-renewable" | "rotation-renewed" | "one-shot" | "static-operator-managed" | "mixed";
11
12
  export type CredentialKind = Profile | "membership-observer" | "connection-evictor";
12
13
  export interface CredentialLifetimePolicy {
@@ -316,6 +317,28 @@ export interface MintOpts {
316
317
  expiresInSeconds?: number;
317
318
  /** Absolute JWT `exp` timestamp in seconds. Used by cutover/test code that needs already-expired creds. */
318
319
  expiresAt?: number;
320
+ /** Issued authority (SPEC 13.15): mint this credential's ep-rail rows on the VERSIONED rail,
321
+ * pinned to `generation`, and grant the per-key read of its accepted row. The issuer chose the
322
+ * generation and persisted its evidence before calling; the client chose `acceptedToken` and
323
+ * learns the accepted generation by reading that one row after it connects. Taken by the
324
+ * profiles that hold caller rails (`agent`, the operator instruments); every other profile
325
+ * refuses it. */
326
+ issued?: {
327
+ generation: string;
328
+ acceptedToken: string;
329
+ };
330
+ /** The durable half of an issuance, REQUIRED beside {@link MintOpts.issued} on {@link mintCreds}:
331
+ * the credential is built first, then its evidence is staged create-only, the existing
332
+ * finalizer runs, and the attempt activates by CAS at the revision the stage observed; only
333
+ * then is the accepted row written and the material returned (SPEC 13.15). `renew` confirms an
334
+ * existing generation's ceiling is unchanged and stages nothing. */
335
+ issuance?: IssuanceSeam;
336
+ /** `run-admitter` profile only: the ONE hosted run whose admission record and revocation marker
337
+ * this connection may create. */
338
+ runAdmitter?: {
339
+ endpoint: string;
340
+ runId: string;
341
+ };
319
342
  /** `backup` profile only: one discriminated inspector or snapshot phase. */
320
343
  backup?: BackupPermissionScope;
321
344
  /** `restore` profile only: one discriminated initiate, upload, validate, or checkpoint phase. */
@@ -412,19 +435,6 @@ export declare function mintPublicUserJwt(auth: SpaceAuth, publicId: string, pro
412
435
  jwt: string;
413
436
  exp: number;
414
437
  }>;
415
- /** Build the NATS user permission object for a profile: a default-deny allow-list scoped to
416
- * exactly what each profile does. Every profile is now enumerated least-privilege — the former
417
- * allow-all `manager` is gone (its roles split across supervisor/provisioner/operator/purger and the
418
- * PR 1.5 CLI-surface profiles). Subject/stream/durable names come from the shared builders so the ACLs
419
- * can't drift from the wire layout.
420
- *
421
- * PRINCIPAL-PARAMETERIZED + MODE-AGNOSTIC (owner+actor grammar): `pr` carries the owner+actor wire
422
- * principal (chat/inst/svc/ctl subjects, per-agent durables, the presence key all scope to it) PLUS the
423
- * connection nkey (`pr.connId`, which scopes the private reply inbox `_INBOX_<connId>`). Core does NOT
424
- * fork on dev-vs-user — the composition root supplies the principal: the auth callout passes the derived
425
- * owner + ledger actor + the per-connection ephemeral nkey; the static/dev mint passes
426
- * `{owner:"local", actor:<id>, connId:<id>}` via {@link principalOf}. EXPORTED so the callout's injected
427
- * `permissionsFor` hook can feed a validated principal straight into the same builder. */
428
438
  export declare function permissionsFor(profile: Profile, space: string, pr: MintPrincipal, opts: MintOpts): Record<string, unknown>;
429
439
  /** Mint the scoped `membership-observer` creds — a SYSTEM-account user (conn A of the graph feed),
430
440
  * signed with the in-memory `auth.sys.signingSeed` from a fresh {@link createSpaceAuth}. THROWS if that
@@ -1 +1 @@
1
- {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
package/dist/provision.js CHANGED
@@ -14,15 +14,17 @@
14
14
  * D5 adds the first credential-death primitive: profile-classified user-JWT lifetimes. Full revocation,
15
15
  * live eviction, standing-host renewal, and issuance audit still land in later D5 slices.
16
16
  */
17
- import { ttlBuckets } from "./streams.js";
17
+ import { TTL_RECONCILE_CANARY_KEY, ttlBuckets } from "./streams.js";
18
18
  import { join } from "node:path";
19
19
  import { decode, encodeOperator, encodeAccount, encodeUser, fmtCreds, } from "@nats-io/jwt";
20
20
  import { createOperator, createAccount, fromPublic, fromSeed } from "@nats-io/nkeys";
21
21
  import { token, spacePrefix, chatSubject, assertValidChannel, channelInAllow, principalKey, parsePrincipalKey, deprovisionTargetPrincipal, principalTags, assertInboxConnId, DEV_OWNER, unicastSubject, anycastSubject, controlServiceSubject, CONTROL_DELIVERY, CONTROL_DELIVERY_ADMIN, artifactBucket, objectStoreStream, 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";
22
22
  import { epCallerGrantRows, epServeGrantRows, epBaselineGrantRows, spawnCallerCapabilities, runCallerCapabilities, epRequestGrantRows, operatorInstrumentCapabilities, epDescribeAllGrantRow, BASELINE_LIFECYCLE_ENDPOINT, } from "./endpoint-grants.js";
23
23
  import { assertServeGrantMintable, finalizeServeIssuance } from "./endpoint-service.js";
24
- import { effectsBindGrants, poolOwnerBindGrants, goalWriterGrants, sessionLedgerGrants, epAuthBucket, sessionsBucket, epcStreamName, endpointPlaneStreamNames, eptReqStreamName, eptStreamName, timerWriterDurable, timerWriterGrants } from "./endpoint-binding.js";
25
- import { epsSubject, epCallerReplyFilter, AUTH_ENDPOINT, EP_CMD_RETIRE_LIFECYCLE } from "./endpoint-subjects.js";
24
+ import { effectsBindGrants, poolOwnerBindGrants, goalWriterGrants, sessionLedgerGrants, epAuthBucket, sessionsBucket, epcStreamName, endpointPlaneStreamNames, eptReqStreamName, eptStreamName, hardenedAuthorityStreamNames, timerWriterDurable, timerWriterGrants } from "./endpoint-binding.js";
25
+ import { epsSubject, epCallerReplyFilter, assertGeneration, AUTH_ENDPOINT, EP_CMD_RETIRE_LIFECYCLE } from "./endpoint-subjects.js";
26
+ import { acceptedReadGrant, acceptedBucket, importNativeSubjectPermissions, issuedBucket, writeAcceptedRow } from "./issued-authority.js";
27
+ import { admissionBucket, admissionKey, revocationKey } from "./run-admission.js";
26
28
  import { runDriverGrants, runMediatorGrants, runOperatorGrants } from "./run-driver-grants.js";
27
29
  import { recordsBucket, recordSpecKey, recordStatusKey, recordAtomicKey, RECORD_KINDS, GOVERN_HEAD } from "./endpoint-records.js";
28
30
  import { lifecycleHeadKey, uidReservationKey, issuanceGateKey, staticSlotKey, STATIC_SLOT_PREFIX, epgateKey, epcredFamilyPrefix, eprepairKey } from "./lifecycle-state.js";
@@ -75,6 +77,8 @@ export const CREDENTIAL_LIFETIMES = {
75
77
  "run-driver": { class: "standing-renewable", defaultTtlSeconds: STANDING_RENEWABLE_TTL_SEC, renewalOwner: "manager", note: "one workflow run's driver, per takeover attempt (SPEC 14.6): the hosting manager mints it when it takes the run over and re-mints for the SAME nkey on renewal; a new takeover mints a new one" },
76
78
  "run-mediator": { class: "standing-renewable", defaultTtlSeconds: STANDING_RENEWABLE_TTL_SEC, renewalOwner: "manager", note: "trusted workflow host operations, bound to one run and attempt; kept on the hosting process's connection" },
77
79
  "run-operator": { class: "one-shot", defaultTtlSeconds: 60, note: "one served run-status / run-ps / run-answer call (SPEC 14.3): the hosting manager mints it per call on its own connection, never the serve rails; 60s bounds a copied cred to a minute" },
80
+ issuer: { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "one issuance's evidence stage/release or one lifecycle terminal's issuance retirement (SPEC 13.15)" },
81
+ "run-admitter": { class: "one-shot", defaultTtlSeconds: 60, note: "one hosted run's admission record create, or its revocation marker (SPEC 14.8); 60s bounds a copied cred to a minute" },
78
82
  "endpoint-evictor": { class: "one-shot", defaultTtlSeconds: 60, note: "one re-registration's verify-evict window (P2 item 3): a scoped delivery-admin caller that kicks+verifies the SUPERSEDED serve family before the epoch advances; 60s bounds a copied cred to a minute" },
79
83
  "remote-manager": { class: "standing-renewable", defaultTtlSeconds: STANDING_RENEWABLE_TTL_SEC, renewalOwner: "auth-service", note: "the scoped remote manager lifecycle: own lease/presence plus same-owner agent provisioning; issued only by the typed supervise protocol, never by cotal mint or a raw view/profile string" },
80
84
  "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" },
@@ -378,6 +382,7 @@ export async function mintCreds(auth, identity, profile, opts = {}) {
378
382
  // orphan authority record). fmtCreds only wraps the already-signed JWT with the seed, so it is
379
383
  // done here and the fence is the mint's LAST step.
380
384
  const creds = new TextDecoder().decode(fmtCreds(userJwt, fromSeed(new TextEncoder().encode(identity.seed))));
385
+ await releaseIssuance(auth.space, profile, pr, opts, perms, validDates.exp, rawDigest(creds).replace("sha256:", "sha256-"));
381
386
  // §13.1 mint fence for the serve credential: the credential is BUILT, but released only when its
382
387
  // NORMATIVE ledger row (holderPrincipal/lifecycleUid/sourceChain/state/exp + the currency
383
388
  // coordinates) is durably staged and its revision-pinned CAS wins the instance's single issuance
@@ -407,6 +412,42 @@ export async function mintCreds(auth, identity, profile, opts = {}) {
407
412
  }
408
413
  return creds;
409
414
  }
415
+ /** The SPEC 13.15 issuance fence: an issuing mint persists the ceiling it is handing out BEFORE
416
+ * the material is returned. The evidence is the minted permission set itself (deny rules
417
+ * included), imported from the same object the JWT was encoded from, so the record and the
418
+ * credential cannot disagree. `sources` name the gates the issuance depends on; an issuance bound
419
+ * to none (a one-shot instrument) carries the credential's own expiry as its liveness. A renewal
420
+ * confirms the existing generation's ceiling is unchanged and records nothing new. */
421
+ async function releaseIssuance(space, profile, pr, opts, perms, exp, credentialId) {
422
+ if (!opts.issued) {
423
+ if (opts.issuance)
424
+ throw new Error("mintCreds: opts.issuance without opts.issued; an issuance names its generation");
425
+ return;
426
+ }
427
+ const seam = opts.issuance;
428
+ if (!seam)
429
+ throw new Error(`mintCreds: an issued "${profile}" mint requires opts.issuance (the evidence store seam); the material is released only after its evidence is durable (SPEC 13.15)`);
430
+ if (!pr.lifecycleUid)
431
+ throw new Error("mintCreds: an issuance is lifecycle-keyed; mint with opts.lifecycleUid");
432
+ const ref = { space, owner: pr.owner, actor: pr.actor, uid: pr.lifecycleUid, generation: opts.issued.generation };
433
+ const permissions = importNativeSubjectPermissions(perms);
434
+ if (seam.mode === "renew") {
435
+ await seam.store.confirm(ref, permissions);
436
+ await seam.finalize?.(credentialId);
437
+ return;
438
+ }
439
+ if (seam.sources.length === 0 && exp === undefined)
440
+ throw new Error("mintCreds: an issuance bound to no source gate must be a bounded credential; nothing else can end its liveness (SPEC 13.15)");
441
+ const prepared = await seam.store.stage({
442
+ version: 1,
443
+ ref,
444
+ sources: seam.sources,
445
+ permissions,
446
+ ...(seam.sources.length === 0 ? { expiresAt: exp } : {}),
447
+ });
448
+ await seam.store.release(prepared, async () => { await seam.finalize?.(credentialId); });
449
+ await writeAcceptedRow(seam.accepted, opts.issued.acceptedToken, ref);
450
+ }
410
451
  /** Issue a host-signed NATS user JWT for a caller-generated nkey. The private seed stays with
411
452
  * the remote manager. This is deliberately narrower than {@link mintCreds}: only the typed remote
412
453
  * manager protocol may request it, and every profile still goes through the same permission and
@@ -414,7 +455,7 @@ export async function mintCreds(auth, identity, profile, opts = {}) {
414
455
  export async function mintPublicUserJwt(auth, publicId, profile, opts) {
415
456
  if (!/^U[A-Z2-7]{55}$/.test(publicId))
416
457
  throw new Error("mintPublicUserJwt: publicId must be a user nkey");
417
- if (!["remote-manager", "endpoint-serve", "goal-writer", "session-ledger", "session-serving"].includes(profile))
458
+ if (!["remote-manager", "endpoint-serve", "goal-writer", "session-ledger", "session-serving", "retirement-requester"].includes(profile))
418
459
  throw new Error(`mintPublicUserJwt: profile "${profile}" is not part of the closed remote manager protocol`);
419
460
  const pr = {
420
461
  owner: opts.principal?.owner ?? DEV_OWNER,
@@ -455,6 +496,9 @@ export async function mintPublicUserJwt(auth, publicId, profile, opts) {
455
496
  * owner + ledger actor + the per-connection ephemeral nkey; the static/dev mint passes
456
497
  * `{owner:"local", actor:<id>, connId:<id>}` via {@link principalOf}. EXPORTED so the callout's injected
457
498
  * `permissionsFor` hook can feed a validated principal straight into the same builder. */
499
+ /** The profiles whose credential carries caller rails, and can therefore be minted as an
500
+ * issuance (SPEC 13.15). Everything else is infrastructure or a one-shot with no rail to bind. */
501
+ const ISSUABLE_PROFILES = new Set(["agent", "control-caller-privileged", "control-caller-admin", "deployer"]);
458
502
  export function permissionsFor(profile, space, pr, opts) {
459
503
  // Guard the connId BEFORE any profile builds `_INBOX_<connId>.>`: in user mode connId is a client-
460
504
  // chosen nonce (untrusted), so a metacharacter here would escalate the inbox grant to every inbox.
@@ -466,6 +510,10 @@ export function permissionsFor(profile, space, pr, opts) {
466
510
  // The "endpoint-serve" profile is excluded so its own arm below keeps the call-mintCreds redirect.
467
511
  if (opts.endpointServe && profile !== "endpoint-serve")
468
512
  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`);
513
+ // An issuance binds CALLER rails (SPEC 13.15). A profile with no caller rail has nothing to bind
514
+ // the generation to, so `issued` on it is a misconfiguration refused here, never dropped.
515
+ if (opts.issued && !ISSUABLE_PROFILES.has(profile))
516
+ throw new Error(`permissionsFor: opts.issued binds caller rails and "${profile}" holds none; only ${[...ISSUABLE_PROFILES].join(", ")} mint issued authority (SPEC 13.15)`);
469
517
  if (profile === "delivery")
470
518
  return deliveryPermissions(space, pr); // scoped server-side Plane-3 infra
471
519
  if (profile === "membership-rw")
@@ -538,6 +586,13 @@ export function permissionsFor(profile, space, pr, opts) {
538
586
  throw new Error('permissionsFor: "remote-manager" requires opts.remoteManager ({instanceId, owner} of the authorized manager lifecycle)');
539
587
  return remoteManagerPermissions(space, pr, opts.remoteManager);
540
588
  }
589
+ if (profile === "issuer")
590
+ return issuerPermissions(space, pr);
591
+ if (profile === "run-admitter") {
592
+ if (!opts.runAdmitter)
593
+ throw new Error("permissionsFor: run-admitter requires opts.runAdmitter ({endpoint, runId} of the ONE run it admits)");
594
+ return runAdmitterPermissions(space, pr, opts.runAdmitter);
595
+ }
541
596
  if (profile === "endpoint-evictor") {
542
597
  // P2 item 3 (slice 3a): a SCOPED delivery-admin caller for ONE re-registration's verify-evict.
543
598
  // Publish EXACTLY this credential's OWN delivery-admin control subject + $JS.API.INFO; subscribe
@@ -823,9 +878,11 @@ export function permissionsFor(profile, space, pr, opts) {
823
878
  // the explicit capabilities ALL build their caller triple from it. opts.lifecycleUid is a public
824
879
  // seam (the IdP-adapter path) that must AGREE, never a second source of truth for the triple: a
825
880
  // divergent value would mint two reply rails on one credential, so it fails loud here.
826
- const epCaller = { owner: pr.owner, actor: pr.actor, uid };
881
+ const epCaller = issuedCallerFor({ owner: pr.owner, actor: pr.actor, uid }, opts);
827
882
  const baseline = epBaselineGrantRows(space, epCaller);
828
883
  pubAllow.push(...baseline.pub);
884
+ if (opts.issued)
885
+ pubAllow.push(acceptedReadGrant(space, opts.issued.acceptedToken));
829
886
  const epSub = [...baseline.sub];
830
887
  // BOTH HALVES OF THE ROLLUP, NOT JUST `pub`. `epCallerGrantRows` returns `{pub, sub}` and its
831
888
  // `sub` is the per-goal progress row its own docblock promises: "a goal-bearing capability
@@ -1203,7 +1260,7 @@ function controlCallerPermissions(space, pr, epTier, opts = {}) {
1203
1260
  // `extra` seam is the same one the deployer's owner-equality `launch` row already rides, and the
1204
1261
  // emitter's `if (cap.instanceId)` branch validates the token, so a malformed id fails loud at
1205
1262
  // mint rather than widening a subject.
1206
- const ep = instrumentEpRows(space, pr, epTier, opts.endpointCapabilities ?? []);
1263
+ const ep = instrumentEpRows(space, pr, epTier, opts.endpointCapabilities ?? [], opts);
1207
1264
  return {
1208
1265
  // The PRIVILEGED tier (the `cotal ps` instrument) also carries the SCOPED §13.9 records read the
1209
1266
  // class scatter's freeze rides (P2 item 3): `freezeExpectedSet` enumerates `svc.<endpoint>.*.spec`
@@ -1249,20 +1306,30 @@ function scatterFreezeReadRows(space) {
1249
1306
  * ({@link MintPrincipal.lifecycleUid}) — REQUIRED here: without it the reply rail cannot be pinned
1250
1307
  * and the mint fails loud rather than emit a triple-less (unfenced) caller surface. `extra` lets a
1251
1308
  * profile append its tier-refined additions (the user-mode deployer's owner-equality `launch`). */
1252
- function instrumentEpRows(space, pr, tier, extra = []) {
1309
+ function instrumentEpRows(space, pr, tier, extra = [], opts = {}) {
1253
1310
  if (!pr.lifecycleUid)
1254
1311
  throw new Error(`permissionsFor: an operator instrument's ep caller rows are lifecycle-keyed (SPEC 13.1/13.2) - mint with opts.lifecycleUid (mintLifecycleUid()) so the reply rail pins the instrument's own incarnation`);
1255
- const epCaller = { owner: pr.owner, actor: pr.actor, uid: pr.lifecycleUid };
1312
+ const epCaller = issuedCallerFor({ owner: pr.owner, actor: pr.actor, uid: pr.lifecycleUid }, opts);
1256
1313
  const rows = epCallerGrantRows(space, [...operatorInstrumentCapabilities(tier, pr.owner), ...extra], epCaller);
1257
1314
  return {
1258
1315
  pub: [
1259
1316
  epDescribeAllGrantRow(space, epCaller),
1260
1317
  `$JS.API.DIRECT.GET.${epcStreamName(space)}.${spacePrefix(space)}.epc.>`,
1318
+ ...(opts.issued ? [acceptedReadGrant(space, opts.issued.acceptedToken)] : []),
1261
1319
  ...rows.pub,
1262
1320
  ],
1263
1321
  sub: rows.sub,
1264
1322
  };
1265
1323
  }
1324
+ /** The ep caller a mint pins: the triple, plus the issued generation when the mint is an
1325
+ * issuance (SPEC 13.15). One place decides the rail so a credential's request rows, its reply
1326
+ * read, and its describe row all land on the same one. */
1327
+ function issuedCallerFor(triple, opts) {
1328
+ if (!opts.issued)
1329
+ return triple;
1330
+ assertGeneration(opts.issued.acceptedToken, "acceptedToken");
1331
+ return { ...triple, generation: assertGeneration(opts.issued.generation) };
1332
+ }
1266
1333
  /** ENDPOINT-SERVE (v0.4, SPEC §13.9 "Serve grants") — the per-instance serve credential:
1267
1334
  * EXACTLY the instance's registered rails and nothing else. Subscribe: the queue-qualified
1268
1335
  * class rail, the plain scatter rail, and the own-instance rail for the FULL registered
@@ -1339,8 +1406,8 @@ function deployerPermissions(space, pr, epTier = "admin", opts = {}) {
1339
1406
  // exact `ep.inst.<endpoint>.<iid>.<command>` row for the instance this deploy resolved.
1340
1407
  const pinned = opts.endpointCapabilities ?? [];
1341
1408
  const ep = epTier === "admin"
1342
- ? instrumentEpRows(space, pr, "admin", pinned)
1343
- : instrumentEpRows(space, pr, "privileged", [{ endpoint: BASELINE_LIFECYCLE_ENDPOINT, command: "launch" }, ...pinned]);
1409
+ ? instrumentEpRows(space, pr, "admin", pinned, opts)
1410
+ : instrumentEpRows(space, pr, "privileged", [{ endpoint: BASELINE_LIFECYCLE_ENDPOINT, command: "launch" }, ...pinned], opts);
1344
1411
  const PKV = `KV_${presenceBucket(space)}`, CHKV = `KV_${channelBucket(space)}`;
1345
1412
  const MSHIP = `KV_${membershipBucket(space)}`, MGRKV = `KV_${managerBucket(space)}`;
1346
1413
  const DLVKV = `KV_${deliveryBucket(space)}`;
@@ -1422,9 +1489,10 @@ function purgerPermissions(space, pr) {
1422
1489
  * `$JS` is an ENUMERATED allow-list, never `$JS.>`: STREAM.CREATE + INFO for the space streams/buckets,
1423
1490
  * DM/DLV/TASK consumer CREATE/DURABLE.CREATE/INFO — and deliberately NO `MSG.NEXT`/`MSG.GET`/`ACK` on
1424
1491
  * DM/DLV (it creates the bind-only mailbox but never reads it), and NO STREAM.DELETE/PURGE/MSG.DELETE
1425
- * (it provisions, it does not tear down). STREAM.UPDATE is held on EXACTLY four streams and no others:
1426
- * the three TTL'd KV buckets (presence + the two leases, #286 an existing bucket's `max_age` cannot be
1427
- * fixed by `kvm.create`, so reconciling a pre-TTL deployment requires updating it) and the records store.
1492
+ * (it provisions, it does not tear down). STREAM.UPDATE is held on EXACTLY seven streams and no others:
1493
+ * the three TTL'd KV buckets (presence + the two leases, #286: an existing bucket's `max_age` cannot be
1494
+ * fixed by `kvm.create`, so reconciling a pre-TTL deployment requires updating it) and the four hardened
1495
+ * authority stores (records, issued, accepted, admission), each updated once at creation.
1428
1496
  * Stated positively on purpose: this docblock previously read "NO …/UPDATE", which was already untrue of
1429
1497
  * the records stream and became untrue of the buckets, and a comment that denies a credential's real
1430
1498
  * power is worse than none — it is the document a reader trusts instead of checking. KV value-writes are
@@ -1479,6 +1547,10 @@ function provisionerPermissions(space, pr) {
1479
1547
  // and the credential is not allowed to.
1480
1548
  const ttlStreams = ttlBuckets(space).map(([bucket]) => `KV_${bucket}`);
1481
1549
  const streamReconcile = ttlStreams.map((s) => `$JS.API.STREAM.UPDATE.${s}`);
1550
+ // #404: one EXACT reserved key on each TTL bucket is the post-update enforcement canary. The
1551
+ // provisioner still cannot write presence identities or lease keys; it can only write this fixed
1552
+ // maintenance key, which expires through the policy the reconcile is proving.
1553
+ const ttlCanaries = ttlBuckets(space).map(([bucket]) => `$KV.${bucket}.${TTL_RECONCILE_CANARY_KEY}`);
1482
1554
  // DM/DLV/TASK durable pre-create (bind-only mailboxes): both the new-API CREATE and legacy DURABLE.CREATE
1483
1555
  // forms (the client's consumer-add path varies by version), plus INFO (the add returns ConsumerInfo).
1484
1556
  // NO MSG.NEXT/MSG.GET/ACK — the provisioner creates the consumer but MUST NOT read its body.
@@ -1493,6 +1565,7 @@ function provisionerPermissions(space, pr) {
1493
1565
  "$JS.API.INFO",
1494
1566
  ...streamSetup,
1495
1567
  ...streamReconcile,
1568
+ ...ttlCanaries,
1496
1569
  ...consumerCreate,
1497
1570
  // KV value-writes — exactly the two registries provisioning writes: the agent read-ACL registry
1498
1571
  // (`commitAcl` at provision) and the channel registry (seed defaults at `cotal up`, channel admin).
@@ -1513,7 +1586,11 @@ function provisionerPermissions(space, pr) {
1513
1586
  // reconciliation sweep enumerates the manager's slot rows (`keys()` → an ordered consumer)
1514
1587
  // then reads each slot BODY (phase/uid/actor) to plan resume — the reads ride the
1515
1588
  // stream-scoped MSG.GET residual named below (records lifecycle metadata, no secrets).
1516
- `$JS.API.STREAM.UPDATE.KV_${recordsBucket(space)}`,
1589
+ // The issued, accepted and admission stores (SPEC 13.15, 14.8) take the same one-time
1590
+ // hardening UPDATE at fresh creation as the records store: their rows are create-only and
1591
+ // their markers permanent, and a holder's own key row would otherwise replace them as a
1592
+ // value write. One list in core names the hardened stores for every seam that creates them.
1593
+ ...hardenedAuthorityStreamNames(space).map((s) => `$JS.API.STREAM.UPDATE.${s}`),
1517
1594
  `$JS.API.CONSUMER.CREATE.KV_${recordsBucket(space)}.>`,
1518
1595
  `$JS.API.CONSUMER.INFO.KV_${recordsBucket(space)}.>`,
1519
1596
  `$JS.API.CONSUMER.DELETE.KV_${recordsBucket(space)}.>`,
@@ -1542,6 +1619,52 @@ function provisionerPermissions(space, pr) {
1542
1619
  * are body-selected `STREAM.MSG.GET` — stream-scoped, NOT key-scoped (the requested key rides
1543
1620
  * the PAYLOAD, which a subject grant cannot see). NAMED RESIDUAL: for its one-shot lifetime the
1544
1621
  * executor can READ (never write) other rows in the auth store. */
1622
+ /** The ISSUER permission set (SPEC 13.15): value-writes on the evidence store (evidence, attempt,
1623
+ * source index: create-only and CAS rows, keyed by generation) and on the accepted-row store
1624
+ * (create-only, keyed by the client's token); the leader-served point read on the evidence
1625
+ * store; and the ordered `keys()` walk a source retirement enumerates the reverse index with.
1626
+ * NAMED RESIDUAL (the contract's section 8): this profile holds a write and a raw read on ONE
1627
+ * stream, the pairing no peer-held profile may hold, so it is never issuable to a peer. */
1628
+ function issuerPermissions(space, pr) {
1629
+ const ISSUED = `KV_${issuedBucket(space)}`;
1630
+ return {
1631
+ pub: {
1632
+ allow: [
1633
+ "$JS.API.INFO",
1634
+ `$KV.${issuedBucket(space)}.>`,
1635
+ `$KV.${acceptedBucket(space)}.>`,
1636
+ `$JS.API.STREAM.INFO.${ISSUED}`,
1637
+ `$JS.API.STREAM.MSG.GET.${ISSUED}`,
1638
+ // Source liveness: the leader-served point read of a static incarnation's issuance gate on
1639
+ // the auth store (body-selected, stream-wide: the same named residual every records
1640
+ // reader accepts). No auth-store WRITE of any shape.
1641
+ `$JS.API.STREAM.MSG.GET.KV_${epAuthBucket(space)}`,
1642
+ `$JS.API.CONSUMER.CREATE.${ISSUED}.>`,
1643
+ `$JS.API.CONSUMER.INFO.${ISSUED}.>`,
1644
+ `$JS.API.CONSUMER.DELETE.${ISSUED}.>`,
1645
+ "$JS.FC.>",
1646
+ ],
1647
+ },
1648
+ sub: { allow: [`_INBOX_${pr.connId}.>`] },
1649
+ };
1650
+ }
1651
+ /** The RUN ADMITTER permission set (SPEC 14.8): exactly ONE run's admission record and
1652
+ * revocation marker on the admission store (both create-only), plus the leader-served read the
1653
+ * create-before-read and the marker's own re-read ride. No other run's keys, no other store. */
1654
+ function runAdmitterPermissions(space, pr, pin) {
1655
+ const bucket = admissionBucket(space);
1656
+ return {
1657
+ pub: {
1658
+ allow: [
1659
+ "$JS.API.INFO",
1660
+ `$KV.${bucket}.${admissionKey(pin.endpoint, pin.runId)}`,
1661
+ `$KV.${bucket}.${revocationKey(pin.endpoint, pin.runId)}`,
1662
+ `$JS.API.STREAM.MSG.GET.KV_${bucket}`,
1663
+ ],
1664
+ },
1665
+ sub: { allow: [`_INBOX_${pr.connId}.>`] },
1666
+ };
1667
+ }
1545
1668
  function lifecycleExecutorPermissions(space, pr, pin) {
1546
1669
  const REC = recordsBucket(space), AUTH = epAuthBucket(space);
1547
1670
  // ALL keys DERIVED here from the pin coordinates — the slot key is `staticSlotKey(owner, alias)`,