@cotal-ai/cli 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/cotal-skills/.claude-plugin/plugin.json +6 -0
  2. package/cotal-skills/skills/team-topology/SKILL.md +96 -0
  3. package/dist/command.d.ts.map +1 -1
  4. package/dist/command.js +4 -0
  5. package/dist/command.js.map +1 -1
  6. package/dist/commands/backup.d.ts.map +1 -1
  7. package/dist/commands/backup.js +6 -2
  8. package/dist/commands/backup.js.map +1 -1
  9. package/dist/commands/clean.d.ts.map +1 -1
  10. package/dist/commands/clean.js +53 -19
  11. package/dist/commands/clean.js.map +1 -1
  12. package/dist/commands/doctor.d.ts +4 -0
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/doctor.js +57 -14
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/down-manifest.js +2 -2
  17. package/dist/commands/down-manifest.js.map +1 -1
  18. package/dist/commands/down.d.ts +9 -0
  19. package/dist/commands/down.d.ts.map +1 -1
  20. package/dist/commands/down.js +113 -46
  21. package/dist/commands/down.js.map +1 -1
  22. package/dist/commands/ext.d.ts +3 -0
  23. package/dist/commands/ext.d.ts.map +1 -1
  24. package/dist/commands/ext.js +95 -30
  25. package/dist/commands/ext.js.map +1 -1
  26. package/dist/commands/mint.d.ts.map +1 -1
  27. package/dist/commands/mint.js +5 -4
  28. package/dist/commands/mint.js.map +1 -1
  29. package/dist/commands/setup.d.ts +4 -0
  30. package/dist/commands/setup.d.ts.map +1 -1
  31. package/dist/commands/setup.js +226 -63
  32. package/dist/commands/setup.js.map +1 -1
  33. package/dist/commands/spawn.d.ts.map +1 -1
  34. package/dist/commands/spawn.js +3 -3
  35. package/dist/commands/spawn.js.map +1 -1
  36. package/dist/commands/status.d.ts.map +1 -1
  37. package/dist/commands/status.js +101 -7
  38. package/dist/commands/status.js.map +1 -1
  39. package/dist/commands/up.d.ts.map +1 -1
  40. package/dist/commands/up.js +23 -16
  41. package/dist/commands/up.js.map +1 -1
  42. package/dist/commands/update.d.ts +36 -0
  43. package/dist/commands/update.d.ts.map +1 -0
  44. package/dist/commands/update.js +348 -0
  45. package/dist/commands/update.js.map +1 -0
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +12 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/lib/agent-skills.d.ts +61 -0
  51. package/dist/lib/agent-skills.d.ts.map +1 -0
  52. package/dist/lib/agent-skills.js +240 -0
  53. package/dist/lib/agent-skills.js.map +1 -0
  54. package/dist/lib/auth-proc.d.ts +19 -1
  55. package/dist/lib/auth-proc.d.ts.map +1 -1
  56. package/dist/lib/auth-proc.js +102 -27
  57. package/dist/lib/auth-proc.js.map +1 -1
  58. package/dist/lib/control.js +2 -2
  59. package/dist/lib/control.js.map +1 -1
  60. package/dist/lib/delivery-proc.js +3 -3
  61. package/dist/lib/delivery-proc.js.map +1 -1
  62. package/dist/lib/ext-mutation.d.ts +9 -7
  63. package/dist/lib/ext-mutation.d.ts.map +1 -1
  64. package/dist/lib/ext-mutation.js +11 -12
  65. package/dist/lib/ext-mutation.js.map +1 -1
  66. package/dist/lib/maintenance-files.d.ts.map +1 -1
  67. package/dist/lib/maintenance-files.js +25 -6
  68. package/dist/lib/maintenance-files.js.map +1 -1
  69. package/dist/lib/pid.d.ts +23 -0
  70. package/dist/lib/pid.d.ts.map +1 -0
  71. package/dist/lib/pid.js +39 -0
  72. package/dist/lib/pid.js.map +1 -0
  73. package/dist/lib/restore.js +2 -2
  74. package/dist/lib/restore.js.map +1 -1
  75. package/dist/lib/status.d.ts +1 -2
  76. package/dist/lib/status.d.ts.map +1 -1
  77. package/dist/lib/status.js +34 -8
  78. package/dist/lib/status.js.map +1 -1
  79. package/dist/seed/paths.d.ts +2 -1
  80. package/dist/seed/paths.d.ts.map +1 -1
  81. package/dist/seed/paths.js +9 -8
  82. package/dist/seed/paths.js.map +1 -1
  83. package/dist/seed/reconcile.d.ts +1 -0
  84. package/dist/seed/reconcile.d.ts.map +1 -1
  85. package/dist/seed/reconcile.js +20 -15
  86. package/dist/seed/reconcile.js.map +1 -1
  87. package/package.json +5 -4
