@yu_robotics/remote-cli 1.6.25 → 1.6.30

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 (48) hide show
  1. package/README.md +9 -8
  2. package/dist/client/MessageHandler.d.ts +4 -1
  3. package/dist/client/MessageHandler.d.ts.map +1 -1
  4. package/dist/client/MessageHandler.js +70 -22
  5. package/dist/client/MessageHandler.js.map +1 -1
  6. package/dist/client/WebSocketClient.js +1 -1
  7. package/dist/client/WebSocketClient.js.map +1 -1
  8. package/dist/commands/start.d.ts +1 -4
  9. package/dist/commands/start.d.ts.map +1 -1
  10. package/dist/commands/start.js +29 -19
  11. package/dist/commands/start.js.map +1 -1
  12. package/dist/executor/KimiExecutor.d.ts +18 -0
  13. package/dist/executor/KimiExecutor.d.ts.map +1 -0
  14. package/dist/executor/KimiExecutor.js +28 -0
  15. package/dist/executor/KimiExecutor.js.map +1 -0
  16. package/dist/executor/OpenCodeExecutor.d.ts +80 -0
  17. package/dist/executor/OpenCodeExecutor.d.ts.map +1 -0
  18. package/dist/executor/OpenCodeExecutor.js +513 -0
  19. package/dist/executor/OpenCodeExecutor.js.map +1 -0
  20. package/dist/executor/acp/AcpClient.d.ts +47 -40
  21. package/dist/executor/acp/AcpClient.d.ts.map +1 -1
  22. package/dist/executor/acp/AcpClient.js +113 -189
  23. package/dist/executor/acp/AcpClient.js.map +1 -1
  24. package/dist/executor/acp/AcpTypes.d.ts +27 -68
  25. package/dist/executor/acp/AcpTypes.d.ts.map +1 -1
  26. package/dist/executor/acp/AcpTypes.js +0 -9
  27. package/dist/executor/acp/AcpTypes.js.map +1 -1
  28. package/dist/executor/index.d.ts +4 -6
  29. package/dist/executor/index.d.ts.map +1 -1
  30. package/dist/executor/index.js +32 -27
  31. package/dist/executor/index.js.map +1 -1
  32. package/dist/thread/ThreadExecutorPool.js +1 -1
  33. package/dist/thread/ThreadExecutorPool.js.map +1 -1
  34. package/dist/thread/types.d.ts +1 -1
  35. package/dist/thread/types.d.ts.map +1 -1
  36. package/dist/types/config.d.ts +19 -13
  37. package/dist/types/config.d.ts.map +1 -1
  38. package/dist/types/config.js +6 -2
  39. package/dist/types/config.js.map +1 -1
  40. package/dist/update/AutomaticUpdater.d.ts +26 -0
  41. package/dist/update/AutomaticUpdater.d.ts.map +1 -0
  42. package/dist/update/AutomaticUpdater.js +109 -0
  43. package/dist/update/AutomaticUpdater.js.map +1 -0
  44. package/dist/utils/version.d.ts +3 -0
  45. package/dist/utils/version.d.ts.map +1 -0
  46. package/dist/utils/version.js +20 -0
  47. package/dist/utils/version.js.map +1 -0
  48. package/package.json +1 -1
