@cotal-ai/workspace 0.16.0 → 0.17.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.
@@ -63,6 +63,13 @@ export declare function agentSecretSegment(name: string): string;
63
63
  export declare const agentCredsKey: (name: string) => string;
64
64
  export declare const agentActorTokenKey: (name: string) => string;
65
65
  export declare const agentSentinelCredsKey: (name: string) => string;
66
+ /** Lifecycle-keyed {@link SecretStore} keys of one INCARNATION's secret family — the
67
+ * per-incarnation counterparts of the standing name-keyed keys above, for any endpoint that
68
+ * provisions managed lifecycles (the manager is the first client; delivery and future endpoints
69
+ * ride the same seam). See {@link agentIncarnationBase} for why the uid is embedded. */
70
+ export declare const agentLifecycleCredsKey: (name: string, lifecycleUid: string) => string;
71
+ export declare const agentLifecycleActorTokenKey: (name: string, lifecycleUid: string) => string;
72
+ export declare const agentLifecycleSentinelCredsKey: (name: string, lifecycleUid: string) => string;
66
73
  /** The FS materialization paths of one agent's secret family (plus its non-secret health file) —
67
74
  * built from the SAME filename source as the key builders. These are the paths subprocesses read
68
75
  * (the bearer re-exec's `--token-file`, a launch's creds handoff), never an alternate source of
@@ -73,6 +80,17 @@ export declare function agentSecretFilePaths(root: string, name: string): {
73
80
  sentinelCreds: string;
74
81
  health: string;
75
82
  };
83
+ /** The lifecycle-keyed FS materialization paths of one INCARNATION's secret family (plus its
84
+ * non-secret health file) — same projection rule as {@link agentSecretFilePaths}, built from the
85
+ * {@link agentIncarnationBase} so a retired incarnation's teardown can never address a same-alias
86
+ * successor's files. */
87
+ export declare function agentLifecycleSecretFilePaths(root: string, name: string, lifecycleUid: string): {
88
+ creds: string;
89
+ actorToken: string;
90
+ sentinelCreds: string;
91
+ health: string;
92
+ };
93
+ export declare function agentSecretKeyForFile(path: string): string;
76
94
  /** Enumerate the store keys of every per-agent standing secret currently materialized under this
77
95
  * root — the reset/backstop sweep (`clean all`; despawn owns the primary delete). Deliberately
78
96
  * filename-driven over the LOCAL creds dir: this surface is the FS composition (a hosted reset
@@ -93,6 +111,26 @@ export declare function materializeSecretToFile(store: SecretStore, key: string,
93
111
  export declare function findCotalRoot(start?: string): string;
94
112
  /** Where the one broker trust record lives. */
95
113
  export declare function brokerAuthPath(dir: string): string;
