@cotal-ai/auth 0.90.1 → 0.92.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 (120) hide show
  1. package/dist/authority-client.d.ts +70 -3
  2. package/dist/authority-client.d.ts.map +1 -1
  3. package/dist/authority-client.js +113 -9
  4. package/dist/authority-client.js.map +1 -1
  5. package/dist/chat-parent-pin.d.ts +43 -0
  6. package/dist/chat-parent-pin.d.ts.map +1 -0
  7. package/dist/chat-parent-pin.js +115 -0
  8. package/dist/chat-parent-pin.js.map +1 -0
  9. package/dist/chat-session-authority.d.ts +120 -0
  10. package/dist/chat-session-authority.d.ts.map +1 -0
  11. package/dist/chat-session-authority.js +924 -0
  12. package/dist/chat-session-authority.js.map +1 -0
  13. package/dist/chat-session-row.d.ts +117 -0
  14. package/dist/chat-session-row.d.ts.map +1 -0
  15. package/dist/chat-session-row.js +358 -0
  16. package/dist/chat-session-row.js.map +1 -0
  17. package/dist/chat-session-store.d.ts +126 -0
  18. package/dist/chat-session-store.d.ts.map +1 -0
  19. package/dist/chat-session-store.js +392 -0
  20. package/dist/chat-session-store.js.map +1 -0
  21. package/dist/commands.d.ts +3 -1
  22. package/dist/commands.d.ts.map +1 -1
  23. package/dist/commands.js +527 -125
  24. package/dist/commands.js.map +1 -1
  25. package/dist/continuity.js +1 -1
  26. package/dist/continuity.js.map +1 -1
  27. package/dist/daemon-flags.d.ts +42 -0
  28. package/dist/daemon-flags.d.ts.map +1 -0
  29. package/dist/daemon-flags.js +12 -0
  30. package/dist/daemon-flags.js.map +1 -0
  31. package/dist/handle-inspect.d.ts +101 -0
  32. package/dist/handle-inspect.d.ts.map +1 -0
  33. package/dist/handle-inspect.js +50 -0
  34. package/dist/handle-inspect.js.map +1 -0
  35. package/dist/handle-verification.d.ts +75 -0
  36. package/dist/handle-verification.d.ts.map +1 -0
  37. package/dist/handle-verification.js +135 -0
  38. package/dist/handle-verification.js.map +1 -0
  39. package/dist/idp.d.ts +23 -1
  40. package/dist/idp.d.ts.map +1 -1
  41. package/dist/idp.js +54 -8
  42. package/dist/idp.js.map +1 -1
  43. package/dist/index.d.ts +3 -2
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +3 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/ledger.d.ts +58 -5
  48. package/dist/ledger.d.ts.map +1 -1
  49. package/dist/ledger.js +126 -6
  50. package/dist/ledger.js.map +1 -1
  51. package/dist/lifecycle-registry.d.ts +1 -70
  52. package/dist/lifecycle-registry.d.ts.map +1 -1
  53. package/dist/lifecycle-registry.js +4 -35
  54. package/dist/lifecycle-registry.js.map +1 -1
  55. package/dist/login.d.ts +9 -0
  56. package/dist/login.d.ts.map +1 -1
  57. package/dist/login.js +53 -8
  58. package/dist/login.js.map +1 -1
  59. package/dist/manager-authority.d.ts +59 -3
  60. package/dist/manager-authority.d.ts.map +1 -1
  61. package/dist/manager-authority.js +185 -4
  62. package/dist/manager-authority.js.map +1 -1
  63. package/dist/native-service-gate.d.ts +14 -3
  64. package/dist/native-service-gate.d.ts.map +1 -1
  65. package/dist/native-service-gate.js +34 -20
  66. package/dist/native-service-gate.js.map +1 -1
  67. package/dist/native-service-name.d.ts +7 -0
  68. package/dist/native-service-name.d.ts.map +1 -1
  69. package/dist/native-service-name.js +15 -6
  70. package/dist/native-service-name.js.map +1 -1
  71. package/dist/permissions.js +4 -0
  72. package/dist/permissions.js.map +1 -1
  73. package/dist/platform-control.d.ts.map +1 -1
  74. package/dist/platform-control.js +1 -0
  75. package/dist/platform-control.js.map +1 -1
  76. package/dist/provider.d.ts +23 -0
  77. package/dist/provider.d.ts.map +1 -1
  78. package/dist/provider.js +252 -44
  79. package/dist/provider.js.map +1 -1
  80. package/dist/run-cancel-observation.d.ts +50 -0
  81. package/dist/run-cancel-observation.d.ts.map +1 -0
  82. package/dist/run-cancel-observation.js +146 -0
  83. package/dist/run-cancel-observation.js.map +1 -0
  84. package/dist/service-adapter.d.ts +6 -0
  85. package/dist/service-adapter.d.ts.map +1 -0
  86. package/dist/service-adapter.js +120 -0
  87. package/dist/service-adapter.js.map +1 -0
  88. package/dist/service-custody.d.ts +29 -20
  89. package/dist/service-custody.d.ts.map +1 -1
  90. package/dist/service-custody.js +37 -167
  91. package/dist/service-custody.js.map +1 -1
  92. package/dist/service-endpoint-authority.d.ts +70 -0
  93. package/dist/service-endpoint-authority.d.ts.map +1 -0
  94. package/dist/service-endpoint-authority.js +257 -0
  95. package/dist/service-endpoint-authority.js.map +1 -0
  96. package/dist/service-host-contract.d.ts +158 -16
  97. package/dist/service-host-contract.d.ts.map +1 -1
  98. package/dist/service-host-contract.js +330 -1
  99. package/dist/service-host-contract.js.map +1 -1
  100. package/dist/service-host-ops.d.ts +550 -0
  101. package/dist/service-host-ops.d.ts.map +1 -0
  102. package/dist/service-host-ops.js +2180 -0
  103. package/dist/service-host-ops.js.map +1 -0
  104. package/dist/service-write.d.ts +141 -0
  105. package/dist/service-write.d.ts.map +1 -0
  106. package/dist/service-write.js +179 -0
  107. package/dist/service-write.js.map +1 -0
  108. package/dist/service.d.ts +115 -3
  109. package/dist/service.d.ts.map +1 -1
  110. package/dist/service.js +697 -92
  111. package/dist/service.js.map +1 -1
  112. package/dist/store.d.ts +10 -0
  113. package/dist/store.d.ts.map +1 -1
  114. package/dist/store.js +25 -8
  115. package/dist/store.js.map +1 -1
  116. package/dist/token.d.ts +1 -1
  117. package/dist/token.d.ts.map +1 -1
  118. package/dist/token.js +4 -1
  119. package/dist/token.js.map +1 -1
  120. package/package.json +16 -7