@@ -1,9 +1,10 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { CotalEndpoint, isReachable, mintCreds, newIdentity, resolveAuthProvider, } from "@cotal-ai/core";
4
- import { authDir, CLI_USER_ACTOR, findCotalRoot, getCurrent, isWorkspaceTargetError, loadExtensionsManifest, loadMeshes, loadSpaceAuth, localProcessPath, localProcessVisible, preflightTarget, resolveMeshTarget, serverFlag, spaceFlag, userAuthStateDir, workspaceSecretStore, } from "@cotal-ai/workspace";
4
+ import { CLI_USER_ACTOR, accountInventory, authDir, extensionsDir, findCotalRoot, getCurrent, hasUserAuthState, isWorkspaceTargetError, loadExtensionsManifest, loadMeshes, loadSoleSpaceAuth, loadSpaceAuth, localProcessPath, localProcessVisible, preflightTarget, resolveMeshTarget, serverFlag, spaceFlag, userAuthStateDir, workspaceSecretStore } from "@cotal-ai/workspace";
5
5
  import { localProcessSurface } from "../ext-loader.js";
6
6
  import { cliVersion, extensionVersions } from "../lib/version.js";
7
+ import { agentSkillsSkew } from "../lib/agent-skills.js";
7
8
  import { managerHasDeliveryMarker } from "../lib/manager-proc.js";
8
9
  import { machineStatus, resolveSpace, webUp, WEB_URL } from "../lib/status.js";
9
10
  import { pidfileState } from "./down.js";
@@ -24,15 +25,58 @@ export async function status(args) {
24
25
  await printTarget(cwd, values, cmd);
25
26
  }
26
27
  /** The installed extensions (seeded built-in connectors + operator `ext add`s) with their pinned
27
- * versions. Skipped entirely when none are installed (e.g. a fresh binary before its first seed). */
28
+ * versions. Always rendered the `root` line plus an explicit empty state answers "where do these
29
+ * live / is anything installed", which is precisely ambiguous on a fresh binary before its first
30
+ * seed. Versions are the manifest pin (add-time), not a live on-disk/host-compat check. */
28
31
  function printExtensions() {
29
32
  const exts = extensionVersions();
30
- if (!exts.length)
31
- return;
32
33
  section("Extensions");
34
+ row("root", extensionsDir());
35
+ if (!exts.length) {
36
+ row("installed", c.dim("none"));
37
+ return;
38
+ }
33
39
  for (const e of exts)
34
40
  row(e.label, c.green(`v${e.version}`) + (e.pkg === e.label ? "" : c.dim(` · ${e.pkg}`)));
35
41
  }