114
+ /** The persisted MANAGER INSTANCE identity (P2 item 3, SPEC 13.6 item 7): the LOGICAL instanceId
115
+ * (stable across restart, so a restart re-registers the SAME id with an ADVANCED epoch and the
116
+ * (i) fence bites) + the serve nkey identity (so re-registration reuses the SAME gate principal —
117
+ * provisionEndpointGateOpen stays idempotent, no core barrier change, and eviction targets a
118
+ * stable principal). Holds a private seed, so it lands in a HARDENED secret file, space-scoped by
119
+ * a hex key (an authDir is a shared namespace; a raw space token can collide/case-fold). */
120
+ export interface ManagerInstanceIdentity {
121
+ instanceId: string;
122
+ serveIdentity: {
123
+ id: string;
124
+ seed: string;
125
+ };
126
+ }
127
+ /** Load this workspace root's persisted manager instance identity for `space`, or undefined if a
128
+ * manager has never registered here. A present-but-MALFORMED file fails LOUD: minting a fresh id
129
+ * over it would orphan the prior registration and break the restart-fence guarantee, so a restart
130
+ * never silently becomes a fresh instance (no-fallbacks). */
131
+ export declare function loadManagerInstanceIdentity(root: string, space: string): ManagerInstanceIdentity | undefined;
132
+ /** Persist this workspace root's manager instance identity for `space` (hardened secret file). */
133
+ export declare function saveManagerInstanceIdentity(root: string, space: string, identity: ManagerInstanceIdentity): void;
96
134
  /** Where one space's own account record lives: a FLAT file beside `broker.json`, keyed by
97
135
  * {@link accountFileKey}. Flat (not `<space>/account.json`) because `<authDir>/<space>/` is
98
136
  * {@link userAuthStateDir}; hex-keyed because a raw space name in the filename both aliased that
@@ -1 +1 @@
1
- {"version":3,"file":"auth-paths.d.ts","sourceRoot":"","sources":["../src/auth-paths.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAexB,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;gGAMgG;AAChG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAa9C;AAqBD;;;;;4DAK4D;AAC5D,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAID;;qFAEqF;AACrF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMjE;AAED;;;;;;;;;;;;4FAY4F;AAC5F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpE;AAwFD;;;mEAGmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;yDAKyD;AACzD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAiB1D;AAID;;mEAEmE;AACnE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;mDAImD;AACnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD;AAUD;;;;yCAIyC;AACzC,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAA+C,CAAC;AAC7F,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAAoD,CAAC;AACvG,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAAuD,CAAC;AAE7G;;;qFAGqF;AACrF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAChE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAC1E,CAQA;AAED;;;;oEAIoE;AACpE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB3D;AAED;;;;;;2BAM2B;AAC3B,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1G;AAED;;iGAEiG;AACjG,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAsB,GAAG,MAAM,CAQnE;AAkBD,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAwDD;;;;0FAI0F;AAC1F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAyED;;;mEAGmE;AACnE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAqCpE;AAED;iEACiE;AACjE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAKlE;AAED;;;iBAGiB;AACjB,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAQtF;AAED;;gEAEgE;AAChE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAY7F;AAOD;;;;4CAI4C;AAC5C,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAiB/E;AAED;;;sDAGsD;AACtD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAGpE;AAED;;;;4FAI4F;AAC5F,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAGhE;AAED;;;;;;;;uCAQuC;AACvC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY3D;AAED;;;;;;;;;;;;wGAYwG;AACxG,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAU5E;AAED;;;;;;;;;;;;;gEAagE;AAChE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAwCrF;AAED;;wGAEwG;AACxG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAYD;;uDAEuD;AACvD,eAAO,MAAM,eAAe,qBAAwB,CAAC;AAErD;6EAC6E;AAC7E,eAAO,MAAM,cAAc,mBAAsB,CAAC;AAElD;oDACoD;AACpD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AA4BD;;;;;;;;;;wDAUwD;AACxD,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAoCpG;AAED;;;;kFAIkF;AAClF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAGtG;AAED;;;;;;;;;;;;;iFAaiF;AACjF,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCrF;AAED;;;;8DAI8D;AAC9D,wBAAsB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF"}
1
+ {"version":3,"file":"auth-paths.d.ts","sourceRoot":"","sources":["../src/auth-paths.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { existsSync, lstatSync, readFileSync, readdirSync, renameSync, statSync } from "node:fs";
2
- import { join, dirname, resolve } from "node:path";
3
- import { composeSpaceAuth, jwtIssuedAt, mkSecretDir, validateSpaceAuthForRead, writeSecretFile, writeSecretFileAtomic, } from "@cotal-ai/core";
2
+ import { join, dirname, resolve, basename } from "node:path";
3
+ import { assertLifecycleToken, composeSpaceAuth, jwtIssuedAt, mkSecretDir, validateSpaceAuthForRead, writeSecretFile, writeSecretFileAtomic, } from "@cotal-ai/core";
4
4
  /**
5
5
  * On-disk auth-material I/O for a local checkout's `.cotal/` — machine-local path resolution plus
6
6
  * reading/writing the space trust material. Lives in `@cotal-ai/workspace` (not core) because it's a
@@ -240,31 +240,88 @@ export function agentSecretSegment(name) {
240
240
  // One filename source per kind — the store key and the materialized path project the SAME name,
241
241
  // so the two can never drift apart (the `DELIVERY_CREDS_KEY` lesson, per kind).
242
242
  const agentFile = {
243
- creds: (name) => `${agentSecretSegment(name)}.creds`,
244
- actorToken: (name) => `${agentSecretSegment(name)}.actor-token`,
245
- sentinelCreds: (name) => `${agentSecretSegment(name)}.sentinel.creds`,
243
+ creds: (base) => `${base}.creds`,
244
+ actorToken: (base) => `${base}.actor-token`,
245
+ sentinelCreds: (base) => `${base}.sentinel.creds`,
246
246
  };
247
+ /** The per-INCARNATION filename base `<name>.<lifecycleUid>` (SPEC 13.1 naming discipline brought
248
+ * to the FS): an endpoint-provisioned incarnation's secret family embeds its lifecycle UID, so a
249
+ * stale or replayed teardown for a retired incarnation addresses names a same-alias successor
250
+ * never uses. The separator is a `.` — a character {@link agentSecretSegment} REFUSES in a
251
+ * standing name — so the two families are STRUCTURALLY disjoint: no legal standing alias can
252
+ * spell an incarnation base (`worker-<uid>` the standing name maps to `worker-<uid>.creds`;
253
+ * `worker` at that uid maps to `worker.<uid>.creds`). Disjointness is grammar, not uid entropy —
254
+ * a standing alias is chosen, not sampled, so entropy alone guarantees nothing. Standing
255
+ * OPERATOR secrets (`cotal mint`, setup-seeded creds) stay on the name-keyed builders below —
256
+ * they have no lifecycle. */
257
+ function agentIncarnationBase(name, lifecycleUid) {
258
+ return `${agentSecretSegment(name)}.${assertLifecycleToken(lifecycleUid)}`;
259
+ }
247
260
  /** Canonical {@link SecretStore} keys of the per-agent standing secrets, mirroring today's
248
261
  * `.cotal/auth/creds/<name>.<kind>` layout byte-for-byte under the workspace FS composition.
249
262
  * `<name>.creds` is the static-auth scoped cred; the actor token + sentinel cred are the
250
263
  * user-mode pair a spawn mints. The transient `<name>.auth-health.json` is runtime state, NOT a
251
264
  * secret kind — it stays plain-file. */