package/dist/login.js CHANGED
@@ -32,7 +32,7 @@ import { existsSync, readFileSync } from "node:fs";
32
32
  import { join } from "node:path";
33
33
  import { decodeJwt } from "jose";
34
34
  import { isLoopbackLiteral, mkSecretDir, writeSecretFileAtomic } from "@cotal-ai/core";
35
- import { acquireLock } from "@cotal-ai/workspace";
35
+ import { CommandFailure, acquireLock, credentialFailure } from "@cotal-ai/workspace";
36
36
  const SPACE_CATALOG_REL = "https://cotal.ai/relations/space-catalog";
37
37
  export const CATALOG_FRESH_MS = 5_000;
38
38
  const CATALOG_FILE = "space-catalogs.json";
@@ -83,6 +83,9 @@ function idpTimeoutMs() {
83
83
  throw new Error(`COTAL_IDP_TIMEOUT_MS must be a positive number of milliseconds - got "${raw}"`);
84
84
  return n;
85
85
  }
86
+ /** An IdP request that got no answer: the transport failed or the per-request timeout fired. */
87
+ export class IdpUnreachableError extends Error {
88
+ }
86
89
  /** `fetch` with a hard per-request timeout, so a hung IdP connection can never stall the client
87
90
  * (Node's global fetch has no default timeout). A timeout or transport failure surfaces as a
88
91
  * legible sentence rather than a raw DOMException/TypeError. */
@@ -93,8 +96,8 @@ async function idpFetch(url, init) {
93
96
  }
94
97
  catch (e) {
95
98
  if (e instanceof DOMException && e.name === "TimeoutError")
96
- throw new Error(`idp request to ${url} timed out after ${ms}ms - the IdP is unreachable or not responding`);
97
- throw new Error(`idp request to ${url} failed: ${e instanceof Error ? e.message : String(e)}`);
99
+ throw new IdpUnreachableError(`idp request to ${url} timed out after ${ms}ms - the IdP is unreachable or not responding`);
100
+ throw new IdpUnreachableError(`idp request to ${url} failed: ${e instanceof Error ? e.message : String(e)}`);
98
101
  }
99
102
  }
