@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.
- package/dist/commands/describe.d.ts.map +1 -1
- package/dist/commands/describe.js +2 -2
- package/dist/commands/describe.js.map +1 -1
- package/dist/commands/down.d.ts +0 -23
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +8 -207
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/endpoints.js +2 -2
- package/dist/commands/endpoints.js.map +1 -1
- package/dist/commands/meshes-add.d.ts +4 -1
- package/dist/commands/meshes-add.d.ts.map +1 -1
- package/dist/commands/meshes-add.js +10 -7
- package/dist/commands/meshes-add.js.map +1 -1
- package/dist/commands/meshes-wizard.js +2 -2
- package/dist/commands/meshes-wizard.js.map +1 -1
- package/dist/commands/meshes.d.ts.map +1 -1
- package/dist/commands/meshes.js +7 -5
- package/dist/commands/meshes.js.map +1 -1
- package/dist/commands/mint.d.ts.map +1 -1
- package/dist/commands/mint.js +8 -2
- package/dist/commands/mint.js.map +1 -1
- package/dist/commands/setup.d.ts +0 -6
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +29 -26
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/spawn.d.ts.map +1 -1
- package/dist/commands/spawn.js +101 -66
- package/dist/commands/spawn.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +17 -10
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +31 -25
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/up.d.ts +0 -2
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +149 -202
- package/dist/commands/up.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -17
- package/dist/index.js.map +1 -1
- package/dist/lib/control.d.ts +2 -20
- package/dist/lib/control.d.ts.map +1 -1
- package/dist/lib/control.js +1 -30
- package/dist/lib/control.js.map +1 -1
- package/dist/lib/delivery-proc.d.ts +8 -8
- package/dist/lib/delivery-proc.d.ts.map +1 -1
- package/dist/lib/delivery-proc.js +27 -101
- package/dist/lib/delivery-proc.js.map +1 -1
- package/dist/lib/local-process-stop.d.ts +29 -0
- package/dist/lib/local-process-stop.d.ts.map +1 -0
- package/dist/lib/local-process-stop.js +196 -0
- package/dist/lib/local-process-stop.js.map +1 -0
- package/dist/lib/manager-proc.d.ts +17 -17
- package/dist/lib/manager-proc.d.ts.map +1 -1
- package/dist/lib/manager-proc.js +57 -107
- package/dist/lib/manager-proc.js.map +1 -1
- package/dist/lib/manifest/ledger.js +1 -1
- package/dist/lib/manifest/prepare.d.ts.map +1 -1
- package/dist/lib/manifest/prepare.js +2 -2
- package/dist/lib/manifest/prepare.js.map +1 -1
- package/dist/lib/self-exec.d.ts +1 -1
- package/dist/lib/self-exec.js +1 -1
- package/dist/lib/status.d.ts +0 -1
- package/dist/lib/status.d.ts.map +1 -1
- package/dist/lib/status.js +2 -25
- package/dist/lib/status.js.map +1 -1
- package/dist/lib/teardown-spare.js +3 -3
- package/dist/lib/teardown-spare.js.map +1 -1
- package/dist/ui.d.ts +9 -9
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +16 -18
- package/dist/ui.js.map +1 -1
- package/package.json +4 -4
package/dist/lib/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/lib/status.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/lib/status.js
CHANGED
|
@@ -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) => !
|
|
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
|
package/dist/lib/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/lib/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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
|
|
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":"AAAA;;;;;;uDAMuD;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAoD,MAAM,qBAAqB,CAAC;AAWlH;;;uFAGuF;AACvF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAA4B;IACzE,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACpH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAC;QACvF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,oBAAoB,CACjC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAC1C,2BAA2B,EAC3B,SAAS,EACT,EAAE,SAAS,EAAE,OAAO,EAAE,CACvB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAmC,CAAW,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAChF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjG,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAkC,KAAK,CAAC,KAAK,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;QAC7F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,IAAsB,CAAC;AACtC,CAAC;AAED;;0GAE0G;AAC1G,MAAM,UAAU,iBAAiB,CAAC,IAAoB,EAAE,QAA2B,SAAS;IAC1F,MAAM,IAAI,GAAG,CAAC,GAAiB,EAAE,MAA0B,EAAE,EAAE,CAC7D,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9I,MAAM,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,iBAAiB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,uCAAuC,CAAC,CAAC,CAAC;QACrI,KAAK,MAAM,GAAG,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO;IACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,MAAM,iBAAiB,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC,CAAC;IACpH,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,kCAAkC;IAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,4GAA4G,CAAC,CAAC,CAAC;AACnI,CAAC"}
|
package/dist/ui.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import type
|
|
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
|
|
8
|
-
* and one 40m old, or a turn that stopped advancing and one that
|
|
9
|
-
* alike. The seat reports `activeAt` itself, so the status word keeps
|
|
10
|
-
|
|
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;
|
|
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
|
|
30
|
-
* and one 40m old, or a turn that stopped advancing and one that
|
|
31
|
-
* alike. The seat reports `activeAt` itself, so the status word keeps
|
|
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
|
|
34
|
-
const condition = p.condition ? ` (${p.condition.code}${
|
|
35
|
-
const
|
|
36
|
-
|
|
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":"
|
|
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.
|
|
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.
|
|
23
|
-
"@cotal-ai/workspace": "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.
|
|
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"
|