252
- export const agentCredsKey = (name) => `auth/creds/${agentFile.creds(name)}`;
253
- export const agentActorTokenKey = (name) => `auth/creds/${agentFile.actorToken(name)}`;
254
- export const agentSentinelCredsKey = (name) => `auth/creds/${agentFile.sentinelCreds(name)}`;
265
+ export const agentCredsKey = (name) => `auth/creds/${agentFile.creds(agentSecretSegment(name))}`;
266
+ export const agentActorTokenKey = (name) => `auth/creds/${agentFile.actorToken(agentSecretSegment(name))}`;
267
+ export const agentSentinelCredsKey = (name) => `auth/creds/${agentFile.sentinelCreds(agentSecretSegment(name))}`;
268
+ /** Lifecycle-keyed {@link SecretStore} keys of one INCARNATION's secret family — the
269
+ * per-incarnation counterparts of the standing name-keyed keys above, for any endpoint that
270
+ * provisions managed lifecycles (the manager is the first client; delivery and future endpoints
271
+ * ride the same seam). See {@link agentIncarnationBase} for why the uid is embedded. */
272
+ export const agentLifecycleCredsKey = (name, lifecycleUid) => `auth/creds/${agentFile.creds(agentIncarnationBase(name, lifecycleUid))}`;
273
+ export const agentLifecycleActorTokenKey = (name, lifecycleUid) => `auth/creds/${agentFile.actorToken(agentIncarnationBase(name, lifecycleUid))}`;
274
+ export const agentLifecycleSentinelCredsKey = (name, lifecycleUid) => `auth/creds/${agentFile.sentinelCreds(agentIncarnationBase(name, lifecycleUid))}`;
255
275
  /** The FS materialization paths of one agent's secret family (plus its non-secret health file) —
256
276
  * built from the SAME filename source as the key builders. These are the paths subprocesses read
257
277
  * (the bearer re-exec's `--token-file`, a launch's creds handoff), never an alternate source of
258
278
  * truth: under the local FS composition each path IS its key's storage location. */
