@chances-ai/cli 6.0.1 → 8.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/create-app.d.ts.map +1 -1
- package/dist/boot/create-app.js +10 -1
- package/dist/boot/create-app.js.map +1 -1
- package/dist/boot/dispose.d.ts +13 -0
- package/dist/boot/dispose.d.ts.map +1 -0
- package/dist/boot/dispose.js +74 -0
- package/dist/boot/dispose.js.map +1 -0
- package/dist/boot/load-runtime.d.ts +15 -1
- package/dist/boot/load-runtime.d.ts.map +1 -1
- package/dist/boot/load-runtime.js +7 -1
- package/dist/boot/load-runtime.js.map +1 -1
- package/dist/commands/acp.d.ts +3 -0
- package/dist/commands/acp.d.ts.map +1 -0
- package/dist/commands/acp.js +39 -0
- package/dist/commands/acp.js.map +1 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +7 -1
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +7 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/rpc.d.ts +12 -0
- package/dist/commands/rpc.d.ts.map +1 -0
- package/dist/commands/rpc.js +67 -0
- package/dist/commands/rpc.js.map +1 -0
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +1 -1
- package/dist/commands/version.js.map +1 -1
- package/dist/entrypoints/cli.d.ts +2 -0
- package/dist/entrypoints/cli.d.ts.map +1 -1
- package/dist/entrypoints/cli.js +43 -66
- package/dist/entrypoints/cli.js.map +1 -1
- package/dist/slash/approval.d.ts +4 -0
- package/dist/slash/approval.d.ts.map +1 -0
- package/dist/slash/approval.js +58 -0
- package/dist/slash/approval.js.map +1 -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/package.json +18 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/boot/create-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA6B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAiC,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;6DAU6D;AAC7D,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/boot/create-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA6B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAiC,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;6DAU6D;AAC7D,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,GAAG,WAAW,CAiI/G;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAEjE"}
|
package/dist/boot/create-app.js
CHANGED
|
@@ -13,7 +13,12 @@ import { native } from "@chances-ai/native";
|
|
|
13
13
|
* `/resume`-driven engine rebuild. The shared `ToolRegistry` overwrites by
|
|
14
14
|
* name, so the prior closure becomes garbage immediately. */
|
|
15
15
|
export function buildEngine(ctx, session, resolver) {
|
|
16
|
-
|
|
16
|
+
// (5.3) Thread the session approval-mode getter into the gate (4th arg;
|
|
17
|
+
// `undefined` 3rd arg keeps the default cacheScope). Read fresh on every
|
|
18
|
+
// check so a mid-turn Shift+Tab lands immediately. The same getter goes to
|
|
19
|
+
// the engine + task tool below.
|
|
20
|
+
const getApprovalMode = () => ctx.approval.get();
|
|
21
|
+
const gate = new PermissionGate(ctx.config.permissions, resolver, undefined, getApprovalMode);
|
|
17
22
|
// Expose the gate so slash commands (notably `/mcp restart` / `/mcp remove`)
|
|
18
23
|
// can invalidate cached positive decisions when tool implementations may
|
|
19
24
|
// have changed. Last engine wins — re-build replaces the reference.
|
|
@@ -45,6 +50,9 @@ export function buildEngine(ctx, session, resolver) {
|
|
|
45
50
|
bus: ctx.bus,
|
|
46
51
|
router: ctx.router,
|
|
47
52
|
gate,
|
|
53
|
+
// (5.3) Child engines inherit gate decisions via the shared `gate`; this
|
|
54
|
+
// also gives a subagent the plan-mode read-only system reminder.
|
|
55
|
+
getApprovalMode,
|
|
48
56
|
memory: ctx.memory,
|
|
49
57
|
workspaceRoot: ctx.workspaceRoot,
|
|
50
58
|
maxTurns: ctx.config.agent?.maxTurns,
|
|
@@ -109,6 +117,7 @@ export function buildEngine(ctx, session, resolver) {
|
|
|
109
117
|
router: ctx.router,
|
|
110
118
|
tools: ctx.tools,
|
|
111
119
|
gate,
|
|
120
|
+
getApprovalMode,
|
|
112
121
|
session,
|
|
113
122
|
memory: ctx.memory,
|
|
114
123
|
plugins: ctx.plugins,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../src/boot/create-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,aAAa,EAA2B,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5C;;;;;;;;;;6DAU6D;AAC7D,MAAM,UAAU,WAAW,CAAC,GAAe,EAAE,OAAuB,EAAE,QAA4B;IAChG,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../src/boot/create-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AppContext } from "./load-runtime.js";
|
|
2
|
+
/**
|
|
3
|
+
* Tear down everything the runtime context owns, in the order that matters
|
|
4
|
+
* (5.1): background tasks → PTY sessions → MCP → plugins → OTel. Each disposer
|
|
5
|
+
* is best-effort — a failure is logged and never masks the others or the
|
|
6
|
+
* command's own outcome. Idempotent: a second call is a no-op.
|
|
7
|
+
*
|
|
8
|
+
* Extracted from `main()` so the single dispose sequence has one owner; the
|
|
9
|
+
* RPC/ACP transports invoke it from inside their shutdown (before flush/close)
|
|
10
|
+
* and `main()`'s finally then finds it already done.
|
|
11
|
+
*/
|
|
12
|
+
export declare function disposeRuntime(ctx: AppContext): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=dispose.d.ts.map
|
|
@@ -0,0 +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,CAqDnE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/** Contexts already torn down — makes `disposeRuntime` idempotent so it can be
|
|
2
|
+
* called BOTH by an RPC/ACP host's `EngineHost.dispose` (so teardown frames
|
|
3
|
+
* reach the client before the transport flushes/closes — 5.2 Round-2 S1) AND
|
|
4
|
+
* by `main()`'s `finally` (the canonical owner for every other command),
|
|
5
|
+
* without double-disposing. */
|
|
6
|
+
const disposed = new WeakSet();
|
|
7
|
+
/**
|
|
8
|
+
* Tear down everything the runtime context owns, in the order that matters
|
|
9
|
+
* (5.1): background tasks → PTY sessions → MCP → plugins → OTel. Each disposer
|
|
10
|
+
* is best-effort — a failure is logged and never masks the others or the
|
|
11
|
+
* command's own outcome. Idempotent: a second call is a no-op.
|
|
12
|
+
*
|
|
13
|
+
* Extracted from `main()` so the single dispose sequence has one owner; the
|
|
14
|
+
* RPC/ACP transports invoke it from inside their shutdown (before flush/close)
|
|
15
|
+
* and `main()`'s finally then finds it already done.
|
|
16
|
+
*/
|
|
17
|
+
export async function disposeRuntime(ctx) {
|
|
18
|
+
if (disposed.has(ctx))
|
|
19
|
+
return;
|
|
20
|
+
disposed.add(ctx);
|
|
21
|
+
// Background tasks dispose FIRST so any in-flight child engine stops driving
|
|
22
|
+
// the bus and gate before MCP servers (which may serve the child's tools)
|
|
23
|
+
// tear down.
|
|
24
|
+
if (ctx.backgroundTasks) {
|
|
25
|
+
try {
|
|
26
|
+
await ctx.backgroundTasks.dispose();
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
ctx.logger.warn(`background tasks dispose failed: ${e.message}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// (5.1) PTY sessions AFTER background tasks (the subagent drain already
|
|
33
|
+
// SIGTERM-grace-killed child-owned ones; this catches the parent's
|
|
34
|
+
// survivors) and BEFORE MCP. 2 s deadline; survivors are logged.
|
|
35
|
+
if (ctx.ptySessions) {
|
|
36
|
+
try {
|
|
37
|
+
const result = await ctx.ptySessions.dispose(2_000);
|
|
38
|
+
if (result.survivors.length > 0) {
|
|
39
|
+
ctx.logger.warn(`pty dispose: ${result.survivors.length} session(s) past 2 s deadline: ${result.survivors.join(", ")}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
ctx.logger.warn(`pty sessions dispose failed: ${e.message}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (ctx.mcp) {
|
|
47
|
+
try {
|
|
48
|
+
await ctx.mcp.dispose();
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
ctx.logger.warn(`mcp dispose failed: ${e.message}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (ctx.plugins) {
|
|
55
|
+
try {
|
|
56
|
+
await ctx.plugins.dispose();
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
ctx.logger.warn(`plugin dispose failed: ${e.message}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// (3.6) OTel LAST so it observes every lifecycle frame the other disposers
|
|
63
|
+
// emit. `dispose()` force-closes open spans, forceFlushes, and shuts down
|
|
64
|
+
// bounded by a 5 s deadline.
|
|
65
|
+
if (ctx.otel) {
|
|
66
|
+
try {
|
|
67
|
+
await ctx.otel.dispose();
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
ctx.logger.warn(`otel dispose failed: ${e.message}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=dispose.js.map
|
|
@@ -0,0 +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,4 +1,4 @@
|
|
|
1
|
-
import { AsyncTaskRegistry, EventBus, FeatureFlags, Logger, ModelSelection, PtySessionRegistry, type LogLevel } from "@chances-ai/runtime";
|
|
1
|
+
import { ApprovalState, AsyncTaskRegistry, EventBus, FeatureFlags, Logger, ModelSelection, PtySessionRegistry, type ApprovalMode, type LogLevel } from "@chances-ai/runtime";
|
|
2
2
|
import { AuthStore, type ChancesConfig, type ExternalPluginEntry } from "@chances-ai/config";
|
|
3
3
|
import { ModelRegistry, ModelRouter } from "@chances-ai/ai";
|
|
4
4
|
import { ToolRegistry, type PermissionGate } from "@chances-ai/tools";
|
|
@@ -112,6 +112,14 @@ export interface AppContext {
|
|
|
112
112
|
* next turn picks up the choice without rebuilding the engine. Built-in
|
|
113
113
|
* slash commands receive the same instance via closure capture. */
|
|
114
114
|
selection: ModelSelection;
|
|
115
|
+
/**
|
|
116
|
+
* (5.3) Mutable session approval mode. Seeded at boot from
|
|
117
|
+
* `--approval-mode` > `permissions.defaultMode` > `"default"`. Shift+Tab and
|
|
118
|
+
* `/approval` mutate it (session-only — never written back to config). The
|
|
119
|
+
* gate reads it per tool call and the engine per turn, both via a getter, so
|
|
120
|
+
* a switch lands immediately without an engine rebuild.
|
|
121
|
+
*/
|
|
122
|
+
approval: ApprovalState;
|
|
115
123
|
}
|
|
116
124
|
export interface RuntimeOverrides {
|
|
117
125
|
provider?: string;
|
|
@@ -125,6 +133,12 @@ export interface RuntimeOverrides {
|
|
|
125
133
|
* synchronous-only.
|
|
126
134
|
*/
|
|
127
135
|
enableBackgroundTasks?: boolean;
|
|
136
|
+
/**
|
|
137
|
+
* (5.3) Initial approval mode from `--approval-mode` /
|
|
138
|
+
* `--dangerously-skip-permissions`. Overrides `permissions.defaultMode`.
|
|
139
|
+
* Booting into `yolo` this way pre-confirms it (the launch IS the consent).
|
|
140
|
+
*/
|
|
141
|
+
approvalMode?: ApprovalMode;
|
|
128
142
|
}
|
|
129
143
|
/** Builds the shared application context (the wiring all commands depend on). */
|
|
130
144
|
export declare function loadRuntime(overrides?: RuntimeOverrides): Promise<AppContext>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-runtime.d.ts","sourceRoot":"","sources":["../../src/boot/load-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,cAAc,EACd,kBAAkB,EAElB,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,EAAE,OAAO,EAA+B,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IACzB;;;;;OAKG;IACH,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C;oEACgE;IAChE,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC;;;;;;;;;;;OAWG;IACH,WAAW,EAAE,kBAAkB,CAAC;IAChC;;;;;;;;;;OAUG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,4BAA4B,EAAE,YAAY,CAAC;IACzD;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,OAAO,iBAAiB,EAAE,iBAAiB,CAAC;IAClD;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,kBAAkB,EAAE,SAAS,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB;;uEAEmE;IACnE,SAAS,EAAE,cAAc,CAAC;
|
|
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,EAAE,OAAO,EAA+B,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGjE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IACzB;;;;;OAKG;IACH,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C;oEACgE;IAChE,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC;;;;;;;;;;;OAWG;IACH,WAAW,EAAE,kBAAkB,CAAC;IAChC;;;;;;;;;;OAUG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,4BAA4B,EAAE,YAAY,CAAC;IACzD;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,OAAO,iBAAiB,EAAE,iBAAiB,CAAC;IAClD;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,kBAAkB,EAAE,SAAS,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB;;uEAEmE;IACnE,SAAS,EAAE,cAAc,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,iFAAiF;AACjF,wBAAsB,WAAW,CAAC,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA2IvF;AAoMD;;;yBAGyB;AACzB,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAsBjB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { homedir } from "node:os";
|
|
2
2
|
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
3
3
|
import { pathToFileURL } from "node:url";
|
|
4
|
-
import { AsyncTaskRegistry, EventBus, FeatureFlags, Logger, ModelSelection, PtySessionRegistry, createId, } from "@chances-ai/runtime";
|
|
4
|
+
import { ApprovalState, AsyncTaskRegistry, EventBus, FeatureFlags, Logger, ModelSelection, PtySessionRegistry, createId, } from "@chances-ai/runtime";
|
|
5
5
|
import { AuthStore, loadConfig, } from "@chances-ai/config";
|
|
6
6
|
import { KNOWN_MODELS, ModelRegistry, ModelRouter, buildRegistry, envByProviderFrom, } from "@chances-ai/ai";
|
|
7
7
|
import { ToolRegistry, builtinTools, persistFullOutput } from "@chances-ai/tools";
|
|
@@ -73,6 +73,11 @@ export async function loadRuntime(overrides = {}) {
|
|
|
73
73
|
}
|
|
74
74
|
})();
|
|
75
75
|
const selection = new ModelSelection({ provider: config.provider, model: config.model });
|
|
76
|
+
// (5.3) Seed the session approval mode: flag > config.defaultMode > "default".
|
|
77
|
+
// The ApprovalState constructor pre-confirms yolo when seeded into it (a
|
|
78
|
+
// deliberate `--approval-mode yolo` / `--dangerously-skip-permissions` launch
|
|
79
|
+
// IS the consent; cycling into yolo via Shift+Tab still prompts).
|
|
80
|
+
const approval = new ApprovalState(overrides.approvalMode ?? config.permissions.defaultMode ?? "default");
|
|
76
81
|
// 3.4: only the interactive `chat` command requests background tasks;
|
|
77
82
|
// -p / headless modes leave it undefined so the `task` tool's schema
|
|
78
83
|
// omits `run_in_background` entirely. The config's
|
|
@@ -132,6 +137,7 @@ export async function loadRuntime(overrides = {}) {
|
|
|
132
137
|
parentAgentId,
|
|
133
138
|
workspaceRoot: config.workspaceRoot,
|
|
134
139
|
selection,
|
|
140
|
+
approval,
|
|
135
141
|
};
|
|
136
142
|
}
|
|
137
143
|
/**
|
|
@@ -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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/commands/acp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,UAAU,EAAE,UAiCxB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Readable, Writable } from "node:stream";
|
|
2
|
+
import { installStdoutGuard, runAcp } from "@chances-ai/rpc";
|
|
3
|
+
import { makeEngineHost } from "./rpc.js";
|
|
4
|
+
export const acpCommand = {
|
|
5
|
+
name: "acp",
|
|
6
|
+
description: "Run the agent as a Zed Agent Client Protocol (ACP) agent over stdio.",
|
|
7
|
+
async run(ctx) {
|
|
8
|
+
if (!ctx)
|
|
9
|
+
throw new Error("acp requires a runtime context");
|
|
10
|
+
// The ACP SDK owns stdout for JSON-RPC; keep stray console.* on stderr.
|
|
11
|
+
const guard = installStdoutGuard();
|
|
12
|
+
const input = Readable.toWeb(process.stdin);
|
|
13
|
+
const output = Writable.toWeb(process.stdout);
|
|
14
|
+
const onSignal = () => {
|
|
15
|
+
try {
|
|
16
|
+
process.stdin.push(null);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
// already ended.
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
process.once("SIGINT", onSignal);
|
|
23
|
+
process.once("SIGTERM", onSignal);
|
|
24
|
+
try {
|
|
25
|
+
const code = await runAcp({ host: makeEngineHost(ctx), input, output });
|
|
26
|
+
if (code === 2) {
|
|
27
|
+
process.stderr.write("ACP mode requires the optional '@agentclientprotocol/sdk' package.\n" +
|
|
28
|
+
"Install it: npm install @agentclientprotocol/sdk\n");
|
|
29
|
+
}
|
|
30
|
+
return code;
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
process.removeListener("SIGINT", onSignal);
|
|
34
|
+
process.removeListener("SIGTERM", onSignal);
|
|
35
|
+
guard.restore();
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=acp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp.js","sourceRoot":"","sources":["../../src/commands/acp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,sEAAsE;IACnF,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC5D,wEAAwE;QACxE,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAA+B,CAAC;QAC1E,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAA+B,CAAC;QAC5E,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sEAAsE;oBACpE,qDAAqD,CACxD,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC5C,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -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;AAIhD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,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;AAIhD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA8GrE;AAED,eAAO,MAAM,WAAW,EAAE,UAczB,CAAC"}
|
package/dist/commands/chat.js
CHANGED
|
@@ -26,7 +26,13 @@ export async function runInteractive(ctx) {
|
|
|
26
26
|
const savedChoice = session.modelChoice();
|
|
27
27
|
if (savedChoice)
|
|
28
28
|
ctx.selection.set(savedChoice);
|
|
29
|
-
|
|
29
|
+
// (5.3 codex Round-2 MUST-FIX #3) A `/resume` respawn is a fresh trust
|
|
30
|
+
// posture: clear the one-time yolo confirmation so cycling into yolo
|
|
31
|
+
// re-prompts. `resumeFromId` is only set after a respawn, never on first
|
|
32
|
+
// entry. The mode itself persists (the holder lives on ctx).
|
|
33
|
+
if (resumeFromId)
|
|
34
|
+
ctx.approval.resetYoloConfirm();
|
|
35
|
+
const vm = new ChatViewModel(ctx.approval);
|
|
30
36
|
vm.attach(ctx.bus);
|
|
31
37
|
const modal = new ModalController();
|
|
32
38
|
const engine = buildEngine(ctx, session, vm.requestPermission);
|
|
@@ -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;AAEjE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAe;IAClD,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,YAAgC,CAAC;IAErC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,YAAY;YAC1B,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;YAC3F,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEhD,0EAA0E;QAC1E,gEAAgE;QAChE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,WAAW;YAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEhD,MAAM,EAAE,GAAG,IAAI,aAAa,
|
|
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;AAEjE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAe;IAClD,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,YAAgC,CAAC;IAErC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,YAAY;YAC1B,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;YAC3F,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEhD,0EAA0E;QAC1E,gEAAgE;QAChE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,WAAW;YAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEhD,uEAAuE;QACvE,qEAAqE;QACrE,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,YAAY;YAAE,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAElD,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAE/D,qEAAqE;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,cAAc,GAAgC,SAAS,CAAC;QAC5D,MAAM,4BAA4B,CAAC,WAAW,EAAE;YAC9C,GAAG;YACH,EAAE;YACF,OAAO;YACP,KAAK;YACL,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;gBACd,cAAc,GAAG,EAAE,CAAC;gBACpB,oEAAoE;gBACpE,qEAAqE;gBACrE,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;SACF,CAAC,CAAC;QAEH,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,mCAAmC;QACnC,MAAM,sBAAsB,GAAG;YAC7B,GAAG,WAAW,CAAC,aAAa,EAAE;YAC9B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,UAAU,CACvB,EAAE,EACF,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,GAAG,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,yBAAyB;gBACzB,sEAAsE;gBACtE,6DAA6D;gBAC7D,mCAAmC;gBACnC,iEAAiE;gBACjE,4BAA4B;gBAC5B,qEAAqE;gBACrE,gEAAgE;gBAChE,iEAAiE;gBACjE,yBAAyB;gBACzB,IAAI,GAAG,YAAY,QAAQ;oBAAE,OAAO;gBACpC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS,CAAC,OAAO;oBACvB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC1D,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,iEAAiE;YACjE,iEAAiE;YACjE,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,EAAE,CAAC,SAAS,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,MAAM,CAAC,OAAO;oBAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;oBAC3C,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,EACD,KAAK,EACL,sBAAsB,CACvB,CAAC;QAEF,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAC7B,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;QACxE,YAAY,GAAG,cAAc,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,8DAA8D;IAC3E,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI;QACjB,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACzG,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AppContext } from "../boot/load-runtime.js";
|
|
2
2
|
import type { CliCommand } from "./registry.js";
|
|
3
3
|
/** Environment self-check: runtime, native load status, providers, workspace. */
|
|
4
|
-
export declare function runDoctor(ctx: AppContext): number
|
|
4
|
+
export declare function runDoctor(ctx: AppContext): Promise<number>;
|
|
5
5
|
export declare const doctorCommand: CliCommand;
|
|
6
6
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,iFAAiF;AACjF,wBAAsB,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAgChE;AAED,eAAO,MAAM,aAAa,EAAE,UAO3B,CAAC"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { KNOWN_MODELS } from "@chances-ai/ai";
|
|
2
2
|
import { native } from "@chances-ai/native";
|
|
3
|
+
import { loadAcpSdk } from "@chances-ai/rpc";
|
|
3
4
|
/** Environment self-check: runtime, native load status, providers, workspace. */
|
|
4
|
-
export function runDoctor(ctx) {
|
|
5
|
+
export async function runDoctor(ctx) {
|
|
5
6
|
const configured = KNOWN_MODELS.filter((p) => ctx.auth.hasCredentials(p.id));
|
|
6
7
|
const missing = KNOWN_MODELS.filter((p) => !ctx.auth.hasCredentials(p.id));
|
|
7
8
|
const diag = native.loaderDiagnostic();
|
|
9
|
+
// (5.2) `chances rpc` is always available; `chances acp` needs the optional
|
|
10
|
+
// ACP SDK. Probe it the same way the adapter does.
|
|
11
|
+
const acpReady = (await loadAcpSdk()) !== null;
|
|
8
12
|
const nativeLine = diag.loaded
|
|
9
13
|
? `loaded (${diag.expectedSentinel} at ${diag.attemptedPath})`
|
|
10
14
|
: `JS fallback — reason=${diag.reason ?? "unknown"} (expected ${diag.expectedSentinel} at ${diag.attemptedPath})`;
|
|
@@ -21,6 +25,7 @@ export function runDoctor(ctx) {
|
|
|
21
25
|
`models available : ${ctx.registry.all().length}`,
|
|
22
26
|
`keys configured : ${configured.map((p) => p.id).join(", ") || "none"}`,
|
|
23
27
|
`keys missing : ${missing.map((p) => `${p.id} (${p.envKey})`).join(", ") || "none"}`,
|
|
28
|
+
`rpc / acp : rpc ready; acp ${acpReady ? "ready (@agentclientprotocol/sdk present)" : "unavailable — install @agentclientprotocol/sdk"}`,
|
|
24
29
|
];
|
|
25
30
|
if (!diag.loaded && diag.message) {
|
|
26
31
|
lines.push("", "Native diagnostic:", diag.message);
|
|
@@ -31,7 +36,7 @@ export function runDoctor(ctx) {
|
|
|
31
36
|
export const doctorCommand = {
|
|
32
37
|
name: "doctor",
|
|
33
38
|
description: "Print runtime, provider, and workspace diagnostics.",
|
|
34
|
-
run(ctx) {
|
|
39
|
+
async run(ctx) {
|
|
35
40
|
if (!ctx)
|
|
36
41
|
throw new Error("doctor requires a runtime context");
|
|
37
42
|
return runDoctor(ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type EngineHost } from "@chances-ai/rpc";
|
|
2
|
+
import type { AppContext } from "../boot/load-runtime.js";
|
|
3
|
+
import type { CliCommand } from "./registry.js";
|
|
4
|
+
/** EngineHost over the shared runtime context. `dispose` runs the canonical,
|
|
5
|
+
* idempotent runtime teardown (`disposeRuntime`) so the RpcServer/ACP shutdown
|
|
6
|
+
* disposes producers BEFORE flushing/closing the wire — teardown frames (a
|
|
7
|
+
* background subagent's last `tool_chunk`, MCP/plugin logs) reach the client
|
|
8
|
+
* (5.2 Round-2 S1). `main()`'s finally calls the same function afterwards and
|
|
9
|
+
* finds it already done (the WeakSet guard makes it a no-op). */
|
|
10
|
+
export declare function makeEngineHost(ctx: AppContext): EngineHost;
|
|
11
|
+
export declare const rpcCommand: CliCommand;
|
|
12
|
+
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/commands/rpc.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD;;;;;iEAKiE;AACjE,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,CAgB1D;AAED,eAAO,MAAM,UAAU,EAAE,UAmCxB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { SessionManager } from "@chances-ai/session";
|
|
2
|
+
import { BoundedNdjsonWriter, RpcServer, installStdoutGuard, linesFromStream, } from "@chances-ai/rpc";
|
|
3
|
+
import { buildEngine } from "../boot/create-app.js";
|
|
4
|
+
import { disposeRuntime } from "../boot/dispose.js";
|
|
5
|
+
import cliPkg from "../../package.json" with { type: "json" };
|
|
6
|
+
/** EngineHost over the shared runtime context. `dispose` runs the canonical,
|
|
7
|
+
* idempotent runtime teardown (`disposeRuntime`) so the RpcServer/ACP shutdown
|
|
8
|
+
* disposes producers BEFORE flushing/closing the wire — teardown frames (a
|
|
9
|
+
* background subagent's last `tool_chunk`, MCP/plugin logs) reach the client
|
|
10
|
+
* (5.2 Round-2 S1). `main()`'s finally calls the same function afterwards and
|
|
11
|
+
* finds it already done (the WeakSet guard makes it a no-op). */
|
|
12
|
+
export function makeEngineHost(ctx) {
|
|
13
|
+
return {
|
|
14
|
+
build(resolver) {
|
|
15
|
+
const session = SessionManager.create("rpc");
|
|
16
|
+
const engine = buildEngine(ctx, session, resolver);
|
|
17
|
+
return {
|
|
18
|
+
runTurn: (prompt, token) => engine.runTurn(prompt, token),
|
|
19
|
+
bus: ctx.bus,
|
|
20
|
+
selection: ctx.selection,
|
|
21
|
+
sessionId: session.id,
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
listModels: () => ctx.registry.all().map((m) => ({ provider: m.provider, model: m.id })),
|
|
25
|
+
dispose: () => disposeRuntime(ctx),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export const rpcCommand = {
|
|
29
|
+
name: "rpc",
|
|
30
|
+
description: "Run the agent as a Stable RPC server (NDJSON over stdio). Use --yes to auto-approve tools.",
|
|
31
|
+
async run(ctx, args) {
|
|
32
|
+
if (!ctx)
|
|
33
|
+
throw new Error("rpc requires a runtime context");
|
|
34
|
+
const writer = new BoundedNdjsonWriter(process.stdout);
|
|
35
|
+
// stdout carries ONLY protocol frames — redirect stray console.* to stderr.
|
|
36
|
+
const guard = installStdoutGuard();
|
|
37
|
+
const server = new RpcServer({
|
|
38
|
+
host: makeEngineHost(ctx),
|
|
39
|
+
writer,
|
|
40
|
+
agent: { name: cliPkg.name, version: cliPkg.version },
|
|
41
|
+
autoApprove: args.yes,
|
|
42
|
+
logSink: (line) => process.stderr.write(line),
|
|
43
|
+
});
|
|
44
|
+
// SIGINT/SIGTERM: end stdin so `run()` returns and `main()`'s finally
|
|
45
|
+
// disposes ctx. `server.run`'s own finally runs the graceful shutdown
|
|
46
|
+
// (cancel turn, deny pending permissions, flush).
|
|
47
|
+
const onSignal = () => {
|
|
48
|
+
try {
|
|
49
|
+
process.stdin.push(null);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// already ended — the for-await will terminate on its own.
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
process.once("SIGINT", onSignal);
|
|
56
|
+
process.once("SIGTERM", onSignal);
|
|
57
|
+
try {
|
|
58
|
+
return await server.run(linesFromStream(process.stdin));
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
process.removeListener("SIGINT", onSignal);
|
|
62
|
+
process.removeListener("SIGTERM", onSignal);
|
|
63
|
+
guard.restore();
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/commands/rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMjE,eAAO,MAAM,OAAO,QAAc,CAAC;AAEnC,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMjE,eAAO,MAAM,OAAO,QAAc,CAAC;AAEnC,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAgC5D;AAED,eAAO,MAAM,cAAc,EAAE,UAO5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAOzB,CAAC"}
|
package/dist/commands/version.js
CHANGED
|
@@ -24,7 +24,7 @@ export function printHelp(registry) {
|
|
|
24
24
|
lines.push(` chances ${cmd.name.padEnd(padTo)} ${cmd.description}`);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
lines.push("", "Options:", " -p, --prompt <text> non-interactive prompt", " --json emit a single final JSON object", " --ndjson emit one event frame per line", " --yes auto-approve permission prompts", " --provider <id> override provider (mock|anthropic|openai)", " --model <id> override model", " -h, --help show this help", " --version print the CLI version", "");
|
|
27
|
+
lines.push("", "Options:", " -p, --prompt <text> non-interactive prompt", " --json emit a single final JSON object", " --ndjson emit one event frame per line", " --yes auto-approve permission prompts", " --approval-mode <mode> initial approval mode (default|auto-edit|plan|yolo)", " --dangerously-skip-permissions start in yolo (auto-approve all tools)", " --provider <id> override provider (mock|anthropic|openai)", " --model <id> override model", " -h, --help show this help", " --version print the CLI version", "");
|
|
28
28
|
process.stdout.write(lines.join("\n"));
|
|
29
29
|
return 0;
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAG3D,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;AAC5E,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAEnC,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA0B;IAClD,MAAM,KAAK,GAAa;QACtB,6DAA6D;QAC7D,EAAE;QACF,QAAQ;QACR,wDAAwD;QACxD,wEAAwE;KACzE,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS,CAAC,wCAAwC;YAC3E,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,UAAU,EACV,wDAAwD,EACxD,iEAAiE,EACjE,+DAA+D,EAC/D,iEAAiE,EACjE,2EAA2E,EAC3E,gDAAgD,EAChD,gDAAgD,EAChD,uDAAuD,EACvD,EAAE,CACH,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,KAAK;IACnB,GAAG;QACD,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,KAAK;IACnB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ;QACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAG3D,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;AAC5E,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAEnC,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA0B;IAClD,MAAM,KAAK,GAAa;QACtB,6DAA6D;QAC7D,EAAE;QACF,QAAQ;QACR,wDAAwD;QACxD,wEAAwE;KACzE,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS,CAAC,wCAAwC;YAC3E,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,UAAU,EACV,wDAAwD,EACxD,iEAAiE,EACjE,+DAA+D,EAC/D,iEAAiE,EACjE,qFAAqF,EACrF,8EAA8E,EAC9E,2EAA2E,EAC3E,gDAAgD,EAChD,gDAAgD,EAChD,uDAAuD,EACvD,EAAE,CACH,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,KAAK;IACnB,GAAG;QACD,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,KAAK;IACnB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ;QACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ApprovalMode } from "@chances-ai/runtime";
|
|
1
2
|
import { type AppContext } from "../boot/load-runtime.js";
|
|
2
3
|
import { printHelp, printVersion } from "../commands/version.js";
|
|
3
4
|
import { CommandRegistry } from "../commands/registry.js";
|
|
@@ -7,6 +8,7 @@ export type LoadRuntimeFn = (overrides: {
|
|
|
7
8
|
provider?: string;
|
|
8
9
|
model?: string;
|
|
9
10
|
enableBackgroundTasks?: boolean;
|
|
11
|
+
approvalMode?: ApprovalMode;
|
|
10
12
|
}) => Promise<AppContext>;
|
|
11
13
|
/** `loadRuntimeFn` is an injection seam for tests — see cli.test.tsx. */
|
|
12
14
|
export declare function main(argv?: string[], loadRuntimeFn?: LoadRuntimeFn): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAWvE,OAAO,EAAe,SAAS,EAAE,YAAY,EAAkB,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAqF1D,oDAAoD;AACpD,wBAAgB,oBAAoB,IAAI,eAAe,CAatD;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1B,yEAAyE;AACzE,wBAAsB,IAAI,CACxB,IAAI,GAAE,MAAM,EAA0B,EACtC,aAAa,GAAE,aAA2B,GACzC,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED,0EAA0E;AAC1E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/entrypoints/cli.js
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
|
+
import { ErrorCode, exitCodeFor } from "@chances-ai/runtime";
|
|
1
2
|
import { loadRuntime } from "../boot/load-runtime.js";
|
|
3
|
+
import { disposeRuntime } from "../boot/dispose.js";
|
|
2
4
|
import { chatCommand } from "../commands/chat.js";
|
|
3
5
|
import { doctorCommand } from "../commands/doctor.js";
|
|
4
6
|
import { sessionCommand } from "../commands/session.js";
|
|
5
7
|
import { configCommand } from "../commands/config.js";
|
|
6
8
|
import { statsCommand } from "../commands/stats.js";
|
|
7
9
|
import { discoverCommand } from "../commands/discover.js";
|
|
10
|
+
import { rpcCommand } from "../commands/rpc.js";
|
|
11
|
+
import { acpCommand } from "../commands/acp.js";
|
|
8
12
|
import { helpCommand, printHelp, printVersion, versionCommand } from "../commands/version.js";
|
|
9
13
|
import { CommandRegistry } from "../commands/registry.js";
|
|
14
|
+
/** (5.3) Accept only the four known modes; an invalid `--approval-mode` value
|
|
15
|
+
* falls through to `permissions.defaultMode` / `"default"` rather than
|
|
16
|
+
* erroring the whole launch. */
|
|
17
|
+
function coerceApprovalMode(raw) {
|
|
18
|
+
return raw === "default" || raw === "auto-edit" || raw === "plan" || raw === "yolo" ? raw : undefined;
|
|
19
|
+
}
|
|
10
20
|
function parseArgs(argv) {
|
|
11
21
|
const out = { command: "chat", rest: [], format: "text", yes: false, help: false, version: false };
|
|
12
22
|
const positional = [];
|
|
@@ -26,6 +36,21 @@ function parseArgs(argv) {
|
|
|
26
36
|
case "--yes":
|
|
27
37
|
out.yes = true;
|
|
28
38
|
break;
|
|
39
|
+
case "--approval-mode": {
|
|
40
|
+
const raw = argv[++i];
|
|
41
|
+
const coerced = coerceApprovalMode(raw);
|
|
42
|
+
// Present-but-invalid → record for a fail-fast in main(). A typo on a
|
|
43
|
+
// safety flag must not silently fall through to the config default.
|
|
44
|
+
if (raw !== undefined && coerced === undefined)
|
|
45
|
+
out.approvalModeError = raw;
|
|
46
|
+
out.approvalMode = coerced;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
case "--dangerously-skip-permissions":
|
|
50
|
+
// Start in pre-confirmed yolo (the launch IS the consent). `--yes`
|
|
51
|
+
// stays the orthogonal headless-approve-all for `-p`.
|
|
52
|
+
out.approvalMode = "yolo";
|
|
53
|
+
break;
|
|
29
54
|
case "--provider":
|
|
30
55
|
out.provider = argv[++i];
|
|
31
56
|
break;
|
|
@@ -58,6 +83,8 @@ export function buildCommandRegistry() {
|
|
|
58
83
|
registry.register(sessionCommand);
|
|
59
84
|
registry.register(statsCommand);
|
|
60
85
|
registry.register(discoverCommand);
|
|
86
|
+
registry.register(rpcCommand);
|
|
87
|
+
registry.register(acpCommand);
|
|
61
88
|
registry.register(helpCommand);
|
|
62
89
|
registry.register(versionCommand);
|
|
63
90
|
return registry;
|
|
@@ -74,6 +101,12 @@ export async function main(argv = process.argv.slice(2), loadRuntimeFn = loadRun
|
|
|
74
101
|
return printVersion();
|
|
75
102
|
if (args.help)
|
|
76
103
|
return printHelp(registry);
|
|
104
|
+
// (5.3 codex Round-2 MUST-FIX #2) Fail fast on a typo'd safety flag rather
|
|
105
|
+
// than silently launching in the config default (which could be permissive).
|
|
106
|
+
if (args.approvalModeError !== undefined) {
|
|
107
|
+
process.stderr.write(`Invalid --approval-mode '${args.approvalModeError}'. Expected one of: default, auto-edit, plan, yolo.\n`);
|
|
108
|
+
return exitCodeFor(ErrorCode.Usage);
|
|
109
|
+
}
|
|
77
110
|
const cmd = registry.get(args.command) ?? registry.get("chat");
|
|
78
111
|
const cliArgs = { positional: args.rest, prompt: args.prompt, format: args.format, yes: args.yes };
|
|
79
112
|
if (cmd.needsRuntime === false) {
|
|
@@ -91,77 +124,21 @@ export async function main(argv = process.argv.slice(2), loadRuntimeFn = loadRun
|
|
|
91
124
|
provider: args.provider,
|
|
92
125
|
model: args.model,
|
|
93
126
|
enableBackgroundTasks,
|
|
127
|
+
approvalMode: args.approvalMode,
|
|
94
128
|
});
|
|
95
129
|
try {
|
|
96
130
|
return await cmd.run(ctx, cliArgs, registry);
|
|
97
131
|
}
|
|
98
132
|
finally {
|
|
99
|
-
// Plugins / MCP servers / background tasks may hold file
|
|
100
|
-
// child processes, sockets, or unlinked AbortControllers.
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
//
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
|
|
108
|
-
// then runs BEFORE plugin dispose so its child processes' SIGTERM
|
|
109
|
-
// lands while the bus is still alive to log the result.
|
|
110
|
-
if (ctx.backgroundTasks) {
|
|
111
|
-
try {
|
|
112
|
-
await ctx.backgroundTasks.dispose();
|
|
113
|
-
}
|
|
114
|
-
catch (e) {
|
|
115
|
-
ctx.logger.warn(`background tasks dispose failed: ${e.message}`);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// (5.1) PTY sessions dispose AFTER background tasks (the subagent
|
|
119
|
-
// drain in `task-tool.ts` already SIGTERM-grace-killed the
|
|
120
|
-
// child-owned ones; this catches the parent's surviving sessions)
|
|
121
|
-
// and BEFORE MCP (parent's PTY sessions may depend on PATH-based
|
|
122
|
-
// commands that an MCP server set up). 2 s deadline matches
|
|
123
|
-
// backgroundTasks for shape uniformity. Survivors are logged but
|
|
124
|
-
// never block shutdown.
|
|
125
|
-
if (ctx.ptySessions) {
|
|
126
|
-
try {
|
|
127
|
-
const result = await ctx.ptySessions.dispose(2_000);
|
|
128
|
-
if (result.survivors.length > 0) {
|
|
129
|
-
ctx.logger.warn(`pty dispose: ${result.survivors.length} session(s) past 2 s deadline: ${result.survivors.join(", ")}`);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
catch (e) {
|
|
133
|
-
ctx.logger.warn(`pty sessions dispose failed: ${e.message}`);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
if (ctx.mcp) {
|
|
137
|
-
try {
|
|
138
|
-
await ctx.mcp.dispose();
|
|
139
|
-
}
|
|
140
|
-
catch (e) {
|
|
141
|
-
ctx.logger.warn(`mcp dispose failed: ${e.message}`);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
if (ctx.plugins) {
|
|
145
|
-
try {
|
|
146
|
-
await ctx.plugins.dispose();
|
|
147
|
-
}
|
|
148
|
-
catch (e) {
|
|
149
|
-
ctx.logger.warn(`plugin dispose failed: ${e.message}`);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
// (3.6 — codex Round-1 SHOULD-FIX #2) OTel exporter disposes LAST so
|
|
153
|
-
// it observes every lifecycle frame the other disposers emit (MCP
|
|
154
|
-
// tool:result cancellations, plugin shutdown logs). `dispose()` force-
|
|
155
|
-
// closes still-open spans (codex MUST-FIX #5), `forceFlush`es the
|
|
156
|
-
// OTLP batch, and shuts down the provider — bounded by a 5 s deadline.
|
|
157
|
-
if (ctx.otel) {
|
|
158
|
-
try {
|
|
159
|
-
await ctx.otel.dispose();
|
|
160
|
-
}
|
|
161
|
-
catch (e) {
|
|
162
|
-
ctx.logger.warn(`otel dispose failed: ${e.message}`);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
133
|
+
// Plugins / MCP servers / background tasks / PTY sessions may hold file
|
|
134
|
+
// handles, child processes, sockets, or unlinked AbortControllers. Tear
|
|
135
|
+
// them down regardless of how the command finished, in the order that
|
|
136
|
+
// matters (bg → pty → mcp → plugins → otel). `disposeRuntime` is the
|
|
137
|
+
// single owner of that sequence and is idempotent: the `rpc`/`acp`
|
|
138
|
+
// transports already call it from inside their own shutdown (so teardown
|
|
139
|
+
// frames reach the client before the wire closes — 5.2 Round-2 S1), and
|
|
140
|
+
// this call then finds the work already done.
|
|
141
|
+
await disposeRuntime(ctx);
|
|
165
142
|
}
|
|
166
143
|
}
|
|
167
144
|
/** Exported so tests can pre-build a registry without invoking main(). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/slash/approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAqB,MAAM,wBAAwB,CAAC;AAEtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAwBnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA4BjE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { definePlugin } from "@chances-ai/plugin-api";
|
|
2
|
+
/**
|
|
3
|
+
* `/approval [mode]`
|
|
4
|
+
* - No args: print the current mode + the list (works in TUI and `-p`).
|
|
5
|
+
* - `/approval <default|auto-edit|plan|yolo>`: switch the session mode. The
|
|
6
|
+
* change is session-only (never written to config — see
|
|
7
|
+
* docs/5.3-design.md non-goals). A typed `yolo` counts as consent, so it
|
|
8
|
+
* pre-confirms and skips the Shift+Tab confirmation overlay.
|
|
9
|
+
*
|
|
10
|
+
* Mutates `ctx.approval` (the source of truth the gate + engine read through a
|
|
11
|
+
* getter) directly. In the TUI the footer re-renders when the returned status
|
|
12
|
+
* line is pushed; in `-p` there's no footer. The interactive cycle gesture is
|
|
13
|
+
* Shift+Tab — this command is the explicit / headless path.
|
|
14
|
+
*/
|
|
15
|
+
const MODES = ["default", "auto-edit", "plan", "yolo"];
|
|
16
|
+
const DESCRIPTIONS = {
|
|
17
|
+
default: "honour configured policy (prompt for writes / shell / network)",
|
|
18
|
+
"auto-edit": "auto-approve file edits + memory; still prompt shell / MCP / network",
|
|
19
|
+
plan: "read-only — block every mutating tool (write / shell / MCP / network)",
|
|
20
|
+
yolo: "auto-approve everything except explicit deny rules",
|
|
21
|
+
};
|
|
22
|
+
export function makeApprovalPlugin(deps) {
|
|
23
|
+
const command = {
|
|
24
|
+
name: "approval",
|
|
25
|
+
description: "Show or switch the session approval mode (or Shift+Tab to cycle).",
|
|
26
|
+
run: async (args) => {
|
|
27
|
+
const current = deps.ctx.approval.get();
|
|
28
|
+
if (args.length === 0)
|
|
29
|
+
return listText(current);
|
|
30
|
+
const want = (args[0] ?? "").toLowerCase();
|
|
31
|
+
const mode = MODES.find((m) => m === want);
|
|
32
|
+
if (!mode) {
|
|
33
|
+
return `unknown approval mode: ${args[0]}. One of: ${MODES.join(", ")}. Run /approval to see them.`;
|
|
34
|
+
}
|
|
35
|
+
if (mode === current)
|
|
36
|
+
return `approval mode already ${mode}`;
|
|
37
|
+
// Typed `yolo` is explicit consent → pre-confirm so a later Shift+Tab
|
|
38
|
+
// into it doesn't re-prompt.
|
|
39
|
+
if (mode === "yolo")
|
|
40
|
+
deps.ctx.approval.confirmYolo();
|
|
41
|
+
deps.ctx.approval.set(mode);
|
|
42
|
+
const note = mode === "yolo" ? " — all tool calls auto-approved; only explicit deny rules still block" : "";
|
|
43
|
+
return `approval mode → ${mode}${note}`;
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
return definePlugin({
|
|
47
|
+
name: "builtin/approval",
|
|
48
|
+
onLoad(ctx) {
|
|
49
|
+
ctx.registerSlashCommand(command);
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function listText(current) {
|
|
54
|
+
const pad = Math.max(...MODES.map((m) => m.length));
|
|
55
|
+
const lines = MODES.map((m) => `${m === current ? "● " : " "}${m.padEnd(pad)} ${DESCRIPTIONS[m]}`);
|
|
56
|
+
return ["Approval modes (● = current; Shift+Tab cycles in the TUI):", ...lines].join("\n");
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/slash/approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkC,MAAM,wBAAwB,CAAC;AAItF;;;;;;;;;;;;GAYG;AACH,MAAM,KAAK,GAA4B,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhF,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,gEAAgE;IACzE,WAAW,EAAE,sEAAsE;IACnF,IAAI,EAAE,uEAAuE;IAC7E,IAAI,EAAE,oDAAoD;CAC3D,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mEAAmE;QAChF,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEhD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,0BAA0B,IAAI,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC;YACtG,CAAC;YACD,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,yBAAyB,IAAI,EAAE,CAAC;YAC7D,sEAAsE;YACtE,6BAA6B;YAC7B,IAAI,IAAI,KAAK,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,uEAAuE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5G,OAAO,mBAAmB,IAAI,GAAG,IAAI,EAAE,CAAC;QAC1C,CAAC;KACF,CAAC;IACF,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,kBAAkB;QACxB,MAAM,CAAC,GAAG;YACR,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,OAAqB;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrG,OAAO,CAAC,4DAA4D,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7F,CAAC"}
|
|
@@ -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;AAY1D;;;;;;;;GAQG;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;CAC7C;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf"}
|
package/dist/slash/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import { makeCompactPlugin } from "./compact.js";
|
|
|
7
7
|
import { makeLogoutPlugin } from "./logout.js";
|
|
8
8
|
import { makeMcpPlugin } from "./mcp.js";
|
|
9
9
|
import { makeAgentsPlugin } from "./agents.js";
|
|
10
|
+
import { makeApprovalPlugin } from "./approval.js";
|
|
10
11
|
export async function registerBuiltinSlashCommands(host, deps) {
|
|
11
12
|
// Order doesn't matter; each plugin only mutates its own command slot.
|
|
12
13
|
// `await` so any onLoad error (e.g. duplicate registration in a buggy
|
|
@@ -20,5 +21,6 @@ export async function registerBuiltinSlashCommands(host, deps) {
|
|
|
20
21
|
await host.load(makeLogoutPlugin(deps));
|
|
21
22
|
await host.load(makeMcpPlugin(deps));
|
|
22
23
|
await host.load(makeAgentsPlugin(deps));
|
|
24
|
+
await host.load(makeApprovalPlugin(deps));
|
|
23
25
|
}
|
|
24
26
|
//# 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,gBAAgB,EAAE,MAAM,aAAa,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,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAmBnD,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,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chances-ai/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"chances": "./dist/entrypoints/cli-node.js",
|
|
@@ -14,22 +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/
|
|
28
|
-
"@chances-ai/
|
|
29
|
-
"@chances-ai/
|
|
30
|
-
"@chances-ai/telemetry
|
|
31
|
-
"@chances-ai/
|
|
32
|
-
"@chances-ai/
|
|
17
|
+
"@chances-ai/agents": "8.0.0",
|
|
18
|
+
"@chances-ai/ai": "8.0.0",
|
|
19
|
+
"@chances-ai/config": "8.0.0",
|
|
20
|
+
"@chances-ai/core": "8.0.0",
|
|
21
|
+
"@chances-ai/lsp": "8.0.0",
|
|
22
|
+
"@chances-ai/mcp": "8.0.0",
|
|
23
|
+
"@chances-ai/memory": "8.0.0",
|
|
24
|
+
"@chances-ai/native": "8.0.0",
|
|
25
|
+
"@chances-ai/plugin-api": "8.0.0",
|
|
26
|
+
"@chances-ai/plugin-logger": "8.0.0",
|
|
27
|
+
"@chances-ai/rpc": "8.0.0",
|
|
28
|
+
"@chances-ai/runtime": "8.0.0",
|
|
29
|
+
"@chances-ai/session": "8.0.0",
|
|
30
|
+
"@chances-ai/telemetry": "8.0.0",
|
|
31
|
+
"@chances-ai/telemetry-otel": "8.0.0",
|
|
32
|
+
"@chances-ai/tools": "8.0.0",
|
|
33
|
+
"@chances-ai/tui": "8.0.0",
|
|
33
34
|
"ai": "^4.3.0",
|
|
34
35
|
"ink": "^5.0.1",
|
|
35
36
|
"react": "^18.3.1",
|