@chances-ai/cli 10.0.0 → 11.0.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/boot/dispose.d.ts.map +1 -1
- package/dist/boot/dispose.js +11 -0
- package/dist/boot/dispose.js.map +1 -1
- package/dist/boot/load-runtime.d.ts +10 -0
- package/dist/boot/load-runtime.d.ts.map +1 -1
- package/dist/boot/load-runtime.js.map +1 -1
- package/dist/commands/chat.d.ts +29 -6
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +116 -36
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/prompt.js +4 -0
- package/dist/commands/prompt.js.map +1 -1
- package/dist/slash/index.d.ts +6 -0
- package/dist/slash/index.d.ts.map +1 -1
- package/dist/slash/index.js +2 -0
- package/dist/slash/index.js.map +1 -1
- package/dist/slash/terminal.d.ts +18 -0
- package/dist/slash/terminal.d.ts.map +1 -0
- package/dist/slash/terminal.js +36 -0
- package/dist/slash/terminal.js.map +1 -0
- package/dist/terminal/panel.d.ts +99 -0
- package/dist/terminal/panel.d.ts.map +1 -0
- package/dist/terminal/panel.js +176 -0
- package/dist/terminal/panel.js.map +1 -0
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispose.d.ts","sourceRoot":"","sources":["../../src/boot/dispose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"dispose.d.ts","sourceRoot":"","sources":["../../src/boot/dispose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DnE"}
|
package/dist/boot/dispose.js
CHANGED
|
@@ -43,6 +43,17 @@ export async function disposeRuntime(ctx) {
|
|
|
43
43
|
ctx.logger.warn(`pty sessions dispose failed: ${e.message}`);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
+
// (5.6) Terminal panel AFTER pty and BEFORE mcp: tear down the user terminal's
|
|
47
|
+
// tmux server (only if it was ever attached this process — the disposer
|
|
48
|
+
// self-gates). Synchronous + detached-spawn internally, so it never blocks.
|
|
49
|
+
if (ctx.terminalPanel) {
|
|
50
|
+
try {
|
|
51
|
+
ctx.terminalPanel.dispose();
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
ctx.logger.warn(`terminal panel dispose failed: ${e.message}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
46
57
|
if (ctx.mcp) {
|
|
47
58
|
try {
|
|
48
59
|
await ctx.mcp.dispose();
|
package/dist/boot/dispose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispose.js","sourceRoot":"","sources":["../../src/boot/dispose.ts"],"names":[],"mappings":"AAEA;;;;+BAI+B;AAC/B,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAc,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAe;IAClD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAC9B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElB,6EAA6E;IAC7E,0EAA0E;IAC1E,aAAa;IACb,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAqC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,mEAAmE;IACnE,iEAAiE;IACjE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,gBAAgB,MAAM,CAAC,SAAS,CAAC,MAAM,kCAAkC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvG,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAiC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAwB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,6BAA6B;IAC7B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAyB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"dispose.js","sourceRoot":"","sources":["../../src/boot/dispose.ts"],"names":[],"mappings":"AAEA;;;;+BAI+B;AAC/B,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAc,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAe;IAClD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAC9B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElB,6EAA6E;IAC7E,0EAA0E;IAC1E,aAAa;IACb,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAqC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,mEAAmE;IACnE,iEAAiE;IACjE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,gBAAgB,MAAM,CAAC,SAAS,CAAC,MAAM,kCAAkC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvG,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAiC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,+EAA+E;IAC/E,wEAAwE;IACxE,4EAA4E;IAC5E,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAmC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAwB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,6BAA6B;IAC7B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAyB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -7,6 +7,7 @@ import { type AgentDefinition, type SkippedAgent } from "@chances-ai/agents";
|
|
|
7
7
|
import { TelemetrySink } from "@chances-ai/telemetry";
|
|
8
8
|
import { McpHost, type McpResolvedResource } from "@chances-ai/mcp";
|
|
9
9
|
import { PluginHost, type Plugin } from "@chances-ai/plugin-api";
|
|
10
|
+
import type { TerminalPanel } from "../terminal/panel.js";
|
|
10
11
|
export interface AppContext {
|
|
11
12
|
bus: EventBus;
|
|
12
13
|
logger: Logger;
|
|
@@ -127,6 +128,15 @@ export interface AppContext {
|
|
|
127
128
|
* MCP / no resources (engine skips the step).
|
|
128
129
|
*/
|
|
129
130
|
resolveMcpMentions?: (prompt: string, signal: AbortSignal) => Promise<McpResolvedResource[]>;
|
|
131
|
+
/**
|
|
132
|
+
* (5.6) User terminal pane (tmux passthrough). Created once per process by the
|
|
133
|
+
* interactive `chat` command (it's a TTY-only escape-hatch) and assigned here
|
|
134
|
+
* so `disposeRuntime` can `kill-server` on exit — the same post-construction
|
|
135
|
+
* assignment pattern as `gate`/`compactor`. Undefined for `-p`/rpc/acp and
|
|
136
|
+
* before `runInteractive` sets it. `/terminal` opens it; the panel survives a
|
|
137
|
+
* `/resume` respawn (per-workspace tmux socket, process-level lifetime).
|
|
138
|
+
*/
|
|
139
|
+
terminalPanel?: TerminalPanel;
|
|
130
140
|
}
|
|
131
141
|
export interface RuntimeOverrides {
|
|
132
142
|
provider?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-runtime.d.ts","sourceRoot":"","sources":["../../src/boot/load-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,cAAc,EACd,kBAAkB,EAElB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EAET,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,aAAa,EACb,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAmC,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,OAAO,EACP,KAAK,mBAAmB,EAKzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"load-runtime.d.ts","sourceRoot":"","sources":["../../src/boot/load-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-runtime.js","sourceRoot":"","sources":["../../src/boot/load-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"load-runtime.js","sourceRoot":"","sources":["../../src/boot/load-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/chat.d.ts
CHANGED
|
@@ -1,14 +1,37 @@
|
|
|
1
1
|
import type { AppContext } from "../boot/load-runtime.js";
|
|
2
2
|
import type { CliCommand } from "./registry.js";
|
|
3
3
|
/**
|
|
4
|
-
* Interactive Ink chat with
|
|
5
|
-
* `/resume <id>` requests a respawn; the outer loop tears down the current
|
|
6
|
-
* engine + TUI instance and re-enters with the chosen session. `/clear`
|
|
7
|
-
* stays in-session (no respawn) — see slash/clear.ts.
|
|
4
|
+
* Interactive Ink chat with two nested loops:
|
|
8
5
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* - OUTER (session/respawn): builds one ChatViewModel, engine, ModalController,
|
|
7
|
+
* and built-in PluginHost per session. `/resume <id>` requests a respawn —
|
|
8
|
+
* the outer loop tears the session down and re-enters with the chosen one.
|
|
9
|
+
* `/clear` stays in-session (see slash/clear.ts).
|
|
10
|
+
* - INNER (TUI render, 5.6): `runTuiRenderLoop` renders Ink, waits for it to
|
|
11
|
+
* unmount, and either suspends-to-terminal (`/terminal` → unmount → hand the
|
|
12
|
+
* real TTY to tmux/a shell → remount the SAME vm) or returns so the outer
|
|
13
|
+
* loop can respawn/exit. The split keeps a terminal suspend from looking
|
|
14
|
+
* like session termination.
|
|
11
15
|
*/
|
|
12
16
|
export declare function runInteractive(ctx: AppContext): Promise<number>;
|
|
17
|
+
/**
|
|
18
|
+
* (5.6) The inner TUI-render loop, extracted from `runInteractive` so the
|
|
19
|
+
* suspend↔remount sequencing is unit-testable without seizing a real TTY.
|
|
20
|
+
*
|
|
21
|
+
* Renders the chat, waits for the Ink instance to unmount, then:
|
|
22
|
+
* - if a terminal suspend was requested → open the panel (blocks on the real
|
|
23
|
+
* TTY until the user detaches/exits) and re-render the SAME view model;
|
|
24
|
+
* - otherwise → return, so the outer loop can respawn or exit.
|
|
25
|
+
*
|
|
26
|
+
* The view model / engine / session are owned by the caller's outer scope, so
|
|
27
|
+
* each re-render restores scrollback and history without rebuilding them.
|
|
28
|
+
*/
|
|
29
|
+
export declare function runTuiRenderLoop(opts: {
|
|
30
|
+
render: () => {
|
|
31
|
+
waitUntilExit: () => Promise<void>;
|
|
32
|
+
};
|
|
33
|
+
openPanel: () => void;
|
|
34
|
+
consumeTerminalRequest: () => boolean;
|
|
35
|
+
}): Promise<void>;
|
|
13
36
|
export declare const chatCommand: CliCommand;
|
|
14
37
|
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKhD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAkMrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,MAAM;QAAE,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IACrD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,sBAAsB,EAAE,MAAM,OAAO,CAAC;CACvC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB;AAED,eAAO,MAAM,WAAW,EAAE,UAczB,CAAC"}
|
package/dist/commands/chat.js
CHANGED
|
@@ -5,18 +5,30 @@ import { ChatViewModel, ModalController, renderChat } from "@chances-ai/tui";
|
|
|
5
5
|
import { buildEngine } from "../boot/create-app.js";
|
|
6
6
|
import { runPrompt } from "./prompt.js";
|
|
7
7
|
import { registerBuiltinSlashCommands } from "../slash/index.js";
|
|
8
|
+
import { canOpenTerminal, createTerminalPanel } from "../terminal/panel.js";
|
|
8
9
|
/**
|
|
9
|
-
* Interactive Ink chat with
|
|
10
|
-
* `/resume <id>` requests a respawn; the outer loop tears down the current
|
|
11
|
-
* engine + TUI instance and re-enters with the chosen session. `/clear`
|
|
12
|
-
* stays in-session (no respawn) — see slash/clear.ts.
|
|
10
|
+
* Interactive Ink chat with two nested loops:
|
|
13
11
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
12
|
+
* - OUTER (session/respawn): builds one ChatViewModel, engine, ModalController,
|
|
13
|
+
* and built-in PluginHost per session. `/resume <id>` requests a respawn —
|
|
14
|
+
* the outer loop tears the session down and re-enters with the chosen one.
|
|
15
|
+
* `/clear` stays in-session (see slash/clear.ts).
|
|
16
|
+
* - INNER (TUI render, 5.6): `runTuiRenderLoop` renders Ink, waits for it to
|
|
17
|
+
* unmount, and either suspends-to-terminal (`/terminal` → unmount → hand the
|
|
18
|
+
* real TTY to tmux/a shell → remount the SAME vm) or returns so the outer
|
|
19
|
+
* loop can respawn/exit. The split keeps a terminal suspend from looking
|
|
20
|
+
* like session termination.
|
|
16
21
|
*/
|
|
17
22
|
export async function runInteractive(ctx) {
|
|
18
23
|
const store = new SessionStore(ctx.workspaceRoot);
|
|
19
24
|
let resumeFromId;
|
|
25
|
+
// (5.6) One terminal panel for the whole process — a TTY-only user escape-
|
|
26
|
+
// hatch. Built here (not in loadRuntime) because it's interactive-chat-only,
|
|
27
|
+
// and assigned to ctx so `disposeRuntime` owns the kill-server (the same
|
|
28
|
+
// post-construction assignment pattern as gate/compactor). It survives
|
|
29
|
+
// `/resume` respawns: per-workspace tmux socket, process-level lifetime.
|
|
30
|
+
const panel = createTerminalPanel({ cwd: ctx.workspaceRoot, workspaceRoot: ctx.workspaceRoot });
|
|
31
|
+
ctx.terminalPanel = panel;
|
|
20
32
|
while (true) {
|
|
21
33
|
const session = resumeFromId
|
|
22
34
|
? SessionManager.resume(resumeFromId, store) ?? SessionManager.create("interactive", store)
|
|
@@ -42,36 +54,17 @@ export async function runInteractive(ctx) {
|
|
|
42
54
|
// shared across respawns — keep them, layer builtins on top.
|
|
43
55
|
const builtinHost = new PluginHost(ctx.bus, ctx.logger, ctx.tools);
|
|
44
56
|
let respawnRequest = undefined;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
// Unmount on the next macrotask so dispatchSlash can return and the
|
|
53
|
-
// caller can append the slash command's output line before teardown.
|
|
54
|
-
setTimeout(() => handle.unmount(), 0);
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
// Snapshot the dispatchable command list for the autocomplete hint —
|
|
58
|
-
// covers builtins + externally-loaded plugin commands. Recomputed per
|
|
59
|
-
// respawn; if a plugin registers a command mid-session the hint won't
|
|
60
|
-
// update until the next respawn, which is fine (plugins shouldn't be
|
|
61
|
-
// hot-swapping their command set).
|
|
62
|
-
const availableSlashCommands = [
|
|
63
|
-
...builtinHost.slashCommands(),
|
|
64
|
-
...(ctx.plugins ? ctx.plugins.slashCommands() : []),
|
|
65
|
-
].map((c) => ({ name: c.name, description: c.description }));
|
|
66
|
-
// (5.4) Snapshot MCP resources for `@<server>:<uri>` autocomplete. Recomputed
|
|
67
|
-
// per respawn (same cadence as the slash-command snapshot). Undefined when
|
|
68
|
-
// no MCP host is connected.
|
|
69
|
-
const availableResources = ctx.mcp
|
|
70
|
-
? ctx.mcp.resources().map((r) => ({ ref: `${r.server}:${r.uri}`, name: r.name }))
|
|
71
|
-
: undefined;
|
|
57
|
+
// (5.6) Set by the `/terminal` dep to suspend the TUI after unmount; the
|
|
58
|
+
// inner render loop reads + clears it to decide remount vs. exit.
|
|
59
|
+
let terminalRequest = false;
|
|
60
|
+
// Assigned by the inner render loop each iteration. The respawn/openTerminal
|
|
61
|
+
// deps capture this binding (not a value), so they always unmount the
|
|
62
|
+
// CURRENT Ink instance — including after a `/terminal` remount.
|
|
63
|
+
let handle;
|
|
72
64
|
// (5.4 codex R1 M2) One in-flight guard shared by the normal-prompt path
|
|
73
65
|
// AND the MCP-prompt `submitPrompt` path, so a slash-submitted turn can't
|
|
74
66
|
// run concurrently with a typed turn against the same SessionManager.
|
|
67
|
+
// Declared before slash registration so the `/terminal` gate can read it.
|
|
75
68
|
let turnInFlight = false;
|
|
76
69
|
const runTurnGuarded = async (prompt, opts = {}) => {
|
|
77
70
|
if (turnInFlight) {
|
|
@@ -103,7 +96,56 @@ export async function runInteractive(ctx) {
|
|
|
103
96
|
turnInFlight = false;
|
|
104
97
|
}
|
|
105
98
|
};
|
|
106
|
-
|
|
99
|
+
await registerBuiltinSlashCommands(builtinHost, {
|
|
100
|
+
ctx,
|
|
101
|
+
vm,
|
|
102
|
+
session,
|
|
103
|
+
store,
|
|
104
|
+
respawn: (id) => {
|
|
105
|
+
respawnRequest = id;
|
|
106
|
+
// Unmount on the next macrotask so dispatchSlash can return and the
|
|
107
|
+
// caller can append the slash command's output line before teardown.
|
|
108
|
+
setTimeout(() => handle.unmount(), 0);
|
|
109
|
+
},
|
|
110
|
+
openTerminal: () => {
|
|
111
|
+
// (5.6 codex R1 MUST-FIX #2) The panel's spawnSync blocks the event
|
|
112
|
+
// loop for its whole lifetime, so refuse mid-turn / while background
|
|
113
|
+
// tasks run (would freeze streaming, subagent finalize, OTel flush).
|
|
114
|
+
// The gate is pure + unit-tested; messaging stays in Ink (mounted here)
|
|
115
|
+
// — the panel's own notices print to stdout once Ink is unmounted.
|
|
116
|
+
const gate = canOpenTerminal({
|
|
117
|
+
turnInFlight,
|
|
118
|
+
runningBackgroundTasks: ctx.backgroundTasks?.list().filter((t) => t.status === "running").length ?? 0,
|
|
119
|
+
isTTY: process.stdout.isTTY === true,
|
|
120
|
+
});
|
|
121
|
+
if (!gate.ok) {
|
|
122
|
+
vm.pushInfo(gate.reason);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
// (5.6 codex R1 NICE #1) Pre-suspend hint while Ink is still mounted —
|
|
126
|
+
// the panel's own notices print after unmount (tmux clears the screen,
|
|
127
|
+
// so this is where the detach key is most visible).
|
|
128
|
+
vm.pushInfo("Opening terminal — Alt+J (tmux) or `exit` to return to chances.");
|
|
129
|
+
terminalRequest = true;
|
|
130
|
+
setTimeout(() => handle.unmount(), 0);
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
// Snapshot the dispatchable command list for the autocomplete hint —
|
|
134
|
+
// covers builtins + externally-loaded plugin commands. Recomputed per
|
|
135
|
+
// respawn; if a plugin registers a command mid-session the hint won't
|
|
136
|
+
// update until the next respawn, which is fine (plugins shouldn't be
|
|
137
|
+
// hot-swapping their command set).
|
|
138
|
+
const availableSlashCommands = [
|
|
139
|
+
...builtinHost.slashCommands(),
|
|
140
|
+
...(ctx.plugins ? ctx.plugins.slashCommands() : []),
|
|
141
|
+
].map((c) => ({ name: c.name, description: c.description }));
|
|
142
|
+
// (5.4) Snapshot MCP resources for `@<server>:<uri>` autocomplete. Recomputed
|
|
143
|
+
// per respawn (same cadence as the slash-command snapshot). Undefined when
|
|
144
|
+
// no MCP host is connected.
|
|
145
|
+
const availableResources = ctx.mcp
|
|
146
|
+
? ctx.mcp.resources().map((r) => ({ ref: `${r.server}:${r.uri}`, name: r.name }))
|
|
147
|
+
: undefined;
|
|
148
|
+
const onSlash = async (line) => {
|
|
107
149
|
const { name, args } = parseSlashInput(line);
|
|
108
150
|
if (!name) {
|
|
109
151
|
vm.pushError("Unknown command: /");
|
|
@@ -132,8 +174,23 @@ export async function runInteractive(ctx) {
|
|
|
132
174
|
if (result.submitPrompt) {
|
|
133
175
|
await runTurnGuarded(result.submitPrompt, { expandMentions: false });
|
|
134
176
|
}
|
|
135
|
-
}
|
|
136
|
-
|
|
177
|
+
};
|
|
178
|
+
// (5.6 D3) Inner TUI-render loop. A `/terminal` suspend unmounts Ink, opens
|
|
179
|
+
// the panel over the real TTY (blocking the loop), then REMOUNTS the same
|
|
180
|
+
// vm/engine/session — vm scrollback and history live in this outer scope, so
|
|
181
|
+
// the remount preserves them by construction; a suspend is not a teardown.
|
|
182
|
+
await runTuiRenderLoop({
|
|
183
|
+
render: () => {
|
|
184
|
+
handle = renderChat(vm, (prompt) => runTurnGuarded(prompt), onSlash, modal, availableSlashCommands, availableResources);
|
|
185
|
+
return handle;
|
|
186
|
+
},
|
|
187
|
+
openPanel: () => panel.open(),
|
|
188
|
+
consumeTerminalRequest: () => {
|
|
189
|
+
const requested = terminalRequest;
|
|
190
|
+
terminalRequest = false;
|
|
191
|
+
return requested;
|
|
192
|
+
},
|
|
193
|
+
});
|
|
137
194
|
vm.detach();
|
|
138
195
|
await builtinHost.dispose();
|
|
139
196
|
if (respawnRequest === undefined || respawnRequest === "exit")
|
|
@@ -141,6 +198,29 @@ export async function runInteractive(ctx) {
|
|
|
141
198
|
resumeFromId = respawnRequest;
|
|
142
199
|
}
|
|
143
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* (5.6) The inner TUI-render loop, extracted from `runInteractive` so the
|
|
203
|
+
* suspend↔remount sequencing is unit-testable without seizing a real TTY.
|
|
204
|
+
*
|
|
205
|
+
* Renders the chat, waits for the Ink instance to unmount, then:
|
|
206
|
+
* - if a terminal suspend was requested → open the panel (blocks on the real
|
|
207
|
+
* TTY until the user detaches/exits) and re-render the SAME view model;
|
|
208
|
+
* - otherwise → return, so the outer loop can respawn or exit.
|
|
209
|
+
*
|
|
210
|
+
* The view model / engine / session are owned by the caller's outer scope, so
|
|
211
|
+
* each re-render restores scrollback and history without rebuilding them.
|
|
212
|
+
*/
|
|
213
|
+
export async function runTuiRenderLoop(opts) {
|
|
214
|
+
while (true) {
|
|
215
|
+
const handle = opts.render();
|
|
216
|
+
await handle.waitUntilExit();
|
|
217
|
+
if (opts.consumeTerminalRequest()) {
|
|
218
|
+
opts.openPanel();
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
144
224
|
export const chatCommand = {
|
|
145
225
|
name: "chat",
|
|
146
226
|
description: "Start an interactive chat, or with -p run a one-shot prompt.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/prompt.js
CHANGED
|
@@ -71,6 +71,10 @@ async function runSlashPrompt(ctx, line, format, autoApprove) {
|
|
|
71
71
|
// so scripts that grep on it stay stable; the actual respawn is
|
|
72
72
|
// silently dropped.
|
|
73
73
|
},
|
|
74
|
+
openTerminal: () => {
|
|
75
|
+
// (5.6) No-op in -p mode — there is no Ink TUI to suspend and no real
|
|
76
|
+
// interactive terminal to hand over in a one-shot run.
|
|
77
|
+
},
|
|
74
78
|
});
|
|
75
79
|
// Built-in first (so users can rely on the slash names always working);
|
|
76
80
|
// external plugins second (so `chances -p "/<plugin-cmd>"` still routes).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/slash/index.d.ts
CHANGED
|
@@ -10,6 +10,11 @@ import type { AppContext } from "../boot/load-runtime.js";
|
|
|
10
10
|
* `respawn` is the chat loop's "tear down + re-enter" hook. `/resume`
|
|
11
11
|
* triggers it with a target session id; `/clear` doesn't use it (it mutates
|
|
12
12
|
* the current session in place via SessionManager.clearTurns + vm.clearLines).
|
|
13
|
+
*
|
|
14
|
+
* `openTerminal` (5.6) is the chat loop's "suspend the TUI and hand the real
|
|
15
|
+
* terminal to tmux/a shell" hook; `/terminal` triggers it. The dep owns the
|
|
16
|
+
* gating (it refuses mid-turn / while background tasks run) and the unmount
|
|
17
|
+
* handshake, so the slash command is a thin trigger.
|
|
13
18
|
*/
|
|
14
19
|
export interface BuiltinSlashDeps {
|
|
15
20
|
ctx: AppContext;
|
|
@@ -17,6 +22,7 @@ export interface BuiltinSlashDeps {
|
|
|
17
22
|
session: SessionManager;
|
|
18
23
|
store: SessionStore;
|
|
19
24
|
respawn: (resumeSessionId?: string) => void;
|
|
25
|
+
openTerminal: () => void;
|
|
20
26
|
}
|
|
21
27
|
export declare function registerBuiltinSlashCommands(host: PluginHost, deps: BuiltinSlashDeps): Promise<void>;
|
|
22
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slash/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slash/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAc1D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,UAAU,CAAC;IAChB,EAAE,EAAE,aAAa,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
|
package/dist/slash/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { makeMcpPlugin } from "./mcp.js";
|
|
|
9
9
|
import { makeMcpPromptsPlugin } from "./mcp-prompts.js";
|
|
10
10
|
import { makeAgentsPlugin } from "./agents.js";
|
|
11
11
|
import { makeApprovalPlugin } from "./approval.js";
|
|
12
|
+
import { makeTerminalPlugin } from "./terminal.js";
|
|
12
13
|
export async function registerBuiltinSlashCommands(host, deps) {
|
|
13
14
|
// Order doesn't matter; each plugin only mutates its own command slot.
|
|
14
15
|
// `await` so any onLoad error (e.g. duplicate registration in a buggy
|
|
@@ -24,5 +25,6 @@ export async function registerBuiltinSlashCommands(host, deps) {
|
|
|
24
25
|
await host.load(makeMcpPromptsPlugin(deps));
|
|
25
26
|
await host.load(makeAgentsPlugin(deps));
|
|
26
27
|
await host.load(makeApprovalPlugin(deps));
|
|
28
|
+
await host.load(makeTerminalPlugin(deps));
|
|
27
29
|
}
|
|
28
30
|
//# sourceMappingURL=index.js.map
|
package/dist/slash/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/slash/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/slash/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAyBnD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAgB,EAChB,IAAsB;IAEtB,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Plugin } from "@chances-ai/plugin-api";
|
|
2
|
+
import type { BuiltinSlashDeps } from "./index.js";
|
|
3
|
+
/**
|
|
4
|
+
* `/terminal` (alias `/sh`) — open a full, interactive terminal inside chances.
|
|
5
|
+
*
|
|
6
|
+
* It suspends the Ink TUI and hands the real terminal to a persistent tmux
|
|
7
|
+
* session (or a raw login shell when tmux is absent), restoring the chat when
|
|
8
|
+
* the user detaches (tmux `M-j` / Alt+J) or exits the shell. Unlike the `pty`
|
|
9
|
+
* tool, this is a *user* terminal the agent does not drive.
|
|
10
|
+
*
|
|
11
|
+
* The command is a thin trigger: it delegates to `deps.openTerminal`, which
|
|
12
|
+
* owns the gating (refuses while a turn or background task is running, since
|
|
13
|
+
* the panel's `spawnSync` blocks the event loop) and the suspend handshake
|
|
14
|
+
* (set a request flag + unmount Ink). All user feedback flows through that dep,
|
|
15
|
+
* so `run` returns void.
|
|
16
|
+
*/
|
|
17
|
+
export declare function makeTerminalPlugin(deps: BuiltinSlashDeps): Plugin;
|
|
18
|
+
//# sourceMappingURL=terminal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/slash/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAqB,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAmBjE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { definePlugin } from "@chances-ai/plugin-api";
|
|
2
|
+
/**
|
|
3
|
+
* `/terminal` (alias `/sh`) — open a full, interactive terminal inside chances.
|
|
4
|
+
*
|
|
5
|
+
* It suspends the Ink TUI and hands the real terminal to a persistent tmux
|
|
6
|
+
* session (or a raw login shell when tmux is absent), restoring the chat when
|
|
7
|
+
* the user detaches (tmux `M-j` / Alt+J) or exits the shell. Unlike the `pty`
|
|
8
|
+
* tool, this is a *user* terminal the agent does not drive.
|
|
9
|
+
*
|
|
10
|
+
* The command is a thin trigger: it delegates to `deps.openTerminal`, which
|
|
11
|
+
* owns the gating (refuses while a turn or background task is running, since
|
|
12
|
+
* the panel's `spawnSync` blocks the event loop) and the suspend handshake
|
|
13
|
+
* (set a request flag + unmount Ink). All user feedback flows through that dep,
|
|
14
|
+
* so `run` returns void.
|
|
15
|
+
*/
|
|
16
|
+
export function makeTerminalPlugin(deps) {
|
|
17
|
+
const run = () => {
|
|
18
|
+
deps.openTerminal();
|
|
19
|
+
};
|
|
20
|
+
return definePlugin({
|
|
21
|
+
name: "builtin/terminal",
|
|
22
|
+
onLoad(ctx) {
|
|
23
|
+
ctx.registerSlashCommand({
|
|
24
|
+
name: "terminal",
|
|
25
|
+
description: "Open a full terminal (tmux) inside chances; Alt+J or `exit` to return.",
|
|
26
|
+
run,
|
|
27
|
+
});
|
|
28
|
+
ctx.registerSlashCommand({
|
|
29
|
+
name: "sh",
|
|
30
|
+
description: "Alias for /terminal.",
|
|
31
|
+
run,
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/slash/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkC,MAAM,wBAAwB,CAAC;AAGtF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,GAAG,GAAwB,GAAG,EAAE;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC,CAAC;IACF,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,kBAAkB;QACxB,MAAM,CAAC,GAAG;YACR,GAAG,CAAC,oBAAoB,CAAC;gBACvB,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,wEAAwE;gBACrF,GAAG;aACJ,CAAC,CAAC;YACH,GAAG,CAAC,oBAAoB,CAAC;gBACvB,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,sBAAsB;gBACnC,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
2
|
+
export interface TerminalPanel {
|
|
3
|
+
/**
|
|
4
|
+
* Synchronously suspend-and-attach: ensure the tmux session (creating it on
|
|
5
|
+
* first use) and attach over the real TTY, or fall back to a raw login shell
|
|
6
|
+
* when tmux is unavailable. Blocks the event loop until the user detaches
|
|
7
|
+
* (`M-j`) or exits the shell. Ink MUST already be unmounted.
|
|
8
|
+
*/
|
|
9
|
+
open(): void;
|
|
10
|
+
/**
|
|
11
|
+
* Best-effort teardown: `kill-server` for our socket, but only if this
|
|
12
|
+
* process ever attached a tmux session (so a chances instance that never
|
|
13
|
+
* opened `/terminal` does no work on exit). Detached `spawn` (not
|
|
14
|
+
* `spawnSync`) so `disposeRuntime`'s teardown chain isn't serialised.
|
|
15
|
+
* Idempotent. Safe because the socket is **per-instance** (see `socketName`),
|
|
16
|
+
* so we only ever tear down our own server.
|
|
17
|
+
*/
|
|
18
|
+
dispose(): void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Per-instance tmux socket name: `chances-term-<hash8(workspaceRoot)>-<id>`,
|
|
22
|
+
* where `id` is the process id.
|
|
23
|
+
*
|
|
24
|
+
* **Per-instance** (codex R2 reversed R1's per-workspace SHOULD-FIX #1): a
|
|
25
|
+
* per-workspace socket is shared by every chances in the same repo, so one
|
|
26
|
+
* process's `kill-server` on exit would destroy another's *active* terminal —
|
|
27
|
+
* a common, surprising failure. Scoping the socket to the pid means `open()`
|
|
28
|
+
* within one process still reattaches a detached session (a dev server survives
|
|
29
|
+
* detach→reattach in the same run) while `dispose()` only ever kills our own
|
|
30
|
+
* server. Matches claude-code's per-instance `claude-panel-<sid8>`. The
|
|
31
|
+
* trade-off is no cross-restart persistence and a leaked server on a hard
|
|
32
|
+
* SIGKILL (one lightweight tmux server; consistent with the other disposers,
|
|
33
|
+
* which also don't run on signal kill).
|
|
34
|
+
*/
|
|
35
|
+
export declare function socketName(workspaceRoot: string, instanceId: string | number): string;
|
|
36
|
+
/** `tmux -L <sock> new-session -d -s term -c <cwd> <shell> -l` */
|
|
37
|
+
export declare function newSessionArgs(socket: string, cwd: string, shell: string): string[];
|
|
38
|
+
/**
|
|
39
|
+
* One chained command (`;`-separated) binding `M-j` → `detach-client` and
|
|
40
|
+
* setting a status-right hint so the user can discover how to return.
|
|
41
|
+
*/
|
|
42
|
+
export declare function bindKeyArgs(socket: string): string[];
|
|
43
|
+
export declare function hasSessionArgs(socket: string): string[];
|
|
44
|
+
export declare function attachArgs(socket: string): string[];
|
|
45
|
+
export declare function killServerArgs(socket: string): string[];
|
|
46
|
+
/**
|
|
47
|
+
* Raw-shell fallback when tmux is unavailable (or on Windows, where v1 has no
|
|
48
|
+
* tmux): POSIX `$SHELL -i -l`, Windows `%ComSpec%`. No persistence and no
|
|
49
|
+
* detach — the only way back is to exit the shell (the caller prints a notice
|
|
50
|
+
* saying so; 5.6 codex R1 SHOULD-FIX #4).
|
|
51
|
+
*/
|
|
52
|
+
export declare function fallbackShell(platform: NodeJS.Platform, env: NodeJS.ProcessEnv): {
|
|
53
|
+
shell: string;
|
|
54
|
+
args: string[];
|
|
55
|
+
};
|
|
56
|
+
export interface TerminalGateState {
|
|
57
|
+
/** A model turn is currently streaming. */
|
|
58
|
+
turnInFlight: boolean;
|
|
59
|
+
/** Number of background subagent tasks in the `running` state. */
|
|
60
|
+
runningBackgroundTasks: number;
|
|
61
|
+
/** Whether stdout is an interactive TTY we can hand over. */
|
|
62
|
+
isTTY: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Decide whether `/terminal` may suspend the TUI *now*. Because the panel's
|
|
66
|
+
* `spawnSync` blocks the event loop for its whole lifetime, opening it mid-turn
|
|
67
|
+
* would freeze provider streaming, background-subagent finalization, the PTY
|
|
68
|
+
* coalescer, and OTel flushes — so we refuse while a turn or any background
|
|
69
|
+
* task is running, and when there's no TTY to seize. (5.6 codex R1 MUST-FIX #2.)
|
|
70
|
+
*/
|
|
71
|
+
export declare function canOpenTerminal(s: TerminalGateState): {
|
|
72
|
+
ok: true;
|
|
73
|
+
} | {
|
|
74
|
+
ok: false;
|
|
75
|
+
reason: string;
|
|
76
|
+
};
|
|
77
|
+
export interface TerminalPanelOptions {
|
|
78
|
+
/** Working directory the shell / tmux session starts in. */
|
|
79
|
+
cwd: string;
|
|
80
|
+
/** Canonical workspace root — derives the per-workspace socket name. */
|
|
81
|
+
workspaceRoot: string;
|
|
82
|
+
/** Injected in tests. Defaults to `node:child_process`. */
|
|
83
|
+
spawnSyncFn?: typeof spawnSync;
|
|
84
|
+
spawnFn?: typeof spawn;
|
|
85
|
+
platform?: NodeJS.Platform;
|
|
86
|
+
env?: NodeJS.ProcessEnv;
|
|
87
|
+
/** Per-instance socket discriminator. Defaults to `process.pid`; injected in
|
|
88
|
+
* tests to prove two instances of the same workspace get distinct sockets. */
|
|
89
|
+
instanceId?: string | number;
|
|
90
|
+
/**
|
|
91
|
+
* Emit a notice to the user. Defaults to a direct `stdout` write because Ink
|
|
92
|
+
* is already unmounted when `open()` runs (a `vm` push wouldn't render). Used
|
|
93
|
+
* only on the raw-shell fallback path ("type `exit` to return"); the tmux
|
|
94
|
+
* path advertises the detach key via its own status bar.
|
|
95
|
+
*/
|
|
96
|
+
notify?: (message: string) => void;
|
|
97
|
+
}
|
|
98
|
+
export declare function createTerminalPanel(opts: TerminalPanelOptions): TerminalPanel;
|
|
99
|
+
//# sourceMappingURL=panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/terminal/panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAsB7E,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,IAAI,IAAI,CAAC;IACb;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAGrF;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAOpD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAKnC;AAID,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,YAAY,EAAE,OAAO,CAAC;IACtB,kEAAkE;IAClE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,iBAAiB,GACnB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAe9C;AAID,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;kFAC8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CA2E7E"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
/**
|
|
4
|
+
* (5.6) User terminal pane via **tmux passthrough**. `/terminal` suspends the
|
|
5
|
+
* Ink TUI (the chat.ts inner render loop unmounts it) and hands the real TTY to
|
|
6
|
+
* a persistent tmux session — or a raw login shell when tmux is absent —
|
|
7
|
+
* restoring the chat on detach (tmux `M-j`) or shell exit.
|
|
8
|
+
*
|
|
9
|
+
* This is a *user* escape-hatch, NOT a view of the agent's `pty` sessions (it is
|
|
10
|
+
* deliberately decoupled from 5.1's `subscribeRaw` channel). Mirrors
|
|
11
|
+
* claude-code's `src/utils/terminalPanel.ts`; standard Ink ^5 has no
|
|
12
|
+
* `enterAlternateScreen`, so the suspend is "unmount → spawnSync → remount"
|
|
13
|
+
* (see `docs/5.6-design.md` D3). The actual `spawnSync(..., stdio:'inherit')`
|
|
14
|
+
* seizes the real terminal and blocks the event loop for the panel's whole
|
|
15
|
+
* lifetime — callers MUST unmount Ink and refuse to open mid-turn (the gate
|
|
16
|
+
* below).
|
|
17
|
+
*/
|
|
18
|
+
/** The single tmux session name inside our private server. */
|
|
19
|
+
const TMUX_SESSION = "term";
|
|
20
|
+
// ── pure command-arg builders (exported for unit tests) ────────────────────
|
|
21
|
+
/**
|
|
22
|
+
* Per-instance tmux socket name: `chances-term-<hash8(workspaceRoot)>-<id>`,
|
|
23
|
+
* where `id` is the process id.
|
|
24
|
+
*
|
|
25
|
+
* **Per-instance** (codex R2 reversed R1's per-workspace SHOULD-FIX #1): a
|
|
26
|
+
* per-workspace socket is shared by every chances in the same repo, so one
|
|
27
|
+
* process's `kill-server` on exit would destroy another's *active* terminal —
|
|
28
|
+
* a common, surprising failure. Scoping the socket to the pid means `open()`
|
|
29
|
+
* within one process still reattaches a detached session (a dev server survives
|
|
30
|
+
* detach→reattach in the same run) while `dispose()` only ever kills our own
|
|
31
|
+
* server. Matches claude-code's per-instance `claude-panel-<sid8>`. The
|
|
32
|
+
* trade-off is no cross-restart persistence and a leaked server on a hard
|
|
33
|
+
* SIGKILL (one lightweight tmux server; consistent with the other disposers,
|
|
34
|
+
* which also don't run on signal kill).
|
|
35
|
+
*/
|
|
36
|
+
export function socketName(workspaceRoot, instanceId) {
|
|
37
|
+
const hash8 = createHash("sha256").update(workspaceRoot).digest("hex").slice(0, 8);
|
|
38
|
+
return `chances-term-${hash8}-${instanceId}`;
|
|
39
|
+
}
|
|
40
|
+
/** `tmux -L <sock> new-session -d -s term -c <cwd> <shell> -l` */
|
|
41
|
+
export function newSessionArgs(socket, cwd, shell) {
|
|
42
|
+
return ["-L", socket, "new-session", "-d", "-s", TMUX_SESSION, "-c", cwd, shell, "-l"];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* One chained command (`;`-separated) binding `M-j` → `detach-client` and
|
|
46
|
+
* setting a status-right hint so the user can discover how to return.
|
|
47
|
+
*/
|
|
48
|
+
export function bindKeyArgs(socket) {
|
|
49
|
+
return [
|
|
50
|
+
"-L", socket,
|
|
51
|
+
"bind-key", "-n", "M-j", "detach-client", ";",
|
|
52
|
+
"set-option", "-g", "status-right", " Alt+J → chances ", ";",
|
|
53
|
+
"set-option", "-g", "status-right-style", "fg=brightblack",
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
export function hasSessionArgs(socket) {
|
|
57
|
+
return ["-L", socket, "has-session", "-t", TMUX_SESSION];
|
|
58
|
+
}
|
|
59
|
+
export function attachArgs(socket) {
|
|
60
|
+
return ["-L", socket, "attach-session", "-t", TMUX_SESSION];
|
|
61
|
+
}
|
|
62
|
+
export function killServerArgs(socket) {
|
|
63
|
+
return ["-L", socket, "kill-server"];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Raw-shell fallback when tmux is unavailable (or on Windows, where v1 has no
|
|
67
|
+
* tmux): POSIX `$SHELL -i -l`, Windows `%ComSpec%`. No persistence and no
|
|
68
|
+
* detach — the only way back is to exit the shell (the caller prints a notice
|
|
69
|
+
* saying so; 5.6 codex R1 SHOULD-FIX #4).
|
|
70
|
+
*/
|
|
71
|
+
export function fallbackShell(platform, env) {
|
|
72
|
+
if (platform === "win32") {
|
|
73
|
+
return { shell: env.ComSpec || "powershell.exe", args: [] };
|
|
74
|
+
}
|
|
75
|
+
return { shell: env.SHELL || "/bin/bash", args: ["-i", "-l"] };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Decide whether `/terminal` may suspend the TUI *now*. Because the panel's
|
|
79
|
+
* `spawnSync` blocks the event loop for its whole lifetime, opening it mid-turn
|
|
80
|
+
* would freeze provider streaming, background-subagent finalization, the PTY
|
|
81
|
+
* coalescer, and OTel flushes — so we refuse while a turn or any background
|
|
82
|
+
* task is running, and when there's no TTY to seize. (5.6 codex R1 MUST-FIX #2.)
|
|
83
|
+
*/
|
|
84
|
+
export function canOpenTerminal(s) {
|
|
85
|
+
if (!s.isTTY) {
|
|
86
|
+
return { ok: false, reason: "/terminal needs an interactive terminal (no TTY here)." };
|
|
87
|
+
}
|
|
88
|
+
if (s.turnInFlight) {
|
|
89
|
+
return { ok: false, reason: "finish the running turn before opening a terminal." };
|
|
90
|
+
}
|
|
91
|
+
if (s.runningBackgroundTasks > 0) {
|
|
92
|
+
const n = s.runningBackgroundTasks;
|
|
93
|
+
return {
|
|
94
|
+
ok: false,
|
|
95
|
+
reason: `stop the ${n} running background task(s) first (e.g. \`/agents kill --all\`) before opening a terminal.`,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return { ok: true };
|
|
99
|
+
}
|
|
100
|
+
export function createTerminalPanel(opts) {
|
|
101
|
+
const spawnSyncFn = opts.spawnSyncFn ?? spawnSync;
|
|
102
|
+
const spawnFn = opts.spawnFn ?? spawn;
|
|
103
|
+
const platform = opts.platform ?? process.platform;
|
|
104
|
+
const env = opts.env ?? process.env;
|
|
105
|
+
const notify = opts.notify ?? ((m) => process.stdout.write(`${m}\n`));
|
|
106
|
+
const socket = socketName(opts.workspaceRoot, opts.instanceId ?? process.pid);
|
|
107
|
+
const textOpts = { encoding: "utf-8" };
|
|
108
|
+
let memoHasTmux;
|
|
109
|
+
let everAttachedTmux = false;
|
|
110
|
+
let busy = false;
|
|
111
|
+
const hasTmux = () => {
|
|
112
|
+
if (memoHasTmux === undefined) {
|
|
113
|
+
memoHasTmux = spawnSyncFn("tmux", ["-V"], textOpts).status === 0;
|
|
114
|
+
}
|
|
115
|
+
return memoHasTmux;
|
|
116
|
+
};
|
|
117
|
+
const hasSession = () => spawnSyncFn("tmux", hasSessionArgs(socket), textOpts).status === 0;
|
|
118
|
+
/** Ensure the tmux session exists; create + configure it on first use. */
|
|
119
|
+
const ensureSession = () => {
|
|
120
|
+
if (hasSession())
|
|
121
|
+
return true;
|
|
122
|
+
const shell = env.SHELL || "/bin/bash";
|
|
123
|
+
if (spawnSyncFn("tmux", newSessionArgs(socket, opts.cwd, shell), textOpts).status !== 0) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
// (5.6 codex R2 SHOULD-FIX) Don't silently swallow a bind-key failure — the
|
|
127
|
+
// M-j detach binding + status hint come from this command. We still attach
|
|
128
|
+
// (tmux's default `Ctrl-b d` always detaches), but tell the user the custom
|
|
129
|
+
// key didn't take instead of leaving them to guess the way back.
|
|
130
|
+
if (spawnSyncFn("tmux", bindKeyArgs(socket), textOpts).status !== 0) {
|
|
131
|
+
notify("could not bind Alt+J — use tmux's default `Ctrl-b d` to detach (or `exit`).");
|
|
132
|
+
}
|
|
133
|
+
return true;
|
|
134
|
+
};
|
|
135
|
+
const runFallbackShell = () => {
|
|
136
|
+
const { shell, args } = fallbackShell(platform, env);
|
|
137
|
+
notify(`no tmux found — opening ${shell}; type \`exit\` to return to chances.`);
|
|
138
|
+
spawnSyncFn(shell, args, { stdio: "inherit", cwd: opts.cwd, env });
|
|
139
|
+
};
|
|
140
|
+
return {
|
|
141
|
+
open() {
|
|
142
|
+
if (busy)
|
|
143
|
+
return; // re-entrancy latch (spawnSync blocks, so this is defensive)
|
|
144
|
+
busy = true;
|
|
145
|
+
try {
|
|
146
|
+
if (platform !== "win32" && hasTmux() && ensureSession()) {
|
|
147
|
+
everAttachedTmux = true;
|
|
148
|
+
// stdio:'inherit' — the child owns the real terminal until detach.
|
|
149
|
+
spawnSyncFn("tmux", attachArgs(socket), { stdio: "inherit" });
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
runFallbackShell();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
catch (e) {
|
|
156
|
+
notify(`terminal failed: ${e.message}`);
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
busy = false;
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
dispose() {
|
|
163
|
+
if (!everAttachedTmux)
|
|
164
|
+
return;
|
|
165
|
+
try {
|
|
166
|
+
spawnFn("tmux", killServerArgs(socket), { detached: true, stdio: "ignore" })
|
|
167
|
+
.on("error", () => { })
|
|
168
|
+
.unref();
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
// best-effort — a missing tmux or already-dead server is fine.
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../../src/terminal/panel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chances-ai/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"chances": "./dist/entrypoints/cli-node.js",
|
|
@@ -14,23 +14,23 @@
|
|
|
14
14
|
"@ai-sdk/google": "^1.2.0",
|
|
15
15
|
"@ai-sdk/openai": "^1.3.0",
|
|
16
16
|
"@ai-sdk/openai-compatible": "^0.2.0",
|
|
17
|
-
"@chances-ai/agents": "
|
|
18
|
-
"@chances-ai/ai": "
|
|
19
|
-
"@chances-ai/config": "
|
|
20
|
-
"@chances-ai/core": "
|
|
21
|
-
"@chances-ai/lsp": "
|
|
22
|
-
"@chances-ai/mcp": "
|
|
23
|
-
"@chances-ai/memory": "
|
|
24
|
-
"@chances-ai/native": "
|
|
25
|
-
"@chances-ai/plugin-api": "
|
|
26
|
-
"@chances-ai/plugin-logger": "
|
|
27
|
-
"@chances-ai/rpc": "
|
|
28
|
-
"@chances-ai/runtime": "
|
|
29
|
-
"@chances-ai/session": "
|
|
30
|
-
"@chances-ai/telemetry": "
|
|
31
|
-
"@chances-ai/telemetry-otel": "
|
|
32
|
-
"@chances-ai/tools": "
|
|
33
|
-
"@chances-ai/tui": "
|
|
17
|
+
"@chances-ai/agents": "11.0.0",
|
|
18
|
+
"@chances-ai/ai": "11.0.0",
|
|
19
|
+
"@chances-ai/config": "11.0.0",
|
|
20
|
+
"@chances-ai/core": "11.0.0",
|
|
21
|
+
"@chances-ai/lsp": "11.0.0",
|
|
22
|
+
"@chances-ai/mcp": "11.0.0",
|
|
23
|
+
"@chances-ai/memory": "11.0.0",
|
|
24
|
+
"@chances-ai/native": "11.0.0",
|
|
25
|
+
"@chances-ai/plugin-api": "11.0.0",
|
|
26
|
+
"@chances-ai/plugin-logger": "11.0.0",
|
|
27
|
+
"@chances-ai/rpc": "11.0.0",
|
|
28
|
+
"@chances-ai/runtime": "11.0.0",
|
|
29
|
+
"@chances-ai/session": "11.0.0",
|
|
30
|
+
"@chances-ai/telemetry": "11.0.0",
|
|
31
|
+
"@chances-ai/telemetry-otel": "11.0.0",
|
|
32
|
+
"@chances-ai/tools": "11.0.0",
|
|
33
|
+
"@chances-ai/tui": "11.0.0",
|
|
34
34
|
"ai": "^4.3.0",
|
|
35
35
|
"ink": "^5.0.1",
|
|
36
36
|
"react": "^18.3.1",
|