@cotal-ai/cli 0.67.0 → 0.69.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 (74) hide show
  1. package/dist/commands/describe.d.ts.map +1 -1
  2. package/dist/commands/describe.js +2 -2
  3. package/dist/commands/describe.js.map +1 -1
  4. package/dist/commands/down.d.ts +0 -23
  5. package/dist/commands/down.d.ts.map +1 -1
  6. package/dist/commands/down.js +8 -207
  7. package/dist/commands/down.js.map +1 -1
  8. package/dist/commands/endpoints.js +2 -2
  9. package/dist/commands/endpoints.js.map +1 -1
  10. package/dist/commands/meshes-add.d.ts +4 -1
  11. package/dist/commands/meshes-add.d.ts.map +1 -1
  12. package/dist/commands/meshes-add.js +10 -7
  13. package/dist/commands/meshes-add.js.map +1 -1
  14. package/dist/commands/meshes-wizard.js +2 -2
  15. package/dist/commands/meshes-wizard.js.map +1 -1
  16. package/dist/commands/meshes.d.ts.map +1 -1
  17. package/dist/commands/meshes.js +7 -5
  18. package/dist/commands/meshes.js.map +1 -1
  19. package/dist/commands/mint.d.ts.map +1 -1
  20. package/dist/commands/mint.js +8 -2
  21. package/dist/commands/mint.js.map +1 -1
  22. package/dist/commands/setup.d.ts +0 -6
  23. package/dist/commands/setup.d.ts.map +1 -1
  24. package/dist/commands/setup.js +29 -26
  25. package/dist/commands/setup.js.map +1 -1
  26. package/dist/commands/spawn.d.ts.map +1 -1
  27. package/dist/commands/spawn.js +101 -66
  28. package/dist/commands/spawn.js.map +1 -1
  29. package/dist/commands/status.d.ts.map +1 -1
  30. package/dist/commands/status.js +17 -10
  31. package/dist/commands/status.js.map +1 -1
  32. package/dist/commands/sync.d.ts.map +1 -1
  33. package/dist/commands/sync.js +31 -25
  34. package/dist/commands/sync.js.map +1 -1
  35. package/dist/commands/up.d.ts +0 -2
  36. package/dist/commands/up.d.ts.map +1 -1
  37. package/dist/commands/up.js +149 -202
  38. package/dist/commands/up.js.map +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +5 -17
  41. package/dist/index.js.map +1 -1
  42. package/dist/lib/control.d.ts +2 -20
  43. package/dist/lib/control.d.ts.map +1 -1
  44. package/dist/lib/control.js +1 -30
  45. package/dist/lib/control.js.map +1 -1
  46. package/dist/lib/delivery-proc.d.ts +8 -8
  47. package/dist/lib/delivery-proc.d.ts.map +1 -1
  48. package/dist/lib/delivery-proc.js +27 -101
  49. package/dist/lib/delivery-proc.js.map +1 -1
  50. package/dist/lib/local-process-stop.d.ts +29 -0
  51. package/dist/lib/local-process-stop.d.ts.map +1 -0
  52. package/dist/lib/local-process-stop.js +196 -0
  53. package/dist/lib/local-process-stop.js.map +1 -0
  54. package/dist/lib/manager-proc.d.ts +17 -17
  55. package/dist/lib/manager-proc.d.ts.map +1 -1
  56. package/dist/lib/manager-proc.js +57 -107
  57. package/dist/lib/manager-proc.js.map +1 -1
  58. package/dist/lib/manifest/ledger.js +1 -1
  59. package/dist/lib/manifest/prepare.d.ts.map +1 -1
  60. package/dist/lib/manifest/prepare.js +2 -2
  61. package/dist/lib/manifest/prepare.js.map +1 -1
  62. package/dist/lib/self-exec.d.ts +1 -1
  63. package/dist/lib/self-exec.js +1 -1
  64. package/dist/lib/status.d.ts +0 -1
  65. package/dist/lib/status.d.ts.map +1 -1
  66. package/dist/lib/status.js +2 -25
  67. package/dist/lib/status.js.map +1 -1
  68. package/dist/lib/teardown-spare.js +3 -3
  69. package/dist/lib/teardown-spare.js.map +1 -1
  70. package/dist/ui.d.ts +9 -9
  71. package/dist/ui.d.ts.map +1 -1
  72. package/dist/ui.js +16 -18
  73. package/dist/ui.js.map +1 -1
  74. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/lib/status.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqG,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/K,OAAO,EAA4H,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAO/K,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC9B;AAED;;qDAEqD;AACrD,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,OAAO,iCAAwC,CAAC;AAE7D,+EAA+E;AAC/E,wBAAgB,KAAK,CAAC,IAAI,GAAE,MAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAY/D;AAED;sFACsF;AACtF,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAqBjE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED;;mCAEmC;AACnC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;CACxC;AAED,kEAAkE;AAClE,wBAAsB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAQ5D;AAED;;0GAE0G;AAC1G,wBAAgB,kBAAkB,IAAI,aAAa,EAAE,CASpD;AAED;;;iDAGiD;AACjD,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAgB5G;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAmB3C"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/lib/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAqG,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/K,OAAO,EAA2I,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAO9L,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC9B;AAED;;qDAEqD;AACrD,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,OAAO,iCAAwC,CAAC;AAE7D,+EAA+E;AAC/E,wBAAgB,KAAK,CAAC,IAAI,GAAE,MAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAY/D;AAED;sFACsF;AACtF,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAqBjE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED;;mCAEmC;AACnC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;CACxC;AAED,kEAAkE;AAClE,wBAAsB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAQ5D;AAED;;0GAE0G;AAC1G,wBAAgB,kBAAkB,IAAI,aAAa,EAAE,CASpD;AAED;;;iDAGiD;AACjD,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAgB5G"}
