@harness-mix/cli 0.1.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 (655) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +14 -0
  4. package/README.md +262 -0
  5. package/Start-Codex.cmd +5 -0
  6. package/config/codex-desktop-compatibility.json +29 -0
  7. package/docs/chatgpt-web-sidebar.md +27 -0
  8. package/docs/cross-platform.md +73 -0
  9. package/docs/harness-management.md +44 -0
  10. package/docs/images/codex-desktop-home.png +0 -0
  11. package/docs/images/codex-desktop-session.png +0 -0
  12. package/docs/kiro-cursor-integration.md +3 -0
  13. package/docs/multi-agent-collaboration.md +89 -0
  14. package/docs/native-acp.md +122 -0
  15. package/docs/native-codex.md +95 -0
  16. package/docs/superpowers/specs/2026-09-13-native-hardening-design.md +326 -0
  17. package/licenses/codex-host-MIT.txt +21 -0
  18. package/output/native-build/desktop-controller.mjs +1466 -0
  19. package/output/native-build/harness-mix-appx.exe +0 -0
  20. package/output/native-build/harness-mix-secret.exe +0 -0
  21. package/output/native-build/harness-mix-shim.exe +0 -0
  22. package/output/native-build/renderer-extension.js +29380 -0
  23. package/package.json +168 -0
  24. package/scripts/acp-capabilities-probe.cjs +100 -0
  25. package/scripts/adapters-test.cjs +17 -0
  26. package/scripts/antigravity-adapter-test.cjs +529 -0
  27. package/scripts/architecture-test.cjs +62 -0
  28. package/scripts/build-native.cjs +56 -0
  29. package/scripts/catalog-test.cjs +25 -0
  30. package/scripts/cdp-eval.cjs +40 -0
  31. package/scripts/cdp-watch.cjs +36 -0
  32. package/scripts/check.cjs +23 -0
  33. package/scripts/codebuddy-migration-test.cjs +47 -0
  34. package/scripts/codex-adapter-test.cjs +83 -0
  35. package/scripts/collaboration-recovery-test.cjs +111 -0
  36. package/scripts/collaboration-test.cjs +108 -0
  37. package/scripts/collaboration-ui-smoke.cjs +57 -0
  38. package/scripts/concurrency-layers-test.cjs +181 -0
  39. package/scripts/contracts-test.cjs +105 -0
  40. package/scripts/core-concurrency-test.cjs +103 -0
  41. package/scripts/core-replay-test.cjs +179 -0
  42. package/scripts/core-runtime-test.cjs +104 -0
  43. package/scripts/core-services-test.cjs +50 -0
  44. package/scripts/determinism-test.cjs +36 -0
  45. package/scripts/diagnostics.cjs +63 -0
  46. package/scripts/docs-command-test.cjs +49 -0
  47. package/scripts/dsh-adapter-test.cjs +90 -0
  48. package/scripts/dsh-collaboration-acp-test.cjs +19 -0
  49. package/scripts/dsh-native.cjs +9 -0
  50. package/scripts/dsh-native.cmd +2 -0
  51. package/scripts/e2e-codex.cjs +82 -0
  52. package/scripts/e2e-collaboration.cjs +60 -0
  53. package/scripts/e2e-core-files.cjs +58 -0
  54. package/scripts/e2e-core-fork.cjs +49 -0
  55. package/scripts/e2e-core-resume.cjs +49 -0
  56. package/scripts/e2e-delegate.cjs +38 -0
  57. package/scripts/e2e-dsh.cjs +23 -0
  58. package/scripts/e2e-native-acp.cjs +42 -0
  59. package/scripts/e2e-native-commands.cjs +54 -0
  60. package/scripts/e2e-native-host.cjs +144 -0
  61. package/scripts/e2e-openclaw-image.cjs +59 -0
  62. package/scripts/e2e-openclaw.cjs +21 -0
  63. package/scripts/e2e-pi.cjs +23 -0
  64. package/scripts/e2e-shadow.cjs +52 -0
  65. package/scripts/fixture-capture.cjs +103 -0
  66. package/scripts/harness-health-check.cjs +72 -0
  67. package/scripts/kiro-cursor-adapters-test.cjs +82 -0
  68. package/scripts/launch-codex.cjs +5 -0
  69. package/scripts/native-acp-depth-test.cjs +189 -0
  70. package/scripts/native-compatibility-test.cjs +42 -0
  71. package/scripts/native-config-test.cjs +25 -0
  72. package/scripts/native-file-change-test.cjs +94 -0
  73. package/scripts/native-host.cjs +8 -0
  74. package/scripts/native-images-test.cjs +56 -0
  75. package/scripts/native-job-object-test.cjs +83 -0
  76. package/scripts/native-protocol-test.cjs +258 -0
  77. package/scripts/native-rollback-test.cjs +46 -0
  78. package/scripts/native-secret-test.cjs +57 -0
  79. package/scripts/native-shim-test.cjs +41 -0
  80. package/scripts/native-sidebar-test.cjs +88 -0
  81. package/scripts/native-ui-smoke.cjs +94 -0
  82. package/scripts/native-update-apply-test.cjs +215 -0
  83. package/scripts/native-updater-test.cjs +109 -0
  84. package/scripts/native-vendor-adapters-test.cjs +88 -0
  85. package/scripts/openclaw-acp-probe.cjs +39 -0
  86. package/scripts/openclaw-adapter-test.cjs +180 -0
  87. package/scripts/openclaw-models-probe.cjs +13 -0
  88. package/scripts/platform-test.cjs +62 -0
  89. package/scripts/projector-test.cjs +144 -0
  90. package/scripts/sequence-test.cjs +57 -0
  91. package/scripts/shadow-test.cjs +154 -0
  92. package/scripts/support/legacy-projection.cjs +95 -0
  93. package/scripts/support/legacy-transcript.cjs +48 -0
  94. package/scripts/support/parity-observer.cjs +27 -0
  95. package/scripts/support/shadow-comparator.cjs +62 -0
  96. package/scripts/support/shadow.cjs +114 -0
  97. package/scripts/switch-harness-test.cjs +145 -0
  98. package/scripts/thread-title-test.cjs +98 -0
  99. package/scripts/tool-concurrency-regression-test.cjs +119 -0
  100. package/scripts/transcript-test.cjs +24 -0
  101. package/scripts/turn-manager-test.cjs +91 -0
  102. package/scripts/workspace-test.cjs +86 -0
  103. package/src/assets/brand-harness-mix.png +0 -0
  104. package/src/assets/icons/antigravity-color.svg +1 -0
  105. package/src/assets/icons/claude-color.svg +1 -0
  106. package/src/assets/icons/codebuddy-color.svg +1 -0
  107. package/src/assets/icons/codex-color.svg +1 -0
  108. package/src/assets/icons/codex-harness.svg +1 -0
  109. package/src/assets/icons/cursor-cli-color.svg +1 -0
  110. package/src/assets/icons/cursor.svg +1 -0
  111. package/src/assets/icons/deepseek-color.svg +1 -0
  112. package/src/assets/icons/grok-color.svg +1 -0
  113. package/src/assets/icons/hermes-color.svg +1 -0
  114. package/src/assets/icons/kiro-cli-color.svg +11 -0
  115. package/src/assets/icons/model-astra.svg +1 -0
  116. package/src/assets/icons/model-claude.svg +1 -0
  117. package/src/assets/icons/model-deepseek.svg +1 -0
  118. package/src/assets/icons/model-gemini.svg +1 -0
  119. package/src/assets/icons/model-grok.svg +1 -0
  120. package/src/assets/icons/model-hunyuan.svg +1 -0
  121. package/src/assets/icons/model-kimi.svg +1 -0
  122. package/src/assets/icons/model-minimax.svg +1 -0
  123. package/src/assets/icons/model-openai.svg +1 -0
  124. package/src/assets/icons/model-qwen-color.svg +1 -0
  125. package/src/assets/icons/model-xiaomimimo.svg +1 -0
  126. package/src/assets/icons/model-zai.svg +1 -0
  127. package/src/assets/icons/omp-color.svg +1 -0
  128. package/src/assets/icons/openclaw-color.svg +1 -0
  129. package/src/assets/icons/opencode-color.svg +1 -0
  130. package/src/assets/icons/pi.svg +1 -0
  131. package/src/assets/icons/pinumber1_80899.svg +48 -0
  132. package/src/assets/icons/qoder-color.svg +1 -0
  133. package/src/assets/icons/trae-color.svg +1 -0
  134. package/src/assets/icons/workbuddy-color.svg +1 -0
  135. package/src/assets/icons/zcode-color.svg +1 -0
  136. package/src/main/adapters/acp-interactions.js +132 -0
  137. package/src/main/adapters/acp.js +191 -0
  138. package/src/main/adapters/antigravity.js +1368 -0
  139. package/src/main/adapters/claude.js +520 -0
  140. package/src/main/adapters/codebuddy-history.js +90 -0
  141. package/src/main/adapters/codebuddy.js +2 -0
  142. package/src/main/adapters/codex-app-server.js +119 -0
  143. package/src/main/adapters/codex.js +559 -0
  144. package/src/main/adapters/cursor.js +2 -0
  145. package/src/main/adapters/dsh-web-host.js +202 -0
  146. package/src/main/adapters/dsh.js +446 -0
  147. package/src/main/adapters/grok.js +277 -0
  148. package/src/main/adapters/hermes.js +24 -0
  149. package/src/main/adapters/index.js +32 -0
  150. package/src/main/adapters/kiro-history.js +43 -0
  151. package/src/main/adapters/kiro.js +2 -0
  152. package/src/main/adapters/native-acp-command.js +47 -0
  153. package/src/main/adapters/native-acp.js +435 -0
  154. package/src/main/adapters/omp.js +12 -0
  155. package/src/main/adapters/openclaw-gateway.js +211 -0
  156. package/src/main/adapters/openclaw.js +337 -0
  157. package/src/main/adapters/opencode-server.js +73 -0
  158. package/src/main/adapters/opencode.js +178 -0
  159. package/src/main/adapters/pi-family.js +342 -0
  160. package/src/main/adapters/pi-usage.js +24 -0
  161. package/src/main/adapters/pi.js +10 -0
  162. package/src/main/adapters/qoder.js +7 -0
  163. package/src/main/adapters/trae.js +7 -0
  164. package/src/main/adapters/workbuddy.js +2 -0
  165. package/src/main/adapters/zcode.js +7 -0
  166. package/src/main/harness-adapter/contract-test.js +53 -0
  167. package/src/main/harness-adapter/contract.js +34 -0
  168. package/src/main/harness-adapter/event-normalizer.js +252 -0
  169. package/src/main/harness-adapter/fixture-recorder.js +56 -0
  170. package/src/main/harness-adapter/index.js +6 -0
  171. package/src/main/harness-adapter/manifest.js +44 -0
  172. package/src/main/host/collaboration-mcp.cjs +35 -0
  173. package/src/main/host/collaboration-pi.mjs +17 -0
  174. package/src/main/host/collaboration-tools.js +16 -0
  175. package/src/main/host/collaboration-worktree.js +151 -0
  176. package/src/main/host/collaboration.js +264 -0
  177. package/src/main/host/core-session.js +81 -0
  178. package/src/main/host/handoff.js +46 -0
  179. package/src/main/host/history-import.js +55 -0
  180. package/src/main/host/jsonl.js +116 -0
  181. package/src/main/host/native-history.js +79 -0
  182. package/src/main/host/runtime.js +1050 -0
  183. package/src/main/host/session-history.js +63 -0
  184. package/src/main/host/store.js +75 -0
  185. package/src/main/native/compatibility.js +56 -0
  186. package/src/main/native/config.js +55 -0
  187. package/src/main/native/host.js +153 -0
  188. package/src/main/native/icons.js +105 -0
  189. package/src/main/native/input.js +43 -0
  190. package/src/main/native/launcher.js +188 -0
  191. package/src/main/native/platform.js +64 -0
  192. package/src/main/native/process-utils.js +57 -0
  193. package/src/main/native/protocol.js +836 -0
  194. package/src/main/native/redact.js +35 -0
  195. package/src/main/native/rs/Cargo.lock +15 -0
  196. package/src/main/native/rs/Cargo.toml +9 -0
  197. package/src/main/native/rs/crates/appx/Cargo.toml +13 -0
  198. package/src/main/native/rs/crates/appx/src/main.rs +309 -0
  199. package/src/main/native/rs/crates/secret/Cargo.toml +10 -0
  200. package/src/main/native/rs/crates/secret/src/main.rs +262 -0
  201. package/src/main/native/rs/crates/shim/Cargo.toml +10 -0
  202. package/src/main/native/rs/crates/shim/src/job.rs +83 -0
  203. package/src/main/native/rs/crates/shim/src/main.rs +257 -0
  204. package/src/main/native/secure-store.js +59 -0
  205. package/src/main/native/thread-list.js +38 -0
  206. package/src/main/native/update-state.js +110 -0
  207. package/src/main/native/updater.js +394 -0
  208. package/src/main/native/usage.js +105 -0
  209. package/src/main/protocol-core/capability-manager.js +16 -0
  210. package/src/main/protocol-core/event-router.js +32 -0
  211. package/src/main/protocol-core/file-change-projector.js +45 -0
  212. package/src/main/protocol-core/index.js +8 -0
  213. package/src/main/protocol-core/interaction-router.js +30 -0
  214. package/src/main/protocol-core/projector.js +238 -0
  215. package/src/main/protocol-core/protocol-core.js +132 -0
  216. package/src/main/protocol-core/sequence-validator.js +44 -0
  217. package/src/main/protocol-core/thread-manager.js +50 -0
  218. package/src/main/protocol-core/turn-manager.js +63 -0
  219. package/src/main/shared-contracts/capability.js +35 -0
  220. package/src/main/shared-contracts/event.js +55 -0
  221. package/src/main/shared-contracts/ids.js +12 -0
  222. package/src/main/shared-contracts/index.js +11 -0
  223. package/src/main/shared-contracts/interaction.js +37 -0
  224. package/src/main/shared-contracts/item.js +51 -0
  225. package/src/main/shared-contracts/native-ref.js +24 -0
  226. package/src/main/shared-contracts/thread.js +36 -0
  227. package/src/main/shared-contracts/turn.js +54 -0
  228. package/src/main/workspace/core-review.js +53 -0
  229. package/src/main/workspace/diff.js +27 -0
  230. package/src/main/workspace/file-changes.js +21 -0
  231. package/src/main/workspace/files.js +76 -0
  232. package/src/main/workspace/review-controller.js +102 -0
  233. package/src/main/workspace/review.js +88 -0
  234. package/src/native-ui/LICENSE +21 -0
  235. package/src/native-ui/README.md +16 -0
  236. package/src/native-ui/desktop-control/dist/cdp-client.d.ts +53 -0
  237. package/src/native-ui/desktop-control/dist/cdp-client.d.ts.map +1 -0
  238. package/src/native-ui/desktop-control/dist/cdp-client.js +258 -0
  239. package/src/native-ui/desktop-control/dist/cdp-client.js.map +1 -0
  240. package/src/native-ui/desktop-control/dist/contract-audit.d.ts +73 -0
  241. package/src/native-ui/desktop-control/dist/contract-audit.d.ts.map +1 -0
  242. package/src/native-ui/desktop-control/dist/contract-audit.js +152 -0
  243. package/src/native-ui/desktop-control/dist/contract-audit.js.map +1 -0
  244. package/src/native-ui/desktop-control/dist/controller-attachment-server.d.ts +10 -0
  245. package/src/native-ui/desktop-control/dist/controller-attachment-server.d.ts.map +1 -0
  246. package/src/native-ui/desktop-control/dist/controller-attachment-server.js +77 -0
  247. package/src/native-ui/desktop-control/dist/controller-attachment-server.js.map +1 -0
  248. package/src/native-ui/desktop-control/dist/index.d.ts +21 -0
  249. package/src/native-ui/desktop-control/dist/index.d.ts.map +1 -0
  250. package/src/native-ui/desktop-control/dist/index.js +14 -0
  251. package/src/native-ui/desktop-control/dist/index.js.map +1 -0
  252. package/src/native-ui/desktop-control/dist/main-process-title-policy.d.ts +24 -0
  253. package/src/native-ui/desktop-control/dist/main-process-title-policy.d.ts.map +1 -0
  254. package/src/native-ui/desktop-control/dist/main-process-title-policy.js +284 -0
  255. package/src/native-ui/desktop-control/dist/main-process-title-policy.js.map +1 -0
  256. package/src/native-ui/desktop-control/dist/production-controller.d.ts +32 -0
  257. package/src/native-ui/desktop-control/dist/production-controller.d.ts.map +1 -0
  258. package/src/native-ui/desktop-control/dist/production-controller.js +294 -0
  259. package/src/native-ui/desktop-control/dist/production-controller.js.map +1 -0
  260. package/src/native-ui/desktop-control/dist/release-main.d.ts +2 -0
  261. package/src/native-ui/desktop-control/dist/release-main.d.ts.map +1 -0
  262. package/src/native-ui/desktop-control/dist/release-main.js +17 -0
  263. package/src/native-ui/desktop-control/dist/release-main.js.map +1 -0
  264. package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.d.ts +49 -0
  265. package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.d.ts.map +1 -0
  266. package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.js +214 -0
  267. package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.js.map +1 -0
  268. package/src/native-ui/desktop-control/dist/renderer-control-session.d.ts +79 -0
  269. package/src/native-ui/desktop-control/dist/renderer-control-session.d.ts.map +1 -0
  270. package/src/native-ui/desktop-control/dist/renderer-control-session.js +366 -0
  271. package/src/native-ui/desktop-control/dist/renderer-control-session.js.map +1 -0
  272. package/src/native-ui/desktop-control/dist/renderer-dom.d.ts +24 -0
  273. package/src/native-ui/desktop-control/dist/renderer-dom.d.ts.map +1 -0
  274. package/src/native-ui/desktop-control/dist/renderer-dom.js +110 -0
  275. package/src/native-ui/desktop-control/dist/renderer-dom.js.map +1 -0
  276. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-policy.d.ts +20 -0
  277. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-policy.d.ts.map +1 -0
  278. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-policy.js +173 -0
  279. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-policy.js.map +1 -0
  280. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.d.ts +38 -0
  281. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.d.ts.map +1 -0
  282. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.js +637 -0
  283. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.js.map +1 -0
  284. package/src/native-ui/desktop-control/dist/tsconfig.tsbuildinfo +1 -0
  285. package/src/native-ui/desktop-control/package.json +22 -0
  286. package/src/native-ui/desktop-control/scripts/build-release.mjs +94 -0
  287. package/src/native-ui/desktop-control/src/cdp-client.ts +347 -0
  288. package/src/native-ui/desktop-control/src/contract-audit.ts +291 -0
  289. package/src/native-ui/desktop-control/src/controller-attachment-server.ts +93 -0
  290. package/src/native-ui/desktop-control/src/index.ts +91 -0
  291. package/src/native-ui/desktop-control/src/main-process-title-policy.ts +372 -0
  292. package/src/native-ui/desktop-control/src/production-controller.ts +347 -0
  293. package/src/native-ui/desktop-control/src/release-main.ts +18 -0
  294. package/src/native-ui/desktop-control/src/renderer-cdp-control-session.ts +358 -0
  295. package/src/native-ui/desktop-control/src/renderer-control-session.ts +595 -0
  296. package/src/native-ui/desktop-control/src/renderer-dom.ts +144 -0
  297. package/src/native-ui/desktop-control/src/renderer-draft-prewarm-policy.ts +217 -0
  298. package/src/native-ui/desktop-control/src/renderer-draft-prewarm-runtime.ts +749 -0
  299. package/src/native-ui/desktop-control/test/cdp-client.test.ts +157 -0
  300. package/src/native-ui/desktop-control/test/contract-audit.test.ts +56 -0
  301. package/src/native-ui/desktop-control/test/controller-attachment-server.test.ts +98 -0
  302. package/src/native-ui/desktop-control/test/index.test.ts +11 -0
  303. package/src/native-ui/desktop-control/test/main-process-title-policy.test.ts +168 -0
  304. package/src/native-ui/desktop-control/test/production-controller.test.ts +392 -0
  305. package/src/native-ui/desktop-control/test/renderer-cdp-control-session.test.ts +205 -0
  306. package/src/native-ui/desktop-control/test/renderer-control-session.test.ts +451 -0
  307. package/src/native-ui/desktop-control/test/renderer-dom.test.ts +62 -0
  308. package/src/native-ui/desktop-control/test/renderer-draft-prewarm-policy.test.ts +1029 -0
  309. package/src/native-ui/desktop-control/tsconfig.json +12 -0
  310. package/src/native-ui/renderer-extension/dist/types/agent-group-preference.d.ts +39 -0
  311. package/src/native-ui/renderer-extension/dist/types/agent-group-preference.d.ts.map +1 -0
  312. package/src/native-ui/renderer-extension/dist/types/agent-selection-state.d.ts +85 -0
  313. package/src/native-ui/renderer-extension/dist/types/agent-selection-state.d.ts.map +1 -0
  314. package/src/native-ui/renderer-extension/dist/types/audit-entry.d.ts +2 -0
  315. package/src/native-ui/renderer-extension/dist/types/audit-entry.d.ts.map +1 -0
  316. package/src/native-ui/renderer-extension/dist/types/codex-locale-adapter.d.ts +23 -0
  317. package/src/native-ui/renderer-extension/dist/types/codex-locale-adapter.d.ts.map +1 -0
  318. package/src/native-ui/renderer-extension/dist/types/collaboration-icon.d.ts +2 -0
  319. package/src/native-ui/renderer-extension/dist/types/collaboration-icon.d.ts.map +1 -0
  320. package/src/native-ui/renderer-extension/dist/types/contract-audit.d.ts +37 -0
  321. package/src/native-ui/renderer-extension/dist/types/contract-audit.d.ts.map +1 -0
  322. package/src/native-ui/renderer-extension/dist/types/harness-mix-icons.d.ts +3 -0
  323. package/src/native-ui/renderer-extension/dist/types/harness-mix-icons.d.ts.map +1 -0
  324. package/src/native-ui/renderer-extension/dist/types/harness-mix-settings.d.ts +3 -0
  325. package/src/native-ui/renderer-extension/dist/types/harness-mix-settings.d.ts.map +1 -0
  326. package/src/native-ui/renderer-extension/dist/types/index.d.ts +51 -0
  327. package/src/native-ui/renderer-extension/dist/types/index.d.ts.map +1 -0
  328. package/src/native-ui/renderer-extension/dist/types/install-renderer-binding.d.ts +4 -0
  329. package/src/native-ui/renderer-extension/dist/types/install-renderer-binding.d.ts.map +1 -0
  330. package/src/native-ui/renderer-extension/dist/types/probe-entry.d.ts +2 -0
  331. package/src/native-ui/renderer-extension/dist/types/probe-entry.d.ts.map +1 -0
  332. package/src/native-ui/renderer-extension/dist/types/production-entry.d.ts +9 -0
  333. package/src/native-ui/renderer-extension/dist/types/production-entry.d.ts.map +1 -0
  334. package/src/native-ui/renderer-extension/dist/types/renderer-agent-icon.d.ts +4 -0
  335. package/src/native-ui/renderer-extension/dist/types/renderer-agent-icon.d.ts.map +1 -0
  336. package/src/native-ui/renderer-extension/dist/types/renderer-agent-picker.d.ts +62 -0
  337. package/src/native-ui/renderer-extension/dist/types/renderer-agent-picker.d.ts.map +1 -0
  338. package/src/native-ui/renderer-extension/dist/types/renderer-binding-probe.d.ts +70 -0
  339. package/src/native-ui/renderer-extension/dist/types/renderer-binding-probe.d.ts.map +1 -0
  340. package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-options.d.ts +34 -0
  341. package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-options.d.ts.map +1 -0
  342. package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-state.d.ts +19 -0
  343. package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-state.d.ts.map +1 -0
  344. package/src/native-ui/renderer-extension/dist/types/renderer-collab-cards.d.ts +40 -0
  345. package/src/native-ui/renderer-extension/dist/types/renderer-collab-cards.d.ts.map +1 -0
  346. package/src/native-ui/renderer-extension/dist/types/renderer-composer-dom.d.ts +82 -0
  347. package/src/native-ui/renderer-extension/dist/types/renderer-composer-dom.d.ts.map +1 -0
  348. package/src/native-ui/renderer-extension/dist/types/renderer-credits-control.d.ts +21 -0
  349. package/src/native-ui/renderer-extension/dist/types/renderer-credits-control.d.ts.map +1 -0
  350. package/src/native-ui/renderer-extension/dist/types/renderer-external-steering.d.ts +7 -0
  351. package/src/native-ui/renderer-extension/dist/types/renderer-external-steering.d.ts.map +1 -0
  352. package/src/native-ui/renderer-extension/dist/types/renderer-fork-control.d.ts +34 -0
  353. package/src/native-ui/renderer-extension/dist/types/renderer-fork-control.d.ts.map +1 -0
  354. package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-claim.d.ts +4 -0
  355. package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-claim.d.ts.map +1 -0
  356. package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-control.d.ts +15 -0
  357. package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-control.d.ts.map +1 -0
  358. package/src/native-ui/renderer-extension/dist/types/renderer-harness-localization.d.ts +25 -0
  359. package/src/native-ui/renderer-extension/dist/types/renderer-harness-localization.d.ts.map +1 -0
  360. package/src/native-ui/renderer-extension/dist/types/renderer-harness-mentions.d.ts +23 -0
  361. package/src/native-ui/renderer-extension/dist/types/renderer-harness-mentions.d.ts.map +1 -0
  362. package/src/native-ui/renderer-extension/dist/types/renderer-model-client.d.ts +102 -0
  363. package/src/native-ui/renderer-extension/dist/types/renderer-model-client.d.ts.map +1 -0
  364. package/src/native-ui/renderer-extension/dist/types/renderer-model-picker-positioning.d.ts +22 -0
  365. package/src/native-ui/renderer-extension/dist/types/renderer-model-picker-positioning.d.ts.map +1 -0
  366. package/src/native-ui/renderer-extension/dist/types/renderer-model-picker.d.ts +54 -0
  367. package/src/native-ui/renderer-extension/dist/types/renderer-model-picker.d.ts.map +1 -0
  368. package/src/native-ui/renderer-extension/dist/types/renderer-new-thread-preference.d.ts +18 -0
  369. package/src/native-ui/renderer-extension/dist/types/renderer-new-thread-preference.d.ts.map +1 -0
  370. package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-picker.d.ts +42 -0
  371. package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-picker.d.ts.map +1 -0
  372. package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-preference.d.ts +9 -0
  373. package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-preference.d.ts.map +1 -0
  374. package/src/native-ui/renderer-extension/dist/types/renderer-request-sender.d.ts +9 -0
  375. package/src/native-ui/renderer-extension/dist/types/renderer-request-sender.d.ts.map +1 -0
  376. package/src/native-ui/renderer-extension/dist/types/renderer-session-import-client.d.ts +12 -0
  377. package/src/native-ui/renderer-extension/dist/types/renderer-session-import-client.d.ts.map +1 -0
  378. package/src/native-ui/renderer-extension/dist/types/renderer-settings-lifecycle.d.ts +18 -0
  379. package/src/native-ui/renderer-extension/dist/types/renderer-settings-lifecycle.d.ts.map +1 -0
  380. package/src/native-ui/renderer-extension/dist/types/renderer-sidebar-agent-icons.d.ts +45 -0
  381. package/src/native-ui/renderer-extension/dist/types/renderer-sidebar-agent-icons.d.ts.map +1 -0
  382. package/src/native-ui/renderer-extension/dist/types/renderer-transcript-dom.d.ts +23 -0
  383. package/src/native-ui/renderer-extension/dist/types/renderer-transcript-dom.d.ts.map +1 -0
  384. package/src/native-ui/renderer-extension/dist/types/renderer-trigger-chip-style.d.ts +3 -0
  385. package/src/native-ui/renderer-extension/dist/types/renderer-trigger-chip-style.d.ts.map +1 -0
  386. package/src/native-ui/renderer-extension/dist/types/renderer-usage-control.d.ts +72 -0
  387. package/src/native-ui/renderer-extension/dist/types/renderer-usage-control.d.ts.map +1 -0
  388. package/src/native-ui/renderer-extension/dist/types/settings/accounts-list.d.ts +24 -0
  389. package/src/native-ui/renderer-extension/dist/types/settings/accounts-list.d.ts.map +1 -0
  390. package/src/native-ui/renderer-extension/dist/types/settings/accounts-page.d.ts +18 -0
  391. package/src/native-ui/renderer-extension/dist/types/settings/accounts-page.d.ts.map +1 -0
  392. package/src/native-ui/renderer-extension/dist/types/settings/accounts-usage.d.ts +27 -0
  393. package/src/native-ui/renderer-extension/dist/types/settings/accounts-usage.d.ts.map +1 -0
  394. package/src/native-ui/renderer-extension/dist/types/settings/connections-page.d.ts +44 -0
  395. package/src/native-ui/renderer-extension/dist/types/settings/connections-page.d.ts.map +1 -0
  396. package/src/native-ui/renderer-extension/dist/types/settings/core.d.ts +38 -0
  397. package/src/native-ui/renderer-extension/dist/types/settings/core.d.ts.map +1 -0
  398. package/src/native-ui/renderer-extension/dist/types/settings/harness-accounts.d.ts +21 -0
  399. package/src/native-ui/renderer-extension/dist/types/settings/harness-accounts.d.ts.map +1 -0
  400. package/src/native-ui/renderer-extension/dist/types/settings/icons.d.ts +6 -0
  401. package/src/native-ui/renderer-extension/dist/types/settings/icons.d.ts.map +1 -0
  402. package/src/native-ui/renderer-extension/dist/types/settings/localization.d.ts +247 -0
  403. package/src/native-ui/renderer-extension/dist/types/settings/localization.d.ts.map +1 -0
  404. package/src/native-ui/renderer-extension/dist/types/settings/pages.d.ts +23 -0
  405. package/src/native-ui/renderer-extension/dist/types/settings/pages.d.ts.map +1 -0
  406. package/src/native-ui/renderer-extension/dist/types/settings/release-notes.d.ts +4 -0
  407. package/src/native-ui/renderer-extension/dist/types/settings/release-notes.d.ts.map +1 -0
  408. package/src/native-ui/renderer-extension/dist/types/settings/session-import-list-controls.d.ts +12 -0
  409. package/src/native-ui/renderer-extension/dist/types/settings/session-import-list-controls.d.ts.map +1 -0
  410. package/src/native-ui/renderer-extension/dist/types/settings/session-import-page.d.ts +8 -0
  411. package/src/native-ui/renderer-extension/dist/types/settings/session-import-page.d.ts.map +1 -0
  412. package/src/native-ui/renderer-extension/dist/types/settings/shell.d.ts +24 -0
  413. package/src/native-ui/renderer-extension/dist/types/settings/shell.d.ts.map +1 -0
  414. package/src/native-ui/renderer-extension/dist/types/settings/trigger.d.ts +45 -0
  415. package/src/native-ui/renderer-extension/dist/types/settings/trigger.d.ts.map +1 -0
  416. package/src/native-ui/renderer-extension/dist/types/settings/update-request.d.ts +6 -0
  417. package/src/native-ui/renderer-extension/dist/types/settings/update-request.d.ts.map +1 -0
  418. package/src/native-ui/renderer-extension/dist/types/tsconfig.tsbuildinfo +1 -0
  419. package/src/native-ui/renderer-extension/dist/types/versioned-renderer-adapter.d.ts +143 -0
  420. package/src/native-ui/renderer-extension/dist/types/versioned-renderer-adapter.d.ts.map +1 -0
  421. package/src/native-ui/renderer-extension/package.json +22 -0
  422. package/src/native-ui/renderer-extension/src/agent-group-preference.ts +174 -0
  423. package/src/native-ui/renderer-extension/src/agent-selection-state.ts +627 -0
  424. package/src/native-ui/renderer-extension/src/assets/README.md +13 -0
  425. package/src/native-ui/renderer-extension/src/assets/antigravity-agent.svg +1 -0
  426. package/src/native-ui/renderer-extension/src/assets/codex-agent.png +0 -0
  427. package/src/native-ui/renderer-extension/src/assets/grok-agent.png +0 -0
  428. package/src/native-ui/renderer-extension/src/assets/kiro-agent.svg +11 -0
  429. package/src/native-ui/renderer-extension/src/assets/omp-agent.svg +14 -0
  430. package/src/native-ui/renderer-extension/src/assets/opencode-agent.png +0 -0
  431. package/src/native-ui/renderer-extension/src/assets.d.ts +26 -0
  432. package/src/native-ui/renderer-extension/src/audit-entry.ts +5 -0
  433. package/src/native-ui/renderer-extension/src/codex-locale-adapter.ts +321 -0
  434. package/src/native-ui/renderer-extension/src/collaboration-icon.ts +13 -0
  435. package/src/native-ui/renderer-extension/src/contract-audit.ts +102 -0
  436. package/src/native-ui/renderer-extension/src/harness-mix-icons.ts +31 -0
  437. package/src/native-ui/renderer-extension/src/harness-mix-settings.ts +88 -0
  438. package/src/native-ui/renderer-extension/src/index.ts +275 -0
  439. package/src/native-ui/renderer-extension/src/install-renderer-binding.ts +30 -0
  440. package/src/native-ui/renderer-extension/src/probe-entry.ts +4 -0
  441. package/src/native-ui/renderer-extension/src/production-entry.ts +23 -0
  442. package/src/native-ui/renderer-extension/src/renderer-agent-icon.ts +146 -0
  443. package/src/native-ui/renderer-extension/src/renderer-agent-picker.ts +814 -0
  444. package/src/native-ui/renderer-extension/src/renderer-binding-probe.ts +3002 -0
  445. package/src/native-ui/renderer-extension/src/renderer-codex-account-options.ts +281 -0
  446. package/src/native-ui/renderer-extension/src/renderer-codex-account-state.ts +53 -0
  447. package/src/native-ui/renderer-extension/src/renderer-collab-cards.ts +198 -0
  448. package/src/native-ui/renderer-extension/src/renderer-composer-dom.ts +782 -0
  449. package/src/native-ui/renderer-extension/src/renderer-credits-control.ts +520 -0
  450. package/src/native-ui/renderer-extension/src/renderer-external-steering.ts +339 -0
  451. package/src/native-ui/renderer-extension/src/renderer-fork-control.ts +273 -0
  452. package/src/native-ui/renderer-extension/src/renderer-harness-command-claim.ts +64 -0
  453. package/src/native-ui/renderer-extension/src/renderer-harness-command-control.ts +417 -0
  454. package/src/native-ui/renderer-extension/src/renderer-harness-localization.ts +144 -0
  455. package/src/native-ui/renderer-extension/src/renderer-harness-mentions.ts +306 -0
  456. package/src/native-ui/renderer-extension/src/renderer-model-client.ts +572 -0
  457. package/src/native-ui/renderer-extension/src/renderer-model-picker-positioning.ts +65 -0
  458. package/src/native-ui/renderer-extension/src/renderer-model-picker.ts +640 -0
  459. package/src/native-ui/renderer-extension/src/renderer-new-thread-preference.ts +177 -0
  460. package/src/native-ui/renderer-extension/src/renderer-permission-mode-picker.ts +413 -0
  461. package/src/native-ui/renderer-extension/src/renderer-permission-mode-preference.ts +49 -0
  462. package/src/native-ui/renderer-extension/src/renderer-request-sender.ts +43 -0
  463. package/src/native-ui/renderer-extension/src/renderer-session-import-client.ts +68 -0
  464. package/src/native-ui/renderer-extension/src/renderer-settings-lifecycle.ts +239 -0
  465. package/src/native-ui/renderer-extension/src/renderer-sidebar-agent-icons.ts +457 -0
  466. package/src/native-ui/renderer-extension/src/renderer-transcript-dom.ts +47 -0
  467. package/src/native-ui/renderer-extension/src/renderer-trigger-chip-style.ts +52 -0
  468. package/src/native-ui/renderer-extension/src/renderer-usage-control.ts +633 -0
  469. package/src/native-ui/renderer-extension/src/settings/accounts-list.ts +236 -0
  470. package/src/native-ui/renderer-extension/src/settings/accounts-page.ts +585 -0
  471. package/src/native-ui/renderer-extension/src/settings/accounts-usage.ts +221 -0
  472. package/src/native-ui/renderer-extension/src/settings/accounts.css +683 -0
  473. package/src/native-ui/renderer-extension/src/settings/connections-page.ts +1394 -0
  474. package/src/native-ui/renderer-extension/src/settings/core.ts +158 -0
  475. package/src/native-ui/renderer-extension/src/settings/harness-accounts.ts +195 -0
  476. package/src/native-ui/renderer-extension/src/settings/icons.ts +141 -0
  477. package/src/native-ui/renderer-extension/src/settings/localization.ts +800 -0
  478. package/src/native-ui/renderer-extension/src/settings/pages.ts +632 -0
  479. package/src/native-ui/renderer-extension/src/settings/release-notes.ts +222 -0
  480. package/src/native-ui/renderer-extension/src/settings/session-import-list-controls.ts +128 -0
  481. package/src/native-ui/renderer-extension/src/settings/session-import-page.ts +461 -0
  482. package/src/native-ui/renderer-extension/src/settings/shell.css +2238 -0
  483. package/src/native-ui/renderer-extension/src/settings/shell.ts +329 -0
  484. package/src/native-ui/renderer-extension/src/settings/trigger.ts +323 -0
  485. package/src/native-ui/renderer-extension/src/settings/update-request.ts +49 -0
  486. package/src/native-ui/renderer-extension/src/versioned-renderer-adapter.ts +1289 -0
  487. package/src/native-ui/renderer-extension/test/agent-selection-state.test.ts +611 -0
  488. package/src/native-ui/renderer-extension/test/codebuddy-migration.test.ts +22 -0
  489. package/src/native-ui/renderer-extension/test/codex-locale-adapter.test.ts +152 -0
  490. package/src/native-ui/renderer-extension/test/contract-audit.test.ts +71 -0
  491. package/src/native-ui/renderer-extension/test/harness-mix-icons.test.ts +58 -0
  492. package/src/native-ui/renderer-extension/test/index.test.ts +9 -0
  493. package/src/native-ui/renderer-extension/test/renderer-agent-icon.test.ts +98 -0
  494. package/src/native-ui/renderer-extension/test/renderer-agent-picker.test.ts +226 -0
  495. package/src/native-ui/renderer-extension/test/renderer-binding-probe-host-catalog.test.ts +728 -0
  496. package/src/native-ui/renderer-extension/test/renderer-binding-probe.test.ts +1290 -0
  497. package/src/native-ui/renderer-extension/test/renderer-codex-account-state.test.ts +65 -0
  498. package/src/native-ui/renderer-extension/test/renderer-collab-cards.test.ts +45 -0
  499. package/src/native-ui/renderer-extension/test/renderer-composer-permissions.test.ts +75 -0
  500. package/src/native-ui/renderer-extension/test/renderer-credits-control.test.ts +70 -0
  501. package/src/native-ui/renderer-extension/test/renderer-external-steering-rpc.test.ts +184 -0
  502. package/src/native-ui/renderer-extension/test/renderer-external-steering.test.ts +279 -0
  503. package/src/native-ui/renderer-extension/test/renderer-fork-control.test.ts +363 -0
  504. package/src/native-ui/renderer-extension/test/renderer-harness-command-claim.test.ts +167 -0
  505. package/src/native-ui/renderer-extension/test/renderer-harness-command-control.test.ts +54 -0
  506. package/src/native-ui/renderer-extension/test/renderer-model-client.test.ts +709 -0
  507. package/src/native-ui/renderer-extension/test/renderer-model-picker.test.ts +302 -0
  508. package/src/native-ui/renderer-extension/test/renderer-native-thread-ownership.test.ts +84 -0
  509. package/src/native-ui/renderer-extension/test/renderer-new-thread-preference.test.ts +81 -0
  510. package/src/native-ui/renderer-extension/test/renderer-permission-mode-picker.test.ts +269 -0
  511. package/src/native-ui/renderer-extension/test/renderer-permission-mode-preference.test.ts +48 -0
  512. package/src/native-ui/renderer-extension/test/renderer-settings-lifecycle.test.ts +156 -0
  513. package/src/native-ui/renderer-extension/test/renderer-sidebar-agent-icons.test.ts +575 -0
  514. package/src/native-ui/renderer-extension/test/renderer-unsupported-methods.test.ts +167 -0
  515. package/src/native-ui/renderer-extension/test/renderer-usage-control.test.ts +96 -0
  516. package/src/native-ui/renderer-extension/test/settings/accounts-usage.test.ts +208 -0
  517. package/src/native-ui/renderer-extension/test/settings/core.test.ts +145 -0
  518. package/src/native-ui/renderer-extension/test/settings/harness-settings.test.ts +92 -0
  519. package/src/native-ui/renderer-extension/test/settings/localization.test.ts +80 -0
  520. package/src/native-ui/renderer-extension/test/settings/pages.test.ts +2000 -0
  521. package/src/native-ui/renderer-extension/test/settings/release-notes.test.ts +163 -0
  522. package/src/native-ui/renderer-extension/test/settings/shell.test.ts +74 -0
  523. package/src/native-ui/renderer-extension/test/settings/trigger.test.ts +270 -0
  524. package/src/native-ui/renderer-extension/test/settings/update-request.test.ts +48 -0
  525. package/src/native-ui/renderer-extension/test/versioned-renderer-adapter.test.ts +695 -0
  526. package/src/native-ui/renderer-extension/tsconfig.json +15 -0
  527. package/src/native-ui/shared-contracts/dist/codex-accounts.d.ts +246 -0
  528. package/src/native-ui/shared-contracts/dist/codex-accounts.d.ts.map +1 -0
  529. package/src/native-ui/shared-contracts/dist/codex-accounts.js +99 -0
  530. package/src/native-ui/shared-contracts/dist/codex-accounts.js.map +1 -0
  531. package/src/native-ui/shared-contracts/dist/deepseek-modern-sessions.d.ts +37 -0
  532. package/src/native-ui/shared-contracts/dist/deepseek-modern-sessions.d.ts.map +1 -0
  533. package/src/native-ui/shared-contracts/dist/deepseek-modern-sessions.js +36 -0
  534. package/src/native-ui/shared-contracts/dist/deepseek-modern-sessions.js.map +1 -0
  535. package/src/native-ui/shared-contracts/dist/errors.d.ts +17 -0
  536. package/src/native-ui/shared-contracts/dist/errors.d.ts.map +1 -0
  537. package/src/native-ui/shared-contracts/dist/errors.js +14 -0
  538. package/src/native-ui/shared-contracts/dist/errors.js.map +1 -0
  539. package/src/native-ui/shared-contracts/dist/external-thread-fork.d.ts +11 -0
  540. package/src/native-ui/shared-contracts/dist/external-thread-fork.d.ts.map +1 -0
  541. package/src/native-ui/shared-contracts/dist/external-thread-fork.js +14 -0
  542. package/src/native-ui/shared-contracts/dist/external-thread-fork.js.map +1 -0
  543. package/src/native-ui/shared-contracts/dist/harness-accounts.d.ts +78 -0
  544. package/src/native-ui/shared-contracts/dist/harness-accounts.d.ts.map +1 -0
  545. package/src/native-ui/shared-contracts/dist/harness-accounts.js +27 -0
  546. package/src/native-ui/shared-contracts/dist/harness-accounts.js.map +1 -0
  547. package/src/native-ui/shared-contracts/dist/harness-commands.d.ts +46 -0
  548. package/src/native-ui/shared-contracts/dist/harness-commands.d.ts.map +1 -0
  549. package/src/native-ui/shared-contracts/dist/harness-commands.js +61 -0
  550. package/src/native-ui/shared-contracts/dist/harness-commands.js.map +1 -0
  551. package/src/native-ui/shared-contracts/dist/harness-models.d.ts +300 -0
  552. package/src/native-ui/shared-contracts/dist/harness-models.d.ts.map +1 -0
  553. package/src/native-ui/shared-contracts/dist/harness-models.js +318 -0
  554. package/src/native-ui/shared-contracts/dist/harness-models.js.map +1 -0
  555. package/src/native-ui/shared-contracts/dist/harness-permission-modes.d.ts +30 -0
  556. package/src/native-ui/shared-contracts/dist/harness-permission-modes.d.ts.map +1 -0
  557. package/src/native-ui/shared-contracts/dist/harness-permission-modes.js +57 -0
  558. package/src/native-ui/shared-contracts/dist/harness-permission-modes.js.map +1 -0
  559. package/src/native-ui/shared-contracts/dist/harness-plugins.d.ts +56 -0
  560. package/src/native-ui/shared-contracts/dist/harness-plugins.d.ts.map +1 -0
  561. package/src/native-ui/shared-contracts/dist/harness-plugins.js +75 -0
  562. package/src/native-ui/shared-contracts/dist/harness-plugins.js.map +1 -0
  563. package/src/native-ui/shared-contracts/dist/harness-route.d.ts +16 -0
  564. package/src/native-ui/shared-contracts/dist/harness-route.d.ts.map +1 -0
  565. package/src/native-ui/shared-contracts/dist/harness-route.js +42 -0
  566. package/src/native-ui/shared-contracts/dist/harness-route.js.map +1 -0
  567. package/src/native-ui/shared-contracts/dist/harness-session-import.d.ts +54 -0
  568. package/src/native-ui/shared-contracts/dist/harness-session-import.d.ts.map +1 -0
  569. package/src/native-ui/shared-contracts/dist/harness-session-import.js +72 -0
  570. package/src/native-ui/shared-contracts/dist/harness-session-import.js.map +1 -0
  571. package/src/native-ui/shared-contracts/dist/ids.d.ts +12 -0
  572. package/src/native-ui/shared-contracts/dist/ids.d.ts.map +1 -0
  573. package/src/native-ui/shared-contracts/dist/ids.js +10 -0
  574. package/src/native-ui/shared-contracts/dist/ids.js.map +1 -0
  575. package/src/native-ui/shared-contracts/dist/index.d.ts +47 -0
  576. package/src/native-ui/shared-contracts/dist/index.d.ts.map +1 -0
  577. package/src/native-ui/shared-contracts/dist/index.js +29 -0
  578. package/src/native-ui/shared-contracts/dist/index.js.map +1 -0
  579. package/src/native-ui/shared-contracts/dist/json-rpc.d.ts +84 -0
  580. package/src/native-ui/shared-contracts/dist/json-rpc.d.ts.map +1 -0
  581. package/src/native-ui/shared-contracts/dist/json-rpc.js +65 -0
  582. package/src/native-ui/shared-contracts/dist/json-rpc.js.map +1 -0
  583. package/src/native-ui/shared-contracts/dist/json-value.d.ts +13 -0
  584. package/src/native-ui/shared-contracts/dist/json-value.d.ts.map +1 -0
  585. package/src/native-ui/shared-contracts/dist/json-value.js +60 -0
  586. package/src/native-ui/shared-contracts/dist/json-value.js.map +1 -0
  587. package/src/native-ui/shared-contracts/dist/native-refs.d.ts +43 -0
  588. package/src/native-ui/shared-contracts/dist/native-refs.d.ts.map +1 -0
  589. package/src/native-ui/shared-contracts/dist/native-refs.js +35 -0
  590. package/src/native-ui/shared-contracts/dist/native-refs.js.map +1 -0
  591. package/src/native-ui/shared-contracts/dist/reasoning-transcript.d.ts +7 -0
  592. package/src/native-ui/shared-contracts/dist/reasoning-transcript.d.ts.map +1 -0
  593. package/src/native-ui/shared-contracts/dist/reasoning-transcript.js +7 -0
  594. package/src/native-ui/shared-contracts/dist/reasoning-transcript.js.map +1 -0
  595. package/src/native-ui/shared-contracts/dist/thread-delegate.d.ts +22 -0
  596. package/src/native-ui/shared-contracts/dist/thread-delegate.d.ts.map +1 -0
  597. package/src/native-ui/shared-contracts/dist/thread-delegate.js +30 -0
  598. package/src/native-ui/shared-contracts/dist/thread-delegate.js.map +1 -0
  599. package/src/native-ui/shared-contracts/dist/thread-harness-switch.d.ts +16 -0
  600. package/src/native-ui/shared-contracts/dist/thread-harness-switch.d.ts.map +1 -0
  601. package/src/native-ui/shared-contracts/dist/thread-harness-switch.js +19 -0
  602. package/src/native-ui/shared-contracts/dist/thread-harness-switch.js.map +1 -0
  603. package/src/native-ui/shared-contracts/dist/thread-usage.d.ts +106 -0
  604. package/src/native-ui/shared-contracts/dist/thread-usage.d.ts.map +1 -0
  605. package/src/native-ui/shared-contracts/dist/thread-usage.js +103 -0
  606. package/src/native-ui/shared-contracts/dist/thread-usage.js.map +1 -0
  607. package/src/native-ui/shared-contracts/dist/tsconfig.tsbuildinfo +1 -0
  608. package/src/native-ui/shared-contracts/dist/updates.d.ts +128 -0
  609. package/src/native-ui/shared-contracts/dist/updates.d.ts.map +1 -0
  610. package/src/native-ui/shared-contracts/dist/updates.js +58 -0
  611. package/src/native-ui/shared-contracts/dist/updates.js.map +1 -0
  612. package/src/native-ui/shared-contracts/dist/version.d.ts +2 -0
  613. package/src/native-ui/shared-contracts/dist/version.d.ts.map +1 -0
  614. package/src/native-ui/shared-contracts/dist/version.js +2 -0
  615. package/src/native-ui/shared-contracts/dist/version.js.map +1 -0
  616. package/src/native-ui/shared-contracts/package.json +25 -0
  617. package/src/native-ui/shared-contracts/src/codex-accounts.ts +140 -0
  618. package/src/native-ui/shared-contracts/src/deepseek-modern-sessions.ts +67 -0
  619. package/src/native-ui/shared-contracts/src/errors.ts +25 -0
  620. package/src/native-ui/shared-contracts/src/external-thread-fork.ts +20 -0
  621. package/src/native-ui/shared-contracts/src/harness-accounts.ts +32 -0
  622. package/src/native-ui/shared-contracts/src/harness-commands.ts +81 -0
  623. package/src/native-ui/shared-contracts/src/harness-models.ts +406 -0
  624. package/src/native-ui/shared-contracts/src/harness-permission-modes.ts +73 -0
  625. package/src/native-ui/shared-contracts/src/harness-plugins.ts +96 -0
  626. package/src/native-ui/shared-contracts/src/harness-route.ts +47 -0
  627. package/src/native-ui/shared-contracts/src/harness-session-import.ts +90 -0
  628. package/src/native-ui/shared-contracts/src/ids.ts +20 -0
  629. package/src/native-ui/shared-contracts/src/index.ts +320 -0
  630. package/src/native-ui/shared-contracts/src/json-rpc.ts +80 -0
  631. package/src/native-ui/shared-contracts/src/json-value.ts +78 -0
  632. package/src/native-ui/shared-contracts/src/native-refs.ts +58 -0
  633. package/src/native-ui/shared-contracts/src/reasoning-transcript.ts +6 -0
  634. package/src/native-ui/shared-contracts/src/thread-delegate.ts +40 -0
  635. package/src/native-ui/shared-contracts/src/thread-harness-switch.ts +25 -0
  636. package/src/native-ui/shared-contracts/src/thread-usage.ts +126 -0
  637. package/src/native-ui/shared-contracts/src/updates.ts +78 -0
  638. package/src/native-ui/shared-contracts/src/version.ts +1 -0
  639. package/src/native-ui/shared-contracts/test/browser-bundle.test.ts +36 -0
  640. package/src/native-ui/shared-contracts/test/deepseek-modern-sessions.test.ts +120 -0
  641. package/src/native-ui/shared-contracts/test/errors.test.ts +72 -0
  642. package/src/native-ui/shared-contracts/test/harness-commands.test.ts +64 -0
  643. package/src/native-ui/shared-contracts/test/harness-models.test.ts +390 -0
  644. package/src/native-ui/shared-contracts/test/harness-permission-modes.test.ts +134 -0
  645. package/src/native-ui/shared-contracts/test/harness-plugins.test.ts +113 -0
  646. package/src/native-ui/shared-contracts/test/harness-session-import.test.ts +117 -0
  647. package/src/native-ui/shared-contracts/test/ids.test.ts +69 -0
  648. package/src/native-ui/shared-contracts/test/index.test.ts +80 -0
  649. package/src/native-ui/shared-contracts/test/json-rpc.test.ts +177 -0
  650. package/src/native-ui/shared-contracts/test/json-value.test.ts +62 -0
  651. package/src/native-ui/shared-contracts/test/native-refs.test.ts +95 -0
  652. package/src/native-ui/shared-contracts/test/thread-usage.test.ts +115 -0
  653. package/src/native-ui/shared-contracts/test/updates.test.ts +120 -0
  654. package/src/native-ui/shared-contracts/tsconfig.json +10 -0
  655. package/src/tsconfig.base.json +19 -0
