@jingyi0605/codingns4dsh 0.2.1-beta.1 → 0.2.1-beta.3

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 (217) hide show
  1. package/README.en.md +25 -14
  2. package/README.md +21 -17
  3. package/data/build/dist/client/bundle.js +366 -81
  4. package/data/build/dist/client/bundle.js.map +1 -1
  5. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
  6. package/data/build/dist/client/locales/fileWorkspace.js +4 -0
  7. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  8. package/data/build/dist/client/locales/peerHostWorkspace.d.ts.map +1 -1
  9. package/data/build/dist/client/locales/peerHostWorkspace.js +16 -2
  10. package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -1
  11. package/data/build/dist/client/peer-host-native-projection.d.ts +4 -3
  12. package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
  13. package/data/build/dist/client/peer-host-native-projection.js +7 -6
  14. package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
  15. package/data/build/dist/client/peer-host-native-store-projection.js +9 -21
  16. package/data/build/dist/client/peer-host-native-store-projection.js.map +1 -1
  17. package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -1
  18. package/data/build/dist/client/peer-host-workspace-tab.js +139 -10
  19. package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -1
  20. package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
  21. package/data/build/dist/client/session-changed-files-view.js +162 -58
  22. package/data/build/dist/client/session-changed-files-view.js.map +1 -1
  23. package/data/build/dist/client/skill-command.d.ts +1 -1
  24. package/data/build/dist/client/skill-command.d.ts.map +1 -1
  25. package/data/build/dist/client/skill-command.js +25 -2
  26. package/data/build/dist/client/skill-command.js.map +1 -1
  27. package/data/build/dist/client/skill-reference-dom.js +1 -1
  28. package/data/build/dist/client/skill-reference-dom.js.map +1 -1
  29. package/data/build/dist/client/terminal/styles.js +2 -2
  30. package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.d.ts +28 -0
  31. package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.d.ts.map +1 -0
  32. package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.js +109 -0
  33. package/data/build/dist/dsh-capabilities/host/sidebar-session-compat.js.map +1 -0
  34. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +25 -3
  35. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  36. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +120 -9
  37. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  38. package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts +31 -0
  39. package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts.map +1 -0
  40. package/data/build/dist/host/cli-adapters/acp-elicitation.js +144 -0
  41. package/data/build/dist/host/cli-adapters/acp-elicitation.js.map +1 -0
  42. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +2 -1
  43. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
  44. package/data/build/dist/host/cli-adapters/antigravity-driver.js +15 -2
  45. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  46. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts +16 -5
  47. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts.map +1 -1
  48. package/data/build/dist/host/cli-adapters/attachment-utils.js +152 -42
  49. package/data/build/dist/host/cli-adapters/attachment-utils.js.map +1 -1
  50. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +23 -8
  51. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  52. package/data/build/dist/host/cli-adapters/claude-driver.js +227 -70
  53. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  54. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +7 -1
  55. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
  56. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +143 -6
  57. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
  58. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  59. package/data/build/dist/host/cli-adapters/codex-driver.js +74 -6
  60. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  61. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts +23 -0
  62. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts.map +1 -0
  63. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js +39 -0
  64. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js.map +1 -0
  65. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +17 -6
  66. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  67. package/data/build/dist/host/cli-adapters/command-code-driver.js +448 -26
  68. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  69. package/data/build/dist/host/cli-adapters/command-code-subscription.d.ts +1 -1
  70. package/data/build/dist/host/cli-adapters/command-code-subscription.d.ts.map +1 -1
  71. package/data/build/dist/host/cli-adapters/command-code-subscription.js +7 -4
  72. package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -1
  73. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +1 -1
  74. package/data/build/dist/host/cli-adapters/cursor-driver.js +2 -2
  75. package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
  76. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +1 -1
  77. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
  78. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  79. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +28 -0
  80. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  81. package/data/build/dist/host/cli-adapters/dsh-tool-history.d.ts.map +1 -1
  82. package/data/build/dist/host/cli-adapters/dsh-tool-history.js +23 -1
  83. package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -1
  84. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  85. package/data/build/dist/host/cli-adapters/feature.js +5 -3
  86. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  87. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts +2 -1
  88. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  89. package/data/build/dist/host/cli-adapters/gemini-driver.js +66 -11
  90. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  91. package/data/build/dist/host/cli-adapters/grok-driver.d.ts +5 -2
  92. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  93. package/data/build/dist/host/cli-adapters/grok-driver.js +268 -18
  94. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  95. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts +2 -0
  96. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  97. package/data/build/dist/host/cli-adapters/json-rpc-process.js +8 -3
  98. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  99. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts +4 -0
  100. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  101. package/data/build/dist/host/cli-adapters/kimi-driver.js +11 -4
  102. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  103. package/data/build/dist/host/cli-adapters/kiro-driver.js +1 -1
  104. package/data/build/dist/host/cli-adapters/kiro-driver.js.map +1 -1
  105. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +6 -2
  106. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
  107. package/data/build/dist/host/cli-adapters/mcode-driver.js +95 -26
  108. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
  109. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +55 -1
  110. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
  111. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +148 -6
  112. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
  113. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +7 -0
  114. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
  115. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  116. package/data/build/dist/host/cli-adapters/new-api-subscription.d.ts.map +1 -1
  117. package/data/build/dist/host/cli-adapters/new-api-subscription.js +11 -58
  118. package/data/build/dist/host/cli-adapters/new-api-subscription.js.map +1 -1
  119. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +5 -2
  120. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  121. package/data/build/dist/host/cli-adapters/opencode-driver.js +136 -18
  122. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  123. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  124. package/data/build/dist/host/cli-adapters/pi-driver.js +2 -1
  125. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  126. package/data/build/dist/host/cli-adapters/process-utils.d.ts +10 -0
  127. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  128. package/data/build/dist/host/cli-adapters/process-utils.js +20 -0
  129. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  130. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +3 -0
  131. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  132. package/data/build/dist/host/cli-adapters/provider-subscription.js +42 -8
  133. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  134. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +4 -4
  135. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
  136. package/data/build/dist/host/cli-adapters/qoder-driver.js +31 -8
  137. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
  138. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  139. package/data/build/dist/host/cli-adapters/registry.js +5 -3
  140. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  141. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
  142. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +2 -9
  143. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
  144. package/data/build/dist/host/cli-adapters/skill-filesystem.d.ts +25 -0
  145. package/data/build/dist/host/cli-adapters/skill-filesystem.d.ts.map +1 -0
  146. package/data/build/dist/host/cli-adapters/skill-filesystem.js +161 -0
  147. package/data/build/dist/host/cli-adapters/skill-filesystem.js.map +1 -0
  148. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +1 -0
  149. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  150. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +7 -1
  151. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  152. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
  153. package/data/build/dist/host/cli-adapters/subagent-tool.js +40 -10
  154. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
  155. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts +8 -2
  156. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -1
  157. package/data/build/dist/host/cli-adapters/zcode-driver.js +166 -55
  158. package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -1
  159. package/data/build/dist/host/cli-adapters/zcode-interactions.d.ts +18 -0
  160. package/data/build/dist/host/cli-adapters/zcode-interactions.d.ts.map +1 -0
  161. package/data/build/dist/host/cli-adapters/zcode-interactions.js +90 -0
  162. package/data/build/dist/host/cli-adapters/zcode-interactions.js.map +1 -0
  163. package/data/build/dist/host/cli-adapters/zcode-provider-config.d.ts +26 -0
  164. package/data/build/dist/host/cli-adapters/zcode-provider-config.d.ts.map +1 -0
  165. package/data/build/dist/host/cli-adapters/zcode-provider-config.js +102 -0
  166. package/data/build/dist/host/cli-adapters/zcode-provider-config.js.map +1 -0
  167. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts +2 -7
  168. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts.map +1 -1
  169. package/data/build/dist/host/cli-adapters/zcode-subscription.js.map +1 -1
  170. package/data/build/dist/host/cli-adapters/zcode-telemetry.d.ts +17 -0
  171. package/data/build/dist/host/cli-adapters/zcode-telemetry.d.ts.map +1 -0
  172. package/data/build/dist/host/cli-adapters/zcode-telemetry.js +124 -0
  173. package/data/build/dist/host/cli-adapters/zcode-telemetry.js.map +1 -0
  174. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +4 -1
  175. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
  176. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
  177. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +11 -3
  178. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
  179. package/data/build/dist/host/cli-bridge/bridge-server.js +8 -4
  180. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
  181. package/data/build/dist/host/cli-bridge/command-code-mod.js +18 -2
  182. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
  183. package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -1
  184. package/data/build/dist/host/cli-bridge/dispatch.js +30 -5
  185. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  186. package/data/build/dist/host/cli-bridge/injections.d.ts +2 -9
  187. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
  188. package/data/build/dist/host/cli-bridge/injections.js +9 -19
  189. package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
  190. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +49 -7
  191. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
  192. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  193. package/data/build/dist/host/features/peer-host.js +23 -0
  194. package/data/build/dist/host/features/peer-host.js.map +1 -1
  195. package/data/build/dist/host/index.d.ts +1 -1
  196. package/data/build/dist/host/index.d.ts.map +1 -1
  197. package/data/build/dist/host/index.js +4 -1
  198. package/data/build/dist/host/index.js.map +1 -1
  199. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +2 -0
  200. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -1
  201. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +5 -0
  202. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
  203. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -1
  204. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +3 -1
  205. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  206. package/data/build/dist/host/rpc.d.ts.map +1 -1
  207. package/data/build/dist/host/rpc.js +5 -0
  208. package/data/build/dist/host/rpc.js.map +1 -1
  209. package/data/build/dist/shared/contracts/cli-adapter.d.ts +4 -0
  210. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  211. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  212. package/data/build/dist/shared/contracts/version.js +1 -1
  213. package/package.json +3 -1
  214. package/profile/README.md +2 -2
  215. package/profile/package.json +2 -2
  216. package/profile/version.json +1 -1
  217. package/version.json +1 -1