@@ -1,8 +1,6 @@
1
- import { accessSync, constants } from "node:fs";
2
1
  import { connect } from "node:net";
3
- import { delimiter, join } from "node:path";
4
2
  import { DEFAULT_SERVER, DEFAULT_SPACE, isReachable, registry } from "@cotal-ai/core";
5
- import { authDir, extensionConnectors, findCotalRoot, loadExtensionsManifest, loadSoleSpaceAuth, loadSpaceAuth, resolveMeshTarget } from "@cotal-ai/workspace";
3
+ import { authDir, extensionConnectors, findCotalRoot, loadExtensionsManifest, loadSoleSpaceAuth, loadSpaceAuth, resolveMeshTarget, resolveOnPath } from "@cotal-ai/workspace";
6
4
  import { materializeExtension } from "../ext-loader.js";
7
5
  import { resolveNatsServer } from "./nats-bin.js";
8
6
  import { displayCmd } from "./self-exec.js";
@@ -76,7 +74,7 @@ export function connectorHarnesses() {
76
74
  declared.set(connector.name, { requires: connector.requires ?? [], setup: connector.setup ?? null });
77
75
  return [...declared]
78
76
  .sort(([a], [b]) => a.localeCompare(b))
79
- .map(([name, { requires, setup }]) => ({ name, requires, missing: requires.filter((bin) => !onPath(bin)), setup }));
77
+ .map(([name, { requires, setup }]) => ({ name, requires, missing: requires.filter((bin) => !resolveOnPath(bin)), setup }));
80
78
  }
