@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.
Files changed (41) hide show
  1. package/dist/boot/create-app.d.ts.map +1 -1
  2. package/dist/boot/create-app.js +10 -1
  3. package/dist/boot/create-app.js.map +1 -1
  4. package/dist/boot/dispose.d.ts +13 -0
  5. package/dist/boot/dispose.d.ts.map +1 -0
  6. package/dist/boot/dispose.js +74 -0
  7. package/dist/boot/dispose.js.map +1 -0
  8. package/dist/boot/load-runtime.d.ts +15 -1
  9. package/dist/boot/load-runtime.d.ts.map +1 -1
  10. package/dist/boot/load-runtime.js +7 -1
  11. package/dist/boot/load-runtime.js.map +1 -1
  12. package/dist/commands/acp.d.ts +3 -0
  13. package/dist/commands/acp.d.ts.map +1 -0
  14. package/dist/commands/acp.js +39 -0
  15. package/dist/commands/acp.js.map +1 -0
  16. package/dist/commands/chat.d.ts.map +1 -1
  17. package/dist/commands/chat.js +7 -1
  18. package/dist/commands/chat.js.map +1 -1
  19. package/dist/commands/doctor.d.ts +1 -1
  20. package/dist/commands/doctor.d.ts.map +1 -1
  21. package/dist/commands/doctor.js +7 -2
  22. package/dist/commands/doctor.js.map +1 -1
  23. package/dist/commands/rpc.d.ts +12 -0
  24. package/dist/commands/rpc.d.ts.map +1 -0
  25. package/dist/commands/rpc.js +67 -0
  26. package/dist/commands/rpc.js.map +1 -0
  27. package/dist/commands/version.d.ts.map +1 -1
  28. package/dist/commands/version.js +1 -1
  29. package/dist/commands/version.js.map +1 -1
  30. package/dist/entrypoints/cli.d.ts +2 -0
  31. package/dist/entrypoints/cli.d.ts.map +1 -1
  32. package/dist/entrypoints/cli.js +43 -66
  33. package/dist/entrypoints/cli.js.map +1 -1
  34. package/dist/slash/approval.d.ts +4 -0
  35. package/dist/slash/approval.d.ts.map +1 -0
  36. package/dist/slash/approval.js +58 -0
  37. package/dist/slash/approval.js.map +1 -0
  38. package/dist/slash/index.d.ts.map +1 -1
  39. package/dist/slash/index.js +2 -0
  40. package/dist/slash/index.js.map +1 -1
  41. 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,CAwH/G;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAEjE"}
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"}
@@ -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
- const gate = new PermissionGate(ctx.config.permissions, resolver);
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;IAClE,6EAA6E;IAC7E,yEAAyE;IACzE,oEAAoE;IACpE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,mEAAmE;IACnE,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC;gBAChB,IAAI,EAAE,OAAO,GAAG,CAAC,UAAU,EAAE;gBAC7B,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,cAAc,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE;gBAC5F,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gEAAgE;IAChE,8DAA8D;IAC9D,gEAAgE;IAChE,gEAAgE;IAChE,yDAAyD;IACzD,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;IACxC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAChB,cAAc,CAAC;QACb,WAAW,EAAE,GAAG,CAAC,KAAK;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI;QACJ,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ;QACpC,oEAAoE;QACpE,gEAAgE;QAChE,yBAAyB;QACzB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,oEAAoE;QACpE,oEAAoE;QACpE,gEAAgE;QAChE,6BAA6B;QAC7B,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,4DAA4D;QAC5D,4DAA4D;QAC5D,mBAAmB;QACnB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5D,aAAa;KACd,CAAC,CACH,CAAC;IACF,6DAA6D;IAC7D,4DAA4D;IAC5D,yDAAyD;IACzD,gEAAgE;IAChE,sCAAsC;IACtC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAChB,aAAa,CAAC;QACZ,QAAQ,EAAE,GAAG,CAAC,WAAW;QACzB,OAAO,EAAE,aAAa;QACtB,SAAS,EAAE,QAAQ;QACnB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,wDAAwD;QACxD,6DAA6D;QAC7D,kEAAkE;QAClE,oCAAoC;QACpC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc;QACnD,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;KACnD,CAAC,CACH,CAAC;IACF,mEAAmE;IACnE,oEAAoE;IACpE,iEAAiE;IACjE,qEAAqE;IACrE,+DAA+D;IAC/D,0DAA0D;IAC1D,uDAAuD;IACvD,kEAAkE;IAClE,+DAA+D;IAC/D,wCAAwC;IACxC,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe;QACnC,CAAC,CAAC,IAAI,SAAS,CAAC;YACZ,OAAO;YACP,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU;SACrC,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,iEAAiE;IACjE,kEAAkE;IAClE,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1B,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI;QACJ,OAAO;QACP,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ;QACpC,mEAAmE;QACnE,oEAAoE;QACpE,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,iEAAiE;QACjE,gEAAgE;QAChE,6DAA6D;QAC7D,uBAAuB;QACvB,SAAS;QACT,mEAAmE;QACnE,gEAAgE;QAChE,gEAAgE;QAChE,GAAG,EAAE,GAAG,CAAC,GAAG;KACb,CAAC,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC;AAC7B,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;CAC3B;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;CACjC;AAED,iFAAiF;AACjF,wBAAsB,WAAW,CAAC,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAoIvF;AAoMD;;;yBAGyB;AACzB,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAsBjB"}
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,3 @@
1
+ import type { CliCommand } from "./registry.js";
2
+ export declare const acpCommand: CliCommand;
3
+ //# sourceMappingURL=acp.d.ts.map
@@ -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,CAwGrE;AAED,eAAO,MAAM,WAAW,EAAE,UAczB,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"}
@@ -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
- const vm = new ChatViewModel();
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":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -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":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CA4BjD;AAED,eAAO,MAAM,aAAa,EAAE,UAO3B,CAAC"}
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"}
@@ -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;AAI5C,iFAAiF;AACjF,MAAM,UAAU,SAAS,CAAC,GAAe;IACvC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM;QAC5B,CAAC,CAAC,WAAW,IAAI,CAAC,gBAAgB,OAAO,IAAI,CAAC,aAAa,GAAG;QAC9D,CAAC,CAAC,wBAAwB,IAAI,CAAC,MAAM,IAAI,SAAS,cAAc,IAAI,CAAC,gBAAgB,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC;IAEpH,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,gBAAgB;QAChB,sBAAuB,OAAO,CAAC,QAA+C,CAAC,GAAG,IAAI,uBAAuB,EAAE;QAC/G,sBAAsB,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC7C,sBAAsB,UAAU,EAAE;QAClC,sBAAsB,GAAG,CAAC,aAAa,EAAE;QACzC,sBAAsB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC3C,sBAAsB,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,kBAAkB,EAAE;QAC9D,sBAAsB,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;QACrE,sBAAsB,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACjD,sBAAsB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;QACxE,sBAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;KACzF,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,qDAAqD;IAClE,GAAG,CAAC,GAAG;QACL,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC/D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;CACF,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,CA8B5D;AAED,eAAO,MAAM,cAAc,EAAE,UAO5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAOzB,CAAC"}
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"}
@@ -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;AAQvE,OAAO,EAAe,SAAS,EAAE,YAAY,EAAkB,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA2D1D,oDAAoD;AACpD,wBAAgB,oBAAoB,IAAI,eAAe,CAWtD;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;CACjC,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,CAiGjB;AAED,0EAA0E;AAC1E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,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"}
@@ -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 handles,
100
- // child processes, sockets, or unlinked AbortControllers. Give them
101
- // a chance to clean up regardless of whether the command succeeded
102
- // or threw. Dispose errors are logged but don't mask the command's
103
- // own outcome.
104
- //
105
- // Order matters: background tasks dispose FIRST so any in-flight
106
- // child engine stops driving the bus and gate before MCP servers
107
- // (which may be serving the child's tools) tear down. MCP teardown
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;AAc1D,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,GAAG,GAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/G,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC;YACV,KAAK,UAAU;gBACb,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpB,MAAM;YACR,KAAK,UAAU;gBACb,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACtB,MAAM;YACR,KAAK,OAAO;gBACV,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;gBACf,MAAM;YACR,KAAK,YAAY;gBACf,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,MAAM;YACR,KAAK,SAAS;gBACZ,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ;gBACX,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;gBAChB,MAAM;YACR,KAAK,WAAW;gBACd,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR;gBACE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACtC,gBAA+B,WAAW;IAE1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAExC,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,iEAAiE;IACjE,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,YAAY,EAAE,CAAC;IACxC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAChE,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAEnG,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,uEAAuE;IACvE,sEAAsE;IACtE,4DAA4D;IAC5D,sEAAsE;IACtE,iEAAiE;IACjE,mEAAmE;IACnE,sCAAsC;IACtC,MAAM,qBAAqB,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IAC/E,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,qBAAqB;KACtB,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;YAAS,CAAC;QACT,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,eAAe;QACf,EAAE;QACF,iEAAiE;QACjE,iEAAiE;QACjE,mEAAmE;QACnE,kEAAkE;QAClE,wDAAwD;QACxD,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAqC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,kEAAkE;QAClE,2DAA2D;QAC3D,kEAAkE;QAClE,iEAAiE;QACjE,4DAA4D;QAC5D,iEAAiE;QACjE,wBAAwB;QACxB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,gBAAgB,MAAM,CAAC,SAAS,CAAC,MAAM,kCAAkC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvG,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAiC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAwB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,kEAAkE;QAClE,uEAAuE;QACvE,kEAAkE;QAClE,uEAAuE;QACvE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAyB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type Plugin } from "@chances-ai/plugin-api";
2
+ import type { BuiltinSlashDeps } from "./index.js";
3
+ export declare function makeApprovalPlugin(deps: BuiltinSlashDeps): Plugin;
4
+ //# sourceMappingURL=approval.d.ts.map
@@ -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;AAW1D;;;;;;;;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,CAaf"}
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"}
@@ -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
@@ -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;AAmB/C,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;AAC1C,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": "6.0.1",
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": "6.0.1",
18
- "@chances-ai/ai": "6.0.1",
19
- "@chances-ai/config": "6.0.1",
20
- "@chances-ai/core": "6.0.1",
21
- "@chances-ai/lsp": "6.0.1",
22
- "@chances-ai/mcp": "6.0.1",
23
- "@chances-ai/memory": "6.0.1",
24
- "@chances-ai/native": "6.0.1",
25
- "@chances-ai/plugin-api": "6.0.1",
26
- "@chances-ai/plugin-logger": "6.0.1",
27
- "@chances-ai/runtime": "6.0.1",
28
- "@chances-ai/session": "6.0.1",
29
- "@chances-ai/telemetry": "6.0.1",
30
- "@chances-ai/telemetry-otel": "6.0.1",
31
- "@chances-ai/tools": "6.0.1",
32
- "@chances-ai/tui": "6.0.1",
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",