259
279
  export function agentSecretFilePaths(root, name) {
260
280
  const dir = agentCredsDir(root);
281
+ const base = agentSecretSegment(name);
282
+ return {
283
+ creds: join(dir, agentFile.creds(base)),
284
+ actorToken: join(dir, agentFile.actorToken(base)),
285
+ sentinelCreds: join(dir, agentFile.sentinelCreds(base)),
286
+ health: join(dir, `${base}.auth-health.json`),
287
+ };
288
+ }
289
+ /** The lifecycle-keyed FS materialization paths of one INCARNATION's secret family (plus its
290
+ * non-secret health file) — same projection rule as {@link agentSecretFilePaths}, built from the
291
+ * {@link agentIncarnationBase} so a retired incarnation's teardown can never address a same-alias
292
+ * successor's files. */
293
+ export function agentLifecycleSecretFilePaths(root, name, lifecycleUid) {
294
+ const dir = agentCredsDir(root);
295
+ const base = agentIncarnationBase(name, lifecycleUid);
261
296
  return {
262
- creds: join(dir, agentFile.creds(name)),
263
- actorToken: join(dir, agentFile.actorToken(name)),
264
- sentinelCreds: join(dir, agentFile.sentinelCreds(name)),
265
- health: join(dir, `${agentSecretSegment(name)}.auth-health.json`),
297
+ creds: join(dir, agentFile.creds(base)),
298
+ actorToken: join(dir, agentFile.actorToken(base)),
299
+ sentinelCreds: join(dir, agentFile.sentinelCreds(base)),
300
+ health: join(dir, `${base}.auth-health.json`),
266
301
  };
267
302
  }
303
+ /** The store key of a materialized agent-secret FILE — `auth/creds/<basename>`, the same projection
304
+ * the builders above apply, for callers that hold a RECORDED path (a resume inventory, a manifest
305
+ * ledger) rather than the (name, uid) coordinates: under mixed generations the recorded path is
306
+ * the truth, and its key must be derived from the SAME filename, never re-derived from the name
307
+ * alone (which would silently address a different generation's row). Refuses a filename that no
308
+ * valid provisioning could have written. */
309
+ /** The exact filename-base grammar the two builder families can produce — a standing name
310
+ * ({@link agentSecretSegment}'s alphabet, no `.`) or an incarnation base `<name>.<uid>`
311
+ * ({@link agentIncarnationBase}). Anything else is a stray no valid provisioning wrote. */
312
+ const PROVISIONABLE_BASE = /^[A-Za-z0-9_-]+(\.[a-z0-9]{26,32})?$/;
313
+ export function agentSecretKeyForFile(path) {
314
+ const file = basename(path);
315
+ for (const suffix of [".sentinel.creds", ".actor-token", ".creds"]) {
316
+ if (!file.endsWith(suffix))
317
+ continue;
318
+ const base = file.slice(0, -suffix.length);
319
+ if (!PROVISIONABLE_BASE.test(base))
320
+ throw new Error(`"${file}" is not a provisionable agent-secret filename (a standing name, or <name>.<lifecycleUid>)`);
321
+ return `auth/creds/${file}`;
322
+ }
323
+ throw new Error(`"${file}" is not an agent-secret filename (expected a .creds / .actor-token / .sentinel.creds suffix)`);
324
+ }
268
325
  /** Enumerate the store keys of every per-agent standing secret currently materialized under this
269
326
  * root — the reset/backstop sweep (`clean all`; despawn owns the primary delete). Deliberately
270
327
  * filename-driven over the LOCAL creds dir: this surface is the FS composition (a hosted reset
@@ -287,7 +344,7 @@ export function agentSecretKeysUnder(root) {
287
344
  if (!file.endsWith(suffix))
288
345
  continue;
289
346
  const base = file.slice(0, -suffix.length);
290
- if (/^[A-Za-z0-9_-]+$/.test(base))
347
+ if (PROVISIONABLE_BASE.test(base))
291
348
  keys.push(`auth/creds/${file}`);
292
349
  break; // longest match decides; a rejected base is a stray either way
293
350
  }
@@ -340,6 +397,38 @@ const SPACE_ACCOUNT_SUFFIX = ".json";
340
397
  export function brokerAuthPath(dir) {
341
398
  return join(dir, BROKER_FILE);
342
399
  }
400
+ function managerInstanceFile(root, space) {
401
+ return join(authDir(root), `manager-instance.${Buffer.from(space, "utf8").toString("hex")}.json`);
402
+ }
403
+ /** Load this workspace root's persisted manager instance identity for `space`, or undefined if a
404
+ * manager has never registered here. A present-but-MALFORMED file fails LOUD: minting a fresh id
405
+ * over it would orphan the prior registration and break the restart-fence guarantee, so a restart
406
+ * never silently becomes a fresh instance (no-fallbacks). */
407
+ export function loadManagerInstanceIdentity(root, space) {
408
+ const f = managerInstanceFile(root, space);
409
+ if (!existsSync(f))
410
+ return undefined;
411
+ let parsed;
412
+ try {
413
+ parsed = JSON.parse(readFileSync(f, "utf8"));
414
+ }
415
+ catch (e) {
416
+ throw new Error(`the persisted manager instance identity at ${f} does not parse (${e.message}); refusing to mint a fresh id over it - a restart must preserve the logical instanceId (SPEC 13.6)`);
417
+ }
418
+ if (parsed === null || typeof parsed !== "object"
419
+ || typeof parsed.instanceId !== "string" || parsed.instanceId.length === 0
420
+ || parsed.serveIdentity === null || typeof parsed.serveIdentity !== "object"
421
+ || typeof parsed.serveIdentity.id !== "string" || parsed.serveIdentity.id.length === 0
422
+ || typeof parsed.serveIdentity.seed !== "string" || parsed.serveIdentity.seed.length === 0)
423
+ throw new Error(`the persisted manager instance identity at ${f} is malformed; refusing to mint a fresh id over it - a restart must preserve the logical instanceId (SPEC 13.6)`);
424
+ return { instanceId: parsed.instanceId, serveIdentity: { id: parsed.serveIdentity.id, seed: parsed.serveIdentity.seed } };
425
+ }
426
+ /** Persist this workspace root's manager instance identity for `space` (hardened secret file). */
427
+ export function saveManagerInstanceIdentity(root, space, identity) {
428
+ const dir = authDir(root);
429
+ mkSecretDir(dir); // harden the auth dir BEFORE the secret (with its seed) lands
430
+ writeSecretFile(managerInstanceFile(root, space), JSON.stringify(identity, null, 2));
431
+ }
343
432
  /** The account file's key IS {@link spaceKey} — one injective, case-safe encoder for every
344
433
  * tenant-keyed namespace. The space's real name rides in the document, never inferred from the
345
434
  * key alone. */