81
79
  /** The rows each connector's setup provider reports about what it installed. Only a connector that
82
80
  * declares a provider is imported; one whose cached metadata predates the setup ref is read from the
@@ -101,25 +99,4 @@ export async function connectorStatusRows(harnesses) {
101
99
  }
102
100
  return rows;
103
101
  }
104
- export function onPath(bin) {
105
- const exts = process.platform === "win32"
106
- ? (process.env.PATHEXT ?? ".EXE;.CMD;.BAT;.COM").split(";")
107
- : [""];
108
- for (const dir of (process.env.PATH ?? "").split(delimiter).filter(Boolean)) {
109
- for (const ext of exts) {
110
- const name = process.platform === "win32" && ext && !bin.toUpperCase().endsWith(ext.toUpperCase())
111
- ? `${bin}${ext}`
112
- : bin;
113
- const candidate = join(dir, name);
114
- try {
115
- accessSync(candidate, constants.X_OK);
116
- return true;
117
- }
118
- catch {
119
- /* try the next PATH entry */
120
- }
121
- }
122
- }
123
- return false;
124
- }
125
102
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/lib/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/lib/status.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** The spare side of a stack teardown, shared by `down` and the foreground `up` Ctrl-C handler.
1
+ /** The spare side of a manager stop, which `stopManager` runs for `down` and every `up` teardown.
2
2
  *
3
3
  * One policy, one implementation: a stack stop that is not `--with-agents` snapshots the manager's
4
4
  * seats, verifies the exact manager can release its local custody, and reports the agents left
@@ -44,9 +44,9 @@ export function printSparedAgents(rows, seats = "release") {
44
44
  console.log(c.dim(`stopped ${stopped.length} managed agent${stopped.length === 1 ? "" : "s"} that ran inside the manager process:`));
45
45
  for (const row of stopped)
46
46
  console.log(line(row, undefined));
47
- if (!left.length)
48
- return;
49
47
  }
48
+ if (!left.length)
49
+ return;
50
50
  console.log(c.dim(`left ${left.length} managed agent${left.length === 1 ? "" : "s"} running (no longer managed):`));
51
51
  for (const row of left)
52
52
  console.log(line(row, row.status));
@@ -1 +1 @@
1
- {"version":3,"file":"teardown-spare.js","sourceRoot":"","sources":["../../src/lib/teardown-spare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teardown-spare.js","sourceRoot":"","sources":["../../src/lib/teardown-spare.ts"],"names":[],"mappings":"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"}
package/dist/ui.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- import type { PresenceStatus } from "@cotal-ai/core";
1
+ import { type PresenceStamps, type PresenceStatus } from "@cotal-ai/core";
2
2
  export { c, color256 } from "@cotal-ai/workspace";
3
3
  export declare function statusBadge(status: PresenceStatus): string;
4
- /** Compact age: `12s`, `47m`, `3h`, `2d`. */
5
- export declare function fmtAge(ms: number): string;
6
4
  /** The facts a status word needs beside it (#618): the harness-reported condition and how long it has
7
- * held, then the age of the seat's last harness-reported work event (`activeAt`). A failure 3s old
8
- * and one 40m old, or a turn that stopped advancing and one that is advancing, no longer render
9
- * alike. The seat reports `activeAt` itself, so the status word keeps its own progress wording. */
10
- export declare function presenceDetail(p: {
5
+ * held, how long the status has stood (#578), then the age of the seat's last harness-reported work
6
+ * event (`activeAt`). A failure 3s old and one 40m old, or a turn that stopped advancing and one that
7
+ * is advancing, no longer render alike. The seat reports `activeAt` itself, so the status word keeps
8
+ * its own progress wording. */
9
+ export declare function presenceDetail(p: PresenceStamps & {
11
10
  condition?: {
12
11
  code: string;
13
- since?: number;
14
12
  };
15
- activeAt?: number;
16
13
  }, now?: number): string;
14
+ /** The age that follows an activity (#544): a hook flips the status every turn and leaves the
15
+ * activity alone, so the status age cannot date it. */
16
+ export declare function activityAge(p: PresenceStamps, now?: number): string;
17
17
  /** A follow-up hint for failures whose signature is stale on-disk broker state: streams/durable
18
18
  * consumers minted by an older, incompatible Cotal generation survive every down/up cycle, and
19
19
  * JetStream rejects a same-name re-create with a different config. Rendered dim under the red
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAElD,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAW1D;AAED,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMzC;AAED;;;oGAGoG;AACpG,wBAAgB,cAAc,CAAC,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,SAAa,GAAG,MAAM,CAK/H;AAED;;;qFAGqF;AACrF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO9D"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKnG,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAElD,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAW1D;AAED;;;;gCAIgC;AAChC,wBAAgB,cAAc,CAAC,CAAC,EAAE,cAAc,GAAG;IAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAAE,GAAG,SAAa,GAAG,MAAM,CAM7G;AAED;wDACwD;AACxD,wBAAgB,WAAW,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,MAAM,CAGvE;AAED;;;qFAGqF;AACrF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO9D"}
package/dist/ui.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { formatAge, presenceAges } from "@cotal-ai/core";
1
2
  import { c } from "@cotal-ai/workspace";
2
3
  // The ANSI helpers moved into `@cotal-ai/workspace` (stage 4), shared with @cotal-ai/web.
3
4
  // Re-exported so the CLI's many importers keep resolving them from here.
@@ -14,26 +15,23 @@ export function statusBadge(status) {
14
15
  return c.dim("⨯ offline");
15
16
  }
16
17
  }
17
- /** Compact age: `12s`, `47m`, `3h`, `2d`. */
18
- export function fmtAge(ms) {
19
- const s = Math.max(0, Math.floor(ms / 1000));
20
- if (s < 60)
21
- return `${s}s`;
22
- if (s < 3600)
23
- return `${Math.floor(s / 60)}m`;
24
- if (s < 86_400)
25
- return `${Math.floor(s / 3600)}h`;
26
- return `${Math.floor(s / 86_400)}d`;
27
- }
28
18
  /** The facts a status word needs beside it (#618): the harness-reported condition and how long it has
29
- * held, then the age of the seat's last harness-reported work event (`activeAt`). A failure 3s old
30
- * and one 40m old, or a turn that stopped advancing and one that is advancing, no longer render
31
- * alike. The seat reports `activeAt` itself, so the status word keeps its own progress wording. */
19
+ * held, how long the status has stood (#578), then the age of the seat's last harness-reported work
20
+ * event (`activeAt`). A failure 3s old and one 40m old, or a turn that stopped advancing and one that
21
+ * is advancing, no longer render alike. The seat reports `activeAt` itself, so the status word keeps
22
+ * its own progress wording. */
32
23
  export function presenceDetail(p, now = Date.now()) {
33
- const since = p.condition?.since;
34
- const condition = p.condition ? ` (${p.condition.code}${since === undefined ? "" : ` for ${fmtAge(now - since)}`})` : "";
35
- const active = p.activeAt === undefined ? "" : c.dim(` · active ${fmtAge(now - p.activeAt)} ago`);
36
- return condition + active;
24
+ const age = presenceAges(p, now);
25
+ const condition = p.condition ? ` (${p.condition.code}${age.conditionSince === undefined ? "" : ` for ${formatAge(age.conditionSince)}`})` : "";
26
+ const unchanged = age.statusSince === undefined ? "" : c.dim(` · unchanged for ${formatAge(age.statusSince)}`);
27
+ const active = age.activeAt === undefined ? "" : c.dim(` · active ${formatAge(age.activeAt)} ago`);
28
+ return condition + unchanged + active;
29
+ }
30
+ /** The age that follows an activity (#544): a hook flips the status every turn and leaves the
31
+ * activity alone, so the status age cannot date it. */
32
+ export function activityAge(p, now = Date.now()) {
33
+ const age = presenceAges(p, now).activitySince;
34
+ return age === undefined ? "" : ` (set ${formatAge(age)} ago)`;
37
35
  }
38
36
  /** A follow-up hint for failures whose signature is stale on-disk broker state: streams/durable
39
37
  * consumers minted by an older, incompatible Cotal generation survive every down/up cycle, and
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAExC,0FAA0F;AAC1F,yEAAyE;AACzE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,UAAU,WAAW,CAAC,MAAsB;IAChD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,MAAM,CAAC,EAAU;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAC9C,IAAI,CAAC,GAAG,MAAM;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IAClD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACtC,CAAC;AAED;;;oGAGoG;AACpG,MAAM,UAAU,cAAc,CAAC,CAAsE,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACrH,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC;IACjC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzH,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClG,OAAO,SAAS,GAAG,MAAM,CAAC;AAC5B,CAAC;AAED;;;qFAGqF;AACrF,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,+FAA+F;IAC/F,8FAA8F;IAC9F,2EAA2E;IAC3E,OAAO,gDAAgD,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/D,CAAC,CAAC,mLAAmL;QACrL,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAA4C,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAExC,0FAA0F;AAC1F,yEAAyE;AACzE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,UAAU,WAAW,CAAC,MAAsB;IAChD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;gCAIgC;AAChC,MAAM,UAAU,cAAc,CAAC,CAAoD,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACnG,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChJ,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnG,OAAO,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AACxC,CAAC;AAED;wDACwD;AACxD,MAAM,UAAU,WAAW,CAAC,CAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;IAC/C,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AACjE,CAAC;AAED;;;qFAGqF;AACrF,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,+FAA+F;IAC/F,8FAA8F;IAC9F,2EAA2E;IAC3E,OAAO,gDAAgD,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/D,CAAC,CAAC,mLAAmL;QACrL,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/cli",
3
3
  "description": "Cotal mesh CLI: up, join, watch, console, spawn, mint, channels, history, ext.",
4
- "version": "0.67.0",
4
+ "version": "0.69.0",
5
5
  "homepage": "https://cotal.ai",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -19,8 +19,8 @@
19
19
  }
20
20
  },
21
21
  "dependencies": {
22
- "@cotal-ai/core": "0.67.0",
23
- "@cotal-ai/workspace": "0.67.0",
22
+ "@cotal-ai/core": "0.69.0",
23
+ "@cotal-ai/workspace": "0.69.0",
24
24
  "@nats-io/jetstream": "^3.4.0",
25
25
  "@nats-io/kv": "^3.4.0",
26
26
  "@nats-io/obj": "^3.4.0",
@@ -41,7 +41,7 @@
41
41
  "@eplightning/nats-server-win32-x64": "^2.14.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@cotal-ai/auth": "0.67.0",
44
+ "@cotal-ai/auth": "0.69.0",
45
45
  "@cotal-ai/smoke-kit": "0.0.0",
46
46
  "@types/react": "^19.0.0",
47
47
  "@types/ws": "^8.18.1"