@cotal-ai/auth 0.26.0 → 0.28.0-hack-20260823202734

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.
package/dist/commands.js CHANGED
@@ -227,8 +227,8 @@ async function runAgentBearer(args) {
227
227
  const v = args.values;
228
228
  const { dir, space, owner, actor } = v;
229
229
  const tokenFile = v["token-file"];
230
- if (!dir || !space || !owner || !actor || !tokenFile)
231
- throw new Error("usage: cotal agent-bearer --dir <state-dir> --space <s> --owner <u_…> --actor <a> --token-file <path> [--health-file <path>]");
230
+ if (!space || !owner || !actor || !tokenFile || (!dir && !v["exchange-url"]))
231
+ throw new Error("usage: cotal agent-bearer [--dir <state-dir> | --exchange-url <https://base>] --space <s> --owner <u_…> --actor <a> --token-file <path> [--health-file <path>]");
232
232
  // Every attempt's outcome lands in the manager-composed health file (core's AgentAuthHealth) —
233
233
  // the `ps` window into a detached agent's bearer life. Best-effort: health reporting must never
234
234
  // turn a successful exchange into a failure.
@@ -249,29 +249,60 @@ async function runAgentBearer(args) {
249
249
  catch (e) {
250
250
  throw new Error(`agent-bearer: can't read the actor token file at ${tokenFile} (${e instanceof Error ? e.message : String(e)}) - respawn this agent to re-provision it`);
251
251
  }
252
- const info = loadAuthServiceInfo(dir);
253
- // Proof required: only `alive` counts as running. The old two-state probe called EPERM dead, so
254
- // a service running as ANOTHER USER produced "not running - restart it with `cotal up`" about a
255
- // service that was up the whole time; the contract resolves EPERM to alive and fixes exactly
256
- // that. `unknown` still refuses, because telling an operator to talk to an endpoint whose
257
- // liveness cannot be established is worse than telling them to restart.
258
- const svc = info === undefined ? "absent" : probeLiveness(info.pid);
259
- if (svc === "unknown")
260
- throw new Error(`agent-bearer: the user-auth service for space "${space}" records pid ${info.pid}, whose liveness cannot be determined - the kernel answered neither "running" nor "no such process" (a seccomp filter or LSM policy does this inside some sandboxes). Refusing rather than reporting it down: verify with \`ps -p ${info.pid}\` before restarting anything.`);
261
- if (svc !== "alive" || info === undefined)
262
- throw new Error(`agent-bearer: the user-auth service for space "${space}" is not running - restart it with \`cotal up\``);
252
+ const remote = v["exchange-url"];
253
+ let exchangeUrl;
254
+ let headers = { "content-type": "application/json" };
255
+ if (remote) {
256
+ let u;
257
+ try {
258
+ u = new URL(remote);
259
+ }
260
+ catch {
261
+ throw new Error(`agent-bearer: --exchange-url is not a URL (got ${JSON.stringify(remote)})`);
262
+ }
263
+ // No plain-http exception. A remote actorToken is the credential that proves this request;
264
+ // sending it over anything but HTTPS hands the spawn-time secret to the network. Requiring
265
+ // HTTPS unconditionally avoids the hostname-vs-address exception that has repeatedly been
266
+ // mistaken for a string-prefix question elsewhere.
267
+ if (u.protocol !== "https:")
268
+ throw new Error(`agent-bearer: --exchange-url must be https:// (got ${u.protocol}//) - the actor token is sent in the request body and must never cross plaintext`);
269
+ u.pathname = `${u.pathname.replace(/\/$/, "")}/exchange`;
270
+ u.search = "";
271
+ u.hash = "";
272
+ exchangeUrl = u.toString();
273
+ }
274
+ else {
275
+ const info = loadAuthServiceInfo(dir);
276
+ // Proof required: only `alive` counts as running. The old two-state probe called EPERM dead, so
277
+ // a service running as ANOTHER USER produced "not running - restart it with `cotal up`" about a
278
+ // service that was up the whole time; the contract resolves EPERM to alive and fixes exactly
279
+ // that. `unknown` still refuses, because telling an operator to talk to an endpoint whose
280
+ // liveness cannot be established is worse than telling them to restart.
281
+ const svc = info === undefined ? "absent" : probeLiveness(info.pid);
282
+ if (svc === "unknown")
283
+ throw new Error(`agent-bearer: the user-auth service for space "${space}" records pid ${info.pid}, whose liveness cannot be determined - the kernel answered neither "running" nor "no such process" (a seccomp filter or LSM policy does this inside some sandboxes). Refusing rather than reporting it down: verify with \`ps -p ${info.pid}\` before restarting anything.`);
284
+ if (svc !== "alive" || info === undefined)
285
+ throw new Error(`agent-bearer: the user-auth service for space "${space}" is not running - restart it with \`cotal up\``);
286
+ exchangeUrl = `${info.url}/exchange`;
287
+ headers = { ...headers, authorization: `Bearer ${info.cap}` };
288
+ }
263
289
  let res;
264
290
  try {
265
- res = await fetch(`${info.url}/exchange`, {
291
+ res = await fetch(exchangeUrl, {
266
292
  method: "POST",
267
- headers: { "content-type": "application/json", authorization: `Bearer ${info.cap}` },
293
+ headers,
294
+ redirect: "manual",
268
295
  body: JSON.stringify({ owner, actor, actorToken }),
269
296
  signal: AbortSignal.timeout(15_000),
270
297
  });
271
298
  }
272
299
  catch (e) {
273
- throw new Error(`agent-bearer: the user-auth service did not answer at ${info.url} (${e instanceof Error ? e.message : String(e)}) - restart it with \`cotal up\``);
300
+ throw new Error(remote
301
+ ? `agent-bearer: the pinned exchange did not answer at ${exchangeUrl} (${e instanceof Error ? e.message : String(e)})`
302
+ : `agent-bearer: the user-auth service did not answer at ${exchangeUrl.replace(/\/exchange$/, "")} (${e instanceof Error ? e.message : String(e)}) - restart it with \`cotal up\``);
274
303
  }
304
+ if (res.status >= 300 && res.status < 400)
305
+ throw new Error(`agent-bearer: the pinned exchange answered ${res.status} with redirect Location ${JSON.stringify(res.headers.get("location") ?? "")} - redirects are refused so an HTTPS pin cannot walk the actor token onto plaintext or another host`);
275
306
  if (!res.ok) {
276
307
  const body = (await res.json().catch(() => ({})));
277
308
  throw new Error(`agent-bearer: exchange refused: ${body.error ?? `HTTP ${res.status}`}`);
@@ -297,6 +328,9 @@ const authCommands = [
297
328
  { name: "space", type: "string", value: "<s>", description: "space to serve (required)" },
298
329
  { name: "server", type: "string", value: "<url>", description: "broker URL the callout serves (required)" },
299
330
  { name: "port", type: "string", value: "<n>", description: "loopback HTTP port for /exchange + /jwks (default: ephemeral)" },
331
+ { name: "exchange-public-port", type: "string", value: "<n>", description: "also serve the PUBLIC exchange face on this loopback port (TLS terminates at a reverse proxy)" },
332
+ { name: "exchange-public-url", type: "string", value: "<https://…>", description: "with --exchange-public-port: the advertised public base URL (the reverse proxy's address)" },
333
+ { name: "exchange-trusted-proxy", type: "boolean", description: "with --exchange-public-port: attribute peers by the last X-Forwarded-For hop (opt-in; default: socket address)" },
300
334
  ],
301
335
  run: (args) => legibly(() => runAuthService(args)),
302
336
  },
@@ -325,9 +359,10 @@ const authCommands = [
325
359
  name: "agent-bearer",
326
360
  group: "Manager",
327
361
  summary: "print one fresh agent bearer for a spawned user-mode agent (machine-facing; exec'd by agent endpoints)",
328
- usage: "agent-bearer --dir <state-dir> --space <s> --owner <u_…> --actor <a> --token-file <path>",
362
+ usage: "agent-bearer [--dir <state-dir> | --exchange-url <https://base>] --space <s> --owner <u_…> --actor <a> --token-file <path>",
329
363
  flags: [
330
- { name: "dir", type: "string", value: "<state-dir>", description: "the space's user-auth state dir" },
364
+ { name: "dir", type: "string", value: "<state-dir>", description: "local arm: the space's user-auth state dir" },
365
+ { name: "exchange-url", type: "string", value: "<https://base>", description: "remote arm: pinned public exchange base URL (HTTPS required; no local capability)" },
331
366
  { name: "space", type: "string", value: "<s>", description: "the space the bearer is scoped to" },
332
367
  { name: "owner", type: "string", value: "<u_…>", description: "the agent's owner token" },
333
368
  { name: "actor", type: "string", value: "<a>", description: "the agent's actor token" },
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAsD,KAAK,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAgCzH,eAAO,MAAM,iBAAiB,EAAE,YAyO/B,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAsD,KAAK,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAmCzH,eAAO,MAAM,iBAAiB,EAAE,YA2O/B,CAAC"}
package/dist/provider.js CHANGED
@@ -14,7 +14,10 @@
14
14
  * discovery file the daemon writes only after BOTH planes are bound, then confirm /health).
15
15
  */
16
16
  import { registry } from "@cotal-ai/core";
17
- import { assertUserAuthInfo, homeCotalDir, probeLiveness, spaceSegment } from "@cotal-ai/workspace";
17
+ import { assertUserAuthInfo, findMesh, homeCotalDir, probeLiveness, spaceSegment } from "@cotal-ai/workspace";
18
+ import { readFileSync } from "node:fs";
19
+ import { isIPv4, isIPv6 } from "node:net";
20
+ import { resolve, sep } from "node:path";
18
21
  import { fetchIdpJwt, loadIdpSession, probeIdpJwks, requireIdpSession } from "./login.js";
19
22
  import { deriveOwnerForIdpSubject } from "./derive.js";
20
23
  import { findActorUnified, findInteractiveActor, grantManagedActor, newActorToken, revokeManagedActor } from "./ledger.js";
@@ -75,8 +78,10 @@ export const cotalAuthProvider = {
75
78
  // pid-liveness first: a STALE file from a dead prior daemon must never satisfy
76
79
  // this poll (the daemon also scrubs it at startup and on exit — belt and braces).
77
80
  const res = await fetch(`${info.url}/health`, { signal: AbortSignal.timeout(2000) });
81
+ // `publicUrl` (when the public exchange face is enabled) rides along so `up` can
82
+ // record it in the registry's convenience endpoint; `cap` NEVER leaves this file.
78
83
  if (res.ok)
79
- return { url: info.url };
84
+ return { url: info.url, ...(info.publicUrl !== undefined ? { publicUrl: info.publicUrl } : {}) };
80
85
  lastReason = `health probe at ${info.url}/health returned HTTP ${res.status}`;
81
86
  }
82
87
  else if (info) {
@@ -106,8 +111,11 @@ export const cotalAuthProvider = {
106
111
  async userCredentials({ store, dir, space, actor, view }) {
107
112
  const idp = loadPinnedIdp(dir);
108
113
  const callout = await loadCalloutAuth(store, space);
114
+ // No local material: this machine may still hold a REMOTE registration (\`cotal meshes add
115
+ // --from\`), whose registry entry pinned the IdP + public exchange at registration time. The
116
+ // remote arm consumes exactly what registration pinned - it discovers nothing at connect time.
109
117
  if (!idp || !callout)
110
- throw new Error(`space "${space}" has no user-auth material on this machine - user-mode connects run where \`cotal up --user-auth\` provisioned the space (remote discovery is not supported yet)`);
118
+ return remoteUserCredentials(dir, space, actor, view);
111
119
  // The no-fallback login gate: throws the exact `cotal login --idp …` line when not signed in.
112
120
  const session = requireIdpSession(homeCotalDir(), idp.url);
113
121
  // Daemon liveness BEFORE the IdP round-trip: a down auth service must surface its exact
@@ -246,4 +254,99 @@ export const cotalAuthProvider = {
246
254
  agentBearerCommand: "agent-bearer",
247
255
  };
248
256
  registry.register(cotalAuthProvider);
257
+ /** The loopback-literal exception for the pinned exchange, decided by PARSING the host as an
258
+ * address - never by how the text begins. A NAME gets no exception however it starts
259
+ * (`127.evil.com`, `localhost`): names resolve wherever DNS says, and the exchange body carries
260
+ * the login proof. Mirrors the registration-side pinned-fetch policy in `meshes add --from`,
261
+ * which verified this same URL under the same rule before recording it. */
262
+ function isLoopbackLiteral(hostname) {
263
+ const h = hostname.replace(/^\[|\]$/g, "").toLowerCase();
264
+ if (isIPv4(h))
265
+ return h.startsWith("127.");
266
+ if (isIPv6(h)) {
267
+ if (h === "::1")
268
+ return true;
269
+ const mapped = h.match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/);
270
+ return mapped !== null && mapped[1].startsWith("127.");
271
+ }
272
+ return false;
273
+ }
274
+ /** The pinned exchange base -> the POST target. Same composition as `agent-bearer
275
+ * --exchange-url` (append `/exchange`, drop search/hash), same transport rule as the
276
+ * registration probe: HTTPS, with a loopback-LITERAL http exception (nothing leaves the box;
277
+ * it is also what keeps the suites honest without a TLS fixture). */
278
+ function pinnedExchangeUrl(base, space) {
279
+ let u;
280
+ try {
281
+ u = new URL(base);
282
+ }
283
+ catch {
284
+ throw new Error(`space "${space}" pins a malformed exchange URL (${JSON.stringify(base)}) - re-register with \`cotal meshes add ${space} --from <url>\``);
285
+ }
286
+ if (u.protocol !== "https:" && !(u.protocol === "http:" && isLoopbackLiteral(u.hostname)))
287
+ throw new Error(`space "${space}" pins a non-HTTPS exchange (${base}) - the login proof rides the request body and must never cross plaintext off this machine; re-register with \`cotal meshes add ${space} --from <https-url>\``);
288
+ u.pathname = `${u.pathname.replace(/\/$/, "")}/exchange`;
289
+ u.search = "";
290
+ u.hash = "";
291
+ return u.toString();
292
+ }
293
+ /** Client side of a REMOTE user mesh: the registry entry `cotal meshes add --from` recorded is
294
+ * the whole trust position (IdP pins, public exchange URL, sentinel path) - registration pinned
295
+ * it, connect consumes it, nothing is discovered here. The flow mirrors the local arm exactly
296
+ * (login session -> fresh IdP JWT -> exchange -> bearer + sentinel), with two deliberate
297
+ * differences: the POST goes to the PUBLIC exchange face (capless - the idpToken IS the
298
+ * credential; the 0600 capability file exists only where the daemon runs), and the sentinel
299
+ * creds come from the 0600 file registration landed rather than the local secret store. */
300
+ async function remoteUserCredentials(dir, space, actor, view) {
301
+ const entry = findMesh(space);
302
+ const ua = entry?.mode === "user" ? entry.userAuth : undefined;
303
+ // Bind the registry entry to the CALLER'S state dir: `dir` was derived from the target's root,
304
+ // so an entry for the same space under a different root must not answer for it.
305
+ const bound = ua?.remote === true &&
306
+ typeof ua.endpoints?.url === "string" &&
307
+ typeof ua.sentinelCredsPath === "string" &&
308
+ resolve(ua.sentinelCredsPath).startsWith(resolve(dir) + sep);
309
+ if (!bound)
310
+ throw new Error(`space "${space}" has no user-auth material on this machine - run \`cotal up --user-auth\` where the mesh runs, or register a remote user mesh with \`cotal meshes add ${space} --from <url>\` and sign in with \`cotal login --idp <idp-url>\``);
311
+ const remote = ua;
312
+ let sentinelCreds;
313
+ try {
314
+ sentinelCreds = readFileSync(remote.sentinelCredsPath, "utf8");
315
+ }
316
+ catch (e) {
317
+ throw new Error(`space "${space}" is registered as a remote user mesh but its sentinel credential at ${remote.sentinelCredsPath} cannot be read (${e instanceof Error ? e.message : String(e)}) - re-register with \`cotal meshes add ${space} --from <url>\``);
318
+ }
319
+ // The pin's transport rule is a STATIC check - run it before spending an IdP round trip on a
320
+ // mint that is doomed either way (same ordering discipline as the local arm's liveness-first).
321
+ const exchangeUrl = pinnedExchangeUrl(remote.endpoints.url, space);
322
+ // The no-fallback login gate: throws the exact `cotal login --idp ...` line when not signed in.
323
+ const session = requireIdpSession(homeCotalDir(), remote.idp.url);
324
+ // Fresh short-lived IdP proof per connect - IdP-side revocation bites HERE, at the next fetch.
325
+ const idpJwt = await fetchIdpJwt(remote.idp.url, session.token);
326
+ let res;
327
+ try {
328
+ res = await fetch(exchangeUrl, {
329
+ method: "POST",
330
+ // NO Authorization header: the public face is capless by design - the idpToken in the body
331
+ // is the whole credential, and the loopback capability never leaves the daemon's machine.
332
+ headers: { "content-type": "application/json" },
333
+ body: JSON.stringify({ idpToken: idpJwt, actor, ...(view !== undefined ? { view } : {}) }),
334
+ signal: AbortSignal.timeout(15_000),
335
+ });
336
+ }
337
+ catch (e) {
338
+ throw new Error(`the exchange for space "${space}" did not answer at ${exchangeUrl} (${e instanceof Error ? e.message : String(e)}) - check the network, or re-register with \`cotal meshes add ${space} --from <url>\` if the mesh moved`);
339
+ }
340
+ if (!res.ok) {
341
+ const body = (await res.json().catch(() => ({})));
342
+ // A refused exchange is an authenticated denial with the reason; surface it verbatim - the
343
+ // service's copy is already operator-exact (elevated views, for one, are refused on the
344
+ // public face by policy, and its refusal names that).
345
+ throw new Error(`signed in, but the exchange for actor "${actor}"${view ? ` (view "${view}")` : ""} was refused: ${body.error ?? `HTTP ${res.status}`}`);
346
+ }
347
+ const out = (await res.json().catch(() => ({})));
348
+ if (typeof out.token !== "string" || !out.token)
349
+ throw new Error(`the exchange at ${exchangeUrl} returned no token - the mesh's auth service build may be stale`);
350
+ return { bearer: out.token, sentinelCreds };
351
+ }
249
352
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAgF,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKjJ,OAAO,KAAK,EAAiB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AASpE,OAAO,EAA0F,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpJ,OAAO,EAAkD,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAyB7G;uDACuD;AACvD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAapC;;;+DAG+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,qBAAqB,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG;;;;uBAImB;IACnB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;;wEAEoE;IACpE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B;;4EAEwE;IACxE,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC;;iFAE6E;IAC7E,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CACjG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8M9B;AAiCD;;;;;;;;;;;sEAWsE;AACtE,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8HzF"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAyDA,OAAO,EAAgF,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKjJ,OAAO,KAAK,EAAiB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AASpE,OAAO,EAA0F,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpJ,OAAO,EAAkD,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAyB7G;uDACuD;AACvD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAqBpC;;;+DAG+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,qBAAqB,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG;;;;uBAImB;IACnB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;;wEAEoE;IACpE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B;;4EAEwE;IACxE,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC;;iFAE6E;IAC7E,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CACjG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8M9B;AAiCD;;;;;;;;;;;sEAWsE;AACtE,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0KzF"}
package/dist/service.js CHANGED
@@ -21,7 +21,21 @@
21
21
  * discovery file, so same-user file ACL is the boundary); requests carrying an `Origin` header are
22
22
  * rejected (a browser page can reach loopback; it must not be able to drive the exchange); bodies
23
23
  * must be `application/json`; failed exchanges are rate-limited and logged. No CORS headers, ever.
24
- * Remote/cross-machine exchange is explicitly NOT this surface.
24
+ *
25
+ * REMOTE EXCHANGE — the OPTIONAL second listener (`--exchange-public-port`, also binding
26
+ * 127.0.0.1; TLS terminates at a reverse proxy — in-process TLS was rejected: it duplicates cert
27
+ * renewal and forks deploy). It serves ONLY `GET /health`, `GET /jwks`, `POST /exchange`, and
28
+ * `GET /.well-known/cotal-mesh` (the generated discovery bundle); everything else 404s. Its
29
+ * `/exchange` demands NO capability — honestly: the 0600 cap is a same-uid file-ACL boundary with
30
+ * no remote meaning, so requiring its bytes from a remote caller would prove nothing. The proof on
31
+ * the public face is the credential itself: the human arm presents an EdDSA IdP JWT verified
32
+ * against the pinned JWKS/issuer/audience; the agent arm presents an actorToken whose sha256 must
33
+ * match a FRESH ledger row. Origin rejection, JSON-only bodies, the 64 KB bound, and no-CORS-ever
34
+ * hold verbatim; `view` requests are REFUSED outright (operator surfaces stay loopback-only);
35
+ * failures are bucketed per peer (`--exchange-trusted-proxy` opts into the last X-Forwarded-For
36
+ * hop as the peer key; otherwise the socket remote address) in a bounded LRU, under a global
37
+ * concurrent-admission cap and a hard request deadline — all of it pools SEPARATE from the
38
+ * loopback face's budgets, and successful exchanges stay unthrottled on both faces.
25
39
  *
26
40
  * Both trust boundaries authorize against the SAME actor ledger, read fresh per request — a revoke
27
41
  * bites at the next exchange AND the next connect with no restart.
@@ -74,6 +88,13 @@ const FAILED_EXCHANGE_PER_MIN = 30;
74
88
  * is throttled AND audited, but never consumes the refused-exchange budget of a caller holding
75
89
  * the real capability — a cap-less process must not be able to starve legitimate exchanges. */
76
90
  const BAD_CAP_PER_MIN = 30;
91
+ /** PUBLIC-face budgets — their own pools entirely, so public probing can never consume the
92
+ * loopback face's windows (and vice versa). Successes stay unthrottled, matching the loopback
93
+ * stance. */
94
+ const PUBLIC_FAILED_PER_MIN = 30; // per-PEER refused-exchange window (rolling minute)
95
+ const PUBLIC_PEER_BUCKETS_MAX = 1024; // bounded LRU of per-peer failure buckets
96
+ const PUBLIC_MAX_IN_FLIGHT = 64; // global concurrent-admission cap on the public listener
97
+ const PUBLIC_DEADLINE_MS = 10_000; // hard wall-clock deadline per public request
77
98
  /**
78
99
  * Open the authority plane — the PRODUCTION connect/exchange composition (exported so the live
79
100
  * deny-new smoke exercises exactly what the daemon runs). Boot order is the readiness contract:
@@ -355,6 +376,18 @@ export async function runAuthService(args, store) {
355
376
  const port = v.port === undefined ? 0 : Number(v.port);
356
377
  if (!Number.isInteger(port) || port < 0 || port > 65535)
357
378
  throw new Error(`auth-service: --port must be a port number, got "${v.port}"`);
379
+ // The optional PUBLIC exchange face (see the module header). The three flags travel together:
380
+ // a public URL or trusted-proxy setting without a listener to apply them to is a config error.
381
+ const publicPortRaw = v["exchange-public-port"];
382
+ const publicPort = publicPortRaw === undefined ? undefined : Number(publicPortRaw);
383
+ if (publicPort !== undefined && (!Number.isInteger(publicPort) || publicPort < 0 || publicPort > 65535))
384
+ throw new Error(`auth-service: --exchange-public-port must be a port number, got "${publicPortRaw}"`);
385
+ const publicUrlFlag = v["exchange-public-url"];
386
+ if (publicUrlFlag !== undefined && !/^https:\/\//.test(publicUrlFlag))
387
+ throw new Error(`auth-service: --exchange-public-url must be an https:// URL (TLS terminates at the reverse proxy), got "${publicUrlFlag}"`);
388
+ const trustedProxy = v["exchange-trusted-proxy"] !== undefined;
389
+ if (publicPort === undefined && (publicUrlFlag !== undefined || trustedProxy))
390
+ throw new Error("auth-service: --exchange-public-url/--exchange-trusted-proxy require --exchange-public-port");
358
391
  // The provider's space-scoped state dir for NON-SEAM material (ledger, IdP pin, discovery). The
359
392
  // layout fact is workspace-owned (userAuthStateDir); this daemon never touches `.cotal/auth/auth.json`.
360
393
  const root = findCotalRoot();
@@ -422,7 +455,8 @@ export async function runAuthService(args, store) {
422
455
  const cap = randomBytes(32).toString("hex"); // per-start exchange capability (rotates with the daemon)
423
456
  const failures = []; // rolling-window timestamps of REFUSED exchanges
424
457
  const badCaps = []; // rolling-window timestamps of invalid-capability attempts
425
- const http = createServer((req, res) => void handle(req, res, { issuer, bridge, cap, failures, badCaps, space, dir, mintConnectCredential: plane.mintConnectCredential }));
458
+ const ctx = { issuer, bridge, cap, failures, badCaps, space, dir, mintConnectCredential: plane.mintConnectCredential };
459
+ const http = createServer((req, res) => void handle(req, res, ctx));
426
460
  await new Promise((resolvePort, reject) => {
427
461
  http.once("error", reject);
428
462
  http.listen(port, "127.0.0.1", () => resolvePort());
@@ -430,12 +464,40 @@ export async function runAuthService(args, store) {
430
464
  const addr = http.address();
431
465
  const boundPort = typeof addr === "object" && addr ? addr.port : port;
432
466
  const url = `http://127.0.0.1:${boundPort}`;
433
- // Both planes bound NOW write the discovery file (its existence is the readiness signal).
434
- saveAuthServiceInfo(dir, { url, pid: process.pid, cap });
435
- console.log(`✓ auth service up (space ${space}) - callout on ${server}, exchange/JWKS at ${url}`);
467
+ // The optional PUBLIC face: its own server, its own closed route table, its own budgets also
468
+ // loopback-bound (the operator's reverse proxy terminates TLS and forwards here).
469
+ let publicHttp;
470
+ let publicUrl;
471
+ if (publicPort !== undefined) {
472
+ // The discovery bundle is GENERATED from the daemon's own recorded config — the pinned IdP,
473
+ // the flags, the callout material — so it cannot drift from what this process enforces.
474
+ // `endpoints.url` is finalized AFTER bind (the closure sees the mutation): with `--port 0`
475
+ // the pre-bind port would advertise an address nothing listens on.
476
+ const bundle = {
477
+ space,
478
+ server,
479
+ tlsRequired: true,
480
+ idp: { url: idp.url, issuer: idp.issuer, audience: idp.audience },
481
+ endpoints: { url: "" },
482
+ sentinelCreds: callout.sentinelCreds,
483
+ };
484
+ publicHttp = createServer(makePublicHandler(ctx, makePublicPolicy(trustedProxy), bundle));
485
+ await new Promise((resolvePort, reject) => {
486
+ publicHttp.once("error", reject);
487
+ publicHttp.listen(publicPort, "127.0.0.1", () => resolvePort());
488
+ });
489
+ const paddr = publicHttp.address();
490
+ const boundPublic = typeof paddr === "object" && paddr ? paddr.port : publicPort;
491
+ publicUrl = publicUrlFlag ?? `http://127.0.0.1:${boundPublic}`;
492
+ bundle.endpoints = { url: publicUrl };
493
+ }
494
+ // All planes bound — NOW write the discovery file (its existence is the readiness signal).
495
+ saveAuthServiceInfo(dir, { url, pid: process.pid, cap, ...(publicUrl !== undefined ? { publicUrl } : {}) });
496
+ console.log(`✓ auth service up (space ${space}) - callout on ${server}, exchange/JWKS at ${url}${publicUrl !== undefined ? `, public exchange at ${publicUrl}` : ""}`);
436
497
  const stop = async () => {
437
498
  clearAuthServiceInfo(dir); // a dead service must not satisfy the next start's readiness poll
438
499
  http.close();
500
+ publicHttp?.close();
439
501
  await plane.close().catch(() => { });
440
502
  await nc.close().catch(() => { });
441
503
  process.exit(0);
@@ -463,148 +525,308 @@ export async function runAuthService(args, store) {
463
525
  }),
464
526
  ]);
465
527
  }
466
- /** Route one HTTP request. Local-only surface: /jwks (public keys, cacheable), /exchange (IdP JWT →
467
- * bearer; capability-gated), /health. Anything else 404s. Errors are JSON `{ error }`. */
468
- async function handle(req, res, ctx) {
469
- const send = (status, body, headers = {}) => {
470
- // No CORS headers, ever — a browser context must never be granted a readable response here.
471
- res.writeHead(status, { "content-type": "application/json", ...headers });
472
- res.end(JSON.stringify(body));
528
+ /** The loopback face: capability-gated; peers keyed by socket remote address; one shared
529
+ * refused-exchange window (the pre-public behavior, unchanged). */
530
+ const LOOPBACK_POLICY = {
531
+ requireCapability: true,
532
+ refuseViews: false,
533
+ peerKey: (req) => req.socket.remoteAddress ?? "loopback",
534
+ throttled: (ctx) => {
535
+ const now = Date.now();
536
+ while (ctx.failures.length && now - ctx.failures[0] > 60_000)
537
+ ctx.failures.shift();
538
+ return ctx.failures.length >= FAILED_EXCHANGE_PER_MIN;
539
+ },
540
+ recordFailure: (ctx) => ctx.failures.push(Date.now()),
541
+ };
542
+ /** The public face's policy: no capability, views refused, and failures bucketed per peer in a
543
+ * bounded LRU — peer A's refusal flood throttles peer A, not peer B, and never the loopback
544
+ * face. With `trustedProxy`, the peer is the LAST X-Forwarded-For hop (the one address the
545
+ * operator's own reverse proxy appended — earlier hops are attacker-writable); without it the
546
+ * header is ignored entirely and the socket remote address attributes the peer. */
547
+ function makePublicPolicy(trustedProxy) {
548
+ const buckets = new Map(); // insertion order = recency (touched keys re-insert)
549
+ const bucket = (peer) => {
550
+ const existing = buckets.get(peer);
551
+ if (existing !== undefined) {
552
+ buckets.delete(peer); // re-insert → most-recently-used
553
+ buckets.set(peer, existing);
554
+ return existing;
555
+ }
556
+ if (buckets.size >= PUBLIC_PEER_BUCKETS_MAX)
557
+ buckets.delete(buckets.keys().next().value);
558
+ const fresh = [];
559
+ buckets.set(peer, fresh);
560
+ return fresh;
473
561
  };
474
- try {
475
- if (req.url === "/health")
476
- return send(200, { ok: true, issuer: ctx.issuer.issuer });
477
- if (req.url === "/jwks") {
562
+ return {
563
+ requireCapability: false,
564
+ refuseViews: true,
565
+ peerKey: (req) => {
566
+ if (trustedProxy) {
567
+ const xff = req.headers["x-forwarded-for"];
568
+ const last = (Array.isArray(xff) ? xff[xff.length - 1] : xff)?.split(",").pop()?.trim();
569
+ if (last)
570
+ return last;
571
+ }
572
+ return req.socket.remoteAddress ?? "unknown";
573
+ },
574
+ throttled: (_ctx, peer) => {
575
+ const b = bucket(peer);
576
+ const now = Date.now();
577
+ while (b.length && now - b[0] > 60_000)
578
+ b.shift();
579
+ return b.length >= PUBLIC_FAILED_PER_MIN;
580
+ },
581
+ recordFailure: (_ctx, peer) => bucket(peer).push(Date.now()),
582
+ };
583
+ }
584
+ /** JSON reply helper. No CORS headers, ever — a browser context must never be granted a readable
585
+ * response here. */
586
+ function send(res, status, body, headers = {}) {
587
+ res.writeHead(status, { "content-type": "application/json", ...headers });
588
+ res.end(JSON.stringify(body));
589
+ }
590
+ /** An HTTP-shaped request refusal found while reading the body. Keeping the status on the error
591
+ * lets both listeners return the SAME exact wire response rather than collapsing a deliberate
592
+ * size refusal into the generic malformed-request 400. */
593
+ class RequestBodyError extends Error {
594
+ status;
595
+ constructor(status, message) {
596
+ super(message);
597
+ this.status = status;
598
+ }
599
+ }
600
+ function sendRequestError(res, e) {
601
+ if (e instanceof RequestBodyError)
602
+ return send(res, e.status, { error: e.message });
603
+ send(res, 400, { error: e instanceof Error ? e.message : String(e) });
604
+ }
605
+ /** The loopback route table: /health, /jwks (public keys, cacheable), /exchange (IdP JWT →
606
+ * bearer; capability-gated). Anything else 404s. A `Map` (not an object literal) so a hostile
607
+ * request-target like `toString` can never resolve through the prototype chain. */
608
+ const ROUTES = new Map([
609
+ ["/health", (_req, res, ctx) => send(res, 200, { ok: true, issuer: ctx.issuer.issuer })],
610
+ [
611
+ "/jwks",
612
+ (req, res, ctx) => {
478
613
  if (req.method !== "GET")
479
- return send(405, { error: "GET only" });
614
+ return send(res, 405, { error: "GET only" });
480
615
  // The explicit cache contract (see the module doc): max-age bounds how stale a verifier's set
481
616
  // may be, which in turn floors how long a retired kid must stay published after rotation.
482
- return send(200, ctx.issuer.jwks(), { "cache-control": `max-age=${JWKS_MAX_AGE_SEC}` });
483
- }
484
- if (req.url === "/exchange") {
485
- if (req.method !== "POST")
486
- return send(405, { error: "POST only" });
487
- // Browser exclusion: a cross-site page CAN reach loopback, but its requests carry `Origin`
488
- // (and can't strip it). The CLI never sends one. Reject before touching anything else.
489
- if (req.headers.origin !== undefined)
490
- return send(403, { error: "browser-origin requests are not served here" });
491
- if (!/^application\/json\b/.test(req.headers["content-type"] ?? ""))
492
- return send(415, { error: "content-type must be application/json" });
493
- // The capability gate: same-user file ACL on the 0600 discovery file is the boundary. An
494
- // invalid/missing cap is still a failed exchange attempt — audited and throttled, in its own
495
- // window (see BAD_CAP_PER_MIN), before anything downstream is touched.
496
- const auth = req.headers.authorization ?? "";
497
- if (auth !== `Bearer ${ctx.cap}`) {
498
- const now = Date.now();
499
- while (ctx.badCaps.length && now - ctx.badCaps[0] > 60_000)
500
- ctx.badCaps.shift();
501
- ctx.badCaps.push(now);
502
- console.error("auth-service: rejected an exchange with a missing/invalid capability");
503
- if (ctx.badCaps.length > BAD_CAP_PER_MIN)
504
- return send(429, { error: "too many invalid-capability attempts - wait a minute and retry" });
505
- return send(401, { error: "missing/invalid exchange capability - read it from the space's auth-service.json" });
506
- }
507
- // Refused-exchange rate limit (probing protection): count only FAILURES.
617
+ return send(res, 200, ctx.issuer.jwks(), { "cache-control": `max-age=${JWKS_MAX_AGE_SEC}` });
618
+ },
619
+ ],
620
+ ["/exchange", (req, res, ctx) => handleExchange(req, res, ctx, LOOPBACK_POLICY)],
621
+ ]);
622
+ /** Route one HTTP request against the loopback route table. Errors are JSON `{ error }`. */
623
+ async function handle(req, res, ctx) {
624
+ try {
625
+ const route = ROUTES.get(req.url ?? "");
626
+ if (!route)
627
+ return send(res, 404, { error: "unknown path - /health, /jwks, /exchange" });
628
+ await route(req, res, ctx);
629
+ }
630
+ catch (e) {
631
+ sendRequestError(res, e);
632
+ }
633
+ }
634
+ /** The exchange body, shared by every face; `policy` says how this face proves and attributes the
635
+ * caller. Behavior on the loopback face is unchanged from the pre-route-table handler. */
636
+ async function handleExchange(req, res, ctx, policy) {
637
+ if (req.method !== "POST")
638
+ return send(res, 405, { error: "POST only" });
639
+ // Browser exclusion: a cross-site page CAN reach loopback, but its requests carry `Origin`
640
+ // (and can't strip it). The CLI never sends one. Reject before touching anything else.
641
+ if (req.headers.origin !== undefined)
642
+ return send(res, 403, { error: "browser-origin requests are not served here" });
643
+ if (!/^application\/json\b/.test(req.headers["content-type"] ?? ""))
644
+ return send(res, 415, { error: "content-type must be application/json" });
645
+ if (policy.requireCapability) {
646
+ // The capability gate: same-user file ACL on the 0600 discovery file is the boundary. An
647
+ // invalid/missing cap is still a failed exchange attempt — audited and throttled, in its own
648
+ // window (see BAD_CAP_PER_MIN), before anything downstream is touched.
649
+ const auth = req.headers.authorization ?? "";
650
+ if (auth !== `Bearer ${ctx.cap}`) {
508
651
  const now = Date.now();
509
- while (ctx.failures.length && now - ctx.failures[0] > 60_000)
510
- ctx.failures.shift();
511
- if (ctx.failures.length >= FAILED_EXCHANGE_PER_MIN)
512
- return send(429, { error: "too many refused exchanges - wait a minute and retry" });
513
- const body = await readJsonBody(req);
514
- const { idpToken, actor, actorToken, owner, ttlSec, view } = body;
515
- if (ttlSec !== undefined && typeof ttlSec !== "number")
516
- return send(400, { error: "ttlSec must be a number" });
517
- if (view !== undefined && typeof view !== "string")
518
- return send(400, { error: "view must be a string when present" });
519
- // TWO grant types, disjoint by construction: a HUMAN exchange proves an IdP session
520
- // (idpToken), an AGENT exchange proves a spawn-time ledger secret (owner + actorToken).
521
- // A request presenting both is malformed refuse rather than pick.
522
- if (idpToken !== undefined && actorToken !== undefined)
523
- return send(400, { error: "exchange takes idpToken (human) OR owner+actorToken (agent), never both" });
524
- if (actorToken !== undefined) {
525
- // Elevated views are for signed-in HUMANS only: an agent's secret exchange never mints one,
526
- // whatever its ledger row carries (v1 agents hold no god views).
527
- if (view !== undefined)
528
- return send(400, { error: "the managed (agent-secret) exchange never mints elevated views - views ride a signed-in human exchange" });
529
- if (typeof owner !== "string" || !owner || typeof actor !== "string" || !actor || typeof actorToken !== "string" || !actorToken)
530
- return send(400, { error: "agent exchange needs { owner: string, actor: string, actorToken: string, ttlSec?: number }" });
531
- try {
532
- const grant = ledgerAuthorizeAgentExchange(ctx.dir, owner, actor, actorToken);
533
- if (typeof grant.lifecycleUid !== "string" || !grant.lifecycleUid)
534
- throw new Error(`actor "${actor}" has no lifecycleUid on its ledger row - respawn it (bearers are lifecycle-bound from v0.4)`);
535
- // Credential-BIND the bearer (SPEC 13.1, R1): the incarnation's live root credential is
536
- // ensured (minted release-last on first exchange) BEFORE the bearer bytes are signed,
537
- // and rides act.credentialId — the connect arm requires it against the LIVE cred row.
538
- const credentialId = await ctx.mintConnectCredential({ owner, actor, lifecycleUid: grant.lifecycleUid });
539
- const token = await ctx.issuer.issue({
540
- owner,
541
- space: ctx.space,
542
- actor,
543
- scope: grant.scope,
544
- parent: grant.parent,
545
- // Lifecycle-BIND the bearer (SPEC 13.1): the row's uid rides act.lifecycleUid, and the
546
- // callout refuses a mismatch against the CURRENT row at connect — a predecessor's
547
- // still-unexpired bearer dies at the alias's respawn instead of minting the
548
- // successor's broker authority.
549
- lifecycleUid: grant.lifecycleUid,
550
- credentialId,
551
- ttlSec: Math.min(ttlSec ?? AGENT_BEARER_TTL_SEC, AGENT_BEARER_TTL_SEC),
552
- });
553
- const { exp } = decodeJwt(token);
554
- return send(200, { token, owner, exp });
555
- }
556
- catch (e) {
557
- ctx.failures.push(Date.now());
558
- const reason = e instanceof Error ? e.message : String(e);
559
- console.error(`auth-service: refused an agent exchange: ${reason}`);
560
- return send(401, { error: reason });
561
- }
562
- }
563
- if (typeof idpToken !== "string" || !idpToken || typeof actor !== "string" || !actor)
564
- return send(400, { error: "exchange needs { idpToken: string, actor: string, ttlSec?: number, view?: string }" });
565
- try {
566
- // The bridge validates `view` against the closed enum and the fresh ledger grant — an
567
- // unknown or under-scoped view is a refused exchange (audited + throttled like any other).
568
- const r = await ctx.bridge.exchange(idpToken, { actor, ttlSec, view: view });
569
- return send(200, r);
570
- }
571
- catch (e) {
572
- // A refused exchange (bad IdP token, ungranted actor, expired proof) is an AUTHENTICATED
573
- // denial with the reason — the client shows it to the operator verbatim.
574
- ctx.failures.push(Date.now());
575
- const reason = e instanceof Error ? e.message : String(e);
576
- console.error(`auth-service: refused an exchange: ${reason}`);
577
- return send(401, { error: reason });
578
- }
652
+ while (ctx.badCaps.length && now - ctx.badCaps[0] > 60_000)
653
+ ctx.badCaps.shift();
654
+ ctx.badCaps.push(now);
655
+ console.error("auth-service: rejected an exchange with a missing/invalid capability");
656
+ if (ctx.badCaps.length > BAD_CAP_PER_MIN)
657
+ return send(res, 429, { error: "too many invalid-capability attempts - wait a minute and retry" });
658
+ return send(res, 401, { error: "missing/invalid exchange capability - read it from the space's auth-service.json" });
659
+ }
660
+ }
661
+ // Refused-exchange rate limit (probing protection): count only FAILURES, on THIS face's budget.
662
+ const peer = policy.peerKey(req);
663
+ if (policy.throttled(ctx, peer))
664
+ return send(res, 429, { error: "too many refused exchanges - wait a minute and retry" });
665
+ const body = await readJsonBody(req);
666
+ const { idpToken, actor, actorToken, owner, ttlSec, view } = body;
667
+ if (ttlSec !== undefined && typeof ttlSec !== "number")
668
+ return send(res, 400, { error: "ttlSec must be a number" });
669
+ if (view !== undefined && typeof view !== "string")
670
+ return send(res, 400, { error: "view must be a string when present" });
671
+ // The one-line class-closer: elevated views never ride the public face operator surfaces are
672
+ // loopback-only, whatever the credential presented.
673
+ if (policy.refuseViews && view !== undefined)
674
+ return send(res, 403, { error: "elevated views are a loopback operator surface - the public exchange never serves them" });
675
+ // TWO grant types, disjoint by construction: a HUMAN exchange proves an IdP session
676
+ // (idpToken), an AGENT exchange proves a spawn-time ledger secret (owner + actorToken).
677
+ // A request presenting both is malformed refuse rather than pick.
678
+ if (idpToken !== undefined && actorToken !== undefined)
679
+ return send(res, 400, { error: "exchange takes idpToken (human) OR owner+actorToken (agent), never both" });
680
+ if (actorToken !== undefined) {
681
+ // Elevated views are for signed-in HUMANS only: an agent's secret exchange never mints one,
682
+ // whatever its ledger row carries (v1 — agents hold no god views).
683
+ if (view !== undefined)
684
+ return send(res, 400, { error: "the managed (agent-secret) exchange never mints elevated views - views ride a signed-in human exchange" });
685
+ if (typeof owner !== "string" || !owner || typeof actor !== "string" || !actor || typeof actorToken !== "string" || !actorToken)
686
+ return send(res, 400, { error: "agent exchange needs { owner: string, actor: string, actorToken: string, ttlSec?: number }" });
687
+ try {
688
+ const grant = ledgerAuthorizeAgentExchange(ctx.dir, owner, actor, actorToken);
689
+ if (typeof grant.lifecycleUid !== "string" || !grant.lifecycleUid)
690
+ throw new Error(`actor "${actor}" has no lifecycleUid on its ledger row - respawn it (bearers are lifecycle-bound from v0.4)`);
691
+ // Credential-BIND the bearer (SPEC 13.1, R1): the incarnation's live root credential is
692
+ // ensured (minted release-last on first exchange) BEFORE the bearer bytes are signed,
693
+ // and rides act.credentialId — the connect arm requires it against the LIVE cred row.
694
+ const credentialId = await ctx.mintConnectCredential({ owner, actor, lifecycleUid: grant.lifecycleUid });
695
+ const token = await ctx.issuer.issue({
696
+ owner,
697
+ space: ctx.space,
698
+ actor,
699
+ scope: grant.scope,
700
+ parent: grant.parent,
701
+ // Lifecycle-BIND the bearer (SPEC 13.1): the row's uid rides act.lifecycleUid, and the
702
+ // callout refuses a mismatch against the CURRENT row at connect — a predecessor's
703
+ // still-unexpired bearer dies at the alias's respawn instead of minting the
704
+ // successor's broker authority.
705
+ lifecycleUid: grant.lifecycleUid,
706
+ credentialId,
707
+ ttlSec: Math.min(ttlSec ?? AGENT_BEARER_TTL_SEC, AGENT_BEARER_TTL_SEC),
708
+ });
709
+ const { exp } = decodeJwt(token);
710
+ return send(res, 200, { token, owner, exp });
579
711
  }
580
- return send(404, { error: "unknown path - /health, /jwks, /exchange" });
712
+ catch (e) {
713
+ policy.recordFailure(ctx, peer);
714
+ const reason = e instanceof Error ? e.message : String(e);
715
+ console.error(`auth-service: refused an agent exchange: ${reason}`);
716
+ return send(res, 401, { error: reason });
717
+ }
718
+ }
719
+ if (typeof idpToken !== "string" || !idpToken || typeof actor !== "string" || !actor)
720
+ return send(res, 400, { error: "exchange needs { idpToken: string, actor: string, ttlSec?: number, view?: string }" });
721
+ try {
722
+ // The bridge validates `view` against the closed enum and the fresh ledger grant — an
723
+ // unknown or under-scoped view is a refused exchange (audited + throttled like any other).
724
+ const r = await ctx.bridge.exchange(idpToken, { actor, ttlSec, view: view });
725
+ return send(res, 200, r);
581
726
  }
582
727
  catch (e) {
583
- send(400, { error: e instanceof Error ? e.message : String(e) });
728
+ // A refused exchange (bad IdP token, ungranted actor, expired proof) is an AUTHENTICATED
729
+ // denial with the reason — the client shows it to the operator verbatim.
730
+ policy.recordFailure(ctx, peer);
731
+ const reason = e instanceof Error ? e.message : String(e);
732
+ console.error(`auth-service: refused an exchange: ${reason}`);
733
+ return send(res, 401, { error: reason });
584
734
  }
585
735
  }
736
+ /** Build the PUBLIC listener's request handler: its own closed route table (/health, /jwks,
737
+ * /exchange under the public policy, /.well-known/cotal-mesh — 404 everything else), behind a
738
+ * global concurrent-admission cap and a hard wall-clock deadline. All of it is public-face-local
739
+ * state: nothing here touches the loopback face's windows. */
740
+ function makePublicHandler(ctx, policy, bundle) {
741
+ const routes = new Map([
742
+ [
743
+ "/health",
744
+ (req, res, c) => {
745
+ if (req.method !== "GET")
746
+ return send(res, 405, { error: "GET only" });
747
+ return send(res, 200, { ok: true, issuer: c.issuer.issuer });
748
+ },
749
+ ],
750
+ [
751
+ "/jwks",
752
+ (req, res, c) => {
753
+ if (req.method !== "GET")
754
+ return send(res, 405, { error: "GET only" });
755
+ return send(res, 200, c.issuer.jwks(), { "cache-control": `max-age=${JWKS_MAX_AGE_SEC}` });
756
+ },
757
+ ],
758
+ ["/exchange", (req, res, c) => handleExchange(req, res, c, policy)],
759
+ [
760
+ "/.well-known/cotal-mesh",
761
+ (req, res) => {
762
+ if (req.method !== "GET")
763
+ return send(res, 405, { error: "GET only" });
764
+ // GENERATED from the daemon's own recorded config (flags + pinned IdP + callout material)
765
+ // — never hand-written, so it can't drift from what the service actually enforces.
766
+ return send(res, 200, bundle);
767
+ },
768
+ ],
769
+ ]);
770
+ let inFlight = 0;
771
+ return (req, res) => {
772
+ // Global concurrent-admission cap: total public work is bounded regardless of source — and
773
+ // (its own counter) can never consume the loopback face's capacity.
774
+ if (inFlight >= PUBLIC_MAX_IN_FLIGHT)
775
+ return send(res, 503, { error: "busy - retry shortly" });
776
+ inFlight++;
777
+ // Hard request deadline: a stalled or slow-dripping request is answered and cut, never held.
778
+ const deadline = setTimeout(() => {
779
+ if (!res.headersSent)
780
+ send(res, 503, { error: "request deadline exceeded" });
781
+ req.destroy();
782
+ }, PUBLIC_DEADLINE_MS);
783
+ res.on("close", () => {
784
+ clearTimeout(deadline);
785
+ inFlight--;
786
+ });
787
+ void (async () => {
788
+ try {
789
+ const route = routes.get(req.url ?? "");
790
+ if (!route)
791
+ return send(res, 404, { error: "unknown path - /health, /jwks, /exchange, /.well-known/cotal-mesh" });
792
+ await route(req, res, ctx);
793
+ }
794
+ catch (e) {
795
+ if (!res.headersSent)
796
+ sendRequestError(res, e);
797
+ }
798
+ })();
799
+ };
800
+ }
586
801
  /** Read + parse a small JSON body, bounded — the exchange payload is an IdP JWT plus an actor name;
587
802
  * 64 KB clears any sane JWT while keeping the loopback surface un-floodable. */
588
803
  function readJsonBody(req) {
589
804
  const MAX = 64 * 1024;
590
805
  return new Promise((resolve, reject) => {
591
806
  let size = 0;
807
+ let tooLarge = false;
592
808
  const chunks = [];
593
809
  req.on("data", (c) => {
594
810
  size += c.length;
595
811
  if (size > MAX) {
596
- reject(new Error("request body too large"));
597
- req.destroy();
812
+ // Stop retaining bytes immediately, but keep draining the request so the client receives
813
+ // the explicit 413 JSON response. Destroying the socket hid the server's decision behind
814
+ // an undici transport error and made the size-bound smoke unable to prove this guard.
815
+ tooLarge = true;
816
+ chunks.length = 0;
598
817
  return;
599
818
  }
600
- chunks.push(c);
819
+ if (!tooLarge)
820
+ chunks.push(c);
601
821
  });
602
822
  req.on("end", () => {
823
+ if (tooLarge)
824
+ return reject(new RequestBodyError(413, "request body too large (maximum 65536 bytes)"));
603
825
  try {
604
826
  resolve(JSON.parse(Buffer.concat(chunks).toString("utf8")));
605
827
  }
606
828
  catch {
607
- reject(new Error("request body is not valid JSON"));
829
+ reject(new RequestBodyError(400, "request body is not valid JSON"));
608
830
  }
609
831
  });
610
832
  req.on("error", reject);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAuB,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAqC,MAAM,gBAAgB,CAAC;AACjJ,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAkB,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAwB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACxI,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAA0B,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,8BAA8B,EAAuD,MAAM,qBAAqB,CAAC;AAC1H,OAAO,EAAE,2BAA2B,EAAqD,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,gBAAgB,EAAiD,MAAM,kBAAkB,CAAC;AACpJ,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAuB,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAuB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAA0B,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB;uDACuD;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC;mGACmG;AACnG,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;gGAEgG;AAChG,MAAM,eAAe,GAAG,EAAE,CAAC;AAoB3B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAmB5C;IACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnK,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,MAAM,qBAAqB,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1F,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,CAAC;IACV,CAAC;IACD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,2BAA2B,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,CAAC;IACV,CAAC;IACD,2FAA2F;IAC3F,yFAAyF;IACzF,+FAA+F;IAC/F,+FAA+F;IAC/F,0FAA0F;IAC1F,+FAA+F;IAC/F,6FAA6F;IAC7F,6FAA6F;IAC7F,iGAAiG;IACjG,6FAA6F;IAC7F,iFAAiF;IACjF,EAAE;IACF,gGAAgG;IAChG,gGAAgG;IAChG,+FAA+F;IAC/F,8FAA8F;IAC9F,gGAAgG;IAChG,8FAA8F;IAC9F,2FAA2F;IAC3F,+FAA+F;IAC/F,4EAA4E;IAC5E,IAAI,OAAO,CAAC;IACZ,IAAI,UAA8C,CAAC;IACnD,IAAI,WAAgD,CAAC;IACrD,IAAI,IAAgC,CAAC;IACrC,IAAI,OAAsC,CAAC;IAC3C,IAAI,cAA0C,CAAC;IAC/C,IAAI,UAAU,CAAC;IACf,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,4FAA4F;IAC5F,8FAA8F;IAC9F,qDAAqD;IACrD,IAAI,WAA+B,CAAC;IACpC,IAAI,SAAoC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAClK,UAAU,GAAG,MAAM,8BAA8B,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACvF,WAAW,GAAG,MAAM,2BAA2B,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,4BAA4B,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1G,IAAI,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7H,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,6FAA6F;QAC7F,6FAA6F;QAC7F,0FAA0F;QAC1F,MAAM,YAAY,GAAG,CAAC,IAA+B,EAAE,OAA4B,EAAE,EAAE;YACrF,IAAI,OAAO;gBAAE,OAAO;YACpB,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;YAC3B,KAAK,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9G,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1G,MAAM,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,WAAW,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChF,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,8FAA8F;QAC9F,+EAA+E;QAC/E,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC;QAC3B,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,EAAE,OAAO,EAAE,CAAC;QACtB,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,CAAC;IACV,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,IAAI,wBAAwB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1G,+FAA+F;IAC/F,6FAA6F;IAC7F,6FAA6F;IAC7F,8FAA8F;IAC9F,wFAAwF;IACxF,EAAE;IACF,2FAA2F;IAC3F,+FAA+F;IAC/F,8FAA8F;IAC9F,yFAAyF;IACzF,uFAAuF;IACvF,iBAAiB;IACjB,yFAAyF;IACzF,+FAA+F;IAC/F,2FAA2F;IAC3F,0EAA0E;IAC1E,8FAA8F;IAC9F,0FAA0F;IAC1F,0FAA0F;IAC1F,8FAA8F;IAC9F,8FAA8F;IAC9F,wBAAwB;IACxB,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAmB;QACjC,cAAc;QACd,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC;gBACtC,MAAM,EAAE,KAAK,EAAE,WAAW;gBAC1B,KAAK,EAAE,kBAAkB,KAAK,IAAI,QAAQ,EAAE;gBAC5C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAC5D,GAAG;aACJ,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,sBAAsB,CAAC,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE;oBAClH,WAAW,EAAE,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;oBAC3C,kBAAkB,EAAE,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBACzD,kBAAkB,EAAE,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC;iBAC1D,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QACD,GAAG,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;QAC9D,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC;IACF,8FAA8F;IAC9F,2FAA2F;IAC3F,2FAA2F;IAC3F,0FAA0F;IAC1F,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,CAAC;IACV,CAAC;IACD,uFAAuF;IACvF,8FAA8F;IAC9F,gGAAgG;IAChG,6FAA6F;IAC7F,8DAA8D;IAC9D,IAAI,SAAwC,CAAC;IAC7C,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,qBAAqB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5G,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,CAAC;IACV,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,kGAAkG;IAClG,2FAA2F;IAC3F,iGAAiG;IACjG,wFAAwF;IACxF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,WAAW,KAAK,SAAS;YAC3B,MAAM,IAAI,eAAe,CAAC,aAAa,EACrC,+BAA+B,KAAK,qFAAqF,CAAC,CAAC;IACjI,CAAC,CAAC;IACF,OAAO;QACL,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC5B,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,CAAC,CAAC;YACX,MAAM,0BAA0B,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC9B,cAAc,EAAE,CAAC;YACjB,OAAO,oBAAoB,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,gBAAgB,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM;QACN,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,oFAAoF;YACpF,sFAAsF;YACtF,wCAAwC;YACxC,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,SAAS,EAAE,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,oBAAoB,CAAC,GAAsB,EAAE,cAA8B,EAAE,UAA0B,EAAE,GAA2B;IACjJ,KAAK,MAAM,EAAE,IAAI,MAAM,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK,EAAE,CAAC,IAAI;YAAE,SAAS;QACjG,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAChE,GAAG,CAAC,oCAAoC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,WAAW,oBAAoB,CAAC,CAAC,iBAAiB,CAAC,MAAM,mCAAmC,CAAC,CAAC,gBAAgB,CAAC,MAAM,yBAAyB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,qBAAqB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,sBAAsB,CAAC,CAAC;YACtU,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,qCAAqC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,YAAY,YAAY,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kGAAkG,CAAC,CAAC;YACnO,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YACtE,GAAG,CAAC,kCAAkC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,YAAY,WAAW,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,WAAW,oBAAoB,CAAC,CAAC,iBAAiB,CAAC,MAAM,iCAAiC,CAAC,CAAC;QAC7L,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,mCAAmC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,YAAY,YAAY,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kGAAkG,CAAC,CAAC;QACjO,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;sEAWsE;AACtE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,KAAmB;IACxE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAgB,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACpG,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QACrD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAEjF,gGAAgG;IAChG,wGAAwG;IACxG,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpD,0FAA0F;IAC1F,2FAA2F;IAC3F,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACvC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;SACzC,CAAC;QACF,MAAM,IAAI,KAAK,CACb,gDAAgD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,oFAAoF,CAAC,CAAC,CAAC,mDAAmD,EAAE,CAC9N,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,KAAK,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,MAAM,0BAA0B,KAAK,GAAG,CAAC,CAAC;IAE/F,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,gFAAgF,CAAC,CAAC;IAErJ,2FAA2F;IAC3F,sFAAsF;IACtF,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC;QACzC,MAAM;QACN,KAAK;QACL,GAAG;QACH,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;QACrF,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KAC7B,CAAC,CAAC;IAEH,wEAAwE;IACxE,MAAM,EAAE,GAAmB,MAAM,OAAO,CAAC;QACvC,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,kBAAkB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACjF,IAAI,EAAE,sBAAsB,KAAK,EAAE;KACpC,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAW,EAAE;QAC5B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QAC3B,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;QACnF,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;QACrF,KAAK;QACL,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAC3D,cAAc,EAAE,KAAK,CAAC,gBAAgB;QACtC,cAAc,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC1D,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KAC7B,CAAC,CAAC;IACH,gGAAgG;IAChG,+FAA+F;IAC/F,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,wDAAwD;IACxD,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACzF,KAAK;QACL,WAAW,EAAE,WAAW;QACxB,MAAM;QACN,cAAc,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACzC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;KACnD,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,0DAA0D;IACvG,MAAM,QAAQ,GAAa,EAAE,CAAC,CAAC,iDAAiD;IAChF,MAAM,OAAO,GAAa,EAAE,CAAC,CAAC,2DAA2D;IACzF,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IAC3K,MAAM,IAAI,OAAO,CAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,MAAM,GAAG,GAAG,oBAAoB,SAAS,EAAE,CAAC;IAE5C,4FAA4F;IAC5F,mBAAmB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,kBAAkB,MAAM,sBAAsB,GAAG,EAAE,CAAC,CAAC;IAElG,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,kEAAkE;QAC7F,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAEzC,iGAAiG;IACjG,8FAA8F;IAC9F,kGAAkG;IAClG,8FAA8F;IAC9F,6CAA6C;IAC7C,MAAM,OAAO,CAAC,IAAI,CAAC;QAChB,EAA0C,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAChE,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC;gBACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,YAAY,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAgBD;2FAC2F;AAC3F,KAAK,UAAU,MAAM,CAAC,GAAoB,EAAE,GAAmB,EAAE,GAAe;IAC9E,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,IAAa,EAAE,UAAkC,EAAE,EAAE,EAAE;QACnF,4FAA4F;QAC5F,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC1E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAClE,8FAA8F;YAC9F,0FAA0F;YAC1F,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,WAAW,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACpE,2FAA2F;YAC3F,uFAAuF;YACvF,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;YACjH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBACjE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC,CAAC;YACvE,yFAAyF;YACzF,6FAA6F;YAC7F,uEAAuE;YACvE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAI,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM;oBAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;gBACtF,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe;oBACtC,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,gEAAgE,EAAE,CAAC,CAAC;gBAChG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kFAAkF,EAAE,CAAC,CAAC;YAClH,CAAC;YACD,yEAAyE;YACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM;gBAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnF,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,uBAAuB;gBAChD,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,sDAAsD,EAAE,CAAC,CAAC;YACtF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAO5D,CAAC;YACF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC/G,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC;YACtH,oFAAoF;YACpF,wFAAwF;YACxF,oEAAoE;YACpE,IAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;gBACpD,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,yEAAyE,EAAE,CAAC,CAAC;YACzG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,4FAA4F;gBAC5F,mEAAmE;gBACnE,IAAI,IAAI,KAAK,SAAS;oBACpB,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,wGAAwG,EAAE,CAAC,CAAC;gBACxI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,UAAU;oBAC7H,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,4FAA4F,EAAE,CAAC,CAAC;gBAC5H,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;oBAC9E,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,YAAY;wBAC/D,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,8FAA8F,CAAC,CAAC;oBACjI,wFAAwF;oBACxF,sFAAsF;oBACtF,sFAAsF;oBACtF,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;oBACzG,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;wBACnC,KAAK;wBACL,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,KAAK;wBACL,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,uFAAuF;wBACvF,kFAAkF;wBAClF,4EAA4E;wBAC5E,gCAAgC;wBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,YAAY;wBACZ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,oBAAoB,EAAE,oBAAoB,CAAC;qBACvE,CAAC,CAAC;oBACH,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjC,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC9B,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,KAAK,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;oBACpE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;gBAClF,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oFAAoF,EAAE,CAAC,CAAC;YACpH,IAAI,CAAC;gBACH,sFAAsF;gBACtF,2FAA2F;gBAC3F,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAiC,EAAE,CAAC,CAAC;gBAC1G,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,yFAAyF;gBACzF,yEAAyE;gBACzE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED;iFACiF;AACjF,SAAS,YAAY,CAAC,GAAoB;IACxC,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;YACjB,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC5C,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -83,6 +83,11 @@ export interface AuthServiceInfo {
83
83
  pid: number;
84
84
  /** High-entropy per-start exchange capability (hex). NEVER copied into the mesh registry. */
85
85
  cap: string;
86
+ /** The PUBLIC exchange base URL when the optional public face is enabled — the operator's
87
+ * `--exchange-public-url` (the reverse proxy's https address) or the local bind. `up` copies
88
+ * this (never `cap`) into the registry's `UserAuthInfo.endpoints.url` so the discovery bundle
89
+ * is generated, not hand-written. */
90
+ publicUrl?: string;
86
91
  }
87
92
  export declare function loadAuthServiceInfo(dir: string): AuthServiceInfo | undefined;
88
93
  export declare function saveAuthServiceInfo(dir: string, info: AuthServiceInfo): void;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE/F,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAIrB;;;;yFAIyF;AACzF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAAoD,CAAC;AACpG,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAAmD,CAAC;AAClG,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAAyD,CAAC;AAC7G,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAAyD,CAAC;AAE7G;;kGAEkG;AAClG,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAqCD,uGAAuG;AACvG,wBAAsB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAQzG;AAED;;+DAE+D;AAC/D,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAM9G;AAWD;6CAC6C;AAC7C,wBAAsB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAexG;AAED;;;kGAGkG;AAClG,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAc9F;AAUD,4FAA4F;AAC5F,wBAAsB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAQxG;AAED;sFACsF;AACtF,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAS9F;AAMD;;;;2EAI2E;AAC3E,MAAM,WAAW,SAAS;IACxB,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAMhE;AAED;;;6BAG6B;AAC7B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAoBvE;AAID;;;;iCAIiC;AACjC,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAMD,wBAAsB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAOzG;AAED;;+CAE+C;AAC/C,wBAAsB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzG;AAMD;;;;;kFAKkF;AAClF,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,6FAA6F;IAC7F,GAAG,EAAE,MAAM,CAAC;CACb;AAMD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAM5E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAG5E;AAED;mDACmD;AACnD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtD"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -215,9 +215,9 @@ export function loadAuthServiceInfo(dir) {
215
215
  const f = readStoreFile(join(dir, SERVICE_FILE), "auth service info");
216
216
  if (!f)
217
217
  return undefined;
218
- if (!f.url || typeof f.pid !== "number" || !f.cap)
218
+ if (!f.url || typeof f.pid !== "number" || !f.cap || (f.publicUrl !== undefined && typeof f.publicUrl !== "string"))
219
219
  throw new Error(`${join(dir, SERVICE_FILE)}: malformed auth service info - restart the mesh (\`cotal down\` then \`cotal up\`)`);
220
- return { url: f.url, pid: f.pid, cap: f.cap };
220
+ return { url: f.url, pid: f.pid, cap: f.cap, ...(f.publicUrl !== undefined ? { publicUrl: f.publicUrl } : {}) };
221
221
  }
222
222
  export function saveAuthServiceInfo(dir, info) {
223
223
  mkSecretDir(dir);
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/auth",
3
3
  "description": "Cotal per-user auth bridge: opaque owner-token derivation and strict user-token validation for the NATS auth-callout cutover (Plane 1 ↔ Plane 2).",
4
- "version": "0.26.0",
4
+ "version": "0.28.0-hack-20260823202734",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -24,8 +24,8 @@
24
24
  "jose": "^6.2.3",
25
25
  "@nats-io/jetstream": "^3.4.0",
26
26
  "@nats-io/kv": "^3.4.0",
27
- "@cotal-ai/core": "0.26.0",
28
- "@cotal-ai/workspace": "0.26.0"
27
+ "@cotal-ai/core": "0.28.0-hack-20260823202734",
28
+ "@cotal-ai/workspace": "0.28.0-hack-20260823202734"
29
29
  },
30
30
  "devDependencies": {
31
31
  "better-auth": "^1.6.23",