@@ -0,0 +1,44 @@
1
+ # Harness 管理
2
+
3
+ 入口:右上角「Harness 管理」、左下角设置,或 `Ctrl+,`。
4
+
5
+ ## 连接
6
+
7
+ 按当前适配器注册表检查本机安装状态,包括 CodeBuddy、Kiro CLI 和 Cursor CLI。检测不会发送用户消息;程序可用不等于账号已登录。Kiro/Cursor 提供官方安装链接与刷新检测,不猜测 npm 安装包。
8
+
9
+ CodeBuddy 的旧名称 Workbuddy 自动兼容,已有原生会话 ID 不变。配置路径、专用协议和验证边界见 [原生 ACP 适配说明](native-acp.md)。
10
+
11
+ ## 账号
12
+
13
+ | Harness | 读取状态 | 管理方式 |
14
+ | --- | --- | --- |
15
+ | Codex | 原生 `account/read` | 原生 `account/login/start` 打开浏览器;支持取消、完成通知与退出登录 |
16
+ | Claude Code | 原生 `claude auth status --json` | 打开原生认证窗口执行 `claude auth login/logout`,完成后刷新 |
17
+ | Pi | 原生 RPC 模型目录中的供应商 | 打开 Pi 原生交互终端,使用 `/login` 与 `/logout` |
18
+ | DeepSeek Harness | 原生 Web Remote 模型目录中的供应商 | 在独立、安全隔离的应用窗口中打开 DSH 原生管理页面,进入设置管理供应商 |
19
+ | CodeBuddy / Kiro CLI / Cursor CLI | 可执行文件版本检测;打开会话后读取原生目录 | 在各自 CLI 完成原生登录,再刷新检测;不读取或复制登录凭据 |
20
+
21
+ Pi / DSH 显示「已配置」而非「已登录」,目录存在不能证明凭据通过在线验证。登录与配置仍使用原生程序自己的账号存储,Harness Mix 不复制账号密钥。当前使用各原生程序的本机账号环境,不提供独立多账号池。
22
+
23
+ 修改登录前会检查该 Harness 是否有运行中的任务。Codex 登录连接保留至完成、取消或五分钟超时;关闭设置不会取消浏览器登录,应用退出会取消待完成的登录。
24
+
25
+ ## 模型
26
+
27
+ - 按 Harness 读取原生模型目录,支持按名称和供应商筛选。
28
+ - 「保存为新对话默认」写入 Harness Mix 的本地非敏感偏好,刷新与重启后保留,不改写原生模型配置。
29
+ - 同名模型按供应商区分。默认选择只允许来自该 Harness 实际返回的目录。
30
+ - 「应用到当前对话」通过现有原生 `setModel` 链路执行;任务运行中不能切换。
31
+ - 选择「跟随原生默认」可清除 Harness Mix 的默认模型覆盖。
32
+ - 配置或登录完成后刷新状态和目录,使新的供应商与模型可见。
33
+
34
+ ## 验证
35
+
36
+ ```powershell
37
+ npm run test:native-ui
38
+ npm run smoke:native-ui
39
+ npm run e2e:native
40
+ ```
41
+
42
+ `test:native-ui` 覆盖账号字段白名单、模型供应商身份、并发默认值保存、登录连接生命周期和设置页渲染逻辑。`smoke:native-ui` 使用 Electron 与模拟原生响应,检查 Renderer 注入及设置界面的关键交互。
43
+
44
+ `e2e:native` 是只读协议验收:读取可用 Harness 与模型目录,不执行登录/退出或修改凭据。完整账号管理和 DSH 原生页面重开仍需在真实 Codex Desktop 重启验收中人工确认,不能由这条命令代替。
@@ -0,0 +1,3 @@
1
+ # CodeBuddy / Kiro / Cursor 接入
2
+
3
+ 原有基础接入说明已更新为 [原生 ACP 深度适配](native-acp.md),包含 CodeBuddy 更名兼容、厂商专用接口、测试证据与未支持能力。
@@ -0,0 +1,89 @@
1
+ # 多 Agent 协作
2
+
3
+ ## 用法
4
+
5
+ 重新启动 Harness Mix 后,新建或恢复一个 Pi / Oh My Pi / Claude Code / **Codex(协作)** / Grok / OpenCode / **Antigravity** 任务,输入 `@`,在 **Agents** 页选择目标 Harness;**会话** 页单独提供历史引用。左右键切换分页,上下键选择,Enter/Tab 插入。Codex(协作)通过 Host Adapter 使用原生 app-server;原来的 Codex 入口仍为官方直通。可用目标来自 Host 注册的 Adapter;未就绪的目标不可选。示例:
6
+
7
+ ```text
8
+ 你负责实现后端。
9
+ @claude-code 审查 API 设计,只读,不修改文件。
10
+ @pi 为 tests/ 编写测试,不修改 src/。
11
+ 收齐结果后由你运行验证并总结。
12
+ ```
13
+
14
+ 也可直接输入 `@pi`、`@claude`、`@dsh`、`@codex` 等已注册 ID/别名。显式 `[名称](harness-mix://agent/pi)` 引用可随草稿复制;代码块、行内代码和邮箱里的 @ 不作为路由元数据。提及本身由主模型结合用户任务理解,Host 不按文字片段盲目拆任务。
15
+
16
+ ## 执行方式
17
+
18
+ 借鉴 Codeg 的 [委派工具](https://github.com/xintaofei/codeg/blob/main/src-tauri/src/acp/delegation/tool_schema.json) 和 [Agent 引用路由](https://github.com/xintaofei/codeg/blob/main/src-tauri/src/acp/agent_mentions.rs):
19
+
20
+ 1. Host 为主任务提供会话绑定的协作工具。Claude 通过 SDK 的 MCP 配置,Codex Adapter 通过 app-server 的线程 MCP 配置,Pi/OMP 通过原生扩展加载,Grok 通过原生 `session/new` 的 `mcpServers` 槽注入(L1),OpenCode 通过 `OPENCODE_CONFIG_CONTENT` 内联配置注入 `mcp["harness-mix"]`(V2 schema,运行时最高优先级、不写任何用户配置文件),DSH 协作主任务通过官方 `dsh --profile acp` 的 session-scoped MCP 注入,Antigravity 协作主任务通过 bridge 目录自动生成的 `.agents/plugins/harness-mix` plugin 及 loopback MCP 配置注入与引导词;DSH 普通任务仍走 Web Remote。
21
+ 2. 主模型调用 `delegate_to_agent(agent_type, task)`,立即取得 `task_id`,可以继续发起其他任务。
22
+ 3. Host 创建带 `parentThreadId` 的独立原生会话。任务中需要的上下文由主模型明确传递,不复制其他 Harness 的隐藏状态、账户或权限。
23
+ 4. `update_agent_plan(steps)` 发布开发、审查、返工和最终验收计划;步骤状态为 pending / in_progress / completed。`get_delegation_status(task_ids, wait_ms)` 收取状态和最终文本;单次等待不超过 60 秒。`message_agent` 在已结束的子会话中继续对话,`cancel_delegation` 取消子任务。
24
+ 5. 结果作为真正的原生工具结果返回主模型,由主模型验证、整合并继续执行。Host 额外投影原生 `collabAgentToolCall` 协作卡片(真实子任务 ID、Harness 名称、提示词、最终状态、Worktree 补丁与改动摘要),原生桌面渲染扩展支持点击直接跳转定位到子会话、内联展开语法高亮 Diff 查看改动、以及一键合并回主项目。
25
+
26
+ `list_agents` 提供真实可用性。旧 `/delegate` 仍是独立的手动委派入口,其完成结果只回投父任务工具卡片,不自动调用父模型。
27
+
28
+ ## 执行边界
29
+
30
+ - 同一主任务最多四个同时运行的子任务,每轮最多创建十六个;子任务不注入协作工具,不允许递归委派。
31
+ - 模型工具委派默认共享主任务目录,子 Agent 使用独立原生会话。开发完成后再委派审查,审查意见通过 `message_agent` 发回原开发者,修复后复用原审查会话复审。主任务应等待依赖步骤完成并避免同时修改相同文件。主任务负责共享目录整体文件快照。显式 `isolation=worktree`(或 Git 项目中的 `auto`)仍创建隔离分支与工作区,保存主目录当前非忽略文件作为起点,保留用户暂存区;隔离改动不会自动出现在主目录。
32
+ - 协作不创建独立面板或第二套 UI。父子关系通过原生 `parentThreadId` 投影,子任务进入 Codex 原生任务体系;委派和跟进显示为原生协作卡片;普通工具及轮询仍显示为 MCP 工具卡片,审批在相应原生子任务中处理,文件变化由原生 Changes 界面展示。
33
+ - 主任务可调用 `review_delegation_changes` 在原生工具卡片中审查 worktree patch。只有用户明确要求应用时才可调用 `apply_delegation_changes`,并必须提交刚审查得到的 digest。应用前检查 Git patch 冲突;冲突时结构化输出冲突文件清单及处置指引(工作区手动解决、推送到远程分支开 PR、或一键丢弃)。系统提供 `codexhost/thread/workspace/discard` 一键安全清除 worktree 与删除临时分支,以及 `codexhost/thread/workspace/push` 提交快照并直接推送到 Git 远程分支。worktree 默认保留供检查,不自动删除。隔离子任务有独立审查快照;共享子任务仍由主任务记录整体快照。旧 `/delegate` 手动入口仍为共享目录。
34
+ - 同目录的无关任务仍受原有执行互斥约束。父任务结束/取消、Host 关闭会取消尚未完成的子任务;30 分钟未完成的子任务会超时。
35
+ - 协作 HTTP 桥仅绑定 loopback,以每个主任务的随机本地能力标识鉴权;工具参数校验,子任务归属检查,外部 Origin 拒绝。该标识不是模型账户令牌。Host 不读取或代理原生账户密钥。
36
+ - Claude 的 `canUseTool` 和 Codex MCP elicitation 继续走原生审批。需要确认时,用户在相应任务的审批界面处理;自动验证不会代答。
37
+ - 主任务 Fork 会重新绑定自己的协作身份,不复用源任务的子任务访问权。
38
+ - task_id、父子会话、任务文本、结果和 worktree 起点在独立串行存储中持久化;重启后在途任务变为 interrupted,不自动重复执行有副作用的操作。点击「继续协作」向原主任务发送续跑请求,主模型用 `list_delegations` / `resume_delegation` 恢复原子会话。原生会话丢失或无法恢复会明确报错。会话鉴权标识不持久化,重启重新签发。
39
+
40
+ ## 支持与验证范围
41
+
42
+ | 入口 | 状态 |
43
+ | --- | --- |
44
+ | Pi 主任务 | 原生扩展工具;Pi→Pi、Pi→Claude 两条真实模型链路通过 |
45
+ | Claude Code 主任务 | SDK MCP 注入;本机真实运行触发原生工具审批,未代答,尚未完成模型闭环验收 |
46
+ | Oh My Pi 主任务 | 同 Pi 家族的扩展接线;本机未安装 OMP,真实验收未完成 |
47
+ | Codex(协作)主任务 | 已接入选择器、模型/强度、恢复归属、@ 菜单;桌面使用配套 CLI。真实请求已到原生 MCP 审批,尚未完成需授权的闭环 |
48
+ | Grok 主任务 | L1:`session/new`/`session/load` 原生 `mcpServers` 槽注入,恢复会话同样携带;真实模型闭环验收待跑 |
49
+ | OpenCode 主任务 | L2:`OPENCODE_CONFIG_CONTENT` 使用 `mcp["harness-mix"]`(V2 schema),会话结束即失效;本机真实请求已到官方 API,但被账户余额阻断 |
50
+ | DSH 主任务 | 官方 `dsh --profile acp` 接收 session-scoped `harness-mix` MCP;DSH→CodeBuddy 两个 worktree 子任务和最终 `COLLAB_VERIFIED` 已通过真实模型回路。普通 DSH 任务继续使用 Web Remote |
51
+ | Antigravity 主任务 | 支持主编排(通过 `.agents/plugins/harness-mix` MCP 自动挂载及指导词注入);已接入协同工具与卡片投影 |
52
+ | 官方 Codex 桌面直通任务 | 保持官方直通,不展示 Host 的 @ 协作菜单;不要把 Adapter 接线等同于已支持这个入口 |
53
+ | 其他 Harness 主任务 | Agents 页明确提示需要切换可编排的主 Agent,目标不可选;历史引用仍可用;可使用旧 /delegate |
54
+ | 子任务目标 | 所有已注册且本机可用的 Adapter;不代表每一对组合都已实测 |
55
+
56
+ ```powershell
57
+ npm run test:collaboration
58
+ npm run test:collaboration-recovery
59
+ npm run smoke:collaboration-ui
60
+ npm run e2e:collaboration -- --lead=pi --worker=claude
61
+ npm run check
62
+ npm run test:core-all
63
+ npm run test:native-protocol
64
+ npm run e2e:native
65
+ npm run build:native
66
+ ```
67
+
68
+ `test:collaboration` 使用真实 MCP stdio 子进程、本地鉴权桥和受控原生会话 Adapter 验证并发、结果、跟进、取消、跨任务访问限制、历史引用提示和共享快照策略。UI smoke 只检查原生输入框内的 Harness/历史会话选择、图标、标识、键盘选取和清理,截图位于 `output/collaboration-ui/mentions.png`。协作过程由 Native Protocol 的原生工具卡片测试覆盖。这不是完整 Codex Desktop 的交互验收;构建过程不会重启当前桌面。
69
+
70
+ 2026-09-12 验证:Pi→Claude 两个真实子任务分别在不同 worktree 运行,DSH→CodeBuddy 两个真实子任务也在独立 worktree 完成并由 DSH 主会话汇总 `COLLAB_VERIFIED`。恢复测试覆盖持久化身份、原子会话续跑、不重复建任务;Git 测试覆盖脏目录起点、暂存区保留、过期预览拒绝、冲突时不部分应用。Native Protocol 覆盖父子任务归属与原生 MCP 工具卡片,Electron 仅覆盖原生输入框中的协作引用增强。Runtime 保持 Adapter `open()` 返回对象的同一身份,避免原生回调更新到浅拷贝而被活动回合闸门丢弃。
71
+ ## 统一历史
72
+
73
+ 设置 → 会话导入 → 全部历史,支持按标题、目录和会话 ID 搜索、分页、导入并打开。Pi、Claude、Codex 从本机原生历史发现会话;其余 Harness 当前聚合 Host 已管理的历史,并在来源名称上标为「Host 历史」,尚未接入各自 CLI 的外部会话扫描。
74
+
75
+ 导入只创建投影和原生会话引用,不启动模型;再次发送时原生恢复。重复导入返回同一任务。输入 `@` 可从「会话」页选择一条记录;Host 最多读取三条引用,每条只附加最近十二条用户/助手文本,并明确标记为不可执行的历史数据。引用不会创建、恢复或占用原生会话。原始完整工具、隐藏状态和分支数据仍留在原生存储,因此这不是原生历史的无损迁移。原生运行状态未知时,应先关闭其他客户端的同一会话。
76
+
77
+ ## 2026-09-11 Codeg 协作流程修复
78
+
79
+ - Agents 与历史会话分栏,修复原生 @ 大菜单与协作菜单同时弹出;提示不可用主 Agent 的能力边界。
80
+ - 默认共享目录,使开发与审查读取同一份实际文件;保留显式隔离工作区。多任务等待在任一结果可收取时返回。
81
+ - 新增可更新的原生计划,子任务卡片投影真实会话 ID 与 Harness 名称,跟进复用原会话。
82
+ - 实测 Pi 主任务 + 两个独立 Pi 原生子会话:开发者写入错误样本 41 → 审查者 REVIEW_FAIL → message_agent 交回原开发者修为 42 → 原审查者 REVIEW_PASS → 主模型完成计划并汇总。测试验证文件实际导出值以及两个会话均收到跟进。日志:`output/collaboration-cycle.log`。
83
+ - Pi → Claude 写文件测试到达原生审批,未代答,跨 Harness 写文件闭环尚未通过;不能据此声称全部 Harness 组合已验收。
84
+
85
+ ```powershell
86
+ npm run e2e:collaboration -- --lead=pi --worker=pi --cycle
87
+ ```
88
+
89
+ 桌面实测与隔离增强:Pi 主 Agent 切换、Agents/会话切页、Claude 提及精确插入(无重复 @)、图标标识和草稿清理通过。原生协作卡片已实装「↗ 查看 @agent 会话」跳转子任务 Thread、「🔍 查看产物 Diff」语法高亮展开与「✓ 合并改动到主项目」操作;Worktree 隔离环境已实装补丁冲突结构化指引、`discardWorkspace` 一键丢弃临时分支与 `pushWorkspace` 远程分支推送协议支持。截图与报告在 `output/collaboration-ui/desktop-*.png` 和 `desktop-report.json`。
@@ -0,0 +1,122 @@
1
+ # CodeBuddy、Kiro CLI、Cursor CLI 与其他原生 ACP 接入
2
+
3
+ CodeBuddy、Kiro CLI、Cursor CLI 和 Qoder 使用原生 ACP stdio,并在 `native-acp.js`、
4
+ `acp-interactions.js` 中处理厂商差异。ZCode、Trae 也复用此引擎,但当前只有显式
5
+ ACP 程序配置入口,尚未验证可用桥接程序,不能称为已完成官方原生接入。
6
+ 不替换原生账号、不代理模型供应商、不自动批准工具请求。
7
+
8
+ ## 安装与旧名称兼容
9
+
10
+ | Harness ID | 原生启动 | 可选路径变量 | 安装入口 |
11
+ | --- | --- | --- | --- |
12
+ | `codebuddy` | `codebuddy --acp` | `HARNESS_MIX_CODEBUDDY_EXECUTABLE` | [CodeBuddy CLI](https://www.codebuddy.ai/docs/cli/overview) |
13
+ | `kiro-cli` | `kiro-cli acp --agent-engine v3 --auth-method cli` | `HARNESS_MIX_KIRO_EXECUTABLE` | [Kiro CLI](https://kiro.dev/docs/cli/) |
14
+ | `cursor-cli` | `cursor-agent acp` | `HARNESS_MIX_CURSOR_EXECUTABLE` | [Cursor CLI](https://cursor.com/docs/cli/installation) |
15
+ | `qoder` | `qodercli --acp` / `qoder --acp` | `HARNESS_MIX_QODER_EXECUTABLE` | [Qoder 官方 ACP 文档](https://docs.qoder.com/cli/acp) |
16
+ | `zcode` | 显式指定 ACP 桥接程序,无附加参数 | `HARNESS_MIX_ZCODE_ACP_EXECUTABLE` | [ZCode](https://zcode.z.ai/);本机原生 CLI 仅确认 app-server |
17
+ | `trae` | 显式指定兼容 ACP 程序,无附加参数 | `HARNESS_MIX_TRAE_EXECUTABLE` | [官方 trae-agent](https://github.com/bytedance/trae-agent);未确认 ACP 支持 |
18
+
19
+ Qoder 在 Windows 上识别 npm 包并直接启动官方 JavaScript bundle。ZCode 的
20
+ `app-server --stdio` 使用厂商协议,不能直接填入 ACP 程序路径。旧的 `zcode acp`、
21
+ `traecli acp serve` 缺少官方依据,已移除;未配置桥接时明确显示不可用。
22
+ Trae 官方开源项目的命令名是 `trae-cli`,不代表它具备 ACP 服务模式。
23
+ 本项目不自动安装第三方桥接器,也不复制其凭据同步或默认 yolo 策略。
24
+
25
+ CodeBuddy 优先使用明确指定的路径,再搜索 PATH 和 WorkBuddy 桌面自带的
26
+ CodeBuddy CLI。旧变量 `HARNESS_MIX_WORKBUDDY_EXECUTABLE` 继续有效,新变量优先。
27
+ `workbuddy` 是兼容别名;只注册一个 CodeBuddy 适配器。启动时迁移 Host 任务和
28
+ Harness 切换历史中的旧 ID,保留原生会话 ID、文件位置和对话内容。
29
+ Renderer 读取旧默认模型和分组偏好时同步迁移旧名称。
30
+
31
+ Cursor 在 Windows 上识别官方版本目录并直接运行其 Node bundle。
32
+ 不使用含义不明确的 `agent` 命令,因为它也可能属于 Grok。
33
+ 显式路径无效会报错,不能静默转向其他安装。
34
+
35
+ ## 专用适配
36
+
37
+ | 能力 | CodeBuddy | Kiro CLI | Cursor CLI |
38
+ | --- | --- | --- | --- |
39
+ | 模型/配置 | 原生 model、thought_level、mode;等待确认 | 原生 model、effortLevel;auto 不显示独立 effort | 保留完整模型变体及原生执行模式 |
40
+ | 审批 | 保留原生 optionId 与单次/持久范围 | 原生选项;consent 携带会话/工作区及资源元数据 | 原生 optionId 与作用范围 |
41
+ | 提问 | AskUserQuestion → resolveInterruption;旧 question 回调;失败可重试 | `_kiro/userInput` 文字/选项 | `cursor/ask_question` 单选/多选 |
42
+ | 计划 | ACP plan 投影 | ACP plan 投影 | `cursor/create_plan` 接受/拒绝/取消 |
43
+ | 取消 | 等待取消完成,再关闭、重连、load 同一会话并恢复确认过的配置 | 原生 cancel;超时关闭并报故障 | 原生 cancel;超时关闭并报故障 |
44
+ | 恢复 | session/load;加载期间不重复输出历史 | session/load | session/load |
45
+ | 压缩/fork | 不支持 | 仅调用握手声明的 compact/fork;不伪造检查点 | 不支持 |
46
+ | 用量 | 按原生 model request ID 去重 Token/Credits;标准 ACP 上下文 | 原生上下文百分比、usage 元数据 Credits 去重 | 不声明用量 |
47
+ | 原生历史导入 | JSONL 当前 parent 链,校验 cwd/session/path/大小/环 | 仅现有 Host 历史与原生恢复 | 仅现有 Host 历史与原生恢复 |
48
+
49
+ 共享处理包括:每会话独立进程、会话级 MCP 注入、拒绝并发提交和忙时改配置、
50
+ 30 秒启动/配置/取消超时、忽略其他会话和旧连接事件、工具终态去重、仅在工具
51
+ 成功后投影原生完整 Diff。已知 Cursor 损坏的 diff header 回退保持为工具输出,
52
+ 不猜测文件内容。Credits 保持独立字段,不换算为美元。
53
+
54
+ 多选问题目前通过输入 JSON 字符串数组表达;选项会展示在问题中,提交时按原生
55
+ 选项 ID 校验。CodeBuddy 允许原生提问支持的自定义回答。
56
+
57
+ ## 能力边界
58
+
59
+ - 这是针对本项目接口实现的适配,不是完整移植 codex-host 的插件系统。
60
+ - 原生子 Agent 的独立卡片、后台生命周期与子会话历史浏览尚未实现。
61
+ CodeBuddy 带 parentToolCallId 的子 Agent 内容不会混入父回答。
62
+ - Kiro fork 只读取并校验原生 session.json/messages.jsonl 的最新完整 turn_end,
63
+ 将真实 messageId 传入原生 fork;压缩、tombstone 或缺失边界明确拒绝。
64
+ - Kiro 原生历史导入、Cursor 的内部 SQLite 历史导入未实现;恢复已有 Host
65
+ 任务使用原生 session/load,不读写其私有数据库。
66
+ - CodeBuddy/Kiro/Cursor/Qoder 的图片以 ACP image block 传递,仅在原生握手声明
67
+ `promptCapabilities.image` 时接受;缺失能力时拒绝,不能静默丢图。2026-09-12
68
+ 实机图片回路在 CodeBuddy 通过;Kiro/Cursor 未安装,Qoder 被额度阻断。DSH 和
69
+ OpenClaw 的当前模型明确拒绝图片,属于模型能力限制而非 Host 丢图。
70
+ - 精确消息回退、CodeBuddy/Cursor fork、账号配额查询不声明支持。
71
+ - Kiro autopilot 不伪装为 Host 权限级别;未知扩展请求明确报不支持。
72
+ - 部分 CLI 不提供原生 Diff 或用量,缺失时不从当前文件/估算值补造。
73
+ - CodeBuddy/Kiro/Cursor/Qoder/ZCode/Trae 的 ACP 会话可接收每会话 MCP 定义,
74
+ 但只有本机安装且握手成功的程序才会开放入口;ZCode、Trae 仍需显式兼容 ACP
75
+ 桥接器,不能把其 app-server 或普通 CLI 当成 ACP。
76
+ - DSH 协作主任务走官方 `dsh --profile acp`,由同一 ACP 引擎接收 session-scoped
77
+ MCP;普通 DSH 任务继续使用 Web Remote。Runtime 保持 Adapter `open()` 返回
78
+ 的会话对象身份,避免原生回调更新到浅拷贝而被活动回合闸门丢弃。
79
+
80
+ ## 验证
81
+
82
+ ```powershell
83
+ npm run test:native-acp-depth
84
+ npm run test:kiro-cursor
85
+ npm run test:core-all
86
+ npm run test:native-ui
87
+ npm run e2e:native-acp
88
+ npm run e2e:native
89
+ npm run health:harnesses -- --live
90
+ npm run health:harnesses -- --live --image-only --image=<绝对图片路径>
91
+ ```
92
+
93
+ 深度协议测试使用模拟原生子进程,覆盖取消/重连后继续、配置确认、忙时拒绝、
94
+ 会话隔离、审批原生 ID、提问失败重试、多选、计划拒绝、Kiro 上下文/fork、
95
+ Diff 去重、历史 parent 环和 Credits 去重。这些测试不是模型执行证据。
96
+
97
+ 2026-09-12 实机结果:CodeBuddy 2.132.0 返回 17 个模型和 8 个模式,完成文本
98
+ 回复后关闭进程,session/load 同一原生会话并再次回复成功。此版本当前模型未
99
+ 返回独立思考选项,因此未伪造档位。Kiro/Cursor 未在 PATH 和默认目录发现,
100
+ 真实模型、专用交互以及重启桌面验收待安装登录后完成。日志保存在
101
+ `output/native-acp-live/1789182835967/report.json`(本地构建产物,不提交)。
102
+
103
+ Qoder 1.1.49 实机完成 ACP 初始化、创建会话,返回 1 个模型和 5 个原生模式。
104
+ 文本请求返回账号 Credits 额度耗尽,因此模型回复、恢复和工具执行尚未通过实机验证。
105
+ 日志:`output/native-acp-live/1789187177461/report.json`。
106
+ 新增六种协议配置的模拟进程回归、延迟 ACP 最终事件回归和图片握手拒绝测试;
107
+ ZCode/Trae 的模拟测试只验证共享引擎,不能作为其官方 CLI 已接通的证据。
108
+
109
+ 2026-09-12 全 Harness 健康检查(均在独立临时工作目录执行):文本回路通过
110
+ Pi、DSH、Claude Code、Codex、Grok、CodeBuddy;OpenCode 被账户余额阻断,Qoder
111
+ 被 Credits 额度阻断,OMP、Hermes、Kiro、Cursor 未安装。图片回路通过
112
+ Antigravity、Pi、Claude Code、Codex、Grok、CodeBuddy;DSH/OpenClaw 的当前模型
113
+ 拒绝图片,Qoder/OpenCode 分别被额度/余额阻断。报告:
114
+ `output/harness-health/1789191914230/report.json`(文本)和
115
+ `output/harness-health/1789191791797/report.json`(图片)。
116
+
117
+ ## 参考与图标
118
+
119
+ 协议字段对照了 [codex-host 7cc4db87](https://github.com/BytePioneer-AI/codex-host/tree/7cc4db87fe5e5aa7f232e592a6ff8f0ff96534c9/packages/adapters)
120
+ 的 codebuddy、kiro-cli、cursor-cli 实现及接口说明;其测试结果不视为本项目证据。
121
+ CodeBuddy 和 Cursor 图标取自该提交的官方品牌资源副本,Kiro 沿用仓库已有
122
+ 官方 SVG。品牌标志归原所有者所有,不表示厂商背书。
@@ -0,0 +1,95 @@
1
+ # 原生 Codex UI 接入
2
+
3
+ `npm start`、`npm run start:codex`、`Start-Codex.cmd` 均启动原生模式(唯一模式)。
4
+
5
+ ## 调用链
6
+
7
+ ```text
8
+ Codex Desktop 原生输入框 / Harness 选择器
9
+ → 本地编译的 Harness Mix CLI Shim (harness-mix-shim.exe)
10
+ → Harness Mix 原生 Host 入口 (src/main/native/host.js)
11
+ → Harness Mix 本地 HostRuntime (src/main/host/runtime.js) & ProtocolCore
12
+ → 本地 Harness 适配器(Pi / Claude Code / DeepSeek / Antigravity / Codex / CodeBuddy / Kiro / Cursor / Qoder)
13
+ → Codex app-server 事件投影 (src/main/native/protocol.js)
14
+ → Codex Desktop 原生流式文本、工具、审批和 Diff 组件
15
+ ```
16
+
17
+ 外部 Thread 支持「调整方向」:会话运行中发送新消息会取消当前 Turn、等待其完全终结(含文件快照结算),再将新输入作为独立新 Turn 启动;超时、目标过期或并发冲突一律失败,绝不自动启动非预期 Turn。
18
+
19
+ 这是完全内化于本项目的自研自建架构:
20
+ - **无上游 npm 依赖**:Launcher、Shim、Host Runtime 与 Renderer 扩展源码均维护在本项目(`src/main/native` 与 `src/native-ui`),不依赖任何上游 npm 包。
21
+ - **内核 100% 属于 Harness Mix**:由本项目的 `HostRuntime`、`ProtocolCore` 与原生适配器(`src/main/adapters`)直接管理会话生命周期、模型调用、多轮对话、交互审批与文件差异。
22
+ - **图标与资源自主集成**:Harness 品牌图标及各厂商模型图标直接从 `src/assets/icons` 提取并在本地编译时嵌入 Renderer 扩展。
23
+ - **单内核**:原生模式接入 Codex 原生 UI,会话内核只有 HostRuntime + ProtocolCore 一套。
24
+
25
+ ## 启动与配置
26
+
27
+ 需要 Node.js 22.19+(22 系列)或 Node.js 24、Rust 工具链(rustup,推荐 `x86_64-pc-windows-gnu` 主机以免依赖 Visual Studio)、官方 Codex Desktop,以及已配置的原生 Harness。
28
+
29
+ ```powershell
30
+ npm install
31
+ npm run check:native # 只检查安装,不重启桌面
32
+ npm start
33
+ ```
34
+
35
+ `check:native` 同时输出当前 Codex Desktop 的兼容状态:`verified` 表示该精确版本已完成重启桌面 E2E,`observed` 表示仅通过协议/构建/离屏 smoke,`unverified` 表示版本尚未进入证据矩阵。明确列入阻止名单的版本拒绝启动;设置 `HARNESS_MIX_STRICT_COMPATIBILITY=1` 时,只有 `verified` 版本可以启动。矩阵位于 `config/codex-desktop-compatibility.json`,不得把单元测试或离屏 smoke 记录成完整桌面验收。
36
+
37
+ **启动器会重启当前 Codex Desktop。** 保存正在进行的工作后再启动,包括当前 Codex 对话所在的桌面。不要同时运行旧版 `launch-codex.cjs` 后台进程。
38
+
39
+ ## 自动更新
40
+
41
+ 启动时自动检查更新,按安装形态走两条通道:
42
+
43
+ - **git 检出(开发形态)**:可快进且工作区干净时自动拉取、按需重装依赖并重建原生组件;`install` / `build` 失败自动回退到更新前的提交。分叉、本地领先或工作区有未提交改动时跳过并打印原因。
44
+ - **npm 全局安装**:从 registry 发现新版本后,先停止桌面,再用 `npm install -g harness-mix@<版本>` 应用(校验由 npm integrity 承担),失败自动重试并挂起至下次启动;连续两次启动未成功会自动回滚到上一版本。
45
+
46
+ 所有变更操作持有更新锁(`%APPDATA%\harness-mix\codexhost\update.lock`),状态记录在 `update-state.json`;应用成功后启动器自行重启加载新代码。任何更新失败(如离线、占用、权限)都不阻塞启动。
47
+
48
+ - `npm run update`:只检查并应用更新,不启动桌面(应用时会先停一次桌面)。
49
+ - `npm start -- --no-update` 或 `HARNESS_MIX_AUTO_UPDATE=0`:跳过本次更新检查。
50
+ - `HARNESS_MIX_UPDATE_REGISTRY`:自定义 registry;`HARNESS_MIX_UPDATE_PRERELEASE=1`:允许预发布版本。
51
+
52
+ ## Shim 与原生组件(Rust)
53
+
54
+ `harness-mix-shim.exe`、`harness-mix-appx.exe` 与 `harness-mix-secret.exe` 由 `src/main/native/rs` 下的 Rust workspace 构建(`npm run build:native`),零外部 crate 依赖:Shim 仅用 std 并给自身挂 kill-on-close Job Object,AppX 手写 COM 声明,Secret 手写 DPAPI/kernel32 声明;任意干净的 Rust 工具链即可构建。Shim 产物经 e2e:native 全链路验证,Job Object 级联清理由 `npm run test:native-job-object` 验证。
55
+
56
+ ## 进程监管
57
+
58
+ - Shim 启动即把自身加入 Job Object(`KILL_ON_JOB_CLOSE`):node 宿主、官方 app-server、各家 CLI 与 pwsh 终端全部随 shim 级联清理,强杀或崩溃也不例外。
59
+ - 宿主每 5s 写心跳(`%APPDATA%\harness-mix\codexhost\runtime\instance.json`);`uncaughtException` / `unhandledRejection` / `SIGBREAK` 会写入同目录 `crash-<ts>.json` 并尝试优雅收尾。
60
+ - 启动器在重启桌面前清扫本项目残留进程(仅匹配 shim 二进制路径与 `native-host.cjs` / `desktop-controller.mjs` 入口),并把上次异常退出时运行中的任务标记为 interrupted,重新发送即可继续。
61
+ - 适配器与终端统一经 `src/main/native/process-utils.js` 的 `terminateTree()`(Windows `taskkill /T /F`)终止进程树。
62
+
63
+ ## 安全存储与诊断
64
+
65
+ - `harness-mix-secret.exe`(DPAPI,当前用户范围)提供平台保险箱:`set / get / delete / list`,密文落盘 `<data>\secrets.dat`;JS 入口 `src/main/native/secure-store.js`,helper 缺失时明确报错、绝不降级为明文。当前没有默认凭据写入,供后续功能(私有 registry token、直连模型密钥等)使用。
66
+ - `host-traffic.jsonl` 与 `shim-invocations.log` 均为 5MB × 3 轮转;写盘前对 Bearer/API key 形态与敏感字段键做脱敏(`src/main/native/redact.js`)。
67
+ - `npm run diagnostics`:把版本、桌面兼容状态、更新/实例状态、脱敏日志尾与最近崩溃报告打包为 zip 输出到 `output/`,供问题反馈。
68
+
69
+ 默认 Host 数据目录为 `%APPDATA%\harness-mix\codexhost`,可用 `CODEXHOST_DATA_DIR` 覆盖。
70
+
71
+ 本项目仅保存以下非凭据配置到该目录的 `harness-mix-settings.json`,以适配 Windows AppX 环境传递:
72
+
73
+ - `HARNESS_MIX_DSH_ROOT`:可选 DSH 源码目录。
74
+ - `HARNESS_MIX_CODEBUDDY_EXECUTABLE`、`HARNESS_MIX_KIRO_EXECUTABLE`、`HARNESS_MIX_CURSOR_EXECUTABLE`:可选原生 CLI 路径。CodeBuddy 兼容旧的 `HARNESS_MIX_WORKBUDDY_EXECUTABLE`,新变量优先。接口与验收见 [原生 ACP 深度适配](native-acp.md)。
75
+ - `CODEXHOST_PI_COMMAND`、`CODEXHOST_CLAUDE_COMMAND`、`CODEXHOST_DEEPSEEK_HARNESS_COMMAND`、`CODEXHOST_ANTIGRAVITY_COMMAND`:可选原生命令路径。
76
+
77
+ 环境变量优先于该文件;删除文件中的对应字段即可恢复默认。账号认证使用各原生程序和上游配置机制,本项目不保存凭据。
78
+
79
+ DSH Web Remote 与协作 ACP 默认使用 `HARNESS_MIX_DSH_ROOT`(未设置时为
80
+ `E:\dsh\deepseek-harness`)中的原生源码;当前本机健康检查版本为
81
+ `0.1.5-rc.2`。原生 Host 包装脚本在未设置该变量时才回退到项目安装的
82
+ `@deepseek-ai/dsh@0.1.2-rc.1`。两条路径都不修改 DSH 源码或复制账号凭据。
83
+
84
+ ## 验证
85
+
86
+ ```powershell
87
+ npm run check
88
+ npm run smoke:native-ui
89
+ npm run e2e:native
90
+ npm run e2e:native:pi
91
+ npm run e2e:native:dsh
92
+ npm run e2e:native:claude
93
+ ```
94
+
95
+ `e2e:native` 启动真实 Shim 与 Host,检查官方协议透传和 Pi、Claude、DSH 的可用目录。三个具名 E2E 会发送简短真实请求,验证原生 `thread/start`、`turn/start`、流式结果和 `turn/completed`。报告写入 `output/native-host/`。它们不重启当前桌面;桌面完整重启后的 UI 仍需单独验收。