@@ -6,11 +6,13 @@ import { buildAcpPromptBlocks } from './attachment-utils.js';
6
6
  import { acpBridgeMcpServers } from '../cli-bridge/injections.js';
7
7
  import { advanceCodingNsSegment, createCodingNsSegmentState, decorateCodingNsSegmentEvent } from './stream-normalizer.js';
8
8
  import { reasoningText } from './reasoning-content.js';
9
+ import { ACP_FORM_CLIENT_CAPABILITIES, acpElicitationResponse, readAcpElicitationRequest } from './acp-elicitation.js';
9
10
  /**
10
11
  * Cursor/Kiro 共用的最小 ACP 驱动。
11
12
  *
12
- * ACP 的权限请求在这两个适配器上没有可验证的 DSH 应答能力,因此统一拒绝;
13
- * 驱动不声明 permission/questions/usage/fork 等能力,避免把协议字段误当能力。
13
+ * ACP 标准权限和 form elicitation 请求由本驱动保留原始 JSON-RPC id,并通过
14
+ * 统一权限/问题事件交给 DSH 原生组件;未知的扩展 server request 仍然快速取消,
15
+ * 避免 Provider 永久等待。URL elicitation 需要浏览器安全同意流程,本驱动不宣告。
14
16
  */
15
17
  export class AcpCliDriver {
16
18
  descriptor;
@@ -20,12 +22,15 @@ export class AcpCliDriver {
20
22
  args;
21
23
  buildArgsForTurn;
22
24
  runtimeModelSelection;
25
+ configureSession;
23
26
  readModelCatalog;
24
27
  fallbackCatalog;
25
28
  runSpawnSync;
26
29
  runSpawn;
27
30
  environment;
31
+ sessionEnvironment;
28
32
  probeReason;
33
+ readQuestionRequest;
29
34
  cachedBinary = null;
30
35
  processes = new Set();
31
36
  sessions = new Map();
@@ -40,10 +45,12 @@ export class AcpCliDriver {
40
45
  this.args = options.args;
41
46
  this.buildArgsForTurn = options.buildArgs ?? (() => this.args);
42
47
  this.runtimeModelSelection = options.runtimeModelSelection ?? true;
48
+ this.configureSession = options.configureSession;
43
49
  this.readModelCatalog = options.readModelCatalog;
44
50
  this.fallbackCatalog = options.fallbackCatalog ?? emptyCatalog();
45
51
  const baseSpawnSync = options.spawnSync ?? spawnSync;
46
52
  this.environment = options.environment ?? {};
53
+ this.sessionEnvironment = { ...this.environment, ...(options.sessionEnvironment ?? {}) };
47
54
  this.runSpawnSync = Object.keys(this.environment).length === 0
48
55
  ? baseSpawnSync
49
56
  : ((command, args, spawnOptions) => baseSpawnSync(command, args, {
@@ -53,6 +60,7 @@ export class AcpCliDriver {
53
60
  }));
54
61
  this.runSpawn = options.spawn ?? spawn;
55
62
  this.probeReason = options.probeReason ?? 'Provider 未公开可安全读取的会话索引,未执行有副作用的探测';
63
+ this.readQuestionRequest = options.readQuestionRequest ?? readStandardQuestionRequest;
56
64
  }
57
65
  async detect() {
58
66
  const result = await detectBinary({ binaries: this.binaries, spawnSync: this.runSpawnSync });
@@ -81,6 +89,29 @@ export class AcpCliDriver {
81
89
  return { state: 'unknown', reason: '缺少 Provider 会话标识' };
82
90
  return { state: 'unknown', reason: this.probeReason };
83
91
  }
92
+ /** 回复 ACP 标准 `session/request_permission`,只使用 Provider 给出的选项 id。 */
93
+ respondPermission(sessionId, response) {
94
+ const session = this.sessions.get(sessionId);
95
+ const pending = session?.permissions.get(response.requestId);
96
+ if (session === undefined || pending === undefined)
97
+ throw new Error(`${this.descriptor.name} 权限请求不存在`);
98
+ session.permissions.delete(response.requestId);
99
+ session.rpc.respond(pending.rpcId, {
100
+ outcome: {
101
+ outcome: 'selected',
102
+ optionId: response.approved ? pending.allowOptionId : pending.rejectOptionId,
103
+ },
104
+ });
105
+ }
106
+ /** 回复 ACP 标准 `elicitation/create` 的 form 内容。 */
107
+ respondQuestion(sessionId, response) {
108
+ const session = this.sessions.get(sessionId);
109
+ const pending = session?.questions.get(response.requestId);
110
+ if (session === undefined || pending === undefined)
111
+ throw new Error(`${this.descriptor.name} 问题请求不存在`);
112
+ session.questions.delete(response.requestId);
113
+ session.rpc.respond(pending.rpcId, pending.respond(response));
114
+ }
84
115
  async *executeTurn(input) {
85
116
  const command = this.cachedBinary ?? (await this.detect()).command;
86
117
  if (command === null)
@@ -98,6 +129,7 @@ export class AcpCliDriver {
98
129
  session.acpSessionId = providerSessionId;
99
130
  }
100
131
  yield { type: 'session-binding', providerSessionId };
132
+ await this.configureSession?.(session.rpc, providerSessionId, input);
101
133
  if (this.runtimeModelSelection && input.modelId && input.modelId !== 'provider-default') {
102
134
  await session.rpc.request('session/set_model', { sessionId: providerSessionId, modelId: input.modelId }, { signal: input.signal, killOnAbort: false }).catch(() => undefined);
103
135
  }
@@ -115,7 +147,7 @@ export class AcpCliDriver {
115
147
  response = next.value;
116
148
  break;
117
149
  }
118
- const rawChunk = acpMessageToChunk(next.value, input.signal?.aborted ?? false);
150
+ const rawChunk = acpMessageToChunk(next.value, input.signal?.aborted ?? false, this.readQuestionRequest);
119
151
  const chunk = rawChunk === null ? null : decorateCodingNsSegmentEvent(rawChunk, input, segmentState, this.descriptor.id);
120
152
  if (chunk === null)
121
153
  continue;
@@ -161,8 +193,8 @@ export class AcpCliDriver {
161
193
  if (previous !== undefined && previous.cwd === input.cwd && previous.argsKey === argsKey && !previous.rpc.isClosed)
162
194
  return previous;
163
195
  previous?.rpc.dispose();
164
- const rpc = new JsonRpcProcess({ command, args, cwd: input.cwd, env: this.environment, spawn: this.runSpawn });
165
- const state = { rpc, cwd: input.cwd, argsKey, acpSessionId: '' };
196
+ const rpc = new JsonRpcProcess({ command, args, cwd: input.cwd, env: this.sessionEnvironment, spawn: this.runSpawn });
197
+ const state = { rpc, cwd: input.cwd, argsKey, acpSessionId: '', permissions: new Map(), questions: new Map() };
166
198
  this.processes.add(rpc);
167
199
  this.sessions.set(input.sessionId, state);
168
200
  rpc.addExitListener(() => {
@@ -170,8 +202,27 @@ export class AcpCliDriver {
170
202
  if (this.sessions.get(input.sessionId)?.rpc === rpc)
171
203
  this.sessions.delete(input.sessionId);
172
204
  });
173
- // 没有 DSH 权限应答通道时拒绝 Provider 的交互式授权,防止轮次永久等待。
174
- rpc.setServerRequestHandler(() => ({ outcome: { outcome: 'cancelled' } }));
205
+ // ACP 标准权限请求必须等待 DSH 原生审批;未知扩展请求仍快速取消,避免
206
+ // Provider 因没有对应能力而永久挂起。
207
+ rpc.setServerRequestHandler((message) => {
208
+ const elicitation = this.readQuestionRequest(message);
209
+ if (elicitation !== null) {
210
+ state.questions.set(elicitation.requestId, elicitation);
211
+ return new Promise(() => undefined);
212
+ }
213
+ if (message.method === 'elicitation/create')
214
+ return { action: 'cancel' };
215
+ const permission = readAcpPermissionRequest(message);
216
+ if (permission === null || message.id === undefined || message.id === null) {
217
+ return { outcome: { outcome: 'cancelled' } };
218
+ }
219
+ state.permissions.set(permission.requestId, {
220
+ rpcId: message.id,
221
+ allowOptionId: permission.allowOptionId,
222
+ rejectOptionId: permission.rejectOptionId,
223
+ });
224
+ return new Promise(() => undefined);
225
+ });
175
226
  try {
176
227
  await this.initialize(rpc, input.signal);
177
228
  return state;
@@ -187,7 +238,7 @@ export class AcpCliDriver {
187
238
  await rpc.request('initialize', {
188
239
  protocolVersion: 1,
189
240
  clientInfo: { name: 'codingns4dsh', version: '0.1.1' },
190
- clientCapabilities: {},
241
+ clientCapabilities: ACP_FORM_CLIENT_CAPABILITIES,
191
242
  }, { signal, killOnAbort: false });
192
243
  rpc.notify('initialized', {});
193
244
  }
@@ -207,7 +258,7 @@ export class AcpCliDriver {
207
258
  }, { signal: input.signal, killOnAbort: false });
208
259
  }
209
260
  }
210
- function acpMessageToChunk(message, cancelled) {
261
+ function acpMessageToChunk(message, cancelled, readQuestionRequest) {
211
262
  const params = isRecord(message.params) ? message.params : message;
212
263
  const update = isRecord(params.update) ? params.update : params;
213
264
  const rawType = update.sessionUpdate ?? update.type ?? message.method;
@@ -216,6 +267,20 @@ function acpMessageToChunk(message, cancelled) {
216
267
  const content = isRecord(update.content) ? update.content : undefined;
217
268
  const messageId = firstToolText(update.messageId, update.message_id, update.itemId, update.item_id, content?.messageId, content?.message_id, content?.id);
218
269
  const withMessageId = messageId === undefined ? {} : { messageId };
270
+ const elicitation = readQuestionRequest(message);
271
+ if (elicitation !== null)
272
+ return { type: 'question-request', requestId: elicitation.requestId, questions: elicitation.questions };
273
+ const permission = readAcpPermissionRequest(message);
274
+ if (permission !== null) {
275
+ return {
276
+ type: 'permission-request',
277
+ requestId: permission.requestId,
278
+ kind: permission.kind,
279
+ ...(permission.toolName === undefined ? {} : { toolName: permission.toolName }),
280
+ ...(permission.callId === undefined ? {} : { callId: permission.callId }),
281
+ ...(permission.detail === undefined ? {} : { detail: permission.detail }),
282
+ };
283
+ }
219
284
  const reasoning = reasoningText(update);
220
285
  if (reasoning !== null)
221
286
  return { type: 'reasoning-delta', text: reasoning, ...withMessageId };
@@ -236,6 +301,41 @@ function acpMessageToChunk(message, cancelled) {
236
301
  return { type: 'finish', reason: cancelled ? 'cancel' : 'stop' };
237
302
  return null;
238
303
  }
304
+ /** 读取 ACP v1/v2 标准权限请求;未知扩展字段不会被当成权限。 */
305
+ function readAcpPermissionRequest(message) {
306
+ const method = typeof message.method === 'string' ? message.method.toLowerCase() : '';
307
+ const params = isRecord(message.params) ? message.params : {};
308
+ // ACP v1 的可回传权限只有 server request;session/update 中同名扩展没有
309
+ // 可验证的响应方法,不能把它投影成可回传的 DSH 权限事件。
310
+ if (method !== 'session/request_permission')
311
+ return null;
312
+ const requestId = message.id ?? params.requestId ?? params.request_id ?? params.id;
313
+ if (typeof requestId !== 'string' && typeof requestId !== 'number')
314
+ return null;
315
+ const tool = isRecord(params.toolCall) ? params.toolCall : isRecord(params.tool_call) ? params.tool_call : {};
316
+ const toolName = firstToolText(tool.title, tool.name, tool.toolName, params.toolName, params.tool_name);
317
+ const callId = firstToolText(tool.toolCallId, tool.tool_call_id, tool.callId, tool.call_id, params.callId, params.call_id);
318
+ const detail = firstToolText(params.detail, params.reason, params.message, tool.detail);
319
+ const kind = firstToolText(params.kind, params.permissionKind, tool.kind) ?? toolName ?? 'unknown';
320
+ const options = Array.isArray(params.options) ? params.options : [];
321
+ const ids = options.flatMap((option) => {
322
+ if (!isRecord(option))
323
+ return [];
324
+ const id = firstToolText(option.optionId, option.option_id, option.id);
325
+ if (id === undefined)
326
+ return [];
327
+ const optionKind = firstToolText(option.kind, option.type)?.toLowerCase() ?? '';
328
+ return [{ id, kind: optionKind }];
329
+ });
330
+ return {
331
+ requestId: String(requestId), kind,
332
+ ...(toolName === undefined ? {} : { toolName }),
333
+ ...(callId === undefined ? {} : { callId }),
334
+ ...(detail === undefined ? {} : { detail }),
335
+ allowOptionId: ids.find((option) => /allow|approve|accept/u.test(option.kind))?.id ?? ids[0]?.id ?? 'allow-once',
336
+ rejectOptionId: ids.find((option) => /reject|deny|decline|cancel/u.test(option.kind))?.id ?? ids[1]?.id ?? 'reject-once',
337
+ };
338
+ }
239
339
  function toolChunk(update, type) {
240
340
  const tool = isToolRecord(update.toolCall) ? update.toolCall : isToolRecord(update.tool_call) ? update.tool_call : update;
241
341
  const name = firstToolText(tool.name, tool.toolName, tool.tool_name, tool.title, update.name, update.toolName, update.title);
@@ -298,4 +398,15 @@ function acpText(value) {
298
398
  }
299
399
  return null;
300
400
  }
401
+ function readStandardQuestionRequest(message) {
402
+ const request = readAcpElicitationRequest(message);
403
+ if (request === null)
404
+ return null;
405
+ return {
406
+ requestId: request.requestId,
407
+ rpcId: request.rpcId,
408
+ questions: request.questions,
409
+ respond: (response) => acpElicitationResponse(request, response),
410
+ };
411
+ }
301
412
  //# sourceMappingURL=acp-cli-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"acp-cli-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-cli-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-cli-driver.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-cli-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { CodingNsAgentQuestion, CodingNsAgentQuestionResponse } from '../../shared/contracts/cli-adapter.js';
2
+ import type { JsonRpcMessage } from './json-rpc-process.js';
3
+ /** ACP 表单提问与 DSH 原生问题之间的字段映射。 */
4
+ export interface AcpElicitationRequest {
5
+ readonly requestId: string;
6
+ readonly rpcId: number | string;
7
+ readonly message: string;
8
+ readonly questions: readonly CodingNsAgentQuestion[];
9
+ readonly bindings: readonly AcpElicitationBinding[];
10
+ }
11
+ export interface AcpElicitationBinding {
12
+ readonly questionId: string;
13
+ readonly propertyKey: string;
14
+ readonly type: 'string' | 'number' | 'integer' | 'boolean' | 'array';
15
+ readonly multiSelect: boolean;
16
+ readonly optionValues: ReadonlyMap<string, unknown>;
17
+ }
18
+ /** 客户端只声明 ACP form;URL 模式需要浏览器和独立的安全同意流程。 */
19
+ export declare const ACP_FORM_CLIENT_CAPABILITIES: {
20
+ readonly elicitation: {
21
+ readonly form: {};
22
+ };
23
+ };
24
+ /** 解析 ACP 标准 `elicitation/create` 请求。 */
25
+ export declare function readAcpElicitationRequest(message: JsonRpcMessage): AcpElicitationRequest | null;
26
+ /** 将 DSH 原生问题回答还原为 ACP form 的 `content` 对象。 */
27
+ export declare function acpElicitationResponse(request: AcpElicitationRequest, response: CodingNsAgentQuestionResponse): {
28
+ readonly action: 'accept';
29
+ readonly content: Record<string, unknown>;
30
+ };
31
+ //# sourceMappingURL=acp-elicitation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-elicitation.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-elicitation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D,iCAAiC;AACjC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAA;IACpD,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAA;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;IACpE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpD;AAED,6CAA6C;AAC7C,eAAO,MAAM,4BAA4B;;;;CAE/B,CAAA;AAEV,yCAAyC;AACzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,qBAAqB,GAAG,IAAI,CA2C/F;AAED,+CAA+C;AAC/C,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,6BAA6B,GACtC;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAY1E"}
@@ -0,0 +1,144 @@
1
+ /** 客户端只声明 ACP form;URL 模式需要浏览器和独立的安全同意流程。 */
2
+ export const ACP_FORM_CLIENT_CAPABILITIES = {
3
+ elicitation: { form: {} },
4
+ };
5
+ /** 解析 ACP 标准 `elicitation/create` 请求。 */
6
+ export function readAcpElicitationRequest(message) {
7
+ if (message.method !== 'elicitation/create' || (typeof message.id !== 'string' && typeof message.id !== 'number'))
8
+ return null;
9
+ const params = isRecord(message.params) ? message.params : null;
10
+ if (params === null || params.mode !== 'form' || !isRecord(params.requestedSchema))
11
+ return null;
12
+ const schema = params.requestedSchema;
13
+ const properties = isRecord(schema.properties) ? schema.properties : null;
14
+ if (properties === null)
15
+ return null;
16
+ const messageText = typeof params.message === 'string' && params.message.trim() !== '' ? params.message.trim() : '请回答外部 Agent 的问题';
17
+ const bindings = [];
18
+ const questions = [];
19
+ for (const [propertyKey, rawProperty] of Object.entries(properties)) {
20
+ if (!isRecord(rawProperty))
21
+ continue;
22
+ const type = schemaType(rawProperty.type);
23
+ if (type === null)
24
+ continue;
25
+ const optionResult = schemaOptions(rawProperty);
26
+ const title = stringValue(rawProperty.title) ?? propertyKey;
27
+ const detail = stringValue(rawProperty.description);
28
+ const multiSelect = type === 'array';
29
+ const question = {
30
+ id: propertyKey,
31
+ question: messageText,
32
+ ...(detail === undefined ? {} : { detail }),
33
+ ...(title === messageText ? {} : { header: title }),
34
+ ...(optionResult.options.length === 0 ? {} : { options: optionResult.options }),
35
+ ...(multiSelect ? { multiSelect: true } : {}),
36
+ };
37
+ questions.push(question);
38
+ bindings.push({
39
+ questionId: propertyKey,
40
+ propertyKey,
41
+ type,
42
+ multiSelect,
43
+ optionValues: optionResult.values,
44
+ });
45
+ }
46
+ if (questions.length === 0)
47
+ return null;
48
+ return {
49
+ requestId: String(message.id),
50
+ rpcId: message.id,
51
+ message: messageText,
52
+ questions,
53
+ bindings,
54
+ };
55
+ }
56
+ /** 将 DSH 原生问题回答还原为 ACP form 的 `content` 对象。 */
57
+ export function acpElicitationResponse(request, response) {
58
+ const content = {};
59
+ for (const binding of request.bindings) {
60
+ const answer = response.answers.find((item) => item.id === binding.questionId);
61
+ if (answer === undefined)
62
+ continue;
63
+ const selected = [...answer.selected];
64
+ if (answer.custom?.trim())
65
+ selected.push(answer.custom.trim());
66
+ if (selected.length === 0)
67
+ continue;
68
+ const values = selected.map((value) => providerValue(value, binding));
69
+ content[binding.propertyKey] = binding.multiSelect ? values : values[0];
70
+ }
71
+ return { action: 'accept', content };
72
+ }
73
+ /** ACP form 只允许扁平原子字段;未知类型交给上层安全降级。 */
74
+ function schemaType(value) {
75
+ if (value === 'string' || value === 'number' || value === 'integer' || value === 'boolean')
76
+ return value;
77
+ if (value === 'array')
78
+ return 'array';
79
+ if (Array.isArray(value)) {
80
+ const primitive = value.find((item) => item === 'string' || item === 'number' || item === 'integer' || item === 'boolean');
81
+ if (primitive === 'string' || primitive === 'number' || primitive === 'integer' || primitive === 'boolean')
82
+ return primitive;
83
+ }
84
+ return null;
85
+ }
86
+ function schemaOptions(value) {
87
+ const values = new Map();
88
+ const options = [];
89
+ const enumValues = Array.isArray(value.enum)
90
+ ? value.enum
91
+ : isRecord(value.items) && Array.isArray(value.items.enum)
92
+ ? value.items.enum
93
+ : Array.isArray(value.oneOf)
94
+ ? value.oneOf.flatMap((item) => isRecord(item) && 'const' in item ? [item] : [])
95
+ : [];
96
+ for (const item of enumValues) {
97
+ if (isRecord(item) && 'const' in item) {
98
+ const raw = item.const;
99
+ const label = stringValue(item.title) ?? primitiveLabel(raw);
100
+ if (label === undefined)
101
+ continue;
102
+ const description = stringValue(item.description);
103
+ options.push({ label, ...(description === undefined ? {} : { description }) });
104
+ values.set(label, raw);
105
+ continue;
106
+ }
107
+ const label = primitiveLabel(item);
108
+ if (label === undefined)
109
+ continue;
110
+ options.push({ label });
111
+ values.set(label, item);
112
+ }
113
+ return { options, values };
114
+ }
115
+ function providerValue(value, binding) {
116
+ const mapped = binding.optionValues.get(value);
117
+ if (mapped !== undefined || binding.optionValues.has(value))
118
+ return mapped;
119
+ if (binding.type === 'boolean')
120
+ return value.trim().toLowerCase() === 'true';
121
+ if (binding.type === 'number') {
122
+ const number = Number(value);
123
+ return Number.isFinite(number) ? number : value;
124
+ }
125
+ if (binding.type === 'integer') {
126
+ const number = Number.parseInt(value, 10);
127
+ return Number.isFinite(number) ? number : value;
128
+ }
129
+ return value;
130
+ }
131
+ function primitiveLabel(value) {
132
+ if (typeof value === 'string' && value.trim() !== '')
133
+ return value.trim();
134
+ if (typeof value === 'number' || typeof value === 'boolean')
135
+ return String(value);
136
+ return undefined;
137
+ }
138
+ function stringValue(value) {
139
+ return typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined;
140
+ }
141
+ function isRecord(value) {
142
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
143
+ }
144
+ //# sourceMappingURL=acp-elicitation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-elicitation.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/acp-elicitation.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,8 @@ export interface AntigravityDriverOptions {
21
21
  }
22
22
  /**
23
23
  * Antigravity 的 stream-json print 模式:输入从 stdin 以 NDJSON 写入,输出仍是
24
- * 逐行 JSON。它只有全放行权限模式,因此故意不声明 permission/questions。
24
+ * 逐行 JSON。公开 CLI 没有 Host 回传 approval/question 的 wire 事件,因此不声明
25
+ * permission/questions;权限只能使用 CLI 已公开的 plan、accept-edits 和全放行模式。
25
26
  */
26
27
  export declare class AntigravityDriver extends StandardStreamDriver implements CodingNsCliDriver {
27
28
  private readonly observedText;
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/antigravity-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5J,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAoC,MAAM,6BAA6B,CAAA;AAGpG,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AA0ErF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAA;IACnF;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAA;CACzE;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,oBAAqB,YAAW,iBAAiB;IACtF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IACzE,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqD;IAC1F,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgD;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IAExD,QAAQ,CAAC,gBAAgB,QAAO;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,yBAAyB,QAAO;IAEzC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,4BAA4B,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAKvG;gBAEW,OAAO,GAAE,wBAA6B;IAe5C,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAmBpD,SAAS,KAAK,SAAS,IAAI,OAAO,CAAgB;IAElD,OAAO,IAAI,IAAI;IAMf,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAOtG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAQpF,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,oBAAoB,GAAG,SAAS,kBAAkB,EAAE;IAqEhH,4CAA4C;IAC5C,OAAO,CAAC,gBAAgB;IAiBxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,uBAAuB;IAW/B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA2BvB,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,MAAM,EAAE;CAkBpE"}
1
+ {"version":3,"file":"antigravity-driver.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/antigravity-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5J,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAoC,MAAM,6BAA6B,CAAA;AAGpG,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AA0ErF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAA;IACnF;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAA;CACzE;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,oBAAqB,YAAW,iBAAiB;IACtF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IACzE,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqD;IAC1F,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgD;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IAExD,QAAQ,CAAC,gBAAgB,QAAO;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,yBAAyB,QAAO;IAEzC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,4BAA4B,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAKvG;gBAEW,OAAO,GAAE,wBAA6B;IAe5C,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAmBpD,SAAS,KAAK,SAAS,IAAI,OAAO,CAAgB;IAElD,OAAO,IAAI,IAAI;IAMf,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAOtG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAQpF,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,oBAAoB,GAAG,SAAS,kBAAkB,EAAE;IAqEhH,4CAA4C;IAC5C,OAAO,CAAC,gBAAgB;IAiBxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,uBAAuB;IAW/B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA2BvB,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,MAAM,EAAE;CAkBpE"}
@@ -72,7 +72,8 @@ async function runBufferedModels(runSpawn, command, environment, timeoutMs, sign
72
72
  }
73
73
  /**
74
74
  * Antigravity 的 stream-json print 模式:输入从 stdin 以 NDJSON 写入,输出仍是
75
- * 逐行 JSON。它只有全放行权限模式,因此故意不声明 permission/questions。
75
+ * 逐行 JSON。公开 CLI 没有 Host 回传 approval/question 的 wire 事件,因此不声明
76
+ * permission/questions;权限只能使用 CLI 已公开的 plan、accept-edits 和全放行模式。
76
77
  */
77
78
  export class AntigravityDriver extends StandardStreamDriver {
78
79
  observedText = new WeakMap();
@@ -311,7 +312,7 @@ export class AntigravityDriver extends StandardStreamDriver {
311
312
  // `--input-format stream-json` 本身会进入 AGY 的 print mode;不要再拼接裸
312
313
  // `--print`,也不要把 `--input-format` 放在 `--print` 后面,否则 AGY 会把
313
314
  // 选项误当成 prompt,或报 `flag needs an argument: -print`。
314
- const args = ['--input-format', 'stream-json', '--output-format', 'stream-json', '--dangerously-skip-permissions'];
315
+ const args = ['--input-format', 'stream-json', '--output-format', 'stream-json', ...antigravityPermissionArgs(input.permission)];
315
316
  if (input.providerSessionId)
316
317
  args.unshift('--conversation', input.providerSessionId);
317
318
  const directories = new Set([input.cwd ?? process.cwd()]);
@@ -330,6 +331,18 @@ export class AntigravityDriver extends StandardStreamDriver {
330
331
  return args;
331
332
  }
332
333
  }
334
+ /**
335
+ * Antigravity 没有公开的 permission-request/response wire。未知或需要询问的
336
+ * 状态必须进入 plan,避免在无 DSH 回传通道时默默执行工具;只有 DSH 已明确
337
+ * 给出“永不询问”的权限事实时才可自动放行。
338
+ */
339
+ function antigravityPermissionArgs(permission) {
340
+ if (permission?.sandboxMode === 'danger-full-access' && permission.approvalPolicy === 'never')
341
+ return ['--dangerously-skip-permissions'];
342
+ if (permission?.sandboxMode === 'workspace-write' && permission.approvalPolicy === 'never')
343
+ return ['--mode', 'accept-edits'];
344
+ return ['--mode', 'plan'];
345
+ }
333
346
  /** 将 AGY 的最终正文快照与前面已发出的增量对齐,避免重复渲染。 */
334
347
  function appendOrSyncText(current, snapshot) {
335
348
  if (snapshot === current || current.startsWith(snapshot) || current.trim() === snapshot.trim() || current.endsWith(snapshot) || current.includes(snapshot.trim()))