42
+ /** Cotal's authored skills reach non-Claude harnesses through the cross-vendor `~/.agents/skills`
43
+ * directory (Codex, Cursor, OpenCode, Gemini CLI, Windsurf). Those harnesses have no remote update, so
44
+ * surface a stale/missing/retired drop here and point at the fix (`cotal setup` reconciles it). A corrupt
45
+ * skills bundle throws (fail-loud); we render that as a red integrity error rather than "none shipped". */
46
+ function skillsSkewRow() {
47
+ let skew;
48
+ try {
49
+ skew = agentSkillsSkew();
50
+ }
51
+ catch (e) {
52
+ return c.red(`bundle error: ${e.message}`);
53
+ }
54
+ const behind = skew.filter((s) => s.state !== "current");
55
+ if (!behind.length)
56
+ return c.green(`current (${skew.length})`);
57
+ if (behind.every((s) => s.state === "missing"))
58
+ return c.dim(`not installed · ${displayCmd()} setup`);
59
+ const retired = behind.filter((s) => s.state === "retired").length;
60
+ const label = retired ? `${behind.length} to reconcile (${retired} retired)` : `${behind.length}/${skew.length} out of date`;
61
+ return c.yellow(`${label} · ${displayCmd()} setup`);
62
+ }
63
+ /** The `cotal-skills` Claude Code plugin (user scope) vs this CLI release: stale means an update didn't
64
+ * take, missing means it isn't installed, broken means it is installed but failed to load; all point at
65
+ * `cotal setup` to fix. */
66
+ function claudeSkillsLabel(state) {
67
+ switch (state) {
68
+ case "current":
69
+ return c.green("current");
70
+ case "stale":
71
+ return c.yellow(`stale · ${displayCmd()} setup`);
72
+ case "broken":
73
+ return c.red(`load error · ${displayCmd()} setup`);
74
+ case "missing":
75
+ return c.dim(`not installed · ${displayCmd()} setup`);
76
+ default:
77
+ return c.dim("unknown");
78
+ }
79
+ }
36
80
  async function printMachine() {
37
81
  const m = await machineStatus();
38
82
  const web = await webUp();
@@ -41,17 +85,67 @@ async function printMachine() {
41
85
  row("cotal-ai", c.green(`v${cliVersion()}`));
42
86
  row("NATS", m.nats === "missing" ? c.red("missing") : c.green(m.nats));
43
87
  row("Claude plugin", m.claudePlugin ? c.green("installed") : c.dim("not installed"));
88
+ row("Claude skills", claudeSkillsLabel(m.claudeSkills));
44
89
  row("Claude", m.agents.claude ? c.green("on PATH") : c.dim("not on PATH"));
45
90
  row("OpenCode", m.agents.opencode ? c.green("on PATH") : c.dim("not on PATH"));
91
+ row("Skills (.agents)", skillsSkewRow());
46
92
  row("Web extension", webExt ? c.green("installed") : c.dim("not installed"));
47
93
  row("Web process", web ? c.green(WEB_URL) : c.dim(webExt ? "down" : "not installed"));
48
94
  }
49
95
  function printProject(root, cmd) {
50
- const auth = loadSpaceAuth(authDir(root));
51
- const userDisk = auth && existsSync(userAuthStateDir(root, auth.space));
52
- const context = { root, space: auth?.space ?? resolveSpace(root), userAuth: Boolean(userDisk) };
53
96
  section("This Folder");
54
97
  row("root", root);
98
+ // The inventory READ itself can throw (an EACCES/ELOOP on `.cotal/auth`, not just a bad record):
99
+ // `accountInventory` lets that propagate so the broker-wide guards fail CLOSED, but status is the
100
+ // recovery command and must exit 0 for any trust material it cannot read. Frame the unreadable
101
+ // auth dir and stop.
102
+ let spaces;
103
+ let corrupt;
104
+ try {
105
+ ({ spaces, corrupt } = accountInventory(authDir(root)));
106
+ }
107
+ catch (e) {
108
+ row("auth", c.red(`auth dir unreadable · ${e.message}`));
109
+ row("hint", `check permissions on ${authDir(root)} - broker-wide commands refuse while the tenant list cannot be read`);
110
+ row("personas", personaSummary(root));
111
+ return;
112
+ }
113
+ // Status is the command the broker-wide refusals send the operator to, so it must DESCRIBE every
114
+ // state those refusals can name - crashing on one is a dead end in the exact recovery flow. An
115
+ // unreadable record means the tenant list is uncertain: report it (the space-blind sole-load
116
+ // below would throw on it).
117
+ if (corrupt.length > 0) {
118
+ row("auth", c.red(`${corrupt.length} unreadable account record(s) · ${corrupt.join(", ")}`));
119
+ row("hint", `repair or remove ${corrupt.map((f) => join(authDir(root), f)).join(", ")} - broker-wide commands refuse while the tenant list is uncertain`);
120
+ row("personas", personaSummary(root));
121
+ return;
122
+ }
123
+ // A root holding several accounts has no single "this folder's space", and the process rows below
124
+ // are keyed by one. Report the tenant list instead of letting the space-blind read throw.
125
+ if (spaces.length > 1) {
126
+ row("auth", c.green(`${spaces.length} spaces · ${spaces.join(", ")}`));
127
+ row("personas", personaSummary(root));
128
+ console.log(c.dim(" per-space process state is not reported on a multi-space root yet"));
129
+ return;
130
+ }
131
+ // The inventory shape-check is necessary but not sufficient: a record can carry non-empty
132
+ // account fields yet fail COMPOSITION (a malformed account JWT, or one signed by a foreign
133
+ // operator - `composeSpaceAuth` throws on both). Status is the recovery command the broker-wide
134
+ // refusals point at, so it must exit 0 with guidance for ANY record it cannot load, not crash on
135
+ // the ones the cheap shape gate lets through. Frame the load failure the same as an unreadable
136
+ // record and stop.
137
+ let auth;
138
+ try {
139
+ auth = loadSoleSpaceAuth(authDir(root));
140
+ }
141
+ catch (e) {
142
+ row("auth", c.red(`unreadable trust material · ${e.message.split(" - ")[0]}`));
143
+ row("hint", `${e.message}`);
144
+ row("personas", personaSummary(root));
145
+ return;
146
+ }
147
+ const userDisk = auth && hasUserAuthState(root, auth.space);
148
+ const context = { root, space: auth?.space ?? resolveSpace(root), userAuth: Boolean(userDisk) };
55
149
  row("auth", auth ? c.green(`space ${auth.space}${userDisk ? " · user-auth" : ""}`) : c.dim("none (open/local only)"));
56
150
  row("personas", personaSummary(root));
57
151
  let nats;
@@ -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":"AAiBA,OAAO,EAkBL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AA2FxB,yGAAyG;AACzG,eAAO,MAAM,OAAO,EAAE,QAAQ,EAgB7B,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,CA+lBxD;AAqvBD,MAAM,WAAW,UAAU;IACzB,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,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;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,CACrC,IAAI,GAAE,UAAe,GACpB,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,CA8E5I"}
1
+ {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAiBA,OAAO,EAkBL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAgGxB,yGAAyG;AACzG,eAAO,MAAM,OAAO,EAAE,QAAQ,EAgB7B,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,CAkmBxD;AAqvBD,MAAM,WAAW,UAAU;IACzB,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,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;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,CACrC,IAAI,GAAE,UAAe,GACpB,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,CA8E5I"}
@@ -6,7 +6,7 @@ import { mkdirSync, writeFileSync, readFileSync, existsSync, openSync, statSync,
6
6
  import { join, resolve } from "node:path";
7
7
  import { isReachable, DEFAULT_SERVER, CONTROL_ADMIN, createSpaceAuth, serverConfig, mintCreds, mintConnectionEvictorCreds, mintMembershipObserverCreds, newIdentity, setupSpaceStreams, standaloneConnectOpts, seedChannelRegistry, ensureDefaultDeliveryClass, mkSecretDir, writeSecretFile, } from "@cotal-ai/core";
8
8
  import { connect } from "@nats-io/transport-node";
9
- import { assertUserAuthInfo, authDir, loadSpaceAuth, saveSpaceAuth, clearCurrent, findMesh, getCurrent, loadMeshes, recordMesh, removeMesh, setCurrent, userAuthStateDir, workspaceSecretStore, acquireMaintenanceLock, assertStoreIdentity, assessRestoreClaim, beginOrdinaryResume, bindOrdinaryResumeListener, consumeRetiredMaintenance, markOrdinaryResumeActive, markOrdinaryResumeDegraded, replaceDeadOrdinaryResumeListener, localProcessOwnerStatus, readMaintenanceJournal, readMaintenanceResumeDocument, readStoreIdentity, recordOrdinaryResumeManagerCommit, releaseMaintenanceLock, retireOrdinaryResume, sameStoreIdentity, } from "@cotal-ai/workspace";
9
+ import { assertSingleSpaceBroker, assertUserAuthInfo, authDir, getSoleSpaceAuth, getSpaceAuth, hasUserAuthState, loadSoleSpaceAuth, putSpaceAuth, clearCurrent, findMesh, getCurrent, loadMeshes, MEMBERSHIP_RW_CREDS_KEY, recordMesh, removeMesh, setCurrent, userAuthStateDir, workspaceSecretStore, acquireMaintenanceLock, assertStoreIdentity, assessRestoreClaim, beginOrdinaryResume, bindOrdinaryResumeListener, consumeRetiredMaintenance, markOrdinaryResumeActive, markOrdinaryResumeDegraded, replaceDeadOrdinaryResumeListener, localProcessOwnerStatus, readMaintenanceJournal, readMaintenanceResumeDocument, readStoreIdentity, recordOrdinaryResumeManagerCommit, releaseMaintenanceLock, retireOrdinaryResume, sameStoreIdentity, } from "@cotal-ai/workspace";
10
10
  import { ensureAuthService, resolveAuthProvider, stopAuthService } from "../lib/auth-proc.js";
11
11
  import { resolveSpace } from "../lib/status.js";
12
12
  import { c } from "../ui.js";
@@ -63,6 +63,9 @@ export async function up(args) {
63
63
  if (values.restore) {
64
64
  if (values.file || values.channels)
65
65
  throw new Error("--restore cannot be combined with --file/-f or --channels");
66
+ // A restore rewrites the shared store and the trust root under it, from an artifact that names
67
+ // one space (see `cotal backup`) - it cannot leave the root's other tenants standing.
68
+ assertSingleSpaceBroker(authDir(cotalRoot()), "cotal up --restore");
66
69
  const prepared = await prepareRestore(cotalRoot(), values);
67
70
  pendingRestores.set(prepared.attemptId, prepared);
68
71
  const next = {
@@ -413,7 +416,7 @@ export async function up(args) {
413
416
  // here, so healing on a bare `cotal up` is safe: the mode can't drift, only the daemon heals.
414
417
  let userAuth = held.userAuth;
415
418
  if (held.mode === "user") {
416
- const auth = loadSpaceAuth(authDir(root));
419
+ const auth = await getSpaceAuth(workspaceSecretStore(root), held.space);
417
420
  if (!auth) {
418
421
  console.error(c.red(`✗ mesh "${held.space}" is user-auth but this root has no trust material under ${authDir(root)} - \`cotal down\` it, restore or re-provision \`.cotal/auth\`, then \`cotal up --user-auth\``));
419
422
  process.exit(1);
@@ -711,7 +714,7 @@ function markPendingResumeDegraded(attemptId, reason) {
711
714
  async function resumeControlAuth(root, mode) {
712
715
  if (mode === "open")
713
716
  return {};
714
- const auth = loadSpaceAuth(authDir(root));
717
+ const auth = await getSoleSpaceAuth(workspaceSecretStore(root), authDir(root));
715
718
  if (!auth)
716
719
  throw new Error("same-principal resume requires the existing space trust material");
717
720
  const identity = newIdentity();
@@ -994,7 +997,7 @@ async function resumeProvenOrdinaryListener(pending) {
994
997
  async function ensureRecoveredUserAuth(prepared) {
995
998
  if (prepared.mode !== "user")
996
999
  return { ok: true };
997
- const auth = loadSpaceAuth(authDir(prepared.root));
1000
+ const auth = await getSpaceAuth(workspaceSecretStore(prepared.root), prepared.space);
998
1001
  if (!auth)
999
1002
  throw new Error("restored user-auth listener has no retained trust material");
1000
1003
  const stateDir = userAuthStateDir(prepared.root, prepared.space);
@@ -1471,9 +1474,9 @@ export async function startMeshDetached(opts = {}) {
1471
1474
  function refuseOpenOverUserState(open, space) {
1472
1475
  if (!open)
1473
1476
  return;
1474
- const stateDir = userAuthStateDir(cotalRoot(), space);
1475
- if (!existsSync(stateDir))
1477
+ if (!hasUserAuthState(cotalRoot(), space))
1476
1478
  return;
1479
+ const stateDir = userAuthStateDir(cotalRoot(), space);
1477
1480
  throw new Error(`space "${space}" has user auth enabled (state under ${stateDir}) - \`--open\` would serve its streams without auth. Start it with \`cotal up --user-auth\`, or remove that directory deliberately to disable user auth (existing logins/grants die with it)`);
1478
1481
  }
1479
1482
  /** Today a root's `.cotal/auth` is created for one space (its account is space-bound), so an
@@ -1488,7 +1491,7 @@ function ensureRootForSpace(useAuth, space) {
1488
1491
  if (!useAuth)
1489
1492
  return;
1490
1493
  const root = cotalRoot();
1491
- const existing = loadSpaceAuth(authDir(root));
1494
+ const existing = loadSoleSpaceAuth(authDir(root));
1492
1495
  if (!existing || existing.space === space)
1493
1496
  return;
1494
1497
  const cwd = process.cwd();
@@ -1632,15 +1635,16 @@ function loadChannelsFile(explicit) {
1632
1635
  * a space whose user-auth state exists MUST keep being started with --user-auth — regenerating the
1633
1636
  * config without the callout account would silently break every sentinel connect. */
1634
1637
  async function authSetup(storeDir, server, space, host = "127.0.0.1", user) {
1635
- const dir = authDir(cotalRoot());
1636
- let auth = loadSpaceAuth(dir);
1638
+ const dir = authDir(cotalRoot()); // the broker config (server.conf) still lands under the FS auth dir
1639
+ const store = workspaceSecretStore(cotalRoot());
1640
+ let auth = await getSpaceAuth(store, space);
1637
1641
  if (!auth) {
1638
1642
  auth = await createSpaceAuth(space);
1639
- saveSpaceAuth(dir, auth); // strips the $SYS seed on disk, but leaves the in-memory `auth` intact …
1640
- await provisionMembershipCreds(auth); // … so the observer can still be minted here (fresh-space only)
1643
+ await putSpaceAuth(store, auth); // strips the $SYS seed at rest, but leaves the in-memory `auth` intact …
1644
+ await provisionMembershipCreds(auth, cotalRoot()); // … so the observer can still be minted here (fresh-space only)
1641
1645
  }
1642
1646
  const stateDir = userAuthStateDir(cotalRoot(), space); // the provider's space-scoped state dir
1643
- if (!user && existsSync(stateDir)) {
1647
+ if (!user && hasUserAuthState(cotalRoot(), space)) {
1644
1648
  throw new Error(`space "${space}" has user auth enabled (state under ${stateDir}) - start it with \`cotal up --user-auth\`, or remove that directory deliberately to disable user auth (existing logins/grants die with it)`);
1645
1649
  }
1646
1650
  let prepared;
@@ -1665,7 +1669,7 @@ async function authSetup(storeDir, server, space, host = "127.0.0.1", user) {
1665
1669
  }
1666
1670
  const port = Number(new URL(server).port) || 4222;
1667
1671
  const confPath = resolve(dir, "server.conf");
1668
- writeFileSync(confPath, serverConfig(auth, { port, storeDir, host, ...(prepared ? { extraAccounts: prepared.extraAccounts } : {}) }));
1672
+ writeFileSync(confPath, serverConfig(auth, [auth], { port, storeDir, host, ...(prepared ? { extraAccounts: prepared.extraAccounts } : {}) }));
1669
1673
  // Ephemeral setup cred: used only to probe reachability, pre-create the space streams/buckets
1670
1674
  // (setupSpaceStreams) and seed the channel registry (seedChannelRegistry) — all within the
1671
1675
  // enumerated `provisioner` scope. No broad `manager` residual for the up path.
@@ -1685,8 +1689,11 @@ async function authSetup(storeDir, server, space, host = "127.0.0.1", user) {
1685
1689
  * in-memory `$SYS` seed, so it gains membership only when its auth is regenerated (a fresh `.cotal/auth`)
1686
1690
  * — a documented migration property, not a silent no-op.
1687
1691
  * Coupling: `cotal clean all` deletes this identity-derived set (removeLocalState in clean.ts) —
1688
- * a cred added here must be added to that removal list too. */
1689
- async function provisionMembershipCreds(auth) {
1692
+ * a cred added here must be added to that removal list too. `membership-rw.creds` is a MIGRATED kind:
1693
+ * its write/read/delete all go through the {@link SecretStore} seam (here, the feed reader, and clean),
1694
+ * so the renewal owner can re-sign it into a hosted store. The observer / evictor / config stay on the
1695
+ * raw FS (static $SYS creds + non-secret config, not renewable kinds). */
1696
+ async function provisionMembershipCreds(auth, root) {
1690
1697
  try {
1691
1698
  const observer = await mintMembershipObserverCreds(auth, newIdentity());
1692
1699
  const rw = await mintCreds(auth, newIdentity(), "membership-rw");
@@ -1697,7 +1704,7 @@ async function provisionMembershipCreds(auth) {
1697
1704
  const evictor = await mintConnectionEvictorCreds(auth, newIdentity());
1698
1705
  mkSecretDir(cotalPath()); // harden .cotal/ before the creds land (born under a private ACL, no race)
1699
1706
  writeSecretFile(cotalPath("membership-observer.creds"), observer);
1700
- writeSecretFile(cotalPath("membership-rw.creds"), rw);
1707
+ await workspaceSecretStore(root).put(MEMBERSHIP_RW_CREDS_KEY, rw); // migrated kind: through the seam (0600 FS put)
1701
1708
  writeSecretFile(cotalPath("connection-evictor.creds"), evictor);
1702
1709
  writeSecretFile(cotalPath("membership.json"), JSON.stringify({ accountId: auth.account.pub }));
1703
1710
  }