@cotal-ai/cli 0.2.0-next-20260612020133 → 0.2.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/console.d.ts +6 -0
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +83 -24
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/demo.d.ts +2 -0
- package/dist/commands/demo.d.ts.map +1 -0
- package/dist/commands/demo.js +162 -0
- package/dist/commands/demo.js.map +1 -0
- package/dist/commands/history.d.ts +4 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +48 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/join.d.ts.map +1 -1
- package/dist/commands/join.js +2 -2
- package/dist/commands/join.js.map +1 -1
- package/dist/commands/setup.d.ts +7 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +64 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +2 -2
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/watch.d.ts +2 -0
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +5 -61
- package/dist/commands/watch.js.map +1 -1
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +2 -2
- package/dist/commands/web.js.map +1 -1
- package/dist/console/app.d.ts +15 -0
- package/dist/console/app.d.ts.map +1 -0
- package/dist/console/app.js +240 -0
- package/dist/console/app.js.map +1 -0
- package/dist/console/commands.d.ts +27 -0
- package/dist/console/commands.d.ts.map +1 -0
- package/dist/console/commands.js +111 -0
- package/dist/console/commands.js.map +1 -0
- package/dist/console/mesh.d.ts +8 -0
- package/dist/console/mesh.d.ts.map +1 -0
- package/dist/console/mesh.js +26 -0
- package/dist/console/mesh.js.map +1 -0
- package/dist/console/root.d.ts +18 -0
- package/dist/console/root.d.ts.map +1 -0
- package/dist/console/root.js +36 -0
- package/dist/console/root.js.map +1 -0
- package/dist/console/ui/CommandPalette.d.ts +15 -0
- package/dist/console/ui/CommandPalette.d.ts.map +1 -0
- package/dist/console/ui/CommandPalette.js +81 -0
- package/dist/console/ui/CommandPalette.js.map +1 -0
- package/dist/console/ui/Confirm.d.ts +19 -0
- package/dist/console/ui/Confirm.d.ts.map +1 -0
- package/dist/console/ui/Confirm.js +32 -0
- package/dist/console/ui/Confirm.js.map +1 -0
- package/dist/console/ui/Detail.d.ts +18 -0
- package/dist/console/ui/Detail.d.ts.map +1 -0
- package/dist/console/ui/Detail.js +43 -0
- package/dist/console/ui/Detail.js.map +1 -0
- package/dist/console/ui/Dm.d.ts +15 -0
- package/dist/console/ui/Dm.d.ts.map +1 -0
- package/dist/console/ui/Dm.js +135 -0
- package/dist/console/ui/Dm.js.map +1 -0
- package/dist/console/ui/Feed.d.ts +20 -0
- package/dist/console/ui/Feed.d.ts.map +1 -0
- package/dist/console/ui/Feed.js +141 -0
- package/dist/console/ui/Feed.js.map +1 -0
- package/dist/console/ui/Help.d.ts +8 -0
- package/dist/console/ui/Help.d.ts.map +1 -0
- package/dist/console/ui/Help.js +55 -0
- package/dist/console/ui/Help.js.map +1 -0
- package/dist/console/ui/NeedsYou.d.ts +14 -0
- package/dist/console/ui/NeedsYou.d.ts.map +1 -0
- package/dist/console/ui/NeedsYou.js +36 -0
- package/dist/console/ui/NeedsYou.js.map +1 -0
- package/dist/console/ui/Prompt.d.ts +12 -0
- package/dist/console/ui/Prompt.d.ts.map +1 -0
- package/dist/console/ui/Prompt.js +19 -0
- package/dist/console/ui/Prompt.js.map +1 -0
- package/dist/console/ui/Roster.d.ts +17 -0
- package/dist/console/ui/Roster.d.ts.map +1 -0
- package/dist/console/ui/Roster.js +52 -0
- package/dist/console/ui/Roster.js.map +1 -0
- package/dist/console/ui/Search.d.ts +12 -0
- package/dist/console/ui/Search.d.ts.map +1 -0
- package/dist/console/ui/Search.js +19 -0
- package/dist/console/ui/Search.js.map +1 -0
- package/dist/console/ui/SpacePicker.d.ts +10 -0
- package/dist/console/ui/SpacePicker.d.ts.map +1 -0
- package/dist/console/ui/SpacePicker.js +77 -0
- package/dist/console/ui/SpacePicker.js.map +1 -0
- package/dist/console/ui/StatusBar.d.ts +14 -0
- package/dist/console/ui/StatusBar.d.ts.map +1 -0
- package/dist/console/ui/StatusBar.js +18 -0
- package/dist/console/ui/StatusBar.js.map +1 -0
- package/dist/console/ui/Tabs.d.ts +8 -0
- package/dist/console/ui/Tabs.d.ts.map +1 -0
- package/dist/console/ui/Tabs.js +12 -0
- package/dist/console/ui/Tabs.js.map +1 -0
- package/dist/console/ui/Tiles.d.ts +9 -0
- package/dist/console/ui/Tiles.d.ts.map +1 -0
- package/dist/console/ui/Tiles.js +10 -0
- package/dist/console/ui/Tiles.js.map +1 -0
- package/dist/console/ui/theme.d.ts +11 -0
- package/dist/console/ui/theme.d.ts.map +1 -0
- package/dist/console/ui/theme.js +63 -0
- package/dist/console/ui/theme.js.map +1 -0
- package/dist/console/ui/topo/Map.d.ts +17 -0
- package/dist/console/ui/topo/Map.d.ts.map +1 -0
- package/dist/console/ui/topo/Map.js +158 -0
- package/dist/console/ui/topo/Map.js.map +1 -0
- package/dist/console/ui/topo/Matrix.d.ts +16 -0
- package/dist/console/ui/topo/Matrix.d.ts.map +1 -0
- package/dist/console/ui/topo/Matrix.js +80 -0
- package/dist/console/ui/topo/Matrix.js.map +1 -0
- package/dist/console/ui/topo/Sequence.d.ts +17 -0
- package/dist/console/ui/topo/Sequence.d.ts.map +1 -0
- package/dist/console/ui/topo/Sequence.js +117 -0
- package/dist/console/ui/topo/Sequence.js.map +1 -0
- package/dist/console/ui/topo/Topo.d.ts +20 -0
- package/dist/console/ui/topo/Topo.d.ts.map +1 -0
- package/dist/console/ui/topo/Topo.js +30 -0
- package/dist/console/ui/topo/Topo.js.map +1 -0
- package/dist/console/ui/topo/model.d.ts +51 -0
- package/dist/console/ui/topo/model.d.ts.map +1 -0
- package/dist/console/ui/topo/model.js +113 -0
- package/dist/console/ui/topo/model.js.map +1 -0
- package/dist/console/ui/topo/raster.d.ts +18 -0
- package/dist/console/ui/topo/raster.d.ts.map +1 -0
- package/dist/console/ui/topo/raster.js +36 -0
- package/dist/console/ui/topo/raster.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/dist/render.d.ts +4 -29
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +0 -0
- package/dist/render.js.map +1 -1
- package/dist/view/mesh-view.d.ts +138 -0
- package/dist/view/mesh-view.d.ts.map +1 -0
- package/dist/view/mesh-view.js +346 -0
- package/dist/view/mesh-view.js.map +1 -0
- package/package.json +7 -2
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cotal console` — the live protocol view. A real terminal gets the lazygit-style Ink TUI; a pipe
|
|
3
|
+
* or `--plain` gets the passive line stream. With no `--space` on an open mesh it opens an admin
|
|
4
|
+
* overview of every space first (pick one to drill in, `b` to come back); `--space X` goes straight
|
|
5
|
+
* in. Renders over a read-only observer whose lifecycle `useMesh` owns. See docs/protocol-view.md.
|
|
6
|
+
*/
|
|
1
7
|
export declare function console_(argv: string[]): Promise<void>;
|
|
2
8
|
//# sourceMappingURL=console.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4F5D"}
|
package/dist/commands/console.js
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { parseArgs } from "node:util";
|
|
2
|
-
import { readFileSync } from "node:fs";
|
|
3
|
-
import {
|
|
2
|
+
import { readFileSync, writeSync } from "node:fs";
|
|
3
|
+
import { userInfo } from "node:os";
|
|
4
|
+
import { createElement } from "react";
|
|
5
|
+
import { render } from "ink";
|
|
6
|
+
import { isReachable, DEFAULT_SERVER, DEFAULT_SPACE, chatWildcard, authDir, loadSpaceAuth, mintCreds, newIdentity, } from "@cotal-ai/core";
|
|
4
7
|
import { c } from "../ui.js";
|
|
5
|
-
import { runLog
|
|
8
|
+
import { runLog } from "../render.js";
|
|
9
|
+
import { Root, makeObserver } from "../console/root.js";
|
|
10
|
+
/**
|
|
11
|
+
* `cotal console` — the live protocol view. A real terminal gets the lazygit-style Ink TUI; a pipe
|
|
12
|
+
* or `--plain` gets the passive line stream. With no `--space` on an open mesh it opens an admin
|
|
13
|
+
* overview of every space first (pick one to drill in, `b` to come back); `--space X` goes straight
|
|
14
|
+
* in. Renders over a read-only observer whose lifecycle `useMesh` owns. See docs/protocol-view.md.
|
|
15
|
+
*/
|
|
6
16
|
export async function console_(argv) {
|
|
7
17
|
const { values } = parseArgs({
|
|
8
18
|
args: argv,
|
|
@@ -14,32 +24,81 @@ export async function console_(argv) {
|
|
|
14
24
|
creds: { type: "string" },
|
|
15
25
|
},
|
|
16
26
|
});
|
|
17
|
-
const space = values.space ?? "demo";
|
|
18
27
|
const server = values.server ?? DEFAULT_SERVER;
|
|
19
|
-
|
|
28
|
+
let creds = values.creds ? readFileSync(values.creds, "utf8") : undefined;
|
|
29
|
+
let space = values.space;
|
|
30
|
+
// Auth mode (.cotal/auth present): self-mint an observer cred for the local space so the console
|
|
31
|
+
// works without --creds (like `cotal web`). An authed server hosts exactly one space, so there's
|
|
32
|
+
// no overview — we enter it directly. Open mode (no auth): connect bare; with no --space, the TTY
|
|
33
|
+
// shows the space overview.
|
|
34
|
+
if (!creds) {
|
|
35
|
+
const auth = loadSpaceAuth(authDir(process.cwd()));
|
|
36
|
+
if (auth) {
|
|
37
|
+
if (space && space !== auth.space) {
|
|
38
|
+
console.error(c.red(`Auth here is for space "${auth.space}", not "${space}". Use --space ${auth.space} (or pass --creds).`));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
space = auth.space;
|
|
42
|
+
creds = await mintCreds(auth, newIdentity(), "observer");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
20
45
|
if (!(await isReachable(server, { creds }))) {
|
|
21
46
|
console.error(c.red(`Can't reach NATS at ${server}. Run: pnpm cotal up`));
|
|
22
47
|
process.exit(1);
|
|
23
48
|
}
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
49
|
+
// Operator identity for sent messages (still off the roster). Open mode or an explicit --creds can
|
|
50
|
+
// write; the self-minted observer cred (auth default) is read-only, so the palette/`D` are inert.
|
|
51
|
+
const operator = (() => {
|
|
52
|
+
try {
|
|
53
|
+
return userInfo().username || "operator";
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return "operator";
|
|
57
|
+
}
|
|
58
|
+
})();
|
|
59
|
+
const canWrite = !creds || !!values.creds;
|
|
60
|
+
// No TTY (piped/headless) or --plain → the passive line stream; Ink needs a real terminal, and a
|
|
61
|
+
// stream can't host the picker, so it falls back to the default space.
|
|
62
|
+
if (values.plain || process.stdout.isTTY !== true) {
|
|
63
|
+
const s = space ?? DEFAULT_SPACE;
|
|
64
|
+
await runLog(makeObserver(s, server, creds, operator), s, creds ? chatWildcard(s) : undefined);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
// Full-screen takeover + mouse-wheel scroll: the alternate screen gives a clean app-like
|
|
68
|
+
// canvas (and restores the user's scrollback on exit), and xterm alt-scroll (?1007h) makes the
|
|
69
|
+
// wheel/trackpad emit ↑/↓ — which Ink delivers to useInput, so the feed's arrow-key scroll just
|
|
70
|
+
// works. No SGR mouse parsing, no new deps.
|
|
71
|
+
let restored = false;
|
|
72
|
+
// Synchronous writes (fs.writeSync) so the sequences flush before the process exits — a plain
|
|
73
|
+
// process.stdout.write over a TTY is async and gets truncated by process.exit() on a signal.
|
|
74
|
+
const restore = () => {
|
|
75
|
+
if (restored)
|
|
76
|
+
return;
|
|
77
|
+
restored = true;
|
|
78
|
+
try {
|
|
79
|
+
writeSync(process.stdout.fd, "\x1b[?1007l\x1b[?1049l\x1b[?25h"); // alt-scroll off, leave alt-screen, show cursor
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
/* stdout already gone */
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
writeSync(process.stdout.fd, "\x1b[?1049h\x1b[?1007h"); // enter alt-screen + alt-scroll before Ink's first frame
|
|
86
|
+
process.once("exit", restore); // synchronous safety net for any exit path
|
|
87
|
+
// External kill: restore the terminal, then actually exit (a bare handler would just hang).
|
|
88
|
+
process.once("SIGINT", () => {
|
|
89
|
+
restore();
|
|
90
|
+
process.exit(0);
|
|
91
|
+
});
|
|
92
|
+
process.once("SIGTERM", () => {
|
|
93
|
+
restore();
|
|
94
|
+
process.exit(0);
|
|
95
|
+
});
|
|
96
|
+
const { waitUntilExit } = render(createElement(Root, { server, creds, space, canWrite, name: operator }), {
|
|
97
|
+
exitOnCtrlC: true,
|
|
98
|
+
maxFps: 30,
|
|
99
|
+
incrementalRendering: true,
|
|
34
100
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
// the tap; open mode taps the whole space.
|
|
38
|
-
const tapSubject = creds ? chatWildcard(space) : undefined;
|
|
39
|
-
// Dashboard needs a real terminal; piped/--plain falls back to the classic log.
|
|
40
|
-
if (values.plain || process.stdout.isTTY !== true)
|
|
41
|
-
await runLog(ep, space, tapSubject);
|
|
42
|
-
else
|
|
43
|
-
await runDashboard(ep, space, tapSubject);
|
|
101
|
+
await waitUntilExit();
|
|
102
|
+
restore();
|
|
44
103
|
}
|
|
45
104
|
//# sourceMappingURL=console.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/commands/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"AAoEA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GxD"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { parseArgs } from "node:util";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { CotalEndpoint, isReachable, DEFAULT_SERVER, DEFAULT_SPACE, } from "@cotal-ai/core";
|
|
4
|
+
import { c } from "../ui.js";
|
|
5
|
+
/**
|
|
6
|
+
* `cotal demo` — spin up a handful of mock agents and replay a scripted trace that exercises
|
|
7
|
+
* EVERY protocol-view feature: all four presence states, all three delivery modes (multicast to
|
|
8
|
+
* several channels incl. mentions, peer DMs, an unclaimed anycast), a coalesced burst, and a
|
|
9
|
+
* late-joining agent. Point `cotal console` / `cotal web` at the same space to watch it.
|
|
10
|
+
*
|
|
11
|
+
* pnpm cotal up --open
|
|
12
|
+
* pnpm cotal demo --space demo
|
|
13
|
+
* pnpm cotal console --space demo # in a real terminal
|
|
14
|
+
*/
|
|
15
|
+
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
16
|
+
// The core cast (started up front); `scout` joins mid-trace to show a late join.
|
|
17
|
+
const AGENTS = [
|
|
18
|
+
{ name: "alice", role: "planner" },
|
|
19
|
+
{ name: "bob", role: "builder" },
|
|
20
|
+
{ name: "dave", role: "builder" },
|
|
21
|
+
{ name: "maya", role: "researcher" },
|
|
22
|
+
{ name: "linus", role: "reviewer" },
|
|
23
|
+
];
|
|
24
|
+
const SCRIPT = [
|
|
25
|
+
{ t: "status", who: "alice", status: "working", activity: "drafting the auth outline" },
|
|
26
|
+
{ t: "status", who: "bob", status: "working", activity: "writing tests · channels.ts" },
|
|
27
|
+
{ t: "chat", who: "dave", channel: "general", text: "anyone else hit the flaky CI test on channels.ts?" },
|
|
28
|
+
{ t: "status", who: "dave", status: "working", activity: "refactoring endpoint.ts" },
|
|
29
|
+
{ t: "chat", who: "bob", channel: "team.backend", text: "pushed channels.ts tests — 12 green ✓" },
|
|
30
|
+
{ t: "chat", who: "maya", channel: "planning", text: "NATS v3 splits transports cleanly — notes in #planning" },
|
|
31
|
+
{ t: "dm", who: "alice", to: "bob", text: "can you take the API-key wiring while I'm blocked?" },
|
|
32
|
+
{ t: "dm", who: "bob", to: "alice", text: "on it — grabbing the OPENAI_API_KEY wiring now" },
|
|
33
|
+
{ t: "status", who: "alice", status: "waiting", activity: "blocked — needs OPENAI_API_KEY" },
|
|
34
|
+
{ t: "join", who: "scout", role: "observer" },
|
|
35
|
+
{ t: "chat", who: "scout", channel: "general", text: "scout here — watching #team.>" },
|
|
36
|
+
{ t: "anycast", who: "alice", service: "reviewer", text: "review needed on PR #51 (channels hierarchy)" },
|
|
37
|
+
{ t: "status", who: "linus", status: "working", activity: "reviewing PR #42 · auth guards" },
|
|
38
|
+
{ t: "chat", who: "linus", channel: "team.review", text: "left 2 comments on PR #42 — small nits" },
|
|
39
|
+
{ t: "dm", who: "alice", to: "dave", text: "want me to stub the key so you can keep planning?" },
|
|
40
|
+
{ t: "dm", who: "dave", to: "alice", text: "yes — a no-op stub is perfect for now" },
|
|
41
|
+
{ t: "burst", who: "linus", to: ["bob", "dave", "maya"], text: "ship it 🚀" },
|
|
42
|
+
{ t: "chat", who: "bob", channel: "general", text: "@alice key wired — you're unblocked", mentions: ["alice"] },
|
|
43
|
+
{ t: "status", who: "alice", status: "working", activity: "back on the auth module" },
|
|
44
|
+
{ t: "status", who: "maya", status: "offline" },
|
|
45
|
+
{ t: "chat", who: "dave", channel: "incidents", text: "CI flake traced to a race in channels.ts — fix incoming" },
|
|
46
|
+
{ t: "status", who: "maya", status: "idle", activity: "reading the NATS v3 notes" },
|
|
47
|
+
{ t: "dm", who: "maya", to: "linus", text: "sent the NATS v3 notes your way" },
|
|
48
|
+
{ t: "chat", who: "linus", channel: "team.frontend", text: "frontend review queue is clear ✓" },
|
|
49
|
+
];
|
|
50
|
+
export async function demo(argv) {
|
|
51
|
+
const { values } = parseArgs({
|
|
52
|
+
args: argv,
|
|
53
|
+
allowPositionals: true,
|
|
54
|
+
options: {
|
|
55
|
+
space: { type: "string" },
|
|
56
|
+
server: { type: "string" },
|
|
57
|
+
interval: { type: "string" },
|
|
58
|
+
once: { type: "boolean" },
|
|
59
|
+
creds: { type: "string" },
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
const space = values.space ?? DEFAULT_SPACE;
|
|
63
|
+
const server = values.server ?? DEFAULT_SERVER;
|
|
64
|
+
const interval = values.interval ? Number(values.interval) : 1200;
|
|
65
|
+
const creds = values.creds ? readFileSync(values.creds, "utf8") : undefined;
|
|
66
|
+
if (!(await isReachable(server, { creds }))) {
|
|
67
|
+
console.error(c.red(`Can't reach NATS at ${server}. Run: pnpm cotal up`));
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
const eps = new Map();
|
|
71
|
+
// consume:true so each agent's inbox/streams exist — otherwise peer DMs (unicast) have no
|
|
72
|
+
// backing stream. registerPresence:true puts them in the roster; watchPresence:false (the
|
|
73
|
+
// console is the watcher). channels:["general"] just ensures the chat stream is bound; we
|
|
74
|
+
// publish to every channel explicitly regardless of subscription.
|
|
75
|
+
const make = async (name, role) => {
|
|
76
|
+
const ep = new CotalEndpoint({
|
|
77
|
+
space,
|
|
78
|
+
servers: server,
|
|
79
|
+
creds,
|
|
80
|
+
card: { name, role, kind: "agent" },
|
|
81
|
+
channels: ["general"],
|
|
82
|
+
consume: true,
|
|
83
|
+
registerPresence: true,
|
|
84
|
+
watchPresence: false,
|
|
85
|
+
});
|
|
86
|
+
ep.on("error", () => { });
|
|
87
|
+
await ep.start();
|
|
88
|
+
eps.set(name, ep);
|
|
89
|
+
};
|
|
90
|
+
for (const a of AGENTS)
|
|
91
|
+
await make(a.name, a.role);
|
|
92
|
+
console.log(`${c.bold("cotal demo")} — ${eps.size} agents live in space ${c.bold(space)}`);
|
|
93
|
+
console.log(c.dim(` ${[...eps.keys()].join(", ")} (+ scout joins mid-trace)`));
|
|
94
|
+
console.log(` watch it: ${c.cyan(`cotal console --space ${space}`)} ${c.dim("or")} ${c.cyan(`cotal web --space ${space}`)}`);
|
|
95
|
+
console.log(c.dim(` ${values.once ? "single pass" : "looping"} · ~${interval}ms/step · Ctrl-C to stop\n`));
|
|
96
|
+
const idOf = (n) => eps.get(n)?.card.id;
|
|
97
|
+
const run = async (a) => {
|
|
98
|
+
const ep = "who" in a ? eps.get(a.who) : undefined;
|
|
99
|
+
switch (a.t) {
|
|
100
|
+
case "status":
|
|
101
|
+
if (!ep)
|
|
102
|
+
return;
|
|
103
|
+
if (a.activity !== undefined)
|
|
104
|
+
await ep.setActivity(a.activity);
|
|
105
|
+
await ep.setStatus(a.status);
|
|
106
|
+
return;
|
|
107
|
+
case "chat":
|
|
108
|
+
await ep?.multicast(a.text, { channel: a.channel, mentions: a.mentions });
|
|
109
|
+
return;
|
|
110
|
+
case "dm": {
|
|
111
|
+
const tid = idOf(a.to);
|
|
112
|
+
if (ep && tid)
|
|
113
|
+
await ep.unicast(tid, a.text);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
case "burst":
|
|
117
|
+
for (const to of a.to) {
|
|
118
|
+
const tid = idOf(to);
|
|
119
|
+
if (ep && tid)
|
|
120
|
+
await ep.unicast(tid, a.text); // back-to-back → inside the coalesce window
|
|
121
|
+
}
|
|
122
|
+
return;
|
|
123
|
+
case "anycast":
|
|
124
|
+
await ep?.anycast(a.service, a.text);
|
|
125
|
+
return;
|
|
126
|
+
case "join":
|
|
127
|
+
if (!eps.has(a.who))
|
|
128
|
+
await make(a.who, a.role);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
let stopping = false;
|
|
133
|
+
const shutdown = async () => {
|
|
134
|
+
if (stopping)
|
|
135
|
+
return;
|
|
136
|
+
stopping = true;
|
|
137
|
+
console.log(c.dim("\nstopping — agents going offline…"));
|
|
138
|
+
for (const ep of eps.values())
|
|
139
|
+
await ep.stop().catch(() => { });
|
|
140
|
+
process.exit(0);
|
|
141
|
+
};
|
|
142
|
+
process.on("SIGINT", () => void shutdown());
|
|
143
|
+
process.on("SIGTERM", () => void shutdown());
|
|
144
|
+
do {
|
|
145
|
+
for (const a of SCRIPT) {
|
|
146
|
+
if (stopping)
|
|
147
|
+
break;
|
|
148
|
+
try {
|
|
149
|
+
await run(a);
|
|
150
|
+
}
|
|
151
|
+
catch (e) {
|
|
152
|
+
console.error(c.dim(` (skipped ${a.t} from ${"who" in a ? a.who : "?"}: ${e.message})`));
|
|
153
|
+
}
|
|
154
|
+
await sleep(interval);
|
|
155
|
+
}
|
|
156
|
+
if (!values.once && !stopping)
|
|
157
|
+
await sleep(interval * 2);
|
|
158
|
+
} while (!values.once && !stopping);
|
|
159
|
+
if (values.once)
|
|
160
|
+
await shutdown();
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=demo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Administrative history operations. Purges JetStream backlog only; live in-process
|
|
2
|
+
* agent buffers may still contain messages already delivered before the purge. */
|
|
3
|
+
export declare function history(argv: string[]): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAaA;mFACmF;AACnF,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC3D"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { parseArgs } from "node:util";
|
|
3
|
+
import { authDir, clearSpaceHistory, DEFAULT_SERVER, DEFAULT_SPACE, loadSpaceAuth, mintCreds, newIdentity, } from "@cotal-ai/core";
|
|
4
|
+
import { c } from "../ui.js";
|
|
5
|
+
/** Administrative history operations. Purges JetStream backlog only; live in-process
|
|
6
|
+
* agent buffers may still contain messages already delivered before the purge. */
|
|
7
|
+
export async function history(argv) {
|
|
8
|
+
const { values, positionals } = parseArgs({
|
|
9
|
+
args: argv,
|
|
10
|
+
allowPositionals: true,
|
|
11
|
+
options: {
|
|
12
|
+
server: { type: "string" },
|
|
13
|
+
space: { type: "string" },
|
|
14
|
+
creds: { type: "string" },
|
|
15
|
+
dms: { type: "boolean" },
|
|
16
|
+
force: { type: "boolean" },
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
if (positionals[0] !== "clear")
|
|
20
|
+
return usage();
|
|
21
|
+
if (!values.force) {
|
|
22
|
+
console.error(c.red("refusing to clear history without --force"));
|
|
23
|
+
console.error(c.dim("usage: cotal history clear --force [--dms] [--space <s>] [--server <url>]"));
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
const space = values.space ?? DEFAULT_SPACE;
|
|
27
|
+
const server = values.server ?? DEFAULT_SERVER;
|
|
28
|
+
const creds = values.creds ? readFileSync(values.creds, "utf8") : await managerCreds();
|
|
29
|
+
const result = await clearSpaceHistory({
|
|
30
|
+
servers: server,
|
|
31
|
+
space,
|
|
32
|
+
creds,
|
|
33
|
+
includeDms: values.dms,
|
|
34
|
+
});
|
|
35
|
+
const dm = result.dm === undefined ? "" : `, ${result.dm} DM message${result.dm === 1 ? "" : "s"}`;
|
|
36
|
+
console.log(c.green(`✓ cleared ${result.chat} channel message${result.chat === 1 ? "" : "s"}${dm} from "${space}"`));
|
|
37
|
+
}
|
|
38
|
+
async function managerCreds() {
|
|
39
|
+
const auth = loadSpaceAuth(authDir(process.cwd()));
|
|
40
|
+
if (!auth)
|
|
41
|
+
return undefined;
|
|
42
|
+
return mintCreds(auth, newIdentity(), "manager");
|
|
43
|
+
}
|
|
44
|
+
function usage() {
|
|
45
|
+
console.error(c.red("usage: cotal history clear --force [--dms] [--space <s>] [--server <url>] [--creds <path>]"));
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,SAAS,EACT,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B;mFACmF;AACnF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC3B;KACF,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,EAAE,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC;IACvF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACrC,OAAO,EAAE,MAAM;QACf,KAAK;QACL,KAAK;QACL,UAAU,EAAE,MAAM,CAAC,GAAG;KACvB,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC,CAAC;IACnH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"AAiBA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuNxD"}
|
package/dist/commands/join.js
CHANGED
|
@@ -2,7 +2,7 @@ import { parseArgs } from "node:util";
|
|
|
2
2
|
import { userInfo } from "node:os";
|
|
3
3
|
import { readFileSync } from "node:fs";
|
|
4
4
|
import * as readline from "node:readline";
|
|
5
|
-
import { CotalEndpoint, isReachable, parseJoinLink, DEFAULT_SERVER, } from "@cotal-ai/core";
|
|
5
|
+
import { CotalEndpoint, isReachable, parseJoinLink, DEFAULT_SERVER, DEFAULT_SPACE, } from "@cotal-ai/core";
|
|
6
6
|
import { c, statusBadge } from "../ui.js";
|
|
7
7
|
export async function join(argv) {
|
|
8
8
|
const { values } = parseArgs({
|
|
@@ -23,7 +23,7 @@ export async function join(argv) {
|
|
|
23
23
|
});
|
|
24
24
|
// A join link carries server + auth + space; explicit flags still override it.
|
|
25
25
|
const link = values.link ? parseJoinLink(values.link) : undefined;
|
|
26
|
-
const space = values.space ?? link?.space ??
|
|
26
|
+
const space = values.space ?? link?.space ?? DEFAULT_SPACE;
|
|
27
27
|
const name = values.name ?? userInfo().username;
|
|
28
28
|
const server = values.server ?? link?.servers ?? DEFAULT_SERVER;
|
|
29
29
|
const channel = values.channel ?? link?.channels?.[0] ?? "general";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-time onboarding: make the repo's Claude sessions cotal-aware by installing the
|
|
3
|
+
* cotal plugin (the `cotal_*` tools + presence hooks). Idempotent — safe to re-run.
|
|
4
|
+
* `cotal cmux go` runs this for you; you can also run it standalone.
|
|
5
|
+
*/
|
|
6
|
+
export declare function setup(): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAyC3C"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { dirname, join, resolve } from "node:path";
|
|
4
|
+
import { c } from "../ui.js";
|
|
5
|
+
/** Walk up to the cotal repo root (where the plugin marketplace manifest lives). */
|
|
6
|
+
function repoRoot(start = process.cwd()) {
|
|
7
|
+
let dir = resolve(start);
|
|
8
|
+
for (;;) {
|
|
9
|
+
if (existsSync(join(dir, ".claude-plugin", "marketplace.json")))
|
|
10
|
+
return dir;
|
|
11
|
+
const parent = dirname(dir);
|
|
12
|
+
if (parent === dir)
|
|
13
|
+
throw new Error("couldn't find the cotal repo root (.claude-plugin/marketplace.json)");
|
|
14
|
+
dir = parent;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** Capture a command's stdout (for idempotency checks). */
|
|
18
|
+
function read(cmd, args) {
|
|
19
|
+
return execFileSync(cmd, args, { encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] });
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* One-time onboarding: make the repo's Claude sessions cotal-aware by installing the
|
|
23
|
+
* cotal plugin (the `cotal_*` tools + presence hooks). Idempotent — safe to re-run.
|
|
24
|
+
* `cotal cmux go` runs this for you; you can also run it standalone.
|
|
25
|
+
*/
|
|
26
|
+
export async function setup() {
|
|
27
|
+
const root = repoRoot();
|
|
28
|
+
// 1) The installed plugin runs the bundled dist/*.cjs — make sure it's built.
|
|
29
|
+
const bundle = join(root, "extensions", "connector-claude-code", "dist", "mcp.cjs");
|
|
30
|
+
if (!existsSync(bundle)) {
|
|
31
|
+
console.log(c.dim("Building the connector bundle…"));
|
|
32
|
+
execFileSync("pnpm", ["--filter", "@cotal-ai/connector-claude-code", "bundle"], {
|
|
33
|
+
cwd: root,
|
|
34
|
+
stdio: "inherit",
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// 2) Register the cotal-mesh marketplace (+ install the plugin) via Claude Code's CLI.
|
|
38
|
+
let marketplaces;
|
|
39
|
+
try {
|
|
40
|
+
marketplaces = read("claude", ["plugin", "marketplace", "list"]);
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
console.error(c.red("Couldn't run `claude` — is Claude Code installed and on your PATH?"));
|
|
44
|
+
console.error(c.dim("Once it is, run these two commands manually:"));
|
|
45
|
+
console.error(c.dim(` claude plugin marketplace add ${root}`));
|
|
46
|
+
console.error(c.dim(" claude plugin install cotal@cotal-mesh --scope local"));
|
|
47
|
+
throw e;
|
|
48
|
+
}
|
|
49
|
+
if (!/\bcotal-mesh\b/.test(marketplaces)) {
|
|
50
|
+
console.log(c.dim("Registering the cotal-mesh marketplace…"));
|
|
51
|
+
execFileSync("claude", ["plugin", "marketplace", "add", root], { stdio: "inherit" });
|
|
52
|
+
}
|
|
53
|
+
// 3) Install the plugin (repo-local scope) if it isn't already.
|
|
54
|
+
if (/\bcotal@cotal-mesh\b/.test(read("claude", ["plugin", "list"]))) {
|
|
55
|
+
console.log(c.green("✓ cotal plugin already set up"));
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
console.log(c.dim("Installing the cotal plugin…"));
|
|
59
|
+
execFileSync("claude", ["plugin", "install", "cotal@cotal-mesh", "--scope", "local"], {
|
|
60
|
+
stdio: "inherit",
|
|
61
|
+
});
|
|
62
|
+
console.log(c.green("✓ cotal plugin installed — Claude sessions in this repo now have the cotal tools"));
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAsBA,wBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEtD"}
|
package/dist/commands/up.js
CHANGED
|
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
|
|
|
2
2
|
import { mkdirSync, writeFileSync, readFileSync, existsSync } from "node:fs";
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
import { parseArgs } from "node:util";
|
|
5
|
-
import { isReachable, DEFAULT_SERVER, authDir, createSpaceAuth, loadSpaceAuth, saveSpaceAuth, serverConfig, mintCreds, newIdentity, setupSpaceStreams, seedChannelRegistry, } from "@cotal-ai/core";
|
|
5
|
+
import { isReachable, DEFAULT_SERVER, DEFAULT_SPACE, authDir, createSpaceAuth, loadSpaceAuth, saveSpaceAuth, serverConfig, mintCreds, newIdentity, setupSpaceStreams, seedChannelRegistry, } from "@cotal-ai/core";
|
|
6
6
|
import { c } from "../ui.js";
|
|
7
7
|
export async function up(argv) {
|
|
8
8
|
const { values } = parseArgs({
|
|
@@ -26,7 +26,7 @@ export async function up(argv) {
|
|
|
26
26
|
// Secure by default: start the server in decentralized-JWT mode so agents must present
|
|
27
27
|
// minted creds. `--open` runs the unauthenticated dev mesh instead.
|
|
28
28
|
const useAuth = !values.open;
|
|
29
|
-
const space = values.space ??
|
|
29
|
+
const space = values.space ?? DEFAULT_SPACE;
|
|
30
30
|
const seedFile = loadChannelsFile(values.channels);
|
|
31
31
|
const setup = useAuth ? await authSetup(storeDir, server, space) : undefined;
|
|
32
32
|
// Auth mode's port comes from the generated config; open mode must pass it explicitly, else
|
package/dist/commands/up.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAc;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,IAAI;QACV,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,sCAAsC;YACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,gDAAgD;SAC/E;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAC/C,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,CAAC;IAC/D,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,uFAAuF;IACvF,oEAAoE;IACpE,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
|