@@ -1,91 +1,54 @@
1
- /**
2
- * ACP wire-format types — inlined from the Agent Client Protocol spec.
3
- *
4
- * These were previously re-exported from @agentclientprotocol/sdk, but that
5
- * package is a pure-type dependency that causes "Cannot find module" errors
6
- * when the published package is installed without it. Since we only use a
7
- * small subset of the ACP types we inline the relevant definitions here so
8
- * there is no external type dependency at all.
9
- */
10
- export type StopReason = 'end_turn' | 'max_tokens' | 'max_turn_requests' | 'refusal' | 'cancelled';
11
- export type PlanEntryStatus = 'pending' | 'in_progress' | 'completed';
12
- export type PlanEntryPriority = 'high' | 'medium' | 'low';
13
- export interface PlanEntry {
14
- content: string;
15
- status: PlanEntryStatus;
16
- priority: PlanEntryPriority;
17
- }
18
- export interface Plan {
19
- entries: PlanEntry[];
20
- }
21
- export type TextContent = {
1
+ export type AcpContentBlock = {
22
2
  type: 'text';
23
3
  text: string;
24
- };
25
- export type ImageContent = {
4
+ } | {
26
5
  type: 'image';
27
6
  data: string;
28
7
  mimeType: string;
29
- };
30
- export type ContentBlock = TextContent | ImageContent | {
8
+ } | {
31
9
  type: string;
32
10
  [key: string]: unknown;
33
11
  };
34
- /** agent_message_chunk / agent_thought_chunk */
35
- export interface ContentChunk {
36
- content: ContentBlock;
37
- }
38
- export type ToolCallStatus = 'pending' | 'in_progress' | 'completed' | 'failed';
39
- /** tool_call notification */
40
- export interface ToolCall {
41
- toolCallId: string;
42
- title?: string;
43
- kind?: string;
12
+ export interface AcpConfigOptionValue {
13
+ value: string;
14
+ name: string;
15
+ description?: string;
16
+ }
17
+ export interface AcpConfigOption {
18
+ id: string;
19
+ name: string;
20
+ description?: string;
21
+ category?: string;
22
+ type: string;
23
+ currentValue?: string;
24
+ options?: AcpConfigOptionValue[];
44
25
  }
45
- /** tool_call_update notification */
46
- export interface ToolCallUpdate {
47
- toolCallId: string;
48
- status?: ToolCallStatus | null;
49
- content?: Array<ContentBlock> | null;
26
+ export interface AcpSessionResult {
27
+ sessionId?: string;
28
+ configOptions?: AcpConfigOption[];
50
29
  }
51
- export type PermissionOptionKind = 'allow_once' | 'allow_always' | 'reject_once' | 'reject_always';
52
- export type PermissionOptionId = string;
53
- export interface PermissionOption {
54
- kind: PermissionOptionKind;
55
- optionId: PermissionOptionId;
30
+ export interface AcpPermissionOption {
31
+ kind: 'allow_once' | 'allow_always' | 'reject_once' | 'reject_always';
32
+ optionId: string;
56
33
  name?: string;
57
34
  }
58
- export type SessionUpdate = (ContentChunk & {
59
- sessionUpdate: 'agent_message_chunk';
60
- }) | (ContentChunk & {
61
- sessionUpdate: 'agent_thought_chunk';
62
- }) | (ToolCall & {
63
- sessionUpdate: 'tool_call';
64
- }) | (ToolCallUpdate & {
65
- sessionUpdate: 'tool_call_update';
66
- }) | (Plan & {
67
- sessionUpdate: 'plan';
68
- }) | {
69
- sessionUpdate: string;
70
- [key: string]: unknown;
71
- };
72
- export interface JsonRpcRequest {
35
+ export interface AcpJsonRpcRequest {
73
36
  jsonrpc: '2.0';
74
37
  id: number;
75
38
  method: string;
76
39
  params: unknown;
77
40
  }
78
- export interface JsonRpcNotification {
41
+ export interface AcpJsonRpcNotification {
79
42
  jsonrpc: '2.0';
80
43
  method: string;
81
44
  params: unknown;
82
45
  }
83
- export interface JsonRpcSuccessResponse {
46
+ export interface AcpJsonRpcSuccessResponse {
84
47
  jsonrpc: '2.0';
85
48
  id: number;
86
49
  result: unknown;
87
50
  }
88
- export interface JsonRpcErrorResponse {
51
+ export interface AcpJsonRpcErrorResponse {
89
52
  jsonrpc: '2.0';
90
53
  id: number;
91
54
  error: {
@@ -94,9 +57,5 @@ export interface JsonRpcErrorResponse {
94
57
  data?: unknown;
95
58
  };
96
59
  }
97
- export type JsonRpcResponse = JsonRpcSuccessResponse | JsonRpcErrorResponse;
98
- export interface AcpSessionUpdateParams {
99
- sessionId: string;
100
- update: SessionUpdate;
101
- }
60
+ export type AcpJsonRpcResponse = AcpJsonRpcSuccessResponse | AcpJsonRpcErrorResponse;
102
61
  //# sourceMappingURL=AcpTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcpTypes.d.ts","sourceRoot":"","sources":["../../../src/executor/acp/AcpTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,mBAAmB,GAAG,SAAS,GAAG,WAAW,CAAC;AAEnG,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAEjG,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEhF,6BAA6B;AAC7B,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,CAAC;AACnG,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GACrB,CAAC,YAAY,GAAG;IAAE,aAAa,EAAE,qBAAqB,CAAA;CAAE,CAAC,GACzD,CAAC,YAAY,GAAG;IAAE,aAAa,EAAE,qBAAqB,CAAA;CAAE,CAAC,GACzD,CAAC,QAAQ,GAAG;IAAE,aAAa,EAAE,WAAW,CAAA;CAAE,CAAC,GAC3C,CAAC,cAAc,GAAG;IAAE,aAAa,EAAE,kBAAkB,CAAA;CAAE,CAAC,GACxD,CAAC,IAAI,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,GAClC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAItD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1D;AAED,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAI5E,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB"}
1
+ {"version":3,"file":"AcpTypes.d.ts","sourceRoot":"","sources":["../../../src/executor/acp/AcpTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,CAAC;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1D;AAED,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,uBAAuB,CAAC"}
@@ -1,12 +1,3 @@
1
1
  "use strict";
2
- /**
3
- * ACP wire-format types — inlined from the Agent Client Protocol spec.
4
- *
5
- * These were previously re-exported from @agentclientprotocol/sdk, but that
6
- * package is a pure-type dependency that causes "Cannot find module" errors
7
- * when the published package is installed without it. Since we only use a
8
- * small subset of the ACP types we inline the relevant definitions here so
9
- * there is no external type dependency at all.
10
- */
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  //# sourceMappingURL=AcpTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcpTypes.js","sourceRoot":"","sources":["../../../src/executor/acp/AcpTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
1
+ {"version":3,"file":"AcpTypes.js","sourceRoot":"","sources":["../../../src/executor/acp/AcpTypes.ts"],"names":[],"mappings":""}
@@ -10,6 +10,8 @@ export { ClaudePersistentExecutor } from './ClaudePersistentExecutor';
10
10
  export { AgyExecutor } from './AgyExecutor';
11
11
  export { CodexExecutor } from './CodexExecutor';
12
12
  export { CodexAppServerExecutor } from './CodexAppServerExecutor';
13
+ export { OpenCodeExecutor } from './OpenCodeExecutor';
14
+ export { KimiExecutor } from './KimiExecutor';
13
15
  export type { ExecutorModelInfo, IExecutor } from './IExecutor';
14
16
  /**
15
17
  * Executor type
@@ -27,12 +29,8 @@ export declare function createClaudeExecutor(directoryGuard: DirectoryGuard, typ
27
29
  /**
28
30
  * Create an executor based on the executor config.
29
31
  * Supports Claude (persistent / spawn / auto), AGY (Antigravity CLI,
30
- * stream-json protocol), and Codex (app-server by default, with exec fallback).
31
- *
32
- * Legacy note: configs written before the Gemini→AGY migration may still
33
- * say `type: 'gemini'`. That slot now maps to the AGY backend (the Gemini
34
- * CLI/ACP stack was removed), with `executor.gemini.*` read as a fallback
35
- * for `executor.agy.*` where applicable.
32
+ * stream-json protocol), Codex (app-server by default, with exec fallback),
33
+ * and OpenCode (ACP).
36
34
  *
37
35
  * @param directoryGuard Directory guard instance
38
36
  * @param executorConfig Executor config from remote-cli config (defaults to auto)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAItE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAClF,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAmBhE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3D;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,EAC9B,IAAI,GAAE,YAAqB,EAC3B,uBAAuB,CAAC,EAAE,MAAM,GAC/B,cAAc,GAAG,wBAAwB,CAiB3C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,GAAE,cAAiC,EACjD,uBAAuB,CAAC,EAAE,MAAM,EAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,CAwEX"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAClF,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAmBhE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3D;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,EAC9B,IAAI,GAAE,YAAqB,EAC3B,uBAAuB,CAAC,EAAE,MAAM,GAC/B,cAAc,GAAG,wBAAwB,CAiB3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,GAAE,cAAiC,EACjD,uBAAuB,CAAC,EAAE,MAAM,EAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,CA4EX"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CodexAppServerExecutor = exports.CodexExecutor = exports.AgyExecutor = exports.ClaudePersistentExecutor = exports.ClaudeExecutor = void 0;
3
+ exports.KimiExecutor = exports.OpenCodeExecutor = exports.CodexAppServerExecutor = exports.CodexExecutor = exports.AgyExecutor = exports.ClaudePersistentExecutor = exports.ClaudeExecutor = void 0;
4
4
  exports.createClaudeExecutor = createClaudeExecutor;
5
5
  exports.createExecutor = createExecutor;
6
6
  const ClaudeExecutor_1 = require("./ClaudeExecutor");
@@ -8,6 +8,8 @@ const ClaudePersistentExecutor_1 = require("./ClaudePersistentExecutor");
8
8
  const AgyExecutor_1 = require("./AgyExecutor");
9
9
  const CodexExecutor_1 = require("./CodexExecutor");
10
10
  const CodexAppServerExecutor_1 = require("./CodexAppServerExecutor");
11
+ const OpenCodeExecutor_1 = require("./OpenCodeExecutor");
12
+ const KimiExecutor_1 = require("./KimiExecutor");
11
13
  var ClaudeExecutor_2 = require("./ClaudeExecutor");
12
14
  Object.defineProperty(exports, "ClaudeExecutor", { enumerable: true, get: function () { return ClaudeExecutor_2.ClaudeExecutor; } });
13
15
  var ClaudePersistentExecutor_2 = require("./ClaudePersistentExecutor");
@@ -18,6 +20,10 @@ var CodexExecutor_2 = require("./CodexExecutor");
18
20
  Object.defineProperty(exports, "CodexExecutor", { enumerable: true, get: function () { return CodexExecutor_2.CodexExecutor; } });
19
21
  var CodexAppServerExecutor_2 = require("./CodexAppServerExecutor");
20
22
  Object.defineProperty(exports, "CodexAppServerExecutor", { enumerable: true, get: function () { return CodexAppServerExecutor_2.CodexAppServerExecutor; } });
23
+ var OpenCodeExecutor_2 = require("./OpenCodeExecutor");
24
+ Object.defineProperty(exports, "OpenCodeExecutor", { enumerable: true, get: function () { return OpenCodeExecutor_2.OpenCodeExecutor; } });
25
+ var KimiExecutor_2 = require("./KimiExecutor");
26
+ Object.defineProperty(exports, "KimiExecutor", { enumerable: true, get: function () { return KimiExecutor_2.KimiExecutor; } });
21
27
  /**
22
28
  * Check if we're running inside a Claude Code session
23
29
  */
@@ -59,12 +65,8 @@ function createClaudeExecutor(directoryGuard, type = 'auto', initialWorkingDirec
59
65
  /**
60
66
  * Create an executor based on the executor config.
61
67
  * Supports Claude (persistent / spawn / auto), AGY (Antigravity CLI,
62
- * stream-json protocol), and Codex (app-server by default, with exec fallback).
63
- *
64
- * Legacy note: configs written before the Gemini→AGY migration may still
65
- * say `type: 'gemini'`. That slot now maps to the AGY backend (the Gemini
66
- * CLI/ACP stack was removed), with `executor.gemini.*` read as a fallback
67
- * for `executor.agy.*` where applicable.
68
+ * stream-json protocol), Codex (app-server by default, with exec fallback),
69
+ * and OpenCode (ACP).
68
70
  *
69
71
  * @param directoryGuard Directory guard instance
70
72
  * @param executorConfig Executor config from remote-cli config (defaults to auto)
@@ -72,35 +74,18 @@ function createClaudeExecutor(directoryGuard, type = 'auto', initialWorkingDirec
72
74
  * @returns IExecutor instance
73
75
  */
74
76
  function createExecutor(directoryGuard, executorConfig = { type: 'auto' }, initialWorkingDirectory, threadId, model, effort) {
75
- // Cast to string so the legacy 'gemini' case compiles even though the
76
- // ExecutorConfig union no longer includes it.
77
77
  switch (executorConfig.type) {
78
78
  case 'agy':
79
79
  console.log('[ExecutorFactory] Using AGY CLI executor (stream-json)');
80
80
  return new AgyExecutor_1.AgyExecutor(directoryGuard, {
81
- // Per-thread model (set via /model, persisted on the thread) wins;
82
- // legacy fallback: the user may have switched type to 'agy' while
83
- // their model still lives under the old executor.gemini key.
84
- model: model ?? executorConfig.agy?.model ?? executorConfig.gemini?.model,
85
- effort,
86
- autoApprove: executorConfig.agy?.autoApprove ?? executorConfig.gemini?.autoApprove ?? true,
87
- initialWorkingDirectory,
88
- agyCommand: executorConfig.agy?.command,
89
- threadId,
90
- });
91
- case 'gemini': {
92
- // Legacy alias: the Gemini backend slot was replaced by AGY.
93
- console.log('[ExecutorFactory] Legacy "gemini" backend migrated to AGY CLI executor');
94
- const legacy = executorConfig.gemini;
95
- return new AgyExecutor_1.AgyExecutor(directoryGuard, {
96
- model: model ?? executorConfig.agy?.model ?? legacy?.model,
81
+ // Per-thread model (set via /model, persisted on the thread) wins.
82
+ model: model ?? executorConfig.agy?.model,
97
83
  effort,
98
- autoApprove: executorConfig.agy?.autoApprove ?? legacy?.autoApprove ?? true,
84
+ autoApprove: executorConfig.agy?.autoApprove ?? true,
99
85
  initialWorkingDirectory,
100
86
  agyCommand: executorConfig.agy?.command,
101
87
  threadId,
102
88
  });
103
- }
104
89
  case 'codex':
105
90
  if (executorConfig.codex?.transport === 'exec') {
106
91
  console.log('[ExecutorFactory] Using Codex CLI executor (exec fallback)');
@@ -123,6 +108,26 @@ function createExecutor(directoryGuard, executorConfig = { type: 'auto' }, initi
123
108
  codexCommand: executorConfig.codex?.command,
124
109
  threadId,
125
110
  });
111
+ case 'opencode':
112
+ console.log('[ExecutorFactory] Using OpenCode ACP executor');
113
+ return new OpenCodeExecutor_1.OpenCodeExecutor(directoryGuard, {
114
+ model: model ?? executorConfig.opencode?.model,
115
+ effort,
116
+ autoApprove: executorConfig.opencode?.autoApprove ?? true,
117
+ initialWorkingDirectory,
118
+ openCodeCommand: executorConfig.opencode?.command,
119
+ threadId,
120
+ });
121
+ case 'kimi':
122
+ console.log('[ExecutorFactory] Using Kimi Code ACP executor');
123
+ return new KimiExecutor_1.KimiExecutor(directoryGuard, {
124
+ model: model ?? executorConfig.kimi?.model,
125
+ effort,
126
+ autoApprove: executorConfig.kimi?.autoApprove ?? true,
127
+ initialWorkingDirectory,
128
+ kimiCommand: executorConfig.kimi?.command,
129
+ threadId,
130
+ });
126
131
  case 'claude-persistent':
127
132
  console.log('[ExecutorFactory] Using Claude persistent executor');
128
133
  return new ClaudePersistentExecutor_1.ClaudePersistentExecutor(directoryGuard, initialWorkingDirectory, threadId, model);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ function resolveThreadModel(thread, config) {
15
15
  }
16
16
  function resolveThreadEffort(thread, config) {
17
17
  const key = (0, config_1.backendKeyOf)(config.type);
18
- return key === 'codex' || key === 'agy' ? thread.efforts?.[key] : undefined;
18
+ return key === 'codex' || key === 'agy' || key === 'opencode' || key === 'kimi' ? thread.efforts?.[key] : undefined;
19
19
  }
20
20
  function isClaudeType(type) {
21
21
  return type === 'auto' || type === 'claude-persistent' || type === 'claude-spawn';
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadExecutorPool.js","sourceRoot":"","sources":["../../src/thread/ThreadExecutorPool.ts"],"names":[],"mappings":";;;AAMA,4CAA+C;AAC/C,0CAA6C;AAE7C;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,MAAc,EAAE,MAAsB;IAChE,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,IAAc,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,MAAsB;IACjE,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,IAAc,CAAC,CAAC;IAChD,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,cAAc,CAAC;AACpF,CAAC;AAmBD;;;;GAIG;AACH,MAAa,kBAAkB;IACrB,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzC,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IAClC,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,cAAc,CAAiB;IACtB,aAAa,CAAgB;IAC7B,cAAc,CAAiB;IAC/B,OAAO,CAAkB;IAE1C,YACE,aAA4B,EAC5B,cAA8B,EAC9B,cAA8B,EAC9B,UAA2B,yBAAc;QAEzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,QAAgB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAE9D,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC,OAAO,CACrB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAC/B,MAAM,CAAC,gBAAgB,IAAI,SAAS,EACpC,QAAQ,EACR,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAC3D,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAC7D,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oDAAoD;IACpD,aAAa,CAAC,QAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,OAAO,IAAI,IAAA,qBAAY,EAAC,IAAI,CAAC,cAAc,CAAC,IAAc,CAAC,CAAC;IAC5E,CAAC;IAED,0DAA0D;IAC1D,kBAAkB,CAAC,MAAc;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC;QAChD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IAED,2EAA2E;IAE3E,YAAY,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,IAAa;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,8CAA8C;YAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,cAAc,CAAC,QAAgB,EAAE,QAAiB;QAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2EAA2E;IAE3E;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2EAA2E;IAE3E;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,UAAoC,EAAE;QAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,UAAU,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC5C,MAAM,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,oEAAoE;YACpE,uEAAuE;YACvE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,UAAoC,EAAE;QACrD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAC7E,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAC,SAAyB;QAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAClC,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAE,OAAmB;QAC7D,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QACvC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF;AAtKD,gDAsKC"}
1
+ {"version":3,"file":"ThreadExecutorPool.js","sourceRoot":"","sources":["../../src/thread/ThreadExecutorPool.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export interface Thread {
26
26
  * Takes precedence over the legacy `model` field.
27
27
  */
28
28
  models?: Partial<Record<BackendKey, string>>;
29
- /** Per-backend reasoning effort overrides. Currently used by Codex and AGY. */
29
+ /** Per-backend reasoning effort overrides. Currently used by Codex, AGY, OpenCode, and Kimi Code. */
30
30
  efforts?: Partial<Record<BackendKey, string>>;
31
31
  }
32
32
  export interface ThreadStore {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/thread/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,iBAAiB,QAA6D,CAAC;AAE5F,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/thread/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,iBAAiB,QAA6D,CAAC;AAE5F,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,qGAAqG;IACrG,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB"}
@@ -50,35 +50,41 @@ export interface CodexExecutorConfig {
50
50
  /** Codex transport. App-server is the default; exec is an emergency fallback. */
51
51
  transport?: 'app-server' | 'exec';
52
52
  }
53
- /**
54
- * Legacy Gemini CLI configuration.
55
- * @deprecated The Gemini/ACP backend was removed; the 'gemini' backend slot
56
- * now maps to AGY. These fields are read only as fallbacks for `agy.*`
57
- * during config migration.
58
- */
59
- export interface GeminiExecutorConfig {
53
+ /** OpenCode CLI executor configuration. */
54
+ export interface OpenCodeExecutorConfig {
55
+ /** Model in provider/model form. Unset uses the OpenCode session default. */
56
+ model?: string;
57
+ /** Automatically approve tool permission requests. Default: true. */
58
+ autoApprove?: boolean;
59
+ /** Override the OpenCode binary command. Default: opencode. */
60
+ command?: string;
61
+ }
62
+ /** Kimi Code CLI executor configuration. */
63
+ export interface KimiExecutorConfig {
64
+ /** Model alias exposed by the Kimi Code ACP session. */
60
65
  model?: string;
66
+ /** Automatically approve tool permission requests. Default: true. */
61
67
  autoApprove?: boolean;
68
+ /** Override the Kimi Code binary command. Default: kimi. */
62
69
  command?: string;
63
- version?: string;
64
70
  }
65
71
  /**
66
72
  * Executor configuration — controls which AI CLI backend is used
67
73
  */
68
74
  export interface ExecutorConfig {
69
- type: 'auto' | 'claude-persistent' | 'claude-spawn' | 'agy' | 'codex';
75
+ type: 'auto' | 'claude-persistent' | 'claude-spawn' | 'agy' | 'codex' | 'opencode' | 'kimi';
70
76
  agy?: AgyExecutorConfig;
71
77
  codex?: CodexExecutorConfig;
72
- /** @deprecated Legacy Gemini config — read as fallback for agy.* during migration. */
73
- gemini?: GeminiExecutorConfig;
78
+ opencode?: OpenCodeExecutorConfig;
79
+ kimi?: KimiExecutorConfig;
74
80
  }
75
81
  /**
76
82
  * Canonical backend keys for per-backend thread settings (e.g. Thread.models).
77
83
  */
78
- export type BackendKey = 'claude' | 'agy' | 'codex';
84
+ export type BackendKey = 'claude' | 'agy' | 'codex' | 'opencode' | 'kimi';
79
85
  /**
80
86
  * Map an executor config type to its canonical backend key.
81
- * 'auto'/'claude-*' → 'claude'; legacy 'gemini' slot → 'agy'.
87
+ * 'auto'/'claude-*' map to 'claude'.
82
88
  */
83
89
  export declare function backendKeyOf(type: ExecutorConfig['type'] | string): BackendKey;
84
90
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,8BAA8B;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+BAA+B;IAC/B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,SAAS,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,cAAc,GAAG,KAAK,GAAG,OAAO,CAAC;IACtE,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,sFAAsF;IACtF,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,UAAU,CAI9E;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,mFAAmF;IACnF,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,sCAAsC;IACtC,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAW5B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,17 @@ exports.DEFAULT_CONFIG = void 0;
7
7
  exports.backendKeyOf = backendKeyOf;
8
8
  /**
9
9
  * Map an executor config type to its canonical backend key.
10
- * 'auto'/'claude-*' → 'claude'; legacy 'gemini' slot → 'agy'.
10
+ * 'auto'/'claude-*' map to 'claude'.
11
11
  */
12
12
  function backendKeyOf(type) {
13
- if (type === 'agy' || type === 'gemini')
13
+ if (type === 'agy')
14
14
  return 'agy';
15
15
  if (type === 'codex')
16
16
  return 'codex';
17
+ if (type === 'opencode')
18
+ return 'opencode';
19
+ if (type === 'kimi')
20
+ return 'kimi';
17
21
  return 'claude';
18
22
  }
19
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAwFH,oCAIC;AARD;;;GAGG;AACH,SAAgB,YAAY,CAAC,IAAqC;IAChE,IAAI,IAAI,KAAK,KAAK,IAAK,IAAe,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACrC,OAAO,QAAQ,CAAC;AAClB,CAAC;AA0BD;;GAEG;AACU,QAAA,cAAc,GAAW;IACpC,QAAQ,EAAE;QACR,kBAAkB,EAAE,EAAE;QACtB,cAAc,EAAE,EAAE;QAClB,kBAAkB,EAAE,CAAC;KACtB;IACD,MAAM,EAAE;QACN,GAAG,EAAE,sBAAsB;QAC3B,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,KAAK;KACzB;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA+FH,oCAMC;AAVD;;;GAGG;AACH,SAAgB,YAAY,CAAC,IAAqC;IAChE,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACrC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC;AA0BD;;GAEG;AACU,QAAA,cAAc,GAAW;IACpC,QAAQ,EAAE;QACR,kBAAkB,EAAE,EAAE;QACtB,cAAc,EAAE,EAAE;QAClB,kBAAkB,EAAE,CAAC;KACtB;IACD,MAAM,EAAE;QACN,GAAG,EAAE,sBAAsB;QAC3B,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,KAAK;KACzB;CACF,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface UpdateReadiness {
2
+ tryBeginAutomaticUpdate(): boolean;
3
+ endAutomaticUpdate(): void;
4
+ }
5
+ export interface AutomaticUpdaterDependencies {
6
+ installVersion: (version: string) => Promise<void>;
7
+ beforeRestart: () => Promise<void>;
8
+ exitProcess: (code: number) => void;
9
+ retryDelayMs: number;
10
+ failureRetryDelayMs: number;
11
+ }
12
+ export declare function installGlobalCliVersion(version: string, cliEntryPath?: string): Promise<void>;
13
+ export declare class AutomaticUpdater {
14
+ private readonly currentVersion;
15
+ private readonly readiness;
16
+ private pendingVersion?;
17
+ private retryTimer?;
18
+ private updating;
19
+ constructor(currentVersion: string, readiness: UpdateReadiness, dependencies?: Partial<AutomaticUpdaterDependencies>);
20
+ private readonly dependencies;
21
+ handleRouterVersion(routerVersion: string): Promise<void>;
22
+ handleProtocolMismatch(serverUrl: string): Promise<void>;
23
+ private attemptUpdate;
24
+ private scheduleAttempt;
25
+ }
26
+ //# sourceMappingURL=AutomaticUpdater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutomaticUpdater.d.ts","sourceRoot":"","sources":["../../src/update/AutomaticUpdater.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,uBAAuB,IAAI,OAAO,CAAC;IACnC,kBAAkB,IAAI,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAcD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,SAAgC,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1H;AAED,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAS;gBAGN,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,eAAe,EAC3C,YAAY,GAAE,OAAO,CAAC,4BAA4B,CAAM;IAW1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;IAEtD,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzD,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAWhD,aAAa;IAwB3B,OAAO,CAAC,eAAe;CAOxB"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AutomaticUpdater = void 0;
7
+ exports.installGlobalCliVersion = installGlobalCliVersion;
8
+ const axios_1 = __importDefault(require("axios"));
9
+ const child_process_1 = require("child_process");
10
+ const path_1 = __importDefault(require("path"));
11
+ const version_1 = require("../utils/version");
12
+ const CLI_PACKAGE = '@yu_robotics/remote-cli';
13
+ function executeFile(command, args, timeout) {
14
+ return new Promise((resolve, reject) => {
15
+ (0, child_process_1.execFile)(command, args, { encoding: 'utf8', timeout }, (error, stdout, stderr) => {
16
+ if (error) {
17
+ reject(new Error(stderr.trim() || error.message));
18
+ return;
19
+ }
20
+ resolve(stdout.trim());
21
+ });
22
+ });
23
+ }
24
+ async function installGlobalCliVersion(version, cliEntryPath = path_1.default.resolve(process.argv[1])) {
25
+ if (!(0, version_1.isValidVersion)(version))
26
+ throw new Error(`Invalid Router version: ${version}`);
27
+ const packageSpec = `${CLI_PACKAGE}@${version}`;
28
+ const publishedVersion = JSON.parse(await executeFile('npm', ['view', packageSpec, 'version', '--json'], 30_000));
29
+ if (publishedVersion !== version)
30
+ throw new Error(`${packageSpec} is not available from the configured npm registry`);
31
+ await executeFile('npm', ['install', '-g', packageSpec, '--no-audit', '--no-fund'], 5 * 60_000);
32
+ const installedVersion = await executeFile(process.execPath, [cliEntryPath, '--version'], 10_000);
33
+ if (installedVersion !== version) {
34
+ throw new Error(`Installed CLI version ${installedVersion || 'unknown'} does not match Router version ${version}`);
35
+ }
36
+ }
37
+ class AutomaticUpdater {
38
+ currentVersion;
39
+ readiness;
40
+ pendingVersion;
41
+ retryTimer;
42
+ updating = false;
43
+ constructor(currentVersion, readiness, dependencies = {}) {
44
+ this.currentVersion = currentVersion;
45
+ this.readiness = readiness;
46
+ this.dependencies = {
47
+ installVersion: dependencies.installVersion ?? ((version) => installGlobalCliVersion(version)),
48
+ beforeRestart: dependencies.beforeRestart ?? (async () => { }),
49
+ exitProcess: dependencies.exitProcess ?? ((code) => process.exit(code)),
50
+ retryDelayMs: dependencies.retryDelayMs ?? 1000,
51
+ failureRetryDelayMs: dependencies.failureRetryDelayMs ?? 60_000,
52
+ };
53
+ }
54
+ dependencies;
55
+ async handleRouterVersion(routerVersion) {
56
+ if (!(0, version_1.isNewerVersion)(routerVersion, this.currentVersion))
57
+ return;
58
+ if (!this.pendingVersion || (0, version_1.isNewerVersion)(routerVersion, this.pendingVersion)) {
59
+ this.pendingVersion = routerVersion;
60
+ }
61
+ console.log(`[AutoUpdate] Router ${routerVersion} is newer than CLI ${this.currentVersion}.`);
62
+ await this.attemptUpdate();
63
+ }
64
+ async handleProtocolMismatch(serverUrl) {
65
+ try {
66
+ const response = await axios_1.default.get(`${serverUrl}/api/version`, { timeout: 5000 });
67
+ if (response.data?.success && response.data.version) {
68
+ await this.handleRouterVersion(response.data.version);
69
+ }
70
+ }
71
+ catch (error) {
72
+ console.error('[AutoUpdate] Failed to resolve Router version after protocol rejection:', error instanceof Error ? error.message : error);
73
+ }
74
+ }
75
+ async attemptUpdate() {
76
+ if (this.updating || !this.pendingVersion)
77
+ return;
78
+ if (!this.readiness.tryBeginAutomaticUpdate()) {
79
+ console.log('[AutoUpdate] Waiting for active tasks and queues to finish.');
80
+ this.scheduleAttempt(this.dependencies.retryDelayMs);
81
+ return;
82
+ }
83
+ this.updating = true;
84
+ const targetVersion = this.pendingVersion;
85
+ console.log(`[AutoUpdate] Installing ${CLI_PACKAGE}@${targetVersion}...`);
86
+ try {
87
+ await this.dependencies.installVersion(targetVersion);
88
+ console.log(`[AutoUpdate] CLI ${targetVersion} installed successfully. Exiting for the process supervisor to restart...`);
89
+ await this.dependencies.beforeRestart();
90
+ this.dependencies.exitProcess(0);
91
+ }
92
+ catch (error) {
93
+ console.error('[AutoUpdate] Upgrade failed; continuing with the current process and retrying later:', error instanceof Error ? error.message : error);
94
+ this.updating = false;
95
+ this.readiness.endAutomaticUpdate();
96
+ this.scheduleAttempt(this.dependencies.failureRetryDelayMs);
97
+ }
98
+ }
99
+ scheduleAttempt(delayMs) {
100
+ if (this.retryTimer)
101
+ return;
102
+ this.retryTimer = setTimeout(() => {
103
+ this.retryTimer = undefined;
104
+ void this.attemptUpdate();
105
+ }, delayMs);
106
+ }
107
+ }
108
+ exports.AutomaticUpdater = AutomaticUpdater;
109
+ //# sourceMappingURL=AutomaticUpdater.js.map