@@ -1 +1 @@
1
- {"version":3,"file":"auth-paths.js","sourceRoot":"","sources":["../src/auth-paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-paths.js","sourceRoot":"","sources":["../src/auth-paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { type BrokerTransport } from "@cotal-ai/core";
2
+ /** What was recorded about how this broker is served. */
3
+ export interface BrokerPolicy {
4
+ /** Schema version, so a future reader can refuse a shape it does not understand rather than
5
+ * guess at one. */
6
+ readonly version: 1;
7
+ readonly transport: BrokerTransport;
8
+ }
9
+ /** Thrown for every unreadable, unparseable or unusable policy. Distinct so callers can report a
10
+ * POLICY cause and refuse, instead of reporting a generic failure and continuing. */
11
+ export declare class BrokerPolicyError extends Error {
12
+ constructor(message: string);
13
+ }
14
+ /** `<root>/.cotal/broker-policy.json` — a sibling of `auth/`, `run/`, `nats/` and `agents/`.
15
+ * `root` is the project root from {@link findCotalRoot}, not {@link homeCotalDir}: `COTAL_HOME`
16
+ * does not move this file. */
17
+ export declare function brokerPolicyPath(root: string): string;
18
+ /** Record how this broker is served. The parent directory is hardened BEFORE the file lands, and
19
+ * the write is atomic so a crashed `up` cannot leave a half-written policy that the next `up`
20
+ * would have to interpret. */
21
+ export declare function writeBrokerPolicy(root: string, policy: BrokerPolicy): void;
22
+ /**
23
+ * Read the recorded policy, or `undefined` when this mesh has none — a mesh created before the
24
+ * policy existed, or one that was never given a transport to remember.
25
+ *
26
+ * FAILS LOUD on a policy it cannot trust, and never degrades to plaintext. The absence of a file
27
+ * and the presence of a broken one are different situations: the first means "no decision was
28
+ * recorded", the second means "a decision was recorded and I cannot honour it". Treating the
29
+ * second as the first is how a mesh that was deliberately put on TLS comes back up in cleartext
30
+ * because a cert file moved — reachable by an operator who did nothing wrong.
31
+ */
32
+ export declare function readBrokerPolicy(root: string): BrokerPolicy | undefined;
33
+ //# sourceMappingURL=broker-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker-policy.d.ts","sourceRoot":"","sources":["../src/broker-policy.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAsC,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE1F,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B;wBACoB;IACpB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAED;sFACsF;AACtF,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED;;+BAE+B;AAC/B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;+BAE+B;AAC/B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAI1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CA8CvE"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * The broker LAUNCH POLICY: how this mesh's broker must be served, recorded durably so that every
3
+ * later `up` renders the same transport.
4
+ *
5
+ * Why this is a separate record from the mesh registry entry. `MeshEntry` lives in the machine
6
+ * home and carries TLS-required CLIENT INTENT only — enough for a resolved connection to become
7
+ * strict, and nothing an operator would mind seeing. It is also removed by `cotal down`, so it
8
+ * cannot be where the broker's own configuration lives: a bare `down` followed by `up` would
9
+ * forget that this broker serves TLS and quietly bring it back up in cleartext. That is the silent
10
+ * downgrade, arriving by the most ordinary operator gesture there is.
11
+ *
12
+ * So cert and key REFERENCES live here instead, under the workspace root's protected tree, beside
13
+ * `auth/` rather than inside it — `auth/broker.json` already means broker TRUST, and two things
14
+ * one letter apart in meaning in the same directory is how a later reader composes the wrong pair.
15
+ *
16
+ * WHY THE TIGHT DIRECTORY, and this is the part that must not be optimised away: the paths in this
17
+ * file are NOT secret. The private key they point at is, and it belongs to the operator or their
18
+ * PKI, not to us. The protection here is for INTEGRITY, not confidentiality — ANYONE WHO CAN
19
+ * REWRITE THIS FILE CAN POINT THE BROKER AT A CERTIFICATE THEY CONTROL ON THE NEXT `up`. A reader
20
+ * who opens it, correctly observes that it holds no secrets, and relaxes the permissions on that
21
+ * entirely sensible-sounding basis would be handing over the broker's identity.
22
+ */
23
+ import { existsSync, readFileSync } from "node:fs";
24
+ import { join } from "node:path";
25
+ import { mkSecretDir, writeSecretFileAtomic } from "@cotal-ai/core";
26
+ /** Thrown for every unreadable, unparseable or unusable policy. Distinct so callers can report a
27
+ * POLICY cause and refuse, instead of reporting a generic failure and continuing. */
28
+ export class BrokerPolicyError extends Error {
29
+ constructor(message) {
30
+ super(message);
31
+ this.name = "BrokerPolicyError";
32
+ }
33
+ }
34
+ /** `<root>/.cotal/broker-policy.json` — a sibling of `auth/`, `run/`, `nats/` and `agents/`.
35
+ * `root` is the project root from {@link findCotalRoot}, not {@link homeCotalDir}: `COTAL_HOME`
36
+ * does not move this file. */
37
+ export function brokerPolicyPath(root) {
38
+ return join(root, ".cotal", "broker-policy.json");
39
+ }
40
+ /** Record how this broker is served. The parent directory is hardened BEFORE the file lands, and
41
+ * the write is atomic so a crashed `up` cannot leave a half-written policy that the next `up`
42
+ * would have to interpret. */
43
+ export function writeBrokerPolicy(root, policy) {
44
+ const path = brokerPolicyPath(root);
45
+ mkSecretDir(join(root, ".cotal"));
46
+ writeSecretFileAtomic(path, `${JSON.stringify(policy, null, 2)}\n`);
47
+ }
48
+ /**
49
+ * Read the recorded policy, or `undefined` when this mesh has none — a mesh created before the
50
+ * policy existed, or one that was never given a transport to remember.
51
+ *
52
+ * FAILS LOUD on a policy it cannot trust, and never degrades to plaintext. The absence of a file
53
+ * and the presence of a broken one are different situations: the first means "no decision was
54
+ * recorded", the second means "a decision was recorded and I cannot honour it". Treating the
55
+ * second as the first is how a mesh that was deliberately put on TLS comes back up in cleartext
56
+ * because a cert file moved — reachable by an operator who did nothing wrong.
57
+ */
58
+ export function readBrokerPolicy(root) {
59
+ const path = brokerPolicyPath(root);
60
+ if (!existsSync(path))
61
+ return undefined;
62
+ let raw;
63
+ try {
64
+ raw = readFileSync(path, "utf8");
65
+ }
66
+ catch (e) {
67
+ throw new BrokerPolicyError(`broker policy at ${path} exists but is not readable: ${e.message}`);
68
+ }
69
+ let parsed;
70
+ try {
71
+ parsed = JSON.parse(raw);
72
+ }
73
+ catch (e) {
74
+ throw new BrokerPolicyError(`broker policy at ${path} is not valid JSON: ${e.message}`);
75
+ }
76
+ const doc = parsed;
77
+ if (doc.version !== 1)
78
+ throw new BrokerPolicyError(`broker policy at ${path} has unsupported version ${JSON.stringify(doc.version)}; expected 1`);
79
+ const t = doc.transport;
80
+ if (!t || typeof t !== "object")
81
+ throw new BrokerPolicyError(`broker policy at ${path} is missing its transport`);
82
+ if (t.kind === "plaintext")
83
+ return { version: 1, transport: { kind: "plaintext" } };
84
+ if (t.kind !== "tls-required")
85
+ throw new BrokerPolicyError(`broker policy at ${path} names an unknown transport ${JSON.stringify(t.kind)}`);
86
+ if (typeof t.certFile !== "string" || typeof t.keyFile !== "string" || !t.certFile || !t.keyFile)
87
+ throw new BrokerPolicyError(`broker policy at ${path} declares TLS but does not name both a certFile and a keyFile`);
88
+ // The referenced material must still be there. A cert that moved is the ordinary way this breaks,
89
+ // and the ONLY acceptable outcome is a loud refusal: coming up in cleartext because a path went
90
+ // stale would silently undo a deliberate decision to serve TLS.
91
+ for (const [what, file] of [["certificate", t.certFile], ["private key", t.keyFile]]) {
92
+ if (!existsSync(file))
93
+ throw new BrokerPolicyError(`broker policy at ${path} requires TLS, but its ${what} is missing at ${file}. ` +
94
+ `Restore it or record a new policy; this broker will NOT be started in plaintext.`);
95
+ }
96
+ return { version: 1, transport: { kind: "tls-required", certFile: t.certFile, keyFile: t.keyFile } };
97
+ }
98
+ //# sourceMappingURL=broker-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker-policy.js","sourceRoot":"","sources":["../src/broker-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAwB,MAAM,gBAAgB,CAAC;AAU1F;sFACsF;AACtF,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;+BAE+B;AAC/B,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;AACpD,CAAC;AAED;;+BAE+B;AAC/B,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAoB;IAClE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClC,qBAAqB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAExC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,IAAI,gCAAiC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,IAAI,uBAAwB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,GAAG,GAAG,MAA+B,CAAC;IAC5C,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC;QACnB,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,IAAI,4BAA4B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE7H,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAC7B,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,IAAI,2BAA2B,CAAC,CAAC;IAEnF,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;IAEpF,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;QAC3B,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,IAAI,+BAA+B,IAAI,CAAC,SAAS,CAAE,CAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvI,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO;QAC9F,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,IAAI,+DAA+D,CAAC,CAAC;IAEvH,kGAAkG;IAClG,gGAAgG;IAChG,gEAAgE;IAChE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAU,EAAE,CAAC;QAC9F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,MAAM,IAAI,iBAAiB,CACzB,oBAAoB,IAAI,0BAA0B,IAAI,kBAAkB,IAAI,IAAI;gBAChF,kFAAkF,CACnF,CAAC;IACN,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;AACvG,CAAC"}
package/dist/connect.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type Profile, type SpaceAuth } from "@cotal-ai/core";
1
+ import { type EpCaller, type Profile, type SpaceAuth } from "@cotal-ai/core";
2
2
  import { type UserAuthInfo } from "./mesh-registry.js";
3
3
  import { type MeshTarget } from "./mesh-target.js";
4
4
  /**
@@ -30,6 +30,18 @@ export interface RawAuth {
30
30
  export interface Connection {
31
31
  server: string;
32
32
  space: string;
33
+ /** Whether this connection must REQUIRE TLS, rather than merely tolerate it.
34
+ *
35
+ * NON-OPTIONAL on purpose, and it is the same reasoning as the broker's transport union. An
36
+ * optional flag is omitted by default, and the default here is the dangerous one: a client with
37
+ * no TLS requirement connects happily to a plaintext broker and sends its credentials in the
38
+ * clear, including to an on-path attacker who forged the unauthenticated INFO. Every site that
39
+ * builds a `Connection` must therefore SAY which it is, and the compiler asks.
40
+ *
41
+ * Derive it from the resolved mesh record (`MeshEntry.tlsRequired`) or an explicit `cotals://`
42
+ * link — never re-decide it per call site. Five places each deciding "is this mesh TLS" is four
43
+ * chances to get it right and one to be silently wrong. */
44
+ tls: boolean;
33
45
  creds?: string;
34
46
  /** USER-MODE connect material (mode `"user"` only): the Cotal user bearer + the deny-all
35
47
  * sentinel creds, exactly what `EndpointOptions.bearer`/`sentinelCreds` consume. Mutually
@@ -49,15 +61,33 @@ export interface Connection {
49
61
  root?: string;
50
62
  /** How the target was resolved (registry / current / flag-space / …) — undefined for raw. */
51
63
  source?: MeshTarget["source"];
64
+ /** The connection's v0.4 caller triple (SPEC §13.2), present when this connection can ride the
65
+ * ep rails: a minted operator INSTRUMENT (`control-caller-*` / `deployer`, static trust
66
+ * material - the mint pins a fresh lifecycle uid) or a USER-mode bearer (the callout mints the
67
+ * cli actor's rows keyed on the bearer's ledger lifecycle claim). The caller needs the same
68
+ * triple to build its request subjects (`askManager`'s ep path). Absent exactly for open meshes
69
+ * and raw off-registry creds (still ctl until 1d). */
70
+ epCaller?: EpCaller;
52
71
  }
53
72
  /** The one way a command turns a {@link Connection} into endpoint auth options — spread this into
54
73
  * `new CotalEndpoint({...})` instead of passing `creds:` directly, so a user-mode connection
55
74
  * (bearer + sentinel) and a static/raw one (creds) ride the same call sites without each command
56
75
  * re-learning the mode split. */
76
+ /** The connect material for one resolved connection, spread straight into `CotalEndpoint` options
77
+ * or a standalone helper.
78
+ *
79
+ * `tls` rides along with the credentials DELIBERATELY. It used to be dropped here — this function
80
+ * returned creds/bearer only — which meant every caller that spread `endpointAuth(conn)` got the
81
+ * identity and silently lost the transport requirement. That is the failure with no symptom: the
82
+ * connection still works against an honest TLS broker (the client upgrades on the server's INFO),
83
+ * so nothing looks wrong until an on-path attacker forges an INFO without `tls_required` and
84
+ * collects the credentials in the clear. Keeping the two together means a caller cannot take the
85
+ * identity without also taking the requirement that protects it. */
57
86
  export declare function endpointAuth(conn: Connection): {
58
87
  creds?: string;
59
88
  bearer?: string;
60
89
  sentinelCreds?: string;
90
+ tls?: boolean;
61
91
  };
62
92
  /** The ledger actor a HUMAN CLI connect runs as on a user-auth space (v1: one well-known name).
63
93
  * Grant it once per user: `cotal actor grant cli --sub <your IdP subject>`. */
@@ -71,6 +101,9 @@ export interface UserViewAuth {
71
101
  sentinelCreds: string;
72
102
  owner: string;
73
103
  actor: string;
104
+ /** The bearer's ledger lifecycle claim - with (owner, actor) the v0.4 caller triple the
105
+ * callout-minted instrument-view rows pin (1c.2c). */
106
+ lifecycleUid: string;
74
107
  source: () => Promise<string>;
75
108
  }
76
109
  /** Mint an elevated-view bearer over an existing user-mode {@link Connection} — the user-mode
@@ -96,6 +129,16 @@ export declare function refuseStaticCredsForKnownUserAuthOrExit(space: string, s
96
129
  * on an auth mesh, and preflight with the registry's stale-prune.
97
130
  */
98
131
  export declare function connectOrExit(flags: ConnectFlags, role: Profile): Promise<Connection>;
132
+ /**
133
+ * Connect as the logged-in user on a user-auth mesh. **No profile/role argument** — there is no
134
+ * instrument mint on this path; ledger scope is the grant and `epCaller` comes from the bearer
135
+ * principal. Prefer this over `connectOrExit(..., someRole)` whenever the caller already knows
136
+ * (or has just learned) the mesh is user-mode: a dummy role is a value that is meaningless today
137
+ * and wrong the day this path starts consulting it.
138
+ *
139
+ * If this function is ever changed to accept or consult a {@link Profile}, every caller is wrong.
140
+ */
141
+ export declare function connectUserControlOrExit(flags: ConnectFlags): Promise<Connection>;
99
142
  /** Reachability check for a RAW (off-registry) connection — one plain sentence, never a registry/
100
143
  * stale-entry message and never a prune. Used by the `--creds` escape hatch and `join`'s explicit
101
144
  * (link/token/creds) path, both of which connect to a broker the user named, not the registry. */
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}