100
103
  /** Read a JSON body under the SAME normalization as {@link idpFetch}. The request timeout can fire
@@ -107,7 +110,7 @@ async function idpJson(url, res) {
107
110
  }
108
111
  catch (e) {
109
112
  if (e instanceof DOMException && e.name === "TimeoutError")
110
- throw new Error(`idp request to ${url} timed out reading the response body - the IdP flushed headers then stalled`);
113
+ throw new IdpUnreachableError(`idp request to ${url} timed out reading the response body - the IdP flushed headers then stalled`);
111
114
  throw new Error(`idp request to ${url} returned an unreadable response body: ${e instanceof Error ? e.message : String(e)}`);
112
115
  }
113
116
  }
@@ -368,6 +371,27 @@ async function discoverAdvertisement(state, session) {
368
371
  ...(catalogUrl ? { catalogUrl } : { catalogUrl: undefined }),
369
372
  };
370
373
  }
374
+ function readCatalogPreparationState(dir) {
375
+ let sessions;
376
+ let file;
377
+ try {
378
+ sessions = readSessionsFile(dir).sessions;
379
+ }
380
+ catch {
381
+ throw new CommandFailure("refused", "DEPENDENCY_UNAVAILABLE", "the local sign-in cache could not be read; no catalog refresh or registry application was attempted", {
382
+ target: { path: join(dir, SESSIONS_FILE) }, remedy: "inspect and restore the sign-in cache before retrying; its contents were not printed or replaced",
383
+ });
384
+ }
385
+ try {
386
+ file = readCatalogsFile(dir);
387
+ }
388
+ catch {
389
+ throw new CommandFailure("refused", "DEPENDENCY_UNAVAILABLE", "the local space catalog cache could not be read; no catalog refresh or registry application was attempted", {
390
+ target: { path: join(dir, CATALOG_FILE) }, remedy: "inspect and restore the catalog cache before retrying; its contents were not printed or replaced",
391
+ });
392
+ }
393
+ return { sessions, file };
394
+ }
371
395
  const catalogPreparations = new Map();
372
396
  export function prepareIdpSpaceCatalogs(opts) {
373
397
  const key = `${opts.dir}\0${opts.idpUrl ? normalizeIdpUrl(opts.idpUrl) : "*"}`;
@@ -380,13 +404,25 @@ export function prepareIdpSpaceCatalogs(opts) {
380
404
  }
381
405
  async function prepareIdpSpaceCatalogsLocked(opts) {
382
406
  const requested = opts.idpUrl ? normalizeIdpUrl(opts.idpUrl) : undefined;
407
+ // No account means no catalog work. Do not create a control directory just to lock an empty
408
+ // observation. Active accounts are read again under the lock before any refresh or application.
409
+ const initial = readCatalogPreparationState(opts.dir);
410
+ const signedOut = () => new CommandFailure("refused", "AUTH_REQUIRED", "the requested IdP has no cached sign-in; no catalog refresh or registry application was attempted", {
411
+ target: { idp: requested }, remedy: `run \`cotal login --idp ${requested}\` before syncing this account`,
412
+ });
413
+ if (!Object.keys(initial.sessions).some((idp) => !requested || idp === requested)) {
414
+ if (requested)
415
+ throw signedOut();
416
+ return [];
417
+ }
383
418
  const lock = acquireLock(join(opts.dir, CATALOG_LOCK), { label: "space catalog sync", waitMs: 30_000 });
384
419
  try {
385
- const sessions = readSessionsFile(opts.dir).sessions;
386
- let file = readCatalogsFile(opts.dir);
420
+ const current = readCatalogPreparationState(opts.dir);
421
+ const sessions = current.sessions;
422
+ let file = current.file;
387
423
  const idps = Object.keys(sessions).filter((idp) => !requested || idp === requested).sort();
388
424
  if (requested && idps.length === 0)
389
- throw new Error(`not logged in to ${requested} - run \`cotal login --idp ${requested}\``);
425
+ throw signedOut();
390
426
  const results = [];
391
427
  let changed = false;
392
428
  for (const idpUrl of idps) {
@@ -552,6 +588,15 @@ function readSessionsFile(dir) {
552
588
  throw new Error(`${f}: malformed sessions map`);
553
589
  return parsed;
554
590
  }
591
+ /** Account-picker metadata only. Session tokens never leave this helper. */
592
+ export function listIdpAccounts(dir) {
593
+ return Object.entries(readSessionsFile(dir).sessions).map(([idp, session]) => {
594
+ const normalized = normalizeIdpUrl(idp);
595
+ if (normalized !== idp || !session || typeof session.expiresAt !== "number" || !Number.isFinite(session.expiresAt))
596
+ throw new Error("the cached account metadata is invalid");
597
+ return { idp, expiresAt: session.expiresAt, ...(typeof session.sub === "string" ? { sub: session.sub } : {}) };
598
+ });
599
+ }
555
600
  export function loadIdpSession(dir, idpUrl) {
556
601
  const key = normalizeIdpUrl(idpUrl);
557
602
  const s = readSessionsFile(dir).sessions[key];
@@ -597,7 +642,7 @@ export function requireIdpSession(dir, idpUrl) {
597
642
  const key = normalizeIdpUrl(idpUrl);
598
643
  const s = loadIdpSession(dir, key);
599
644
  if (!s)
600
- throw new Error(`not logged in to ${key} - this space requires a user identity and there is no anonymous fallback; run \`cotal login --idp ${key}\``);
645
+ throw credentialFailure("signed-out", `not logged in to ${key} - this space requires a user identity and there is no anonymous fallback; run \`cotal login --idp ${key}\``);
601
646
  return s;
602
647
  }
603
648
  //# sourceMappingURL=login.js.map
package/dist/login.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { remoteManagerActors, type RemoteManagerAuthorityMaterial, type RemoteManagerAuthorityRequest, type RemoteRunAdmissionRequest, type RemoteRunAttemptRequest, type RemoteRunRevokeRequest, type RemoteRunRevokeResult, type RunRevocation, type RunAdmissionView, type RunStatusValue, type RunDriverGrantArgs, type RunOperatorGrantArgs, type RemoteRunAdmissionResult, type HostedRunAttempt, type IssuedStore, type IssuedSourceRef, type EpCommandAuthority, type EndpointRequest } from "@cotal-ai/core";
1
+ import { remoteManagerActors, type RemoteManagerAuthorityMaterial, type RemoteManagerAuthorityRequest, type RemoteRunAdmissionRequest, type RemoteRunSubmissionRequest, type RemoteRunSubmissionResult, type RemoteRunAttemptRequest, type RemoteRunRevokeRequest, type RemoteRunCancelRequest, type RemoteRunCancelResult, type IssuedCaller, type RemoteRunRevokeResult, type RunRevocation, type RunAdmissionView, type RunStatusValue, type RunDriverGrantArgs, type RunOperatorGrantArgs, type RemoteRunAdmissionResult, type HostedRunAttempt, type IssuedStore, type IssuedSourceRef, type EpCommandAuthority, type EndpointRequest } from "@cotal-ai/core";
2
2
  import { type JournalEntry } from "@cotal-ai/lang";
3
3
  import type { KV } from "@nats-io/kv";
4
4
  import { type ManagerAuthorityHolder } from "./platform-control.js";
5
5
  import type { ObserveManagerGate } from "./managed-agent-enrollment.js";
6
+ import { RunCancelObservations } from "./run-cancel-observation.js";
6
7
  /** The run attempt the host observes for itself. A null answer is a run with no record or status. */
7
8
  export type ObserveManagerRun = (runId: string) => Promise<HostedRunAttempt | null>;
8
9
  /** Host-only renewal authorization. The embedding host supplies a fresh gate and active run
@@ -51,6 +52,27 @@ export declare function parseRemoteManagerAuthorityRequest(raw: unknown, opts?:
51
52
  export declare function issueRemoteManagerAuthority(args: IssueRemoteManagerAuthorityArgs): Promise<RemoteManagerAuthorityMaterial>;
52
53
  /** Closed parser for {@link RemoteRunAdmissionRequest}: unknown fields refuse, never ignored. */
53
54
  export declare function parseRemoteRunAdmissionRequest(raw: unknown): RemoteRunAdmissionRequest;
55
+ export declare function parseRemoteRunSubmissionRequest(raw: unknown): RemoteRunSubmissionRequest;
56
+ /** One issuer-observed keyed start/read. Initial authorization/evidence validation precedes
57
+ * binding creation. Its winner rechecks freshness before bounded admission; those fallible reads
58
+ * may retain binding-only debt without changing the original frozen admission authority. */
59
+ export declare function handleRemoteRunSubmission(args: {
60
+ request: unknown;
61
+ owner: string;
62
+ space: string;
63
+ accountPublicKey: string;
64
+ proofSecret: string | Uint8Array;
65
+ endpoint: string;
66
+ observeManagerGate: ObserveManagerGate;
67
+ issued: IssuedStore;
68
+ sourceIsLive: (source: IssuedSourceRef) => Promise<boolean>;
69
+ takeObserved: (subject: string) => Promise<ObservedRunRequest | undefined>;
70
+ registeredCommand: (instanceId: string, revision: number, command: string) => Promise<Pick<EpCommandAuthority, "class" | "inputDigest" | "outputDigest">>;
71
+ withStore: <T>(runId: string, submission: {
72
+ caller: import("@cotal-ai/core").EpCaller;
73
+ id: string;
74
+ }, work: (kv: KV, jsm: import("@nats-io/jetstream").JetStreamManager) => Promise<T>) => Promise<T>;
75
+ }): Promise<RemoteRunSubmissionResult>;
54
76
  /**
55
77
  * Host-side first-run admission for a registered signerless manager. The manager is trusted only to
56
78
  * forward the `ep.v1` request subject it served, and only once for a request this host observed its
@@ -74,6 +96,29 @@ export declare function admitRemoteRun(args: {
74
96
  admissions: KV;
75
97
  now?: () => number;
76
98
  }): Promise<RemoteRunAdmissionResult>;
99
+ /** The cancellation door accepts only a stage and the exact observed body and subject. */
100
+ export declare function parseRemoteRunCancelRequest(raw: unknown): RemoteRunCancelRequest;
101
+ /** Inspect never grants a later commit. A commit owns its immutable observation before caller
102
+ * authorization and store preparation, and checks it again at the native dispatch boundary. */
103
+ export declare function handleRemoteRunCancel(args: {
104
+ request: unknown;
105
+ owner: string;
106
+ space: string;
107
+ endpoint: string;
108
+ accountPublicKey: string;
109
+ proofSecret: string | Uint8Array;
110
+ observeManagerGate: ObserveManagerGate;
111
+ observations: RunCancelObservations;
112
+ flush: () => Promise<void>;
113
+ issued: IssuedStore;
114
+ sourceIsLive: (source: IssuedSourceRef) => Promise<boolean>;
115
+ interactiveScope: (caller: IssuedCaller, sources: readonly IssuedSourceRef[]) => Promise<readonly string[] | undefined>;
116
+ registeredCommand: (instanceId: string, revision: number, command: string) => Promise<Pick<EpCommandAuthority, "class" | "inputDigest" | "outputDigest">>;
117
+ readAdmission: (runId: string) => Promise<RunAdmissionView>;
118
+ readRevocation: (runId: string) => Promise<RunRevocation | undefined>;
119
+ withStore: <T>(runId: string, work: (kv: KV) => Promise<T>) => Promise<T>;
120
+ assertServing: () => void;
121
+ }): Promise<RemoteRunCancelResult>;
77
122
  /** Closed parser for the issuing-host revoke. It carries no asserted owner or attribution. */
78
123
  export declare function parseRemoteRunRevokeRequest(raw: unknown): RemoteRunRevokeRequest;
79
124
  /** The door has authenticated the holder and read its current scope. The run's owner comes only
@@ -110,9 +155,19 @@ export type RunRequestOperation = {
110
155
  * or serving at another incarnation than the bound one, refuses it unrun (SPEC 13.2, 13.7). */
111
156
  export interface ObservedRunRequest {
112
157
  operation: RunRequestOperation | {
113
- command: "run-start";
158
+ command: "run-start" | "run-start-keyed";
159
+ } | {
160
+ command: "run-submission-status";
161
+ submissionId: string;
114
162
  };
115
163
  envelope: Pick<EndpointRequest, "class" | "op" | "bind">;
164
+ /** `requestEndsAt` is on this issuing process's monotonic clock, from its own observation; it
165
+ * never leaves this process. */
166
+ submission?: {
167
+ id: string;
168
+ fingerprint: string;
169
+ requestEndsAt: number;
170
+ };
116
171
  }
117
172
  /** The run-start, resume or answer request its caller published on `subject`, or undefined for a
118
173
  * request no manager serves. */
@@ -143,7 +198,8 @@ export type RemoteRunAttemptGrant = {
143
198
  };
144
199
  /**
145
200
  * Host-only authorization for {@link RemoteRunAttemptRequest}. Every coordinate the returned grant
146
- * pins is derived from host stores: the admission must exist unrevoked on this instance, the
201
+ * pins is derived from host stores: the admission must exist on this instance and be unrevoked
202
+ * for an attempt or answer. A read-only operator can inspect a revoked run. The
147
203
  * attempt must be exactly the next epoch/fencing token the run record implies (1/1 for a first
148
204
  * attempt with no record, as stock `start` launches), and an answer pins the pause the named run's
149
205
  * journal records at the named step, which must be waiting. Refuses before the host signs anything.
@@ -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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"}
@@ -1,8 +1,9 @@
1
- import { EpEnvelopeError, REMOTE_MANAGER_AUTHORITY_OPERATIONS, REMOTE_MANAGER_IDENTITY_NAMES, assertDerivedOwnerToken, assertPrincipalOwnerToken, assertLifecycleToken, assertValidOwnerToken, managedRetirementOpId, parseRemoteManagerEnvelope, remoteManagerActors, EP_RAIL_V1, EP_UNBOUND_CALLER_AUTHORITY, admissionKey, admissionSnapshot, createRunAdmission, revokeRunAdmission, isAccountNkey, isDerivedOwner, isIssuedCaller, isUserNkey, issuedPermitsSubject, parseEpSubject, parseEndpointRequest, checkRequestSubjectAgreement, } from "@cotal-ai/core";
1
+ import { EpEnvelopeError, REMOTE_MANAGER_AUTHORITY_OPERATIONS, REMOTE_MANAGER_IDENTITY_NAMES, assertDerivedOwnerToken, assertPrincipalOwnerToken, assertLifecycleToken, assertValidOwnerToken, managedRetirementOpId, parseRemoteManagerEnvelope, remoteManagerActors, readRunCancelInput, commitRunCancellation, EP_RAIL_V1, EP_UNBOUND_CALLER_AUTHORITY, admissionKey, admissionSnapshot, createRunAdmission, bindAndAdmitRunSubmission, readRunSubmission, newSubmissionRunId, submissionFingerprint, canonicalJson, KEYED_SUBMISSION_MAX_DEADLINE_MS, revokeRunAdmission, isAccountNkey, isDerivedOwner, isIssuedCaller, isUserNkey, issuedPermitsSubject, parseEpSubject, parseEndpointRequest, checkRequestSubjectAgreement, } from "@cotal-ai/core";
2
2
  import { CheckpointNotAmendable, CheckpointNotOpen, openCheckpointToken, settledPauseToken } from "@cotal-ai/lang";
3
3
  import { timingSafeEqual } from "node:crypto";
4
4
  import { remoteManagerCurrentRegistrationProof } from "./retained-manager-validation.js";
5
5
  import { requireManagerAuthorityHolder } from "./platform-control.js";
6
+ import { RunCancelObservations } from "./run-cancel-observation.js";
6
7
  /** Host-only renewal authorization. The embedding host supplies a fresh gate and active run
7
8
  * observation from its authoritative stores, never coordinates asserted by the participant. */
8
9
  export async function authorizeRemoteManagerRenewal(args) {
@@ -238,6 +239,61 @@ export function parseRemoteRunAdmissionRequest(raw) {
238
239
  run: { runId: run.runId, subject: run.subject },
239
240
  };
240
241
  }
242
+ export function parseRemoteRunSubmissionRequest(raw) {
243
+ const registered = parseRegisteredRunRequest(raw, "manager-run-submission", "manager keyed submission", ["subject"]);
244
+ const subject = raw.subject;
245
+ if (typeof subject !== "string")
246
+ runRequestError("manager keyed submission", "requires observed subject");
247
+ return { v: 1, kind: "manager-run-submission", ...registered, subject: subject };
248
+ }
249
+ /** One issuer-observed keyed start/read. Initial authorization/evidence validation precedes
250
+ * binding creation. Its winner rechecks freshness before bounded admission; those fallible reads
251
+ * may retain binding-only debt without changing the original frozen admission authority. */
252
+ export async function handleRemoteRunSubmission(args) {
253
+ const r = parseRemoteRunSubmissionRequest(args.request);
254
+ const gate = await authenticateRegisteredManager(r, args, "keyed submission");
255
+ const parsed = parseEpSubject(r.subject);
256
+ if (!r.subject.startsWith(`cotal.${r.space}.`) || !parsed || parsed.plane !== "request" || parsed.rail !== EP_RAIL_V1
257
+ || parsed.endpoint !== args.endpoint || parsed.target !== null || parsed.route !== "inst" || parsed.instanceId !== r.instanceId
258
+ || !["run-start-keyed", "run-submission-status"].includes(parsed.command) || !isIssuedCaller(parsed.caller))
259
+ throw new EpEnvelopeError("permission-denied", "keyed submission requires this exact instance's observed issued request");
260
+ const observed = await args.takeObserved(r.subject), c = parsed.caller;
261
+ if (!observed?.submission || observed.operation.command !== parsed.command || !observed.envelope.bind
262
+ || observed.envelope.bind.instanceId !== r.instanceId || observed.envelope.bind.epoch !== r.processEpoch)
263
+ throw new EpEnvelopeError("permission-denied", "keyed submission has no exact observed instance/epoch support proof");
264
+ const contract = await args.registeredCommand(r.instanceId, gate.registrationRevision, parsed.command);
265
+ if (contract.class !== observed.envelope.class || contract.inputDigest !== observed.envelope.op.inputDigest
266
+ || contract.outputDigest !== observed.envelope.op.outputDigest)
267
+ throw new EpEnvelopeError("permission-denied", "keyed request does not pin the registered contract");
268
+ if (isDerivedOwner(c.owner) && c.owner !== args.owner)
269
+ throw new EpEnvelopeError("permission-denied", "keyed request belongs to another owner");
270
+ const ref = { space: r.space, owner: c.owner, actor: c.actor, uid: c.uid, generation: c.generation };
271
+ const resolved = await args.issued.resolve(ref, args.sourceIsLive);
272
+ if (!issuedPermitsSubject(resolved.evidence.permissions.publish, r.subject))
273
+ throw new EpEnvelopeError("permission-denied", "issued ceiling does not permit the keyed request");
274
+ const id = observed.operation.command === "run-submission-status" ? observed.operation.submissionId : observed.submission.id;
275
+ const runId = newSubmissionRunId();
276
+ const result = await args.withStore(runId, { caller: c, id }, async (kv, jsm) => {
277
+ if (performance.now() >= observed.submission.requestEndsAt)
278
+ throw new EpEnvelopeError("deadline-exceeded", "original observed keyed deadline elapsed");
279
+ if (parsed.command === "run-submission-status")
280
+ return { winner: false, view: await readRunSubmission({
281
+ jsm, space: r.space, endpoint: args.endpoint, caller: c, submissionId: id, instanceId: r.instanceId, processEpoch: r.processEpoch
282
+ }) };
283
+ const admission = { version: 1, space: r.space, endpoint: args.endpoint, runId, instanceId: r.instanceId,
284
+ caller: c, ceiling: resolved.evidence.permissions, provenance: { kind: "issued", ref, resolvedRevision: resolved.revision }, admittedAt: Date.now() };
285
+ return bindAndAdmitRunSubmission({ kv, jsm, admission, submissionId: id, fingerprint: observed.submission.fingerprint,
286
+ processEpoch: r.processEpoch, deadline: { requestEndsAt: observed.submission.requestEndsAt,
287
+ ...(resolved.evidence.expiresAt !== undefined ? { authorityExpiresAt: resolved.evidence.expiresAt * 1000 } : {}) },
288
+ assertCurrent: async () => {
289
+ await authenticateRegisteredManager(r, args, "keyed admission recheck");
290
+ const fresh = await args.issued.resolve(ref, args.sourceIsLive);
291
+ if (fresh.revision !== resolved.revision || canonicalJson(fresh.evidence) !== canonicalJson(resolved.evidence))
292
+ throw new EpEnvelopeError("permission-denied", "original keyed admission authority changed; retain its binding");
293
+ } });
294
+ });
295
+ return { v: 1, kind: "manager-run-submission", requestId: r.requestId, ...result };
296
+ }
241
297
  /** Authenticate the requesting registered manager: assigned space/account, open gate owned by this
242
298
  * owner's serve actor, current process epoch, and the current-registration proof. */
243
299
  async function authenticateRegisteredManager(r, args, what) {
@@ -310,6 +366,111 @@ export async function admitRemoteRun(args) {
310
366
  }
311
367
  }
312
368
  const ID_TOKEN = /^[A-Za-z0-9_-]{1,64}$/;
369
+ /** The cancellation door accepts only a stage and the exact observed body and subject. */
370
+ export function parseRemoteRunCancelRequest(raw) {
371
+ const registered = parseRegisteredRunRequest(raw, "manager-run-cancel", "manager run cancel", ["stage", "subject", "cancel"]);
372
+ const input = raw;
373
+ if ((input.stage !== "inspect" && input.stage !== "commit") || typeof input.subject !== "string")
374
+ runRequestError("manager run cancel", "requires inspect or commit and an observed subject");
375
+ return { v: 1, kind: "manager-run-cancel", ...registered, stage: input.stage,
376
+ subject: input.subject, cancel: readRunCancelInput(input.cancel) };
377
+ }
378
+ /** Inspect never grants a later commit. A commit owns its immutable observation before caller
379
+ * authorization and store preparation, and checks it again at the native dispatch boundary. */
380
+ export async function handleRemoteRunCancel(args) {
381
+ const request = parseRemoteRunCancelRequest(args.request);
382
+ const common = { v: 1, kind: "manager-run-cancel", requestId: request.requestId, runId: request.cancel.runId };
383
+ // Authenticate the manager before its forward can consume another caller's observation.
384
+ await authenticateRegisteredManager(request, args, "run cancel");
385
+ const parsed = parseEpSubject(request.subject);
386
+ if (!request.subject.startsWith(`cotal.${args.space}.`) || !parsed || parsed.plane !== "request" || parsed.rail !== "v1"
387
+ || parsed.route !== "inst" || parsed.instanceId !== request.instanceId || parsed.endpoint !== args.endpoint
388
+ || parsed.command !== "run-cancel" || parsed.target !== null || !isIssuedCaller(parsed.caller))
389
+ throw new EpEnvelopeError("permission-denied", "run-cancel forward does not name this registered manager's issued request");
390
+ const caller = parsed.caller;
391
+ const authorize = async (observation) => {
392
+ args.assertServing();
393
+ if (observation.runId !== request.cancel.runId || observation.reason !== request.cancel.reason
394
+ || observation.instanceId !== request.instanceId || observation.processEpoch !== request.processEpoch)
395
+ throw new EpEnvelopeError("permission-denied", "run-cancel forward differs from the observed request");
396
+ if (performance.now() >= observation.requestEndsAt)
397
+ throw new EpEnvelopeError("deadline-exceeded", "run-cancel original observed deadline expired");
398
+ const gate = await authenticateRegisteredManager(request, args, "run cancel recheck");
399
+ const registered = await args.registeredCommand(request.instanceId, gate.registrationRevision, "run-cancel");
400
+ if (registered.class !== "ephemeral" || registered.class !== observation.class
401
+ || registered.inputDigest !== observation.inputDigest || registered.outputDigest !== observation.outputDigest)
402
+ throw new EpEnvelopeError("permission-denied", "run-cancel observation does not pin the registered contract");
403
+ const resolved = await args.issued.resolve({ space: args.space, owner: caller.owner, actor: caller.actor, uid: caller.uid, generation: caller.generation }, args.sourceIsLive);
404
+ if (!issuedPermitsSubject(resolved.evidence.permissions.publish, request.subject))
405
+ throw new EpEnvelopeError("permission-denied", "run-cancel issued authority does not permit its subject");
406
+ const view = await args.readAdmission(request.cancel.runId);
407
+ if (view.admission.space !== args.space || view.admission.endpoint !== args.endpoint || view.admission.runId !== request.cancel.runId)
408
+ throw new EpEnvelopeError("unavailable", "run-cancel admission names other coordinates");
409
+ const original = view.admission.caller;
410
+ let authority;
411
+ if (caller.owner === original.owner && caller.actor === original.actor && caller.uid === original.uid)
412
+ authority = "original";
413
+ else {
414
+ const scope = await args.interactiveScope(caller, resolved.evidence.sources);
415
+ if (scope?.includes("admin"))
416
+ authority = "admin";
417
+ else if (caller.owner === original.owner && scope?.includes("run"))
418
+ authority = "owner-interactive";
419
+ else
420
+ throw new EpEnvelopeError("permission-denied", "run-cancel request is not authorized");
421
+ }
422
+ args.assertServing();
423
+ if (performance.now() >= observation.requestEndsAt)
424
+ throw new EpEnvelopeError("deadline-exceeded", "run-cancel original observed deadline expired");
425
+ return { authority, view };
426
+ };
427
+ if (request.stage === "inspect") {
428
+ await args.flush();
429
+ const observation = args.observations.inspect(request.subject);
430
+ const { authority } = await authorize(observation);
431
+ // A redelivery may have conflicted during the reads. Inspection still grants nothing.
432
+ if (args.observations.inspect(request.subject) !== observation)
433
+ throw new EpEnvelopeError("permission-denied", "run-cancel observation changed");
434
+ return { ...common, stage: "inspect", authority };
435
+ }
436
+ let claim;
437
+ try {
438
+ await args.flush();
439
+ claim = args.observations.claim(request.subject);
440
+ const first = await authorize(claim.observation);
441
+ claim.assertCurrent();
442
+ if (first.view.revoked)
443
+ return { ...common, stage: "commit", result: { kind: "committed", outcome: "existed", revocation: first.view.revoked } };
444
+ const result = await args.withStore(request.cancel.runId, async (kv) => {
445
+ const fresh = await authorize(claim.observation);
446
+ claim.assertCurrent();
447
+ if (fresh.view.revoked)
448
+ return { kind: "committed", outcome: "existed", revocation: fresh.view.revoked };
449
+ const revocation = { version: 1, runId: request.cancel.runId, by: `${caller.owner}.${caller.actor}`, reason: request.cancel.reason, revokedAt: Date.now() };
450
+ const outcome = await commitRunCancellation(kv, args.endpoint, revocation, () => {
451
+ args.assertServing();
452
+ claim.dispatch();
453
+ });
454
+ if (outcome === "created")
455
+ return { kind: "committed", outcome, revocation };
456
+ const stored = await args.readRevocation(request.cancel.runId);
457
+ if (!stored)
458
+ throw new EpEnvelopeError("unavailable", "run-cancel marker could not be read after an existing write");
459
+ return { kind: "committed", outcome, revocation: stored };
460
+ });
461
+ return { ...common, stage: "commit", result };
462
+ }
463
+ catch (error) {
464
+ claim?.finish();
465
+ const refusal = args.observations.refusal(request.subject);
466
+ const allowed = new Set(["permission-denied", "failed-precondition", "deadline-exceeded", "resource-exhausted", "unavailable"]);
467
+ const code = error instanceof EpEnvelopeError && allowed.has(error.code) ? error.code : "unavailable";
468
+ return { ...common, stage: "commit", result: { kind: refusal.kind, code } };
469
+ }
470
+ finally {
471
+ claim?.finish();
472
+ }
473
+ }
313
474
  /** Closed parser for the issuing-host revoke. It carries no asserted owner or attribution. */
314
475
  export function parseRemoteRunRevokeRequest(raw) {
315
476
  const what = "manager run revoke";
@@ -407,6 +568,25 @@ export function observedRunRequest(subject, data) {
407
568
  const envelope = { class: env.class, op: env.op, bind: env.bind };
408
569
  if (parsed.command === "run-start")
409
570
  return { operation: { command: "run-start" }, envelope };
571
+ if (parsed.command === "run-start-keyed" || parsed.command === "run-submission-status") {
572
+ if (!Number.isSafeInteger(env.deadlineMs) || env.deadlineMs <= 0 || env.deadlineMs > KEYED_SUBMISSION_MAX_DEADLINE_MS)
573
+ return undefined;
574
+ // This runs in the shared observation callback: carried content that cannot be canonicalized
575
+ // (a lone surrogate, nesting past the stack) leaves the request unobserved, never a throw.
576
+ let fingerprint;
577
+ try {
578
+ fingerprint = submissionFingerprint(env, parsed).fingerprint;
579
+ }
580
+ catch {
581
+ return undefined;
582
+ }
583
+ const submission = { id: env.id, fingerprint, requestEndsAt: performance.now() + env.deadlineMs };
584
+ if (parsed.command === "run-start-keyed")
585
+ return { operation: { command: "run-start-keyed" }, envelope, submission };
586
+ if (typeof env.args?.submissionId !== "string")
587
+ return undefined;
588
+ return { operation: { command: "run-submission-status", submissionId: env.args.submissionId }, envelope, submission };
589
+ }
410
590
  const args = env.args;
411
591
  if (args === null || args === undefined || typeof args.runId !== "string")
412
592
  return undefined;
@@ -471,7 +651,8 @@ async function authorizeServedRunCaller(args) {
471
651
  }
472
652
  /**
473
653
  * Host-only authorization for {@link RemoteRunAttemptRequest}. Every coordinate the returned grant
474
- * pins is derived from host stores: the admission must exist unrevoked on this instance, the
654
+ * pins is derived from host stores: the admission must exist on this instance and be unrevoked
655
+ * for an attempt or answer. A read-only operator can inspect a revoked run. The
475
656
  * attempt must be exactly the next epoch/fencing token the run record implies (1/1 for a first
476
657
  * attempt with no record, as stock `start` launches), and an answer pins the pause the named run's
477
658
  * journal records at the named step, which must be waiting. Refuses before the host signs anything.
@@ -481,8 +662,8 @@ export async function authorizeRemoteRunAttempt(args) {
481
662
  const gate = await authenticateRegisteredManager(r, args, "run attempt");
482
663
  const admitted = async (runId) => {
483
664
  const view = await args.readAdmission(runId);
484
- if (view.revoked !== undefined)
485
- throw new EpEnvelopeError("permission-denied", `run ${runId} was revoked; a revoked run is issued nothing (SPEC 14.8)`);
665
+ if (view.revoked !== undefined && (r.attempt !== undefined || r.operator?.answers !== undefined))
666
+ throw new EpEnvelopeError("permission-denied", `run ${runId} was revoked; no attempt or answering authority is issued (SPEC 14.8)`);
486
667
  if (view.admission.instanceId !== r.instanceId || view.admission.endpoint !== args.endpoint || view.admission.space !== r.space)
487
668
  throw new EpEnvelopeError("permission-denied", `run ${runId} was admitted on another manager instance or endpoint`);
488
669
  return view.admission;