@cotal-ai/cli 0.29.2 → 0.30.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.
@@ -1,4 +1,7 @@
1
1
  import { type ParsedArgs } from "@cotal-ai/core";
2
+ /** `--components` is the fail-loud health pass. Bare `status` remains a broad, recovery-oriented
3
+ * diagnostic; this explicit mode is for an operator or monitor that needs component state and a
4
+ * machine-readable exit disposition rather than a best-effort inventory. */
2
5
  export declare const statusFlags: readonly [{
3
6
  readonly name: "space";
4
7
  readonly type: "string";
@@ -9,6 +12,10 @@ export declare const statusFlags: readonly [{
9
12
  readonly type: "string";
10
13
  readonly value: "<url>";
11
14
  readonly description: "broker URL (overrides the mesh registry entry)";
15
+ }, {
16
+ readonly name: "components";
17
+ readonly type: "boolean";
18
+ readonly description: "probe manager, delivery, web, and registered broker component health (exit: 0 serving; 1 absent; 2 present but not serving; 3 probe refused)";
12
19
  }];
13
20
  /** `cotal status` — detailed, read-only diagnostics for the local machine + selected mesh. */
14
21
  export declare function status(args: ParsedArgs): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAWxB,eAAO,MAAM,WAAW;;;;;;;;;;EAAmC,CAAC;AAI5D,8FAA8F;AAC9F,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5D"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAaL,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAYxB;;4EAE4E;AAC5E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;EAId,CAAC;AAIX,8FAA8F;AAC9F,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAa5D"}
@@ -1,7 +1,8 @@
1
- import { existsSync } from "node:fs";
1
+ import { existsSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { CotalEndpoint, isReachable, mintCreds, newIdentity, resolveAuthProvider, } from "@cotal-ai/core";
4
- import { CLI_USER_ACTOR, accountInventory, authDir, extensionsDir, findCotalRoot, getCurrent, hasUserAuthState, isWorkspaceTargetError, loadExtensionsManifest, loadMeshes, loadSoleSpaceAuth, loadSpaceAuth, localProcessPath, localProcessVisible, preflightTarget, renderWorkspaceError, resolveMeshTarget, serverFlag, spaceFlag, userAuthStateDir, workspaceSecretStore } from "@cotal-ai/workspace";
3
+ import { CotalEndpoint, EpEnvelopeError, isReachable, mintCreds, mintLifecycleUid, invokeCommand, resolveService, standaloneConnectOpts, newIdentity, unansweredRequest, resolveAuthProvider, } from "@cotal-ai/core";
4
+ import { CLI_USER_ACTOR, accountInventory, authDir, extensionsDir, findCotalRoot, getCurrent, hasUserAuthState, isWorkspaceTargetError, loadExtensionsManifest, loadMeshes, loadSoleSpaceAuth, loadSpaceAuth, localProcessPath, localProcessVisible, parsePid, preflightTarget, probeLiveness, readProcessCommand, renderWorkspaceError, resolveMeshTarget, serverFlag, spaceFlag, userAuthStateDir, workspaceSecretStore } from "@cotal-ai/workspace";
5
+ import { connect } from "@nats-io/transport-node";
5
6
  import { localProcessSurface } from "../ext-loader.js";
6
7
  import { cliVersion, extensionVersions } from "../lib/version.js";
7
8
  import { agentSkillsSkew } from "../lib/agent-skills.js";
@@ -10,7 +11,14 @@ import { machineStatus, resolveSpace, webUp, WEB_URL } from "../lib/status.js";
10
11
  import { pidfileState } from "./down.js";
11
12
  import { displayCmd } from "../lib/self-exec.js";
12
13
  import { c, statusBadge } from "../ui.js";
13
- export const statusFlags = [spaceFlag, serverFlag];
14
+ /** `--components` is the fail-loud health pass. Bare `status` remains a broad, recovery-oriented
15
+ * diagnostic; this explicit mode is for an operator or monitor that needs component state and a
16
+ * machine-readable exit disposition rather than a best-effort inventory. */
17
+ export const statusFlags = [
18
+ spaceFlag,
19
+ serverFlag,
20
+ { name: "components", type: "boolean", description: "probe manager, delivery, web, and registered broker component health (exit: 0 serving; 1 absent; 2 present but not serving; 3 probe refused)" },
21
+ ];
14
22
  /** `cotal status` — detailed, read-only diagnostics for the local machine + selected mesh. */
15
23
  export async function status(args) {
16
24
  const values = args.values;
@@ -23,6 +31,8 @@ export async function status(args) {
23
31
  printProject(root, cmd);
24
32
  await printRegistry();
25
33
  await printTarget(cwd, values, cmd);
34
+ if (values.components)
35
+ await printComponentHealth(cwd, values);
26
36
  }
27
37
  /** The installed extensions (seeded built-in connectors + operator `ext add`s) with their pinned
28
38
  * versions. Always rendered — the `root` line plus an explicit empty state answers "where do these
@@ -365,4 +375,289 @@ function section(name) {
365
375
  function row(name, value) {
366
376
  console.log(` ${name.padEnd(16)} ${value}`);
367
377
  }
378
+ const COMPONENT_EXIT = {
379
+ serving: 0,
380
+ absent: 1,
381
+ "not-serving": 2,
382
+ refused: 3,
383
+ };
384
+ /** Machine-readable, uncoloured component records — one line per component. Human text follows
385
+ * after the state token, but the token/exit contract deliberately stays simple for cron. */
386
+ function printComponent(component) {
387
+ console.log(` ${component.name.padEnd(16)} ${component.verdict}${component.facts.length ? ` · ${component.facts.join(" · ")}` : ""}`);
388
+ }
389
+ function componentExit(components) {
390
+ // Refusal outranks every state: an unreadable control surface is not a clean zero even if some
391
+ // other component answered. A process that exists but lacks its serving answer is next, then
392
+ // genuine absence. The order is intentionally one place so a new component cannot accidentally
393
+ // collapse these states by choosing its own exit code.
394
+ return Math.max(...components.map((component) => COMPONENT_EXIT[component.verdict]));
395
+ }
396
+ function processRecord(path) {
397
+ if (!existsSync(path))
398
+ return { kind: "absent" };
399
+ const raw = readFileSync(path, "utf8").trim();
400
+ if (!raw)
401
+ return { kind: "absent" };
402
+ const pid = parsePid(raw);
403
+ if (pid === undefined)
404
+ return { kind: "unattributable", raw };
405
+ const liveness = probeLiveness(pid);
406
+ return liveness === "alive" ? { kind: "live", pid } : liveness === "dead" ? { kind: "dead", pid } : { kind: "unknown", pid };
407
+ }
408
+ function pidFacts(record) {
409
+ if (record.kind === "live" || record.kind === "dead" || record.kind === "unknown")
410
+ return [`pid ${record.pid}`];
411
+ return [];
412
+ }
413
+ function processVerdict(record) {
414
+ if (record.kind === "absent" || record.kind === "dead")
415
+ return "absent";
416
+ if (record.kind === "unattributable" || record.kind === "unknown")
417
+ return "refused";
418
+ return undefined;
419
+ }
420
+ /** A manager's only control claim is its service rail: a pid, a lease, or a registration is not a
421
+ * serving answer. The generic manager `status` command is the manager-owned health surface and is
422
+ * deliberately called only after we establish that its local process record remains alive. */
423
+ async function componentEp(target) {
424
+ const id = newIdentity();
425
+ const creds = target.auth ? await mintCreds(target.auth, id, "deployer") : undefined;
426
+ const ep = new CotalEndpoint({
427
+ space: target.space,
428
+ servers: target.server,
429
+ tls: target.tlsRequired,
430
+ creds,
431
+ lifecycleUid: target.auth ? mintLifecycleUid() : undefined,
432
+ channels: [],
433
+ consume: false,
434
+ registerPresence: false,
435
+ watchPresence: false,
436
+ watchChannels: false,
437
+ card: { id: id.id, name: "status-components", kind: "endpoint" },
438
+ });
439
+ ep.on("error", () => { });
440
+ await ep.start();
441
+ return { ep, close: () => ep.stop().catch(() => { }) };
442
+ }
443
+ /** A service registration is the health target itself. Calling its `status` command through a
444
+ * generic endpoint does not work on this base because a passive status endpoint has no v0.4 caller
445
+ * rail; a one-shot standalone caller does. */
446
+ async function managerServiceHealth(target, auth) {
447
+ const nc = await connect({
448
+ servers: target.server,
449
+ ...standaloneConnectOpts(auth.creds ? { creds: auth.creds, tls: target.tlsRequired } : { tls: target.tlsRequired }),
450
+ maxReconnectAttempts: 0,
451
+ });
452
+ try {
453
+ const service = await resolveService(nc, target.space, "manager", auth.caller, { deadlineMs: 3_000 });
454
+ const response = await invokeCommand(nc, target.space, service, "status", undefined, { deadlineMs: 3_000 });
455
+ if (response.reply.ok !== true)
456
+ throw new EpEnvelopeError(response.reply.error?.code === "unavailable" ? "unavailable" : "failed-precondition", response.reply.error?.message ?? "manager status refused");
457
+ return response.reply.data;
458
+ }
459
+ finally {
460
+ await nc.drain().catch(() => nc.close());
461
+ }
462
+ }
463
+ async function managerHealth(target, context) {
464
+ const record = processRecord(localProcessPath("manager.pid", context));
465
+ const facts = pidFacts(record);
466
+ // A corrupt or kernel-unreadable LOCAL record is neither evidence that the manager is absent nor
467
+ // permission to replace it with a network answer. Name that failed local control surface first.
468
+ if (record.kind === "unattributable" || record.kind === "unknown") {
469
+ facts.push(record.kind === "unattributable" ? "unattributable pidfile" : "pid liveness unestablishable");
470
+ facts.push("phase not reported by this manager build");
471
+ return { name: "manager", verdict: "refused", facts };
472
+ }
473
+ if (record.kind === "dead")
474
+ facts.push("stale pidfile");
475
+ let close;
476
+ try {
477
+ const component = await componentEp(target);
478
+ close = component.close;
479
+ const lease = await component.ep.readManagerLease();
480
+ if (lease)
481
+ facts.push(`lease holder ${lease.holder}`, `lease pid ${lease.pid}`);
482
+ else
483
+ facts.push("lease absent");
484
+ // The service caller triple is part of the manager's own authenticated control surface. Keep
485
+ // the minted credential and the subject caller on the SAME identity; a mismatched random actor
486
+ // would turn an authorized manager into a false no-answer on static meshes.
487
+ const serviceIdentity = newIdentity();
488
+ const serviceUid = mintLifecycleUid();
489
+ const serviceCreds = target.auth
490
+ ? await mintCreds(target.auth, serviceIdentity, "deployer", { lifecycleUid: serviceUid })
491
+ : undefined;
492
+ const served = await managerServiceHealth(target, {
493
+ creds: serviceCreds,
494
+ caller: { owner: "local", actor: serviceIdentity.id, uid: serviceUid },
495
+ });
496
+ facts.push(`service instance ${served.instanceId ?? "unreported"}`);
497
+ facts.push(`runtime ${served.runtime ?? "unreported"}`);
498
+ facts.push("phase not reported by this manager build");
499
+ facts.push("serve reachable");
500
+ // A manager service without its own liveness lease is a contradicted component surface, not a
501
+ // healthy one. It still reports reachability, but cannot claim the required lease holder.
502
+ return { name: "manager", verdict: lease ? "serving" : "not-serving", facts };
503
+ }
504
+ catch (e) {
505
+ facts.push("phase not reported by this manager build");
506
+ // A no-responder service rail or an absent manager registry is definitive no-service evidence.
507
+ // The lease and PID answer whether that missing service belongs to an extant component (not
508
+ // serving) or an absent one; any other failed probe remains a refusal.
509
+ const noService = e instanceof EpEnvelopeError && (unansweredRequest(e) || /service registry.*stream not found/i.test(e.message));
510
+ facts.push(noService ? "serve no answer" : `serve probe refused: ${e.message}`);
511
+ if (!noService)
512
+ return { name: "manager", verdict: "refused", facts };
513
+ const liveRecord = record.kind === "live";
514
+ const hasLease = facts.some((fact) => fact.startsWith("lease holder "));
515
+ return { name: "manager", verdict: liveRecord || hasLease ? "not-serving" : "absent", facts };
516
+ }
517
+ finally {
518
+ await close?.();
519
+ }
520
+ }
521
+ /** Delivery owns two answers: its ready lease is its liveness/control surface; its latest explicit
522
+ * adoption report is the renewal record it writes through the manager-owned renewal pass. The
523
+ * latter is intentionally not inferred from credential mtime or process output. */
524
+ async function deliveryHealth(target, context) {
525
+ const record = processRecord(localProcessPath("delivery.pid", context));
526
+ const facts = pidFacts(record);
527
+ const stopped = processVerdict(record);
528
+ const renewalPath = join(context.root, ".cotal", "renewal.json");
529
+ let renewal;
530
+ try {
531
+ if (existsSync(renewalPath))
532
+ renewal = JSON.parse(readFileSync(renewalPath, "utf8"));
533
+ }
534
+ catch (e) {
535
+ facts.push(`renewal record unreadable: ${e.message}`);
536
+ return { name: "delivery", verdict: "refused", facts };
537
+ }
538
+ if (renewal?.adoption === undefined)
539
+ facts.push("renewal adoption not reported");
540
+ else
541
+ facts.push(renewal.adoption.ok ? "renewal adoption accepted" : `renewal adoption refused${renewal.adoption.error ? `: ${renewal.adoption.error}` : ""}`);
542
+ if (stopped) {
543
+ if (record.kind === "dead")
544
+ facts.push("stale pidfile");
545
+ if (record.kind === "unattributable")
546
+ facts.push("unattributable pidfile");
547
+ if (record.kind === "unknown")
548
+ facts.push("pid liveness unestablishable");
549
+ return { name: "delivery", verdict: stopped, facts };
550
+ }
551
+ let close;
552
+ try {
553
+ const component = await componentEp(target);
554
+ close = component.close;
555
+ const lease = await component.ep.readDeliveryLease(0);
556
+ if (!lease) {
557
+ facts.push("ready lease absent");
558
+ return { name: "delivery", verdict: "not-serving", facts };
559
+ }
560
+ facts.push(`lease holder ${lease.holder}`);
561
+ facts.push(lease.ready ? "ready" : "starting (lease not ready)");
562
+ return { name: "delivery", verdict: lease.ready ? "serving" : "not-serving", facts };
563
+ }
564
+ catch (e) {
565
+ // A live recorded daemon with no delivery lease bucket cannot be serving this build's delivery
566
+ // control surface. A denied/timed-out read is different: it is a refusal and must never read
567
+ // as a clean absence.
568
+ const noLeaseSurface = /stream not found/i.test(e.message);
569
+ facts.push(noLeaseSurface ? "ready lease absent" : `lease probe refused: ${e.message}`);
570
+ return { name: "delivery", verdict: noLeaseSurface ? "not-serving" : "refused", facts };
571
+ }
572
+ finally {
573
+ await close?.();
574
+ }
575
+ }
576
+ /** The web dashboard owns the HTTP listener and identifies itself through `/api/meta`, including
577
+ * the serving PID. A raw TCP success is insufficient: another program could own its port. */
578
+ async function webHealth(context) {
579
+ const record = processRecord(localProcessPath("web.pid", context));
580
+ const facts = pidFacts(record);
581
+ const stopped = processVerdict(record);
582
+ if (stopped) {
583
+ if (record.kind === "dead")
584
+ facts.push("stale pidfile");
585
+ if (record.kind === "unattributable")
586
+ facts.push("unattributable pidfile");
587
+ if (record.kind === "unknown")
588
+ facts.push("pid liveness unestablishable");
589
+ return { name: "web", verdict: stopped, facts };
590
+ }
591
+ // The dashboard exposes its own requested port in its process command. We ask only the exact
592
+ // recorded PID — never scan ports — and then require that HTTP's `/api/meta` names the same PID.
593
+ // An unreadable command is a probe refusal rather than an assumption that the documented default
594
+ // was used.
595
+ if (record.kind !== "live")
596
+ throw new Error("web component record lost its live pid after classification");
597
+ const pid = record.pid;
598
+ const command = readProcessCommand(pid);
599
+ if (command.kind !== "command")
600
+ return { name: "web", verdict: "refused", facts: [...facts, "port probe refused (process command unreadable)"] };
601
+ const portMatch = /(?:^|\s)--port(?:=|\s+)(\d{1,5})(?:\s|$)/.exec(command.command);
602
+ // A direct web process uses the documented 7799 default. A detached process is re-execed with
603
+ // `web` in argv; an arbitrary live PID record whose command has neither form is not evidence
604
+ // that port 7799 is its control face, so decline the probe rather than test a bystander.
605
+ const isWebCommand = /(?:^|\s)web(?:\s|$)/.test(command.command);
606
+ if (!portMatch && !isWebCommand)
607
+ return { name: "web", verdict: "refused", facts: [...facts, "port probe refused (recorded PID is not a web command)"] };
608
+ const webPort = portMatch ? Number(portMatch[1]) : 7799;
609
+ if (!Number.isInteger(webPort) || webPort < 1 || webPort > 65535)
610
+ return { name: "web", verdict: "refused", facts: [...facts, "port probe refused (invalid process port)"] };
611
+ for (const port of [webPort]) {
612
+ try {
613
+ const response = await fetch(`http://127.0.0.1:${port}/api/meta`, { signal: AbortSignal.timeout(500) });
614
+ const meta = await response.json();
615
+ if (response.ok && meta.pid === pid)
616
+ return { name: "web", verdict: "serving", facts: [...facts, `port ${port}`, "http reachable"] };
617
+ return { name: "web", verdict: "not-serving", facts: [...facts, `port ${port}`, "http identity mismatch"] };
618
+ }
619
+ catch {
620
+ // The registered web process has no persistent port record on this base. The default is a
621
+ // documented property of the component; if a custom-port dashboard is recorded live but its
622
+ // own HTTP surface cannot name its port, that is not a clean absence.
623
+ }
624
+ }
625
+ return { name: "web", verdict: "not-serving", facts: [...facts, "port not answered on default 7799"] };
626
+ }
627
+ async function brokerHealth(target) {
628
+ try {
629
+ const reachable = await isReachable(target.server, target.tlsRequired ? { tls: true } : {});
630
+ return reachable
631
+ ? { name: "broker", verdict: "serving", facts: [`registered ${target.server}`, "reachable"] }
632
+ : { name: "broker", verdict: "not-serving", facts: [`registered ${target.server}`, "unreachable"] };
633
+ }
634
+ catch (e) {
635
+ return { name: "broker", verdict: "refused", facts: [`registered ${target.server}`, `probe refused: ${e.message}`] };
636
+ }
637
+ }
638
+ async function printComponentHealth(cwd, values) {
639
+ section("Component Health");
640
+ let target;
641
+ try {
642
+ target = resolveMeshTarget(cwd, { server: values.server, space: values.space });
643
+ }
644
+ catch (e) {
645
+ if (isWorkspaceTargetError(e)) {
646
+ printComponent({ name: "target", verdict: "refused", facts: [e.code, renderWorkspaceError({ kind: "target", error: e }).replace(/^✗ /, "")] });
647
+ process.exitCode = COMPONENT_EXIT.refused;
648
+ return;
649
+ }
650
+ throw e;
651
+ }
652
+ const context = { root: target.root, space: target.space, userAuth: target.mode === "user" };
653
+ const components = await Promise.all([
654
+ managerHealth(target, context),
655
+ deliveryHealth(target, context),
656
+ webHealth(context),
657
+ brokerHealth(target),
658
+ ]);
659
+ for (const component of components)
660
+ printComponent(component);
661
+ process.exitCode = componentExit(components);
662
+ }
368
663
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAkBA,OAAO,EAOL,KAAK,eAAe,EAgBpB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAuBL,KAAK,SAAS,EA0Bf,MAAM,qBAAqB,CAAC;AAmD7B,yGAAyG;AACzG,eAAO,MAAM,OAAO,EAAE,QAAQ,EAwB7B,CAAC;AAEF;;;qGAGqG;AACrG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAS3D;AAED,wBAAsB,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAw2BxD;AAy1BD,MAAM,WAAW,UAAU;IACzB;;;;;;;;;OASG;IACH,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8FAA8F;IAC9F,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B;;4FAEwF;IACxF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qEACiE;IACjE,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,sFAAsF;IACtF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;wDACoD;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;yGACqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;+EAC2E;IAC3E,aAAa,CAAC,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,CAAC;IACF,gGAAgG;IAChG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAGrC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAiI5I;AAmDD;;;;;oGAKoG;AACpG,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAElF;AAED;;;+DAG+D;AAC/D;;;;;;;;;;GAUG;AACH,KAAK,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAExC;;mCAEmC;AACnC,eAAO,MAAM,oBAAoB,GAAI,GAAG,SAAS,EAAE,YAAY,UAAU,KAAG,IAAoC,CAAC"}
1
+ {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAkBA,OAAO,EAOL,KAAK,eAAe,EAgBpB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAuBL,KAAK,SAAS,EA0Bf,MAAM,qBAAqB,CAAC;AAmD7B,yGAAyG;AACzG,eAAO,MAAM,OAAO,EAAE,QAAQ,EAwB7B,CAAC;AAEF;;;qGAGqG;AACrG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAS3D;AAED,wBAAsB,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA02BxD;AAk2BD,MAAM,WAAW,UAAU;IACzB;;;;;;;;;OASG;IACH,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8FAA8F;IAC9F,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B;;4FAEwF;IACxF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qEACiE;IACjE,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,sFAAsF;IACtF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;wDACoD;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;yGACqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;+EAC2E;IAC3E,aAAa,CAAC,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,CAAC;IACF,gGAAgG;IAChG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAGrC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAgI5I;AAmDD;;;;;oGAKoG;AACpG,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAElF;AAED;;;+DAG+D;AAC/D;;;;;;;;;;GAUG;AACH,KAAK,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAExC;;mCAEmC;AACnC,eAAO,MAAM,oBAAoB,GAAI,GAAG,SAAS,EAAE,YAAY,UAAU,KAAG,IAAoC,CAAC"}
@@ -647,7 +647,10 @@ export async function up(args) {
647
647
  // A repair replaces the manager, so it must carry the mesh's recorded exposure forward — a
648
648
  // bare `cotal up` here has no `--host` of its own, and dropping it silently moves the attach
649
649
  // face back to loopback while everything else keeps working.
650
- const controlPlane = await startDeliveryWithBroker(held.space, server, {
650
+ // `wantTls` above is this branch's transport decision — the registry record reconciled
651
+ // against the live listener's INFO (a disagreement already exited). It is what the daemon
652
+ // must be launched with; #836 was this call dropping it.
653
+ const controlPlane = await startDeliveryWithBroker(held.space, server, wantTls, {
651
654
  runtime: values.runtime,
652
655
  attachHost: attachHostFor(held.space, values.host),
653
656
  });
@@ -895,7 +898,7 @@ export async function up(args) {
895
898
  // It is part of the server, so `cotal up` starts it by default; open dev mode has no daemon.
896
899
  // Class-2 credential renewal is NOT wired here: the MANAGER is the renewal owner (it is resident
897
900
  // in every mesh mode — foreground, --detach, refresh — where this foreground process is not).
898
- const controlPlane = await startDeliveryWithBroker(space, server, {
901
+ const controlPlane = await startDeliveryWithBroker(space, server, transport.kind === "tls-required", {
899
902
  runtime: values.runtime,
900
903
  // The address the broker was bound to. This is what lets `cotal attach` reach this manager
901
904
  // from another machine; without it the attach face stays loopback-only, so exposing terminals
@@ -903,7 +906,6 @@ export async function up(args) {
903
906
  attachHost: effectiveAttachHost,
904
907
  resumeAttempt,
905
908
  resumeCommitToken: restored?.managerCommit?.durableCommitToken ?? ordinaryAttempt?.managerCommit?.durableCommitToken,
906
- transport,
907
909
  wsPort: setup?.wsPort, // P2 item 6: the console session client's broker ws port
908
910
  });
909
911
  if (restored && process.env.COTAL_SMOKE_FAIL_AFTER_RESTORE_LISTENER_READY === "1")
@@ -1251,7 +1253,7 @@ async function resumeProvenOrdinaryListener(pending) {
1251
1253
  ...(adoptAttachHost ? { attachHost: adoptAttachHost } : {}),
1252
1254
  ts: new Date().toISOString(),
1253
1255
  }, "started");
1254
- const controlPlane = await startDeliveryWithBroker(pending.space, pending.server, {
1256
+ const controlPlane = await startDeliveryWithBroker(pending.space, pending.server, adoptedTlsRequired(pending.root), {
1255
1257
  runtime: pending.runtime,
1256
1258
  attachHost: adoptAttachHost,
1257
1259
  resumeAttempt: pending.attemptId,
@@ -1293,7 +1295,7 @@ async function resumeProvenRestoreListener(prepared) {
1293
1295
  ...(restoreAttachHost ? { attachHost: restoreAttachHost } : {}),
1294
1296
  ts: new Date().toISOString(),
1295
1297
  }, "started");
1296
- const controlPlane = await startDeliveryWithBroker(prepared.space, prepared.server, {
1298
+ const controlPlane = await startDeliveryWithBroker(prepared.space, prepared.server, adoptedTlsRequired(prepared.root), {
1297
1299
  runtime: prepared.runtime,
1298
1300
  attachHost: restoreAttachHost,
1299
1301
  resumeAttempt: prepared.attemptId,
@@ -1511,7 +1513,8 @@ async function startUserAuthService(space, server, setup, publicExchange) {
1511
1513
  // The PUBLIC face's advertised URL (when enabled) supersedes the loopback bind in the registry's
1512
1514
  // convenience endpoint — the discovery bundle is GENERATED from what the daemon actually serves,
1513
1515
  // never hand-written. The provider reports it; nothing here reads provider state files.
1514
- const endpoints = { url: typeof raw.publicUrl === "string" ? raw.publicUrl : raw.url };
1516
+ const base = typeof raw.publicUrl === "string" ? raw.publicUrl : String(raw.url);
1517
+ const endpoints = { url: base, ...(typeof raw.publicUrl === "string" ? { managerAuthorityUrl: `${base.replace(/\/$/, "")}/manager-service-authority` } : {}) };
1515
1518
  const info = assertUserAuthInfo({ ...setup.prepared.publicAuth, endpoints });
1516
1519
  console.log(c.green("✓ user-auth service up") + c.dim(` - sign in with: cotal login --idp ${info.idp.url}`));
1517
1520
  return { userAuth: info, ok: true };
@@ -1691,14 +1694,26 @@ function applyUpOverrides(prepared, o) {
1691
1694
  * `up -f` path hands THE manager its runtime + resolved launch spec here (one manager per space,
1692
1695
  * so the launch can never be a second supervise). Returns whether the control plane came up, so a
1693
1696
  * caller whose output claims a manager (the `up -f` launching line) can tell the truth. */
1694
- async function startDeliveryWithBroker(space, server, mgr) {
1697
+ async function startDeliveryWithBroker(space, server,
1698
+ /**
1699
+ * Whether this listener requires TLS, decided by the CALLER.
1700
+ *
1701
+ * NON-OPTIONAL, for exactly the reason {@link DetachOpts.transport} is. This used to be an
1702
+ * optional `transport` that the callee fell back on `readBrokerPolicy(cotalRoot())` for whenever
1703
+ * it was absent — and the refresh path (#836) never passed it. That path decides the same fact
1704
+ * from the mesh-registry entry AND the live `INFO`, refuses on any disagreement, and then handed
1705
+ * the decision to nobody: a root whose registry records `tlsRequired` while holding no
1706
+ * `broker-policy.json` (registered with `cotal meshes add --tls`, or a mesh that predates the
1707
+ * policy file) relaunched the delivery daemon FLAGLESS against a TLS broker. Nothing looked
1708
+ * wrong, because the daemon still upgrades on the server's unauthenticated INFO — and it holds a
1709
+ * STANDING credential and reconnects unattended, so that exposure repeats with nobody watching.
1710
+ *
1711
+ * A second durable record consulted in the callee is how the caller's copy went silently unused.
1712
+ * One decision, and it arrives as an argument.
1713
+ */
1714
+ tlsRequired, mgr) {
1695
1715
  try {
1696
- // Prefer the in-memory decision for a fresh apply (policy may not be on disk yet — S9).
1697
- // Fall back to the recorded policy for resume/restore/refresh paths that start no new listener.
1698
- const tls = mgr?.transport?.kind === "tls-required" ||
1699
- readBrokerPolicy(cotalRoot())?.transport.kind === "tls-required";
1700
- const { transport: _t, ...mgrRest } = mgr ?? {};
1701
- await ensureControlPlane({ space, server, tls, ...mgrRest });
1716
+ await ensureControlPlane({ space, server, tls: tlsRequired, ...(mgr ?? {}) });
1702
1717
  return true;
1703
1718
  }
1704
1719
  catch (e) {
@@ -1836,17 +1851,16 @@ opts) {
1836
1851
  ts: new Date().toISOString(),
1837
1852
  }, "started");
1838
1853
  // Commit policy BEFORE delivery launch (S9). Listener is proved; refuse paths never reach here.
1839
- // startDeliveryWithBroker also receives `transport` so it does not depend on the file alone.
1854
+ // startDeliveryWithBroker is HANDED the transport decision, so it does not depend on the file at all.
1840
1855
  commitTransportPolicy(cotalRoot(), transport);
1841
1856
  // Bring up the delivery daemon WITH the detached broker (auth mode only; `cotal down` tears both down).
1842
- const controlPlane = await startDeliveryWithBroker(space, server, {
1857
+ const controlPlane = await startDeliveryWithBroker(space, server, transport.kind === "tls-required", {
1843
1858
  runtime: opts.runtime,
1844
1859
  launch: opts.launch,
1845
1860
  // See the foreground path: the broker's bind address is what makes attach reachable off-box.
1846
1861
  attachHost: effectiveAttachHost,
1847
1862
  resumeAttempt: opts.resumeAttempt,
1848
1863
  resumeCommitToken: opts.resumeCommitToken,
1849
- transport,
1850
1864
  wsPort: setup?.wsPort, // P2 item 6: the console session client's broker ws port
1851
1865
  });
1852
1866
  return {