harness-mix 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (632) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +14 -0
  3. package/README.md +184 -0
  4. package/Start-Codex.cmd +5 -0
  5. package/config/codex-desktop-compatibility.json +23 -0
  6. package/docs/chatgpt-web-sidebar.md +27 -0
  7. package/docs/harness-management.md +41 -0
  8. package/docs/images/harness-mix-home.png +0 -0
  9. package/docs/images/harness-mix-session.png +0 -0
  10. package/docs/multi-agent-collaboration.md +89 -0
  11. package/docs/native-codex.md +72 -0
  12. package/licenses/codex-host-MIT.txt +21 -0
  13. package/output/native-build/desktop-controller.mjs +1460 -0
  14. package/output/native-build/harness-mix-appx.exe +0 -0
  15. package/output/native-build/harness-mix-shim.exe +0 -0
  16. package/output/native-build/renderer-extension.js +28884 -0
  17. package/package.json +142 -0
  18. package/scripts/acp-capabilities-probe.cjs +100 -0
  19. package/scripts/adapters-test.cjs +17 -0
  20. package/scripts/antigravity-adapter-test.cjs +174 -0
  21. package/scripts/architecture-test.cjs +62 -0
  22. package/scripts/build-native.cjs +46 -0
  23. package/scripts/catalog-test.cjs +25 -0
  24. package/scripts/cdp-eval.cjs +40 -0
  25. package/scripts/cdp-watch.cjs +36 -0
  26. package/scripts/check.cjs +23 -0
  27. package/scripts/codex-adapter-test.cjs +83 -0
  28. package/scripts/collaboration-recovery-test.cjs +91 -0
  29. package/scripts/collaboration-test.cjs +102 -0
  30. package/scripts/collaboration-ui-smoke.cjs +52 -0
  31. package/scripts/concurrency-layers-test.cjs +179 -0
  32. package/scripts/contracts-test.cjs +105 -0
  33. package/scripts/core-concurrency-test.cjs +103 -0
  34. package/scripts/core-replay-test.cjs +179 -0
  35. package/scripts/core-runtime-test.cjs +104 -0
  36. package/scripts/core-services-test.cjs +50 -0
  37. package/scripts/determinism-test.cjs +36 -0
  38. package/scripts/docs-command-test.cjs +49 -0
  39. package/scripts/dsh-adapter-test.cjs +87 -0
  40. package/scripts/dsh-native.cjs +9 -0
  41. package/scripts/dsh-native.cmd +2 -0
  42. package/scripts/e2e-codex.cjs +82 -0
  43. package/scripts/e2e-collaboration.cjs +58 -0
  44. package/scripts/e2e-core-files.cjs +58 -0
  45. package/scripts/e2e-core-fork.cjs +49 -0
  46. package/scripts/e2e-core-resume.cjs +49 -0
  47. package/scripts/e2e-delegate.cjs +38 -0
  48. package/scripts/e2e-dsh.cjs +23 -0
  49. package/scripts/e2e-native-commands.cjs +54 -0
  50. package/scripts/e2e-native-host.cjs +144 -0
  51. package/scripts/e2e-openclaw-image.cjs +59 -0
  52. package/scripts/e2e-openclaw.cjs +21 -0
  53. package/scripts/e2e-pi.cjs +23 -0
  54. package/scripts/e2e-shadow.cjs +52 -0
  55. package/scripts/fixture-capture.cjs +103 -0
  56. package/scripts/git-test.cjs +33 -0
  57. package/scripts/launch-codex.cjs +5 -0
  58. package/scripts/native-compatibility-test.cjs +42 -0
  59. package/scripts/native-config-test.cjs +25 -0
  60. package/scripts/native-file-change-test.cjs +94 -0
  61. package/scripts/native-host.cjs +8 -0
  62. package/scripts/native-images-test.cjs +56 -0
  63. package/scripts/native-protocol-test.cjs +233 -0
  64. package/scripts/native-rollback-test.cjs +46 -0
  65. package/scripts/native-sidebar-test.cjs +88 -0
  66. package/scripts/native-ui-smoke.cjs +94 -0
  67. package/scripts/native-updater-test.cjs +100 -0
  68. package/scripts/native-vendor-adapters-test.cjs +40 -0
  69. package/scripts/openclaw-acp-probe.cjs +39 -0
  70. package/scripts/openclaw-adapter-test.cjs +180 -0
  71. package/scripts/openclaw-models-probe.cjs +13 -0
  72. package/scripts/projector-test.cjs +144 -0
  73. package/scripts/sequence-test.cjs +57 -0
  74. package/scripts/shadow-test.cjs +154 -0
  75. package/scripts/support/legacy-projection.cjs +95 -0
  76. package/scripts/support/legacy-transcript.cjs +48 -0
  77. package/scripts/support/parity-observer.cjs +27 -0
  78. package/scripts/support/shadow-comparator.cjs +62 -0
  79. package/scripts/support/shadow.cjs +114 -0
  80. package/scripts/switch-harness-test.cjs +145 -0
  81. package/scripts/tool-concurrency-regression-test.cjs +118 -0
  82. package/scripts/transcript-test.cjs +24 -0
  83. package/scripts/turn-manager-test.cjs +91 -0
  84. package/scripts/workspace-test.cjs +98 -0
  85. package/src/assets/brand-harness-mix.png +0 -0
  86. package/src/assets/icons/activity-compact.svg +1 -0
  87. package/src/assets/icons/activity-edit.svg +1 -0
  88. package/src/assets/icons/activity-terminal.svg +1 -0
  89. package/src/assets/icons/antigravity-color.svg +1 -0
  90. package/src/assets/icons/claude-color.svg +1 -0
  91. package/src/assets/icons/codex-color.svg +1 -0
  92. package/src/assets/icons/codex-harness.svg +1 -0
  93. package/src/assets/icons/commands.svg +1 -0
  94. package/src/assets/icons/deepseek-color.svg +1 -0
  95. package/src/assets/icons/grok-color.svg +1 -0
  96. package/src/assets/icons/hermes-color.svg +1 -0
  97. package/src/assets/icons/home-chat.svg +1 -0
  98. package/src/assets/icons/home-folder.svg +1 -0
  99. package/src/assets/icons/model-astra.svg +1 -0
  100. package/src/assets/icons/model-claude.svg +1 -0
  101. package/src/assets/icons/model-deepseek.svg +1 -0
  102. package/src/assets/icons/model-gemini.svg +1 -0
  103. package/src/assets/icons/model-hunyuan.svg +1 -0
  104. package/src/assets/icons/model-kimi.svg +1 -0
  105. package/src/assets/icons/model-minimax.svg +1 -0
  106. package/src/assets/icons/model-openai.svg +1 -0
  107. package/src/assets/icons/model-qwen-color.svg +1 -0
  108. package/src/assets/icons/model-xiaomimimo.svg +1 -0
  109. package/src/assets/icons/model-zai.svg +1 -0
  110. package/src/assets/icons/omp-color.svg +1 -0
  111. package/src/assets/icons/openclaw-color.svg +1 -0
  112. package/src/assets/icons/opencode-color.svg +1 -0
  113. package/src/assets/icons/pi.svg +1 -0
  114. package/src/assets/icons/pinumber1_80899.svg +48 -0
  115. package/src/assets/icons/qoder-color.svg +1 -0
  116. package/src/assets/icons/thread-fork.svg +1 -0
  117. package/src/assets/icons/trae-color.svg +1 -0
  118. package/src/assets/icons/workbuddy-color.svg +1 -0
  119. package/src/assets/icons/zcode-color.svg +1 -0
  120. package/src/main/adapters/acp.js +171 -0
  121. package/src/main/adapters/antigravity.js +895 -0
  122. package/src/main/adapters/claude.js +399 -0
  123. package/src/main/adapters/codex-app-server.js +119 -0
  124. package/src/main/adapters/codex.js +547 -0
  125. package/src/main/adapters/dsh-web-host.js +207 -0
  126. package/src/main/adapters/dsh.js +415 -0
  127. package/src/main/adapters/grok.js +161 -0
  128. package/src/main/adapters/hermes.js +24 -0
  129. package/src/main/adapters/index.js +30 -0
  130. package/src/main/adapters/omp.js +12 -0
  131. package/src/main/adapters/openclaw-gateway.js +215 -0
  132. package/src/main/adapters/openclaw.js +337 -0
  133. package/src/main/adapters/opencode-server.js +72 -0
  134. package/src/main/adapters/opencode.js +166 -0
  135. package/src/main/adapters/pi-family.js +315 -0
  136. package/src/main/adapters/pi-usage.js +24 -0
  137. package/src/main/adapters/pi.js +10 -0
  138. package/src/main/adapters/qoder.js +35 -0
  139. package/src/main/adapters/trae.js +19 -0
  140. package/src/main/adapters/workbuddy.js +67 -0
  141. package/src/main/adapters/zcode.js +38 -0
  142. package/src/main/harness-adapter/contract-test.js +53 -0
  143. package/src/main/harness-adapter/contract.js +34 -0
  144. package/src/main/harness-adapter/event-normalizer.js +233 -0
  145. package/src/main/harness-adapter/fixture-recorder.js +56 -0
  146. package/src/main/harness-adapter/index.js +6 -0
  147. package/src/main/harness-adapter/manifest.js +44 -0
  148. package/src/main/host/collaboration-mcp.cjs +35 -0
  149. package/src/main/host/collaboration-pi.mjs +17 -0
  150. package/src/main/host/collaboration-tools.js +16 -0
  151. package/src/main/host/collaboration-worktree.js +82 -0
  152. package/src/main/host/collaboration.js +238 -0
  153. package/src/main/host/core-session.js +81 -0
  154. package/src/main/host/handoff.js +46 -0
  155. package/src/main/host/history-import.js +55 -0
  156. package/src/main/host/jsonl.js +115 -0
  157. package/src/main/host/native-history.js +74 -0
  158. package/src/main/host/runtime.js +927 -0
  159. package/src/main/host/session-history.js +63 -0
  160. package/src/main/host/store.js +42 -0
  161. package/src/main/native/compatibility.js +55 -0
  162. package/src/main/native/config.js +49 -0
  163. package/src/main/native/host.js +108 -0
  164. package/src/main/native/icons.js +101 -0
  165. package/src/main/native/input.js +43 -0
  166. package/src/main/native/launcher.js +100 -0
  167. package/src/main/native/protocol.js +552 -0
  168. package/src/main/native/rs/Cargo.lock +11 -0
  169. package/src/main/native/rs/Cargo.toml +9 -0
  170. package/src/main/native/rs/crates/appx/Cargo.toml +13 -0
  171. package/src/main/native/rs/crates/appx/src/main.rs +309 -0
  172. package/src/main/native/rs/crates/shim/Cargo.toml +10 -0
  173. package/src/main/native/rs/crates/shim/src/main.rs +207 -0
  174. package/src/main/native/thread-list.js +38 -0
  175. package/src/main/native/updater.js +102 -0
  176. package/src/main/native/usage.js +29 -0
  177. package/src/main/protocol-core/capability-manager.js +16 -0
  178. package/src/main/protocol-core/event-router.js +32 -0
  179. package/src/main/protocol-core/file-change-projector.js +45 -0
  180. package/src/main/protocol-core/index.js +8 -0
  181. package/src/main/protocol-core/interaction-router.js +30 -0
  182. package/src/main/protocol-core/projector.js +238 -0
  183. package/src/main/protocol-core/protocol-core.js +132 -0
  184. package/src/main/protocol-core/sequence-validator.js +44 -0
  185. package/src/main/protocol-core/thread-manager.js +50 -0
  186. package/src/main/protocol-core/turn-manager.js +63 -0
  187. package/src/main/shared-contracts/capability.js +35 -0
  188. package/src/main/shared-contracts/event.js +55 -0
  189. package/src/main/shared-contracts/ids.js +12 -0
  190. package/src/main/shared-contracts/index.js +11 -0
  191. package/src/main/shared-contracts/interaction.js +37 -0
  192. package/src/main/shared-contracts/item.js +50 -0
  193. package/src/main/shared-contracts/native-ref.js +24 -0
  194. package/src/main/shared-contracts/thread.js +36 -0
  195. package/src/main/shared-contracts/turn.js +54 -0
  196. package/src/main/workspace/core-review.js +53 -0
  197. package/src/main/workspace/diff.js +27 -0
  198. package/src/main/workspace/file-changes.js +21 -0
  199. package/src/main/workspace/files.js +65 -0
  200. package/src/main/workspace/git.js +73 -0
  201. package/src/main/workspace/ipc.js +50 -0
  202. package/src/main/workspace/review-controller.js +102 -0
  203. package/src/main/workspace/review.js +83 -0
  204. package/src/main/workspace/terminal.js +36 -0
  205. package/src/native-ui/LICENSE +21 -0
  206. package/src/native-ui/README.md +12 -0
  207. package/src/native-ui/desktop-control/dist/cdp-client.d.ts +53 -0
  208. package/src/native-ui/desktop-control/dist/cdp-client.d.ts.map +1 -0
  209. package/src/native-ui/desktop-control/dist/cdp-client.js +258 -0
  210. package/src/native-ui/desktop-control/dist/cdp-client.js.map +1 -0
  211. package/src/native-ui/desktop-control/dist/contract-audit.d.ts +73 -0
  212. package/src/native-ui/desktop-control/dist/contract-audit.d.ts.map +1 -0
  213. package/src/native-ui/desktop-control/dist/contract-audit.js +152 -0
  214. package/src/native-ui/desktop-control/dist/contract-audit.js.map +1 -0
  215. package/src/native-ui/desktop-control/dist/controller-attachment-server.d.ts +10 -0
  216. package/src/native-ui/desktop-control/dist/controller-attachment-server.d.ts.map +1 -0
  217. package/src/native-ui/desktop-control/dist/controller-attachment-server.js +77 -0
  218. package/src/native-ui/desktop-control/dist/controller-attachment-server.js.map +1 -0
  219. package/src/native-ui/desktop-control/dist/index.d.ts +21 -0
  220. package/src/native-ui/desktop-control/dist/index.d.ts.map +1 -0
  221. package/src/native-ui/desktop-control/dist/index.js +14 -0
  222. package/src/native-ui/desktop-control/dist/index.js.map +1 -0
  223. package/src/native-ui/desktop-control/dist/main-process-title-policy.d.ts +24 -0
  224. package/src/native-ui/desktop-control/dist/main-process-title-policy.d.ts.map +1 -0
  225. package/src/native-ui/desktop-control/dist/main-process-title-policy.js +246 -0
  226. package/src/native-ui/desktop-control/dist/main-process-title-policy.js.map +1 -0
  227. package/src/native-ui/desktop-control/dist/production-controller.d.ts +32 -0
  228. package/src/native-ui/desktop-control/dist/production-controller.d.ts.map +1 -0
  229. package/src/native-ui/desktop-control/dist/production-controller.js +291 -0
  230. package/src/native-ui/desktop-control/dist/production-controller.js.map +1 -0
  231. package/src/native-ui/desktop-control/dist/release-main.d.ts +2 -0
  232. package/src/native-ui/desktop-control/dist/release-main.d.ts.map +1 -0
  233. package/src/native-ui/desktop-control/dist/release-main.js +17 -0
  234. package/src/native-ui/desktop-control/dist/release-main.js.map +1 -0
  235. package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.d.ts +49 -0
  236. package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.d.ts.map +1 -0
  237. package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.js +214 -0
  238. package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.js.map +1 -0
  239. package/src/native-ui/desktop-control/dist/renderer-control-session.d.ts +79 -0
  240. package/src/native-ui/desktop-control/dist/renderer-control-session.d.ts.map +1 -0
  241. package/src/native-ui/desktop-control/dist/renderer-control-session.js +366 -0
  242. package/src/native-ui/desktop-control/dist/renderer-control-session.js.map +1 -0
  243. package/src/native-ui/desktop-control/dist/renderer-dom.d.ts +24 -0
  244. package/src/native-ui/desktop-control/dist/renderer-dom.d.ts.map +1 -0
  245. package/src/native-ui/desktop-control/dist/renderer-dom.js +110 -0
  246. package/src/native-ui/desktop-control/dist/renderer-dom.js.map +1 -0
  247. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-policy.d.ts +19 -0
  248. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-policy.d.ts.map +1 -0
  249. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-policy.js +162 -0
  250. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-policy.js.map +1 -0
  251. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.d.ts +38 -0
  252. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.d.ts.map +1 -0
  253. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.js +633 -0
  254. package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.js.map +1 -0
  255. package/src/native-ui/desktop-control/dist/tsconfig.tsbuildinfo +1 -0
  256. package/src/native-ui/desktop-control/package.json +22 -0
  257. package/src/native-ui/desktop-control/scripts/build-release.mjs +94 -0
  258. package/src/native-ui/desktop-control/src/cdp-client.ts +347 -0
  259. package/src/native-ui/desktop-control/src/contract-audit.ts +291 -0
  260. package/src/native-ui/desktop-control/src/controller-attachment-server.ts +93 -0
  261. package/src/native-ui/desktop-control/src/index.ts +91 -0
  262. package/src/native-ui/desktop-control/src/main-process-title-policy.ts +334 -0
  263. package/src/native-ui/desktop-control/src/production-controller.ts +344 -0
  264. package/src/native-ui/desktop-control/src/release-main.ts +18 -0
  265. package/src/native-ui/desktop-control/src/renderer-cdp-control-session.ts +358 -0
  266. package/src/native-ui/desktop-control/src/renderer-control-session.ts +595 -0
  267. package/src/native-ui/desktop-control/src/renderer-dom.ts +144 -0
  268. package/src/native-ui/desktop-control/src/renderer-draft-prewarm-policy.ts +209 -0
  269. package/src/native-ui/desktop-control/src/renderer-draft-prewarm-runtime.ts +746 -0
  270. package/src/native-ui/desktop-control/test/cdp-client.test.ts +157 -0
  271. package/src/native-ui/desktop-control/test/contract-audit.test.ts +56 -0
  272. package/src/native-ui/desktop-control/test/controller-attachment-server.test.ts +98 -0
  273. package/src/native-ui/desktop-control/test/index.test.ts +11 -0
  274. package/src/native-ui/desktop-control/test/main-process-title-policy.test.ts +166 -0
  275. package/src/native-ui/desktop-control/test/production-controller.test.ts +389 -0
  276. package/src/native-ui/desktop-control/test/renderer-cdp-control-session.test.ts +205 -0
  277. package/src/native-ui/desktop-control/test/renderer-control-session.test.ts +451 -0
  278. package/src/native-ui/desktop-control/test/renderer-dom.test.ts +62 -0
  279. package/src/native-ui/desktop-control/test/renderer-draft-prewarm-policy.test.ts +998 -0
  280. package/src/native-ui/desktop-control/tsconfig.json +12 -0
  281. package/src/native-ui/renderer-extension/dist/types/agent-group-preference.d.ts +39 -0
  282. package/src/native-ui/renderer-extension/dist/types/agent-group-preference.d.ts.map +1 -0
  283. package/src/native-ui/renderer-extension/dist/types/agent-selection-state.d.ts +83 -0
  284. package/src/native-ui/renderer-extension/dist/types/agent-selection-state.d.ts.map +1 -0
  285. package/src/native-ui/renderer-extension/dist/types/audit-entry.d.ts +2 -0
  286. package/src/native-ui/renderer-extension/dist/types/audit-entry.d.ts.map +1 -0
  287. package/src/native-ui/renderer-extension/dist/types/codex-locale-adapter.d.ts +23 -0
  288. package/src/native-ui/renderer-extension/dist/types/codex-locale-adapter.d.ts.map +1 -0
  289. package/src/native-ui/renderer-extension/dist/types/collaboration-icon.d.ts +2 -0
  290. package/src/native-ui/renderer-extension/dist/types/collaboration-icon.d.ts.map +1 -0
  291. package/src/native-ui/renderer-extension/dist/types/contract-audit.d.ts +37 -0
  292. package/src/native-ui/renderer-extension/dist/types/contract-audit.d.ts.map +1 -0
  293. package/src/native-ui/renderer-extension/dist/types/harness-mix-icons.d.ts +3 -0
  294. package/src/native-ui/renderer-extension/dist/types/harness-mix-icons.d.ts.map +1 -0
  295. package/src/native-ui/renderer-extension/dist/types/harness-mix-settings.d.ts +3 -0
  296. package/src/native-ui/renderer-extension/dist/types/harness-mix-settings.d.ts.map +1 -0
  297. package/src/native-ui/renderer-extension/dist/types/index.d.ts +49 -0
  298. package/src/native-ui/renderer-extension/dist/types/index.d.ts.map +1 -0
  299. package/src/native-ui/renderer-extension/dist/types/install-renderer-binding.d.ts +4 -0
  300. package/src/native-ui/renderer-extension/dist/types/install-renderer-binding.d.ts.map +1 -0
  301. package/src/native-ui/renderer-extension/dist/types/probe-entry.d.ts +2 -0
  302. package/src/native-ui/renderer-extension/dist/types/probe-entry.d.ts.map +1 -0
  303. package/src/native-ui/renderer-extension/dist/types/production-entry.d.ts +9 -0
  304. package/src/native-ui/renderer-extension/dist/types/production-entry.d.ts.map +1 -0
  305. package/src/native-ui/renderer-extension/dist/types/renderer-agent-icon.d.ts +4 -0
  306. package/src/native-ui/renderer-extension/dist/types/renderer-agent-icon.d.ts.map +1 -0
  307. package/src/native-ui/renderer-extension/dist/types/renderer-agent-picker.d.ts +62 -0
  308. package/src/native-ui/renderer-extension/dist/types/renderer-agent-picker.d.ts.map +1 -0
  309. package/src/native-ui/renderer-extension/dist/types/renderer-binding-probe.d.ts +70 -0
  310. package/src/native-ui/renderer-extension/dist/types/renderer-binding-probe.d.ts.map +1 -0
  311. package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-options.d.ts +34 -0
  312. package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-options.d.ts.map +1 -0
  313. package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-state.d.ts +19 -0
  314. package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-state.d.ts.map +1 -0
  315. package/src/native-ui/renderer-extension/dist/types/renderer-composer-dom.d.ts +82 -0
  316. package/src/native-ui/renderer-extension/dist/types/renderer-composer-dom.d.ts.map +1 -0
  317. package/src/native-ui/renderer-extension/dist/types/renderer-credits-control.d.ts +21 -0
  318. package/src/native-ui/renderer-extension/dist/types/renderer-credits-control.d.ts.map +1 -0
  319. package/src/native-ui/renderer-extension/dist/types/renderer-external-steering.d.ts +7 -0
  320. package/src/native-ui/renderer-extension/dist/types/renderer-external-steering.d.ts.map +1 -0
  321. package/src/native-ui/renderer-extension/dist/types/renderer-fork-control.d.ts +34 -0
  322. package/src/native-ui/renderer-extension/dist/types/renderer-fork-control.d.ts.map +1 -0
  323. package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-claim.d.ts +4 -0
  324. package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-claim.d.ts.map +1 -0
  325. package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-control.d.ts +15 -0
  326. package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-control.d.ts.map +1 -0
  327. package/src/native-ui/renderer-extension/dist/types/renderer-harness-localization.d.ts +25 -0
  328. package/src/native-ui/renderer-extension/dist/types/renderer-harness-localization.d.ts.map +1 -0
  329. package/src/native-ui/renderer-extension/dist/types/renderer-harness-mentions.d.ts +23 -0
  330. package/src/native-ui/renderer-extension/dist/types/renderer-harness-mentions.d.ts.map +1 -0
  331. package/src/native-ui/renderer-extension/dist/types/renderer-model-client.d.ts +94 -0
  332. package/src/native-ui/renderer-extension/dist/types/renderer-model-client.d.ts.map +1 -0
  333. package/src/native-ui/renderer-extension/dist/types/renderer-model-picker-positioning.d.ts +22 -0
  334. package/src/native-ui/renderer-extension/dist/types/renderer-model-picker-positioning.d.ts.map +1 -0
  335. package/src/native-ui/renderer-extension/dist/types/renderer-model-picker.d.ts +54 -0
  336. package/src/native-ui/renderer-extension/dist/types/renderer-model-picker.d.ts.map +1 -0
  337. package/src/native-ui/renderer-extension/dist/types/renderer-new-thread-preference.d.ts +18 -0
  338. package/src/native-ui/renderer-extension/dist/types/renderer-new-thread-preference.d.ts.map +1 -0
  339. package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-picker.d.ts +42 -0
  340. package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-picker.d.ts.map +1 -0
  341. package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-preference.d.ts +9 -0
  342. package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-preference.d.ts.map +1 -0
  343. package/src/native-ui/renderer-extension/dist/types/renderer-request-sender.d.ts +9 -0
  344. package/src/native-ui/renderer-extension/dist/types/renderer-request-sender.d.ts.map +1 -0
  345. package/src/native-ui/renderer-extension/dist/types/renderer-session-import-client.d.ts +12 -0
  346. package/src/native-ui/renderer-extension/dist/types/renderer-session-import-client.d.ts.map +1 -0
  347. package/src/native-ui/renderer-extension/dist/types/renderer-settings-lifecycle.d.ts +18 -0
  348. package/src/native-ui/renderer-extension/dist/types/renderer-settings-lifecycle.d.ts.map +1 -0
  349. package/src/native-ui/renderer-extension/dist/types/renderer-sidebar-agent-icons.d.ts +45 -0
  350. package/src/native-ui/renderer-extension/dist/types/renderer-sidebar-agent-icons.d.ts.map +1 -0
  351. package/src/native-ui/renderer-extension/dist/types/renderer-transcript-dom.d.ts +23 -0
  352. package/src/native-ui/renderer-extension/dist/types/renderer-transcript-dom.d.ts.map +1 -0
  353. package/src/native-ui/renderer-extension/dist/types/renderer-trigger-chip-style.d.ts +3 -0
  354. package/src/native-ui/renderer-extension/dist/types/renderer-trigger-chip-style.d.ts.map +1 -0
  355. package/src/native-ui/renderer-extension/dist/types/renderer-usage-control.d.ts +72 -0
  356. package/src/native-ui/renderer-extension/dist/types/renderer-usage-control.d.ts.map +1 -0
  357. package/src/native-ui/renderer-extension/dist/types/settings/accounts-list.d.ts +24 -0
  358. package/src/native-ui/renderer-extension/dist/types/settings/accounts-list.d.ts.map +1 -0
  359. package/src/native-ui/renderer-extension/dist/types/settings/accounts-page.d.ts +18 -0
  360. package/src/native-ui/renderer-extension/dist/types/settings/accounts-page.d.ts.map +1 -0
  361. package/src/native-ui/renderer-extension/dist/types/settings/accounts-usage.d.ts +27 -0
  362. package/src/native-ui/renderer-extension/dist/types/settings/accounts-usage.d.ts.map +1 -0
  363. package/src/native-ui/renderer-extension/dist/types/settings/connections-page.d.ts +42 -0
  364. package/src/native-ui/renderer-extension/dist/types/settings/connections-page.d.ts.map +1 -0
  365. package/src/native-ui/renderer-extension/dist/types/settings/core.d.ts +38 -0
  366. package/src/native-ui/renderer-extension/dist/types/settings/core.d.ts.map +1 -0
  367. package/src/native-ui/renderer-extension/dist/types/settings/harness-accounts.d.ts +14 -0
  368. package/src/native-ui/renderer-extension/dist/types/settings/harness-accounts.d.ts.map +1 -0
  369. package/src/native-ui/renderer-extension/dist/types/settings/icons.d.ts +6 -0
  370. package/src/native-ui/renderer-extension/dist/types/settings/icons.d.ts.map +1 -0
  371. package/src/native-ui/renderer-extension/dist/types/settings/localization.d.ts +231 -0
  372. package/src/native-ui/renderer-extension/dist/types/settings/localization.d.ts.map +1 -0
  373. package/src/native-ui/renderer-extension/dist/types/settings/pages.d.ts +22 -0
  374. package/src/native-ui/renderer-extension/dist/types/settings/pages.d.ts.map +1 -0
  375. package/src/native-ui/renderer-extension/dist/types/settings/release-notes.d.ts +4 -0
  376. package/src/native-ui/renderer-extension/dist/types/settings/release-notes.d.ts.map +1 -0
  377. package/src/native-ui/renderer-extension/dist/types/settings/session-import-list-controls.d.ts +12 -0
  378. package/src/native-ui/renderer-extension/dist/types/settings/session-import-list-controls.d.ts.map +1 -0
  379. package/src/native-ui/renderer-extension/dist/types/settings/session-import-page.d.ts +8 -0
  380. package/src/native-ui/renderer-extension/dist/types/settings/session-import-page.d.ts.map +1 -0
  381. package/src/native-ui/renderer-extension/dist/types/settings/shell.d.ts +24 -0
  382. package/src/native-ui/renderer-extension/dist/types/settings/shell.d.ts.map +1 -0
  383. package/src/native-ui/renderer-extension/dist/types/settings/trigger.d.ts +45 -0
  384. package/src/native-ui/renderer-extension/dist/types/settings/trigger.d.ts.map +1 -0
  385. package/src/native-ui/renderer-extension/dist/types/settings/update-request.d.ts +6 -0
  386. package/src/native-ui/renderer-extension/dist/types/settings/update-request.d.ts.map +1 -0
  387. package/src/native-ui/renderer-extension/dist/types/tsconfig.tsbuildinfo +1 -0
  388. package/src/native-ui/renderer-extension/dist/types/versioned-renderer-adapter.d.ts +143 -0
  389. package/src/native-ui/renderer-extension/dist/types/versioned-renderer-adapter.d.ts.map +1 -0
  390. package/src/native-ui/renderer-extension/package.json +22 -0
  391. package/src/native-ui/renderer-extension/src/agent-group-preference.ts +174 -0
  392. package/src/native-ui/renderer-extension/src/agent-selection-state.ts +610 -0
  393. package/src/native-ui/renderer-extension/src/assets/README.md +43 -0
  394. package/src/native-ui/renderer-extension/src/assets/antigravity-agent.svg +1 -0
  395. package/src/native-ui/renderer-extension/src/assets/claude-agent.svg +3 -0
  396. package/src/native-ui/renderer-extension/src/assets/codex-agent.png +0 -0
  397. package/src/native-ui/renderer-extension/src/assets/codex-logo-bright.png +0 -0
  398. package/src/native-ui/renderer-extension/src/assets/codex-logo-transparent.png +0 -0
  399. package/src/native-ui/renderer-extension/src/assets/codex-logo.png +0 -0
  400. package/src/native-ui/renderer-extension/src/assets/codexhost-icon.png +0 -0
  401. package/src/native-ui/renderer-extension/src/assets/codexhost-logo-transparent.png +0 -0
  402. package/src/native-ui/renderer-extension/src/assets/codexhost-logo.png +0 -0
  403. package/src/native-ui/renderer-extension/src/assets/codexhost-readme.svg +8 -0
  404. package/src/native-ui/renderer-extension/src/assets/grok-agent.png +0 -0
  405. package/src/native-ui/renderer-extension/src/assets/kiro-agent.svg +11 -0
  406. package/src/native-ui/renderer-extension/src/assets/omp-agent.svg +14 -0
  407. package/src/native-ui/renderer-extension/src/assets/opencode-agent.png +0 -0
  408. package/src/native-ui/renderer-extension/src/assets/pi-agent.svg +4 -0
  409. package/src/native-ui/renderer-extension/src/assets.d.ts +26 -0
  410. package/src/native-ui/renderer-extension/src/audit-entry.ts +5 -0
  411. package/src/native-ui/renderer-extension/src/codex-locale-adapter.ts +321 -0
  412. package/src/native-ui/renderer-extension/src/collaboration-icon.ts +13 -0
  413. package/src/native-ui/renderer-extension/src/contract-audit.ts +102 -0
  414. package/src/native-ui/renderer-extension/src/harness-mix-icons.ts +24 -0
  415. package/src/native-ui/renderer-extension/src/harness-mix-settings.ts +80 -0
  416. package/src/native-ui/renderer-extension/src/index.ts +266 -0
  417. package/src/native-ui/renderer-extension/src/install-renderer-binding.ts +30 -0
  418. package/src/native-ui/renderer-extension/src/probe-entry.ts +4 -0
  419. package/src/native-ui/renderer-extension/src/production-entry.ts +23 -0
  420. package/src/native-ui/renderer-extension/src/renderer-agent-icon.ts +145 -0
  421. package/src/native-ui/renderer-extension/src/renderer-agent-picker.ts +813 -0
  422. package/src/native-ui/renderer-extension/src/renderer-binding-probe.ts +2936 -0
  423. package/src/native-ui/renderer-extension/src/renderer-codex-account-options.ts +281 -0
  424. package/src/native-ui/renderer-extension/src/renderer-codex-account-state.ts +53 -0
  425. package/src/native-ui/renderer-extension/src/renderer-composer-dom.ts +782 -0
  426. package/src/native-ui/renderer-extension/src/renderer-credits-control.ts +500 -0
  427. package/src/native-ui/renderer-extension/src/renderer-external-steering.ts +339 -0
  428. package/src/native-ui/renderer-extension/src/renderer-fork-control.ts +273 -0
  429. package/src/native-ui/renderer-extension/src/renderer-harness-command-claim.ts +64 -0
  430. package/src/native-ui/renderer-extension/src/renderer-harness-command-control.ts +417 -0
  431. package/src/native-ui/renderer-extension/src/renderer-harness-localization.ts +144 -0
  432. package/src/native-ui/renderer-extension/src/renderer-harness-mentions.ts +213 -0
  433. package/src/native-ui/renderer-extension/src/renderer-model-client.ts +567 -0
  434. package/src/native-ui/renderer-extension/src/renderer-model-picker-positioning.ts +65 -0
  435. package/src/native-ui/renderer-extension/src/renderer-model-picker.ts +640 -0
  436. package/src/native-ui/renderer-extension/src/renderer-new-thread-preference.ts +175 -0
  437. package/src/native-ui/renderer-extension/src/renderer-permission-mode-picker.ts +413 -0
  438. package/src/native-ui/renderer-extension/src/renderer-permission-mode-preference.ts +49 -0
  439. package/src/native-ui/renderer-extension/src/renderer-request-sender.ts +43 -0
  440. package/src/native-ui/renderer-extension/src/renderer-session-import-client.ts +68 -0
  441. package/src/native-ui/renderer-extension/src/renderer-settings-lifecycle.ts +239 -0
  442. package/src/native-ui/renderer-extension/src/renderer-sidebar-agent-icons.ts +456 -0
  443. package/src/native-ui/renderer-extension/src/renderer-transcript-dom.ts +47 -0
  444. package/src/native-ui/renderer-extension/src/renderer-trigger-chip-style.ts +52 -0
  445. package/src/native-ui/renderer-extension/src/renderer-usage-control.ts +602 -0
  446. package/src/native-ui/renderer-extension/src/settings/accounts-list.ts +236 -0
  447. package/src/native-ui/renderer-extension/src/settings/accounts-page.ts +585 -0
  448. package/src/native-ui/renderer-extension/src/settings/accounts-quota-interactive.prototype.html +1418 -0
  449. package/src/native-ui/renderer-extension/src/settings/accounts-usage.ts +221 -0
  450. package/src/native-ui/renderer-extension/src/settings/accounts.css +607 -0
  451. package/src/native-ui/renderer-extension/src/settings/connections-page.ts +1354 -0
  452. package/src/native-ui/renderer-extension/src/settings/core.ts +158 -0
  453. package/src/native-ui/renderer-extension/src/settings/harness-accounts.ts +134 -0
  454. package/src/native-ui/renderer-extension/src/settings/icons.ts +141 -0
  455. package/src/native-ui/renderer-extension/src/settings/localization.ts +752 -0
  456. package/src/native-ui/renderer-extension/src/settings/pages.ts +615 -0
  457. package/src/native-ui/renderer-extension/src/settings/release-notes.ts +222 -0
  458. package/src/native-ui/renderer-extension/src/settings/session-import-list-controls.ts +128 -0
  459. package/src/native-ui/renderer-extension/src/settings/session-import-page.ts +461 -0
  460. package/src/native-ui/renderer-extension/src/settings/shell.css +2149 -0
  461. package/src/native-ui/renderer-extension/src/settings/shell.ts +329 -0
  462. package/src/native-ui/renderer-extension/src/settings/trigger.ts +323 -0
  463. package/src/native-ui/renderer-extension/src/settings/update-notes.preview.html +491 -0
  464. package/src/native-ui/renderer-extension/src/settings/update-request.ts +49 -0
  465. package/src/native-ui/renderer-extension/src/settings/windows-update.preview.html +2135 -0
  466. package/src/native-ui/renderer-extension/src/versioned-renderer-adapter.ts +1278 -0
  467. package/src/native-ui/renderer-extension/test/agent-selection-state.test.ts +611 -0
  468. package/src/native-ui/renderer-extension/test/codex-locale-adapter.test.ts +152 -0
  469. package/src/native-ui/renderer-extension/test/contract-audit.test.ts +71 -0
  470. package/src/native-ui/renderer-extension/test/index.test.ts +9 -0
  471. package/src/native-ui/renderer-extension/test/renderer-agent-icon.test.ts +98 -0
  472. package/src/native-ui/renderer-extension/test/renderer-agent-picker.test.ts +226 -0
  473. package/src/native-ui/renderer-extension/test/renderer-binding-probe-host-catalog.test.ts +728 -0
  474. package/src/native-ui/renderer-extension/test/renderer-binding-probe.test.ts +1290 -0
  475. package/src/native-ui/renderer-extension/test/renderer-codex-account-state.test.ts +65 -0
  476. package/src/native-ui/renderer-extension/test/renderer-composer-permissions.test.ts +75 -0
  477. package/src/native-ui/renderer-extension/test/renderer-credits-control.test.ts +70 -0
  478. package/src/native-ui/renderer-extension/test/renderer-external-steering-rpc.test.ts +184 -0
  479. package/src/native-ui/renderer-extension/test/renderer-external-steering.test.ts +279 -0
  480. package/src/native-ui/renderer-extension/test/renderer-fork-control.test.ts +363 -0
  481. package/src/native-ui/renderer-extension/test/renderer-harness-command-claim.test.ts +167 -0
  482. package/src/native-ui/renderer-extension/test/renderer-harness-command-control.test.ts +54 -0
  483. package/src/native-ui/renderer-extension/test/renderer-model-client.test.ts +708 -0
  484. package/src/native-ui/renderer-extension/test/renderer-model-picker.test.ts +302 -0
  485. package/src/native-ui/renderer-extension/test/renderer-native-thread-ownership.test.ts +84 -0
  486. package/src/native-ui/renderer-extension/test/renderer-new-thread-preference.test.ts +81 -0
  487. package/src/native-ui/renderer-extension/test/renderer-permission-mode-picker.test.ts +269 -0
  488. package/src/native-ui/renderer-extension/test/renderer-permission-mode-preference.test.ts +48 -0
  489. package/src/native-ui/renderer-extension/test/renderer-settings-lifecycle.test.ts +156 -0
  490. package/src/native-ui/renderer-extension/test/renderer-sidebar-agent-icons.test.ts +575 -0
  491. package/src/native-ui/renderer-extension/test/renderer-unsupported-methods.test.ts +167 -0
  492. package/src/native-ui/renderer-extension/test/renderer-usage-control.test.ts +96 -0
  493. package/src/native-ui/renderer-extension/test/settings/accounts-usage.test.ts +208 -0
  494. package/src/native-ui/renderer-extension/test/settings/core.test.ts +145 -0
  495. package/src/native-ui/renderer-extension/test/settings/harness-settings.test.ts +88 -0
  496. package/src/native-ui/renderer-extension/test/settings/localization.test.ts +80 -0
  497. package/src/native-ui/renderer-extension/test/settings/pages.test.ts +2000 -0
  498. package/src/native-ui/renderer-extension/test/settings/release-notes.test.ts +163 -0
  499. package/src/native-ui/renderer-extension/test/settings/shell.test.ts +74 -0
  500. package/src/native-ui/renderer-extension/test/settings/trigger.test.ts +270 -0
  501. package/src/native-ui/renderer-extension/test/settings/update-request.test.ts +48 -0
  502. package/src/native-ui/renderer-extension/test/versioned-renderer-adapter.test.ts +682 -0
  503. package/src/native-ui/renderer-extension/tsconfig.json +15 -0
  504. package/src/native-ui/shared-contracts/dist/codex-accounts.d.ts +246 -0
  505. package/src/native-ui/shared-contracts/dist/codex-accounts.d.ts.map +1 -0
  506. package/src/native-ui/shared-contracts/dist/codex-accounts.js +99 -0
  507. package/src/native-ui/shared-contracts/dist/codex-accounts.js.map +1 -0
  508. package/src/native-ui/shared-contracts/dist/deepseek-modern-sessions.d.ts +37 -0
  509. package/src/native-ui/shared-contracts/dist/deepseek-modern-sessions.d.ts.map +1 -0
  510. package/src/native-ui/shared-contracts/dist/deepseek-modern-sessions.js +36 -0
  511. package/src/native-ui/shared-contracts/dist/deepseek-modern-sessions.js.map +1 -0
  512. package/src/native-ui/shared-contracts/dist/errors.d.ts +17 -0
  513. package/src/native-ui/shared-contracts/dist/errors.d.ts.map +1 -0
  514. package/src/native-ui/shared-contracts/dist/errors.js +14 -0
  515. package/src/native-ui/shared-contracts/dist/errors.js.map +1 -0
  516. package/src/native-ui/shared-contracts/dist/external-thread-fork.d.ts +11 -0
  517. package/src/native-ui/shared-contracts/dist/external-thread-fork.d.ts.map +1 -0
  518. package/src/native-ui/shared-contracts/dist/external-thread-fork.js +14 -0
  519. package/src/native-ui/shared-contracts/dist/external-thread-fork.js.map +1 -0
  520. package/src/native-ui/shared-contracts/dist/harness-accounts.d.ts +64 -0
  521. package/src/native-ui/shared-contracts/dist/harness-accounts.d.ts.map +1 -0
  522. package/src/native-ui/shared-contracts/dist/harness-accounts.js +24 -0
  523. package/src/native-ui/shared-contracts/dist/harness-accounts.js.map +1 -0
  524. package/src/native-ui/shared-contracts/dist/harness-commands.d.ts +46 -0
  525. package/src/native-ui/shared-contracts/dist/harness-commands.d.ts.map +1 -0
  526. package/src/native-ui/shared-contracts/dist/harness-commands.js +61 -0
  527. package/src/native-ui/shared-contracts/dist/harness-commands.js.map +1 -0
  528. package/src/native-ui/shared-contracts/dist/harness-models.d.ts +278 -0
  529. package/src/native-ui/shared-contracts/dist/harness-models.d.ts.map +1 -0
  530. package/src/native-ui/shared-contracts/dist/harness-models.js +317 -0
  531. package/src/native-ui/shared-contracts/dist/harness-models.js.map +1 -0
  532. package/src/native-ui/shared-contracts/dist/harness-permission-modes.d.ts +30 -0
  533. package/src/native-ui/shared-contracts/dist/harness-permission-modes.d.ts.map +1 -0
  534. package/src/native-ui/shared-contracts/dist/harness-permission-modes.js +57 -0
  535. package/src/native-ui/shared-contracts/dist/harness-permission-modes.js.map +1 -0
  536. package/src/native-ui/shared-contracts/dist/harness-plugins.d.ts +56 -0
  537. package/src/native-ui/shared-contracts/dist/harness-plugins.d.ts.map +1 -0
  538. package/src/native-ui/shared-contracts/dist/harness-plugins.js +75 -0
  539. package/src/native-ui/shared-contracts/dist/harness-plugins.js.map +1 -0
  540. package/src/native-ui/shared-contracts/dist/harness-route.d.ts +16 -0
  541. package/src/native-ui/shared-contracts/dist/harness-route.d.ts.map +1 -0
  542. package/src/native-ui/shared-contracts/dist/harness-route.js +42 -0
  543. package/src/native-ui/shared-contracts/dist/harness-route.js.map +1 -0
  544. package/src/native-ui/shared-contracts/dist/harness-session-import.d.ts +54 -0
  545. package/src/native-ui/shared-contracts/dist/harness-session-import.d.ts.map +1 -0
  546. package/src/native-ui/shared-contracts/dist/harness-session-import.js +72 -0
  547. package/src/native-ui/shared-contracts/dist/harness-session-import.js.map +1 -0
  548. package/src/native-ui/shared-contracts/dist/ids.d.ts +12 -0
  549. package/src/native-ui/shared-contracts/dist/ids.d.ts.map +1 -0
  550. package/src/native-ui/shared-contracts/dist/ids.js +10 -0
  551. package/src/native-ui/shared-contracts/dist/ids.js.map +1 -0
  552. package/src/native-ui/shared-contracts/dist/index.d.ts +47 -0
  553. package/src/native-ui/shared-contracts/dist/index.d.ts.map +1 -0
  554. package/src/native-ui/shared-contracts/dist/index.js +29 -0
  555. package/src/native-ui/shared-contracts/dist/index.js.map +1 -0
  556. package/src/native-ui/shared-contracts/dist/json-rpc.d.ts +84 -0
  557. package/src/native-ui/shared-contracts/dist/json-rpc.d.ts.map +1 -0
  558. package/src/native-ui/shared-contracts/dist/json-rpc.js +65 -0
  559. package/src/native-ui/shared-contracts/dist/json-rpc.js.map +1 -0
  560. package/src/native-ui/shared-contracts/dist/json-value.d.ts +13 -0
  561. package/src/native-ui/shared-contracts/dist/json-value.d.ts.map +1 -0
  562. package/src/native-ui/shared-contracts/dist/json-value.js +60 -0
  563. package/src/native-ui/shared-contracts/dist/json-value.js.map +1 -0
  564. package/src/native-ui/shared-contracts/dist/native-refs.d.ts +43 -0
  565. package/src/native-ui/shared-contracts/dist/native-refs.d.ts.map +1 -0
  566. package/src/native-ui/shared-contracts/dist/native-refs.js +35 -0
  567. package/src/native-ui/shared-contracts/dist/native-refs.js.map +1 -0
  568. package/src/native-ui/shared-contracts/dist/reasoning-transcript.d.ts +7 -0
  569. package/src/native-ui/shared-contracts/dist/reasoning-transcript.d.ts.map +1 -0
  570. package/src/native-ui/shared-contracts/dist/reasoning-transcript.js +7 -0
  571. package/src/native-ui/shared-contracts/dist/reasoning-transcript.js.map +1 -0
  572. package/src/native-ui/shared-contracts/dist/thread-delegate.d.ts +22 -0
  573. package/src/native-ui/shared-contracts/dist/thread-delegate.d.ts.map +1 -0
  574. package/src/native-ui/shared-contracts/dist/thread-delegate.js +30 -0
  575. package/src/native-ui/shared-contracts/dist/thread-delegate.js.map +1 -0
  576. package/src/native-ui/shared-contracts/dist/thread-harness-switch.d.ts +16 -0
  577. package/src/native-ui/shared-contracts/dist/thread-harness-switch.d.ts.map +1 -0
  578. package/src/native-ui/shared-contracts/dist/thread-harness-switch.js +19 -0
  579. package/src/native-ui/shared-contracts/dist/thread-harness-switch.js.map +1 -0
  580. package/src/native-ui/shared-contracts/dist/thread-usage.d.ts +106 -0
  581. package/src/native-ui/shared-contracts/dist/thread-usage.d.ts.map +1 -0
  582. package/src/native-ui/shared-contracts/dist/thread-usage.js +103 -0
  583. package/src/native-ui/shared-contracts/dist/thread-usage.js.map +1 -0
  584. package/src/native-ui/shared-contracts/dist/tsconfig.tsbuildinfo +1 -0
  585. package/src/native-ui/shared-contracts/dist/updates.d.ts +128 -0
  586. package/src/native-ui/shared-contracts/dist/updates.d.ts.map +1 -0
  587. package/src/native-ui/shared-contracts/dist/updates.js +58 -0
  588. package/src/native-ui/shared-contracts/dist/updates.js.map +1 -0
  589. package/src/native-ui/shared-contracts/dist/version.d.ts +2 -0
  590. package/src/native-ui/shared-contracts/dist/version.d.ts.map +1 -0
  591. package/src/native-ui/shared-contracts/dist/version.js +2 -0
  592. package/src/native-ui/shared-contracts/dist/version.js.map +1 -0
  593. package/src/native-ui/shared-contracts/package.json +25 -0
  594. package/src/native-ui/shared-contracts/src/codex-accounts.ts +140 -0
  595. package/src/native-ui/shared-contracts/src/deepseek-modern-sessions.ts +67 -0
  596. package/src/native-ui/shared-contracts/src/errors.ts +25 -0
  597. package/src/native-ui/shared-contracts/src/external-thread-fork.ts +20 -0
  598. package/src/native-ui/shared-contracts/src/harness-accounts.ts +29 -0
  599. package/src/native-ui/shared-contracts/src/harness-commands.ts +81 -0
  600. package/src/native-ui/shared-contracts/src/harness-models.ts +401 -0
  601. package/src/native-ui/shared-contracts/src/harness-permission-modes.ts +73 -0
  602. package/src/native-ui/shared-contracts/src/harness-plugins.ts +96 -0
  603. package/src/native-ui/shared-contracts/src/harness-route.ts +47 -0
  604. package/src/native-ui/shared-contracts/src/harness-session-import.ts +90 -0
  605. package/src/native-ui/shared-contracts/src/ids.ts +20 -0
  606. package/src/native-ui/shared-contracts/src/index.ts +320 -0
  607. package/src/native-ui/shared-contracts/src/json-rpc.ts +80 -0
  608. package/src/native-ui/shared-contracts/src/json-value.ts +78 -0
  609. package/src/native-ui/shared-contracts/src/native-refs.ts +58 -0
  610. package/src/native-ui/shared-contracts/src/reasoning-transcript.ts +6 -0
  611. package/src/native-ui/shared-contracts/src/thread-delegate.ts +40 -0
  612. package/src/native-ui/shared-contracts/src/thread-harness-switch.ts +25 -0
  613. package/src/native-ui/shared-contracts/src/thread-usage.ts +126 -0
  614. package/src/native-ui/shared-contracts/src/updates.ts +78 -0
  615. package/src/native-ui/shared-contracts/src/version.ts +1 -0
  616. package/src/native-ui/shared-contracts/test/browser-bundle.test.ts +36 -0
  617. package/src/native-ui/shared-contracts/test/deepseek-modern-sessions.test.ts +120 -0
  618. package/src/native-ui/shared-contracts/test/errors.test.ts +72 -0
  619. package/src/native-ui/shared-contracts/test/harness-commands.test.ts +64 -0
  620. package/src/native-ui/shared-contracts/test/harness-models.test.ts +390 -0
  621. package/src/native-ui/shared-contracts/test/harness-permission-modes.test.ts +134 -0
  622. package/src/native-ui/shared-contracts/test/harness-plugins.test.ts +113 -0
  623. package/src/native-ui/shared-contracts/test/harness-session-import.test.ts +117 -0
  624. package/src/native-ui/shared-contracts/test/ids.test.ts +69 -0
  625. package/src/native-ui/shared-contracts/test/index.test.ts +80 -0
  626. package/src/native-ui/shared-contracts/test/json-rpc.test.ts +177 -0
  627. package/src/native-ui/shared-contracts/test/json-value.test.ts +62 -0
  628. package/src/native-ui/shared-contracts/test/native-refs.test.ts +95 -0
  629. package/src/native-ui/shared-contracts/test/thread-usage.test.ts +115 -0
  630. package/src/native-ui/shared-contracts/test/updates.test.ts +120 -0
  631. package/src/native-ui/shared-contracts/tsconfig.json +10 -0
  632. package/src/tsconfig.base.json +19 -0
@@ -0,0 +1,752 @@
1
+ import type { DefaultRendererSettingsPageId } from "./pages.js";
2
+
3
+ export const RENDERER_SETTINGS_LOCALES = ["en", "zh-CN"] as const;
4
+ export type RendererSettingsLocale = (typeof RENDERER_SETTINGS_LOCALES)[number];
5
+
6
+ export const RENDERER_SETTINGS_LANGUAGE_SELECTIONS = ["automatic", "en", "zh-CN", "other"] as const;
7
+ export type RendererSettingsLanguageSelection =
8
+ (typeof RENDERER_SETTINGS_LANGUAGE_SELECTIONS)[number];
9
+ export type RendererSettingsWritableLanguageSelection = Exclude<
10
+ RendererSettingsLanguageSelection,
11
+ "other"
12
+ >;
13
+
14
+ export interface RendererSettingsLanguageControl {
15
+ readonly available: boolean;
16
+ readonly selection: RendererSettingsLanguageSelection;
17
+ setSelection(selection: RendererSettingsWritableLanguageSelection): Promise<void>;
18
+ }
19
+
20
+ export interface RendererSettingsMessages {
21
+ readonly locale: RendererSettingsLocale;
22
+ readonly title: string;
23
+ readonly close: string;
24
+ readonly starOnGitHub: string;
25
+ readonly sectionsLabel: string;
26
+ readonly generalSection: string;
27
+ readonly otherSection: string;
28
+ readonly pageUnavailable: string;
29
+ readonly inDevelopment: string;
30
+ readonly notAvailable: string;
31
+ readonly runtimeCapabilityNotInstalled: string;
32
+ readonly sessionImportHarness: string;
33
+ readonly sessionImportDescription: string;
34
+ readonly sessionImportAvailabilityNote: string;
35
+ readonly sessionImportRefresh: string;
36
+ readonly sessionImportRefreshing: string;
37
+ readonly sessionImportUnavailable: string;
38
+ readonly sessionImportEmpty: string;
39
+ readonly sessionImportSearch: string;
40
+ readonly sessionImportSearchPlaceholder: string;
41
+ readonly sessionImportNoMatches: string;
42
+ readonly sessionImportPageSize: string;
43
+ readonly sessionImportPrevious: string;
44
+ readonly sessionImportNext: string;
45
+ readonly sessionImportPageSummary: string;
46
+ readonly sessionImportLoadFailed: string;
47
+ readonly sessionImportFailed: string;
48
+ readonly sessionImportUntitled: string;
49
+ readonly sessionImportUpdatedAt: string;
50
+ readonly sessionImportSessionId: string;
51
+ readonly sessionImportRunning: string;
52
+ readonly sessionImportRunningUnknown: string;
53
+ readonly sessionImportRunningHint: string;
54
+ readonly sessionImportAction: string;
55
+ readonly sessionImportImporting: string;
56
+ readonly sessionImportImported: string;
57
+ readonly sessionImportOpenFailed: string;
58
+ readonly sessionImportCopyProjectPath: string;
59
+ readonly sessionImportPathCopied: string;
60
+ readonly sessionImportPathCopyFailed: string;
61
+ readonly sessionImportRetryOpen: string;
62
+ readonly sessionImportRetrying: string;
63
+ readonly connectionsDescription: string;
64
+ readonly accountsDescription: string;
65
+ readonly accountAdd: string;
66
+ readonly accountColumnAccount: string;
67
+ readonly accountTaskHint: string;
68
+ readonly accountConnected: string;
69
+ readonly accountDefaultBadge: string;
70
+ readonly accountColumnUsage: string;
71
+ readonly accountColumnActions: string;
72
+ readonly accountSearch: string;
73
+ readonly accountEmpty: string;
74
+ readonly accountNoMatches: string;
75
+ readonly accountLoginHelp: string;
76
+ readonly harnessAccountsTitle: string;
77
+ readonly accountCreditsRemaining: string;
78
+ readonly accountCreditsLoading: string;
79
+ readonly accountCreditsEmpty: string;
80
+ readonly accountCreditsFailed: string;
81
+ readonly accountCreditsRetry: string;
82
+ readonly accountCreditsRefresh: string;
83
+ readonly accountResetCreditsUnknown: string;
84
+ readonly accountCreateFailed: string;
85
+ readonly accountDelete: string;
86
+ readonly accountDeleteConfirm: string;
87
+ readonly accountDeleting: string;
88
+ readonly accountDeleteFailed: string;
89
+ readonly accountActive: string;
90
+ readonly accountUse: string;
91
+ readonly accountSignIn: string;
92
+ readonly accountSigningIn: string;
93
+ readonly accountDeviceCodePrerequisite: string;
94
+ readonly accountVerificationDescription: string;
95
+ readonly accountCopyCode: string;
96
+ readonly accountCopied: string;
97
+ readonly accountLoginCancel: string;
98
+ readonly accountLoginSucceeded: string;
99
+ readonly accountLoginFailed: string;
100
+ readonly accountLoadFailed: string;
101
+ readonly accountCreditsUsed: string;
102
+ readonly accountCreditsReset: string;
103
+ readonly accountCreditsPeriodWeekly: string;
104
+ readonly accountCreditsPeriodMonthly: string;
105
+ readonly accountCreditsPeriodFiveHour: string;
106
+ readonly accountCreditsPeriodSevenDay: string;
107
+ readonly accountCreditsPeriodUnknown: string;
108
+ readonly accountCreditsBuild: string;
109
+ readonly accountResetCredits: string;
110
+ readonly accountResetCreditsUse: string;
111
+ readonly accountResetCreditsConfirm: string;
112
+ readonly accountResetCreditsUsing: string;
113
+ readonly accountResetCreditsFailed: string;
114
+ readonly accountResetCreditsNothingToReset: string;
115
+ readonly accountResetCreditsNoCredit: string;
116
+ readonly accountResetCreditsAlreadyRedeemed: string;
117
+ readonly accountResetCreditsSucceeded: string;
118
+ readonly accountResetCreditsDetails: string;
119
+ readonly accountResetCreditsCardExpiry: string;
120
+ readonly connectionAdapter: string;
121
+ readonly connectionHosts: string;
122
+ readonly connectionLocalHost: string;
123
+ readonly connectionRemoteHost: string;
124
+ readonly connectionActiveHost: string;
125
+ readonly connectionReason: string;
126
+ readonly connectionRefresh: string;
127
+ readonly connectionRefreshing: string;
128
+ readonly connectionViewError: string;
129
+ readonly connectionCopyDetails: string;
130
+ readonly connectionCopied: string;
131
+ readonly connectionCopyFailed: string;
132
+ readonly connectionErrorCode: string;
133
+ readonly connectionErrorMessage: string;
134
+ readonly connectionRetryable: string;
135
+ readonly connectionFailureStage: string;
136
+ readonly connectionDuration: string;
137
+ readonly connectionDiagnostic: string;
138
+ readonly connectionNoRuntime: string;
139
+ readonly connectionStatusReady: string;
140
+ readonly connectionStatusChecking: string;
141
+ readonly connectionStatusNotInstalled: string;
142
+ readonly connectionStatusUnavailable: string;
143
+ readonly connectionStatusError: string;
144
+ readonly connectionStatusInstalling: string;
145
+ readonly connectionStatusUnsupported: string;
146
+ readonly connectionComponent: string;
147
+ readonly connectionStatus: string;
148
+ readonly connectionHostsScrollLeft: string;
149
+ readonly connectionHostsScrollRight: string;
150
+ readonly connectionOpenInstallation: string;
151
+ readonly connectionOpenHarnessWeb: string;
152
+ readonly connectionInstall: string;
153
+ readonly connectionInstallDescription: string;
154
+ readonly connectionErrorTitle: string;
155
+ readonly connectionErrorLog: string;
156
+ readonly connectionOpenIssue: string;
157
+ readonly connectionIssueDescription: string;
158
+ readonly connectionReadyDescription: string;
159
+ readonly connectionUnavailableDescription: string;
160
+ readonly modelConfigurationTitle: string;
161
+ readonly modelConfigurationDescription: string;
162
+ readonly modelSelectLabel: string;
163
+ readonly thinkingSelectLabel: string;
164
+ readonly thinkingOptionDefault: string;
165
+ readonly saveModelPreference: string;
166
+ readonly resetModelPreference: string;
167
+ readonly preferenceSaved: string;
168
+ readonly preferenceReset: string;
169
+ readonly loadingModels: string;
170
+ readonly noModelsAvailable: string;
171
+ readonly oneClickInstall: string;
172
+ readonly oneClickInstalling: string;
173
+ readonly oneClickInstallSuccess: string;
174
+ readonly oneClickInstallFailed: string;
175
+ readonly installCommandLabel: string;
176
+ readonly copyInstallCommand: string;
177
+ readonly installCommandCopied: string;
178
+ readonly officialDownload: string;
179
+ readonly refreshDetection: string;
180
+ readonly connectionGroupMoreLabel: string;
181
+ readonly connectionGroupMoreHintTitle: string;
182
+ readonly connectionGroupMoreHintBody: string;
183
+ readonly connectionGroupMoveToMore: string;
184
+ readonly connectionGroupMoveToMain: string;
185
+ readonly connectionGroupDragHandle: string;
186
+ readonly connectionGroupReset: string;
187
+ readonly pickerMoreAgentsLabel: string;
188
+ readonly pickerManageLink: string;
189
+ readonly pickerHideUnusedAgentsCta: string;
190
+ readonly enabled: string;
191
+ readonly disabled: string;
192
+ readonly openSettings: string;
193
+ readonly settingsButtonTitle: string;
194
+ readonly settingsUnavailableTitle: string;
195
+ readonly updateCurrentVersion: string;
196
+ readonly updateInstallation: string;
197
+ readonly updateInstallationNpm: string;
198
+ readonly updateInstallationWindowsInstaller: string;
199
+ readonly updateInstallationMacOsDmg: string;
200
+ readonly updateInstallationUnknown: string;
201
+ readonly updateLatestVersion: string;
202
+ readonly updateUpToDate: string;
203
+ readonly updateAvailable: string;
204
+ readonly updateWindowsManualRequired: string;
205
+ readonly updateAndRestart: string;
206
+ readonly updateChecking: string;
207
+ readonly updateDownloading: string;
208
+ readonly updatePreparing: string;
209
+ readonly updateWaitingForExit: string;
210
+ readonly updateInstalling: string;
211
+ readonly updateInstallingNpm: string;
212
+ readonly updateRequestTimeout: string;
213
+ readonly updateRestarting: string;
214
+ readonly updateSucceeded: string;
215
+ readonly updateFailed: string;
216
+ readonly updateRetry: string;
217
+ readonly updateManualNpmDescription: string;
218
+ readonly updateWindowsNpmDescription: string;
219
+ readonly updateWindowsInstallerDescription: string;
220
+ readonly updateManualTitle: string;
221
+ readonly updateManualFallbackDescription: string;
222
+ readonly updateCopyCommand: string;
223
+ readonly updateCommandCopied: string;
224
+ readonly updateCopyFailed: string;
225
+ readonly updateDownloadFromReleases: string;
226
+ readonly updateDownloadWindowsInstaller: string;
227
+ readonly aboutTagline: string;
228
+ readonly aboutParagraphs: readonly string[];
229
+ readonly aboutOpenSource: string;
230
+ readonly aboutStarCallout: string;
231
+ readonly aboutRepository: string;
232
+ readonly pageLabels: Readonly<Record<DefaultRendererSettingsPageId, string>>;
233
+ }
234
+
235
+ const ENGLISH_MESSAGES: RendererSettingsMessages = Object.freeze({
236
+ locale: "en",
237
+ title: "Settings",
238
+ close: "Close settings",
239
+ starOnGitHub: "Give us a Star~",
240
+ sectionsLabel: "Settings sections",
241
+ generalSection: "General",
242
+ otherSection: "Other",
243
+ pageUnavailable: "Page unavailable",
244
+ inDevelopment: "In development",
245
+ notAvailable: "Not available",
246
+ runtimeCapabilityNotInstalled: "This runtime capability is not installed yet.",
247
+ sessionImportHarness: "Harness",
248
+ sessionImportDescription:
249
+ "Sessions keep their original project path. If a folder is not in the Codex sidebar, add it as a project first. Original history remains managed by the Harness.",
250
+ sessionImportAvailabilityNote:
251
+ "Available Harnesses come from the local Host. If activity is unknown, close the session in its native client before importing to avoid concurrent writes.",
252
+ sessionImportRefresh: "Refresh",
253
+ sessionImportRefreshing: "Loading local sessions...",
254
+ sessionImportUnavailable:
255
+ "Session import is unavailable for this local Harness or its current protocol. Update the Host/plugin or choose another Harness.",
256
+ sessionImportEmpty: "No local sessions are available to import.",
257
+ sessionImportSearch: "Search",
258
+ sessionImportSearchPlaceholder: "Search titles, session IDs or project paths",
259
+ sessionImportNoMatches: "No sessions match your search.",
260
+ sessionImportPageSize: "Per page",
261
+ sessionImportPrevious: "Previous",
262
+ sessionImportNext: "Next",
263
+ sessionImportPageSummary: "Page {page} of {pages} · {total} sessions",
264
+ sessionImportLoadFailed:
265
+ "Local sessions could not be loaded. Check directory access or duplicate session IDs, then retry.",
266
+ sessionImportFailed: "The session could not be imported.",
267
+ sessionImportUntitled: "Untitled session",
268
+ sessionImportUpdatedAt: "Updated",
269
+ sessionImportSessionId: "Session ID",
270
+ sessionImportRunning: "Running",
271
+ sessionImportRunningUnknown: "Activity unknown",
272
+ sessionImportRunningHint:
273
+ "Close this session in its native client before importing, then refresh.",
274
+ sessionImportAction: "Import and open",
275
+ sessionImportImporting: "Importing...",
276
+ sessionImportImported: "Session imported",
277
+ sessionImportOpenFailed:
278
+ "The Codex sidebar has not shown it yet. Make sure the folder below is added as a project, then try opening it again.",
279
+ sessionImportCopyProjectPath: "Copy project path",
280
+ sessionImportPathCopied: "Copied",
281
+ sessionImportPathCopyFailed: "Copy failed",
282
+ sessionImportRetryOpen: "Try opening again",
283
+ sessionImportRetrying: "Opening...",
284
+ connectionsDescription:
285
+ "View runtime status by Host. Select an item to inspect details or complete its setup.",
286
+ accountsDescription: "Choose the default account for new Codex tasks and check account limits.",
287
+ accountTaskHint:
288
+ "Existing tasks keep the account they were created with. Multi-account is currently available for Codex.",
289
+ accountConnected: "Connected accounts",
290
+ accountDefaultBadge: "Default",
291
+ accountAdd: "Add Account",
292
+ accountColumnAccount: "Account",
293
+ accountColumnUsage: "Limits",
294
+ accountColumnActions: "Actions",
295
+ accountSearch: "Search accounts…",
296
+ accountEmpty: "No accounts yet. Add an account to get started.",
297
+ accountNoMatches: "No matching accounts.",
298
+ accountLoginHelp: "Before signing in",
299
+ harnessAccountsTitle: "Other detected accounts",
300
+ accountCreditsRemaining: "Remaining",
301
+ accountCreditsLoading: "Loading limits…",
302
+ accountCreditsEmpty: "No limit data available",
303
+ accountCreditsFailed: "Could not load limits",
304
+ accountCreditsRetry: "Retry",
305
+ accountCreditsRefresh: "Refresh limits",
306
+ accountResetCreditsUnknown: "No reset card data available",
307
+ accountCreateFailed: "Could not add the Account.",
308
+ accountDelete: "Delete",
309
+ accountDeleteConfirm: "Delete this Account and its local data? This cannot be undone.",
310
+ accountDeleting: "Deleting Account...",
311
+ accountDeleteFailed: "Could not delete the Account.",
312
+ accountActive: "Default",
313
+ accountUse: "Set as default",
314
+ accountSignIn: "Sign in",
315
+ accountSigningIn: "Starting device sign-in...",
316
+ accountDeviceCodePrerequisite:
317
+ "Before signing in, enable “Enable device code authorization for Codex” in Web Settings → Account security & sign-in.",
318
+ accountVerificationDescription: "Open the verification page and enter this one-time code:",
319
+ accountCopyCode: "Copy code",
320
+ accountCopied: "Copied",
321
+ accountLoginCancel: "Cancel sign-in",
322
+ accountLoginSucceeded: "Sign-in completed.",
323
+ accountLoginFailed: "Sign-in failed.",
324
+ accountLoadFailed: "Could not load Codex Accounts.",
325
+ accountCreditsUsed: "Used",
326
+ accountCreditsReset: "reset",
327
+ accountCreditsPeriodWeekly: "Weekly limit",
328
+ accountCreditsPeriodMonthly: "Monthly limit",
329
+ accountCreditsPeriodFiveHour: "5-hour",
330
+ accountCreditsPeriodSevenDay: "7-day",
331
+ accountCreditsPeriodUnknown: "Limit",
332
+ accountCreditsBuild: "Build",
333
+ accountResetCredits: "Reset cards",
334
+ accountResetCreditsUse: "Use reset",
335
+ accountResetCreditsConfirm:
336
+ "This uses 1 reset card and resets both the 5-hour and 7-day limits. This cannot be undone.",
337
+ accountResetCreditsUsing: "Using reset card...",
338
+ accountResetCreditsFailed: "Could not use the reset card.",
339
+ accountResetCreditsNothingToReset: "Usage does not need a reset right now.",
340
+ accountResetCreditsNoCredit: "No reset cards are available.",
341
+ accountResetCreditsAlreadyRedeemed: "That reset card was already used.",
342
+ accountResetCreditsSucceeded: "Limits were reset.",
343
+ accountResetCreditsDetails: "Reset card details",
344
+ accountResetCreditsCardExpiry: "Card {index} · expires {time}",
345
+ connectionAdapter: "Renderer adapter",
346
+ connectionHosts: "Hosts",
347
+ connectionLocalHost: "Local",
348
+ connectionRemoteHost: "Remote Host",
349
+ connectionActiveHost: "Current",
350
+ connectionReason: "Reason",
351
+ connectionRefresh: "Run connection diagnostics",
352
+ connectionRefreshing: "Running diagnostics...",
353
+ connectionViewError: "View error",
354
+ connectionCopyDetails: "Copy diagnostics",
355
+ connectionCopied: "Copied",
356
+ connectionCopyFailed: "Copy failed",
357
+ connectionErrorCode: "Error code",
358
+ connectionErrorMessage: "Error message",
359
+ connectionRetryable: "Retryable",
360
+ connectionFailureStage: "Failure stage",
361
+ connectionDuration: "Duration",
362
+ connectionDiagnostic: "Diagnostic",
363
+ connectionNoRuntime: "The renderer request bridge is not available yet.",
364
+ connectionStatusReady: "Ready",
365
+ connectionStatusChecking: "Checking",
366
+ connectionStatusNotInstalled: "Not installed",
367
+ connectionStatusUnavailable: "Unavailable",
368
+ connectionStatusError: "Error",
369
+ connectionStatusInstalling: "Installing",
370
+ connectionStatusUnsupported: "Unsupported",
371
+ connectionComponent: "Component",
372
+ connectionStatus: "Status",
373
+ connectionHostsScrollLeft: "Show previous Hosts",
374
+ connectionHostsScrollRight: "Show more Hosts",
375
+ connectionOpenInstallation: "Open official installation page",
376
+ connectionOpenHarnessWeb: "Open DeepSeek Harness Web",
377
+ connectionInstall: "Install",
378
+ connectionInstallDescription:
379
+ "This Harness was not detected. Follow its official installation guide, then return here and run the check again.",
380
+ connectionErrorTitle: "Connection check failed",
381
+ connectionErrorLog: "Error log",
382
+ connectionOpenIssue: "Open GitHub Issue",
383
+ connectionIssueDescription:
384
+ "Copy the error log and include the Host and reproduction steps when reporting the issue.",
385
+ connectionReadyDescription: "This component is available on the selected Host.",
386
+ connectionUnavailableDescription:
387
+ "This component is not currently available on the selected Host.",
388
+ modelConfigurationTitle: "Model & Thinking Configuration",
389
+ modelConfigurationDescription:
390
+ "Configure the default model and reasoning effort for new threads with this Harness.",
391
+ modelSelectLabel: "Default Model",
392
+ thinkingSelectLabel: "Reasoning Effort",
393
+ thinkingOptionDefault: "Default (Harness configured)",
394
+ saveModelPreference: "Save as Default for New Threads",
395
+ resetModelPreference: "Reset to Harness Default",
396
+ preferenceSaved: "Saved as default configuration for new threads!",
397
+ preferenceReset: "Reset to default configuration.",
398
+ loadingModels: "Detecting available models...",
399
+ noModelsAvailable: "No models detected for this Harness.",
400
+ oneClickInstall: "One-Click Install",
401
+ oneClickInstalling: "Installing Harness in background...",
402
+ oneClickInstallSuccess: "Installed successfully! Status refreshed.",
403
+ oneClickInstallFailed: "Installation failed. Please try running the command manually.",
404
+ installCommandLabel: "Install Command",
405
+ copyInstallCommand: "Copy Command",
406
+ installCommandCopied: "Command Copied",
407
+ officialDownload: "Official Website / Download",
408
+ refreshDetection: "Refresh & Detect",
409
+ connectionGroupMoreLabel: "More",
410
+ connectionGroupMoreHintTitle: "Drag Agents here to collapse the ones you rarely use",
411
+ connectionGroupMoreHintBody: "They fold into the picker's “More Agents” group",
412
+ connectionGroupMoveToMore: "Move to More",
413
+ connectionGroupMoveToMain: "Move back to Main",
414
+ connectionGroupDragHandle: "Drag to reorder",
415
+ connectionGroupReset: "Reset order",
416
+ pickerMoreAgentsLabel: "More agents",
417
+ pickerManageLink: "Manage",
418
+ pickerHideUnusedAgentsCta: "Hide unused agents",
419
+ enabled: "Enabled",
420
+ disabled: "Disabled",
421
+ openSettings: "Open codexhost settings",
422
+ settingsButtonTitle: "codexhost settings",
423
+ settingsUnavailableTitle: "codexhost settings unavailable",
424
+ updateCurrentVersion: "Current version",
425
+ updateInstallation: "Installation method",
426
+ updateInstallationNpm: "npm",
427
+ updateInstallationWindowsInstaller: "Windows installer",
428
+ updateInstallationMacOsDmg: "macOS DMG",
429
+ updateInstallationUnknown: "Unknown",
430
+ updateLatestVersion: "Latest version",
431
+ updateUpToDate: "You are up to date.",
432
+ updateAvailable: "A new version is available.",
433
+ updateWindowsManualRequired:
434
+ "Automatic updates are unavailable on Windows. Update manually below.",
435
+ updateAndRestart: "Update",
436
+ updateChecking: "Checking for updates...",
437
+ updateDownloading: "Downloading update...",
438
+ updatePreparing: "Preparing update...",
439
+ updateWaitingForExit: "Waiting for the application to close...",
440
+ updateInstalling: "Installing update...",
441
+ updateInstallingNpm: "Installing update through npm...",
442
+ updateRequestTimeout: "The update service did not respond. Try again.",
443
+ updateRestarting: "Restarting to finish the update...",
444
+ updateSucceeded: "Update installed successfully.",
445
+ updateFailed: "Update failed.",
446
+ updateRetry: "Retry",
447
+ updateManualNpmDescription: "To update manually, quit codexhost and run this command:",
448
+ updateWindowsNpmDescription:
449
+ "Automatic updates are unavailable on Windows. Quit codexhost and run this command in a terminal:",
450
+ updateWindowsInstallerDescription:
451
+ "Automatic updates are unavailable on Windows. Download and run the installer for this system.",
452
+ updateManualTitle: "Manual update",
453
+ updateManualFallbackDescription:
454
+ "The automatic update did not complete. Run this command in a terminal instead, then quit Codex and relaunch it with codexhost.",
455
+ updateCopyCommand: "Copy",
456
+ updateCommandCopied: "Copied",
457
+ updateCopyFailed: "Copy failed",
458
+ updateDownloadFromReleases: "Download from GitHub Releases",
459
+ updateDownloadWindowsInstaller: "Download Windows installer",
460
+ aboutTagline: "Run Pi and other Harnesses in Codex Desktop",
461
+ aboutParagraphs: Object.freeze([
462
+ "We believe Codex Desktop offers the best desktop development experience available today.",
463
+ "But Codex is not the only excellent Agent Harness. Some developers prefer Claude Code or Pi Agent.",
464
+ "codexhost lets you choose the Agent that actually executes tasks inside Codex Desktop, while preserving the native Codex experience and enabling them to collaborate.",
465
+ ]),
466
+ aboutOpenSource: "codexhost is an open-source project. The source code is available at:",
467
+ aboutStarCallout: "⭐ If this project helps you, please give us a Star! ⭐",
468
+ aboutRepository: "Open-source repository",
469
+ pageLabels: Object.freeze({
470
+ connections: "Connections",
471
+ accounts: "Accounts",
472
+ "session-import": "Session Import",
473
+ updates: "Updates",
474
+ about: "About",
475
+ }),
476
+ });
477
+
478
+ const CHINESE_MESSAGES: RendererSettingsMessages = Object.freeze({
479
+ locale: "zh-CN",
480
+ title: "设置",
481
+ close: "关闭设置",
482
+ starOnGitHub: "点个 Star~",
483
+ sectionsLabel: "设置分类",
484
+ generalSection: "通用",
485
+ otherSection: "其他",
486
+ pageUnavailable: "页面不可用",
487
+ inDevelopment: "开发中",
488
+ notAvailable: "暂不可用",
489
+ runtimeCapabilityNotInstalled: "运行时尚未安装该项能力,因此暂不可用。",
490
+ sessionImportHarness: "Harness",
491
+ sessionImportDescription:
492
+ "会话将保留原始项目路径;若该文件夹尚未出现在 Codex 侧栏,请先将其添加为项目。原始历史仍由 Harness 管理。",
493
+ sessionImportAvailabilityNote:
494
+ "可选 Harness 来自本地 Host。运行状态未知时,请先在原生客户端关闭该会话再导入,避免同时写入。",
495
+ sessionImportRefresh: "刷新",
496
+ sessionImportRefreshing: "正在读取本地会话……",
497
+ sessionImportUnavailable:
498
+ "本地 Harness 或当前协议暂不支持会话导入,请更新 Host/插件或选择其他 Harness。",
499
+ sessionImportEmpty: "没有可导入的本地会话。",
500
+ sessionImportSearch: "搜索",
501
+ sessionImportSearchPlaceholder: "搜索标题、会话 ID 或项目路径",
502
+ sessionImportNoMatches: "没有匹配的会话。",
503
+ sessionImportPageSize: "每页",
504
+ sessionImportPrevious: "上一页",
505
+ sessionImportNext: "下一页",
506
+ sessionImportPageSummary: "第 {page} / {pages} 页 · 共 {total} 条",
507
+ sessionImportLoadFailed: "无法读取本地会话,请检查目录访问权限或重复的会话 ID 后重试。",
508
+ sessionImportFailed: "无法导入该会话。",
509
+ sessionImportUntitled: "未命名会话",
510
+ sessionImportUpdatedAt: "更新时间",
511
+ sessionImportSessionId: "会话 ID",
512
+ sessionImportRunning: "运行中",
513
+ sessionImportRunningUnknown: "运行状态未知",
514
+ sessionImportRunningHint: "请先在原生客户端关闭该会话,再刷新并导入。",
515
+ sessionImportAction: "导入并打开",
516
+ sessionImportImporting: "正在导入……",
517
+ sessionImportImported: "会话已导入",
518
+ sessionImportOpenFailed: "Codex 侧栏尚未显示该会话。请确认以下文件夹已添加为项目,然后重试打开。",
519
+ sessionImportCopyProjectPath: "复制项目路径",
520
+ sessionImportPathCopied: "已复制",
521
+ sessionImportPathCopyFailed: "复制失败",
522
+ sessionImportRetryOpen: "重试打开",
523
+ sessionImportRetrying: "正在打开……",
524
+ connectionsDescription: "按 Host 查看运行时状态。选择一项,在右侧检查详情或完成配置。",
525
+ accountsDescription: "选择新建 Codex 任务的默认账号,并查看各账号额度。",
526
+ accountTaskHint: "切换默认账号不会影响已开始的任务。目前仅支持 Codex 多账号。",
527
+ accountConnected: "已连接账号",
528
+ accountDefaultBadge: "默认",
529
+ accountAdd: "添加账号",
530
+ accountColumnAccount: "账号",
531
+ accountColumnUsage: "额度",
532
+ accountColumnActions: "操作",
533
+ accountSearch: "搜索账号…",
534
+ accountEmpty: "还没有账号,添加一个账号即可开始。",
535
+ accountNoMatches: "没有匹配的账号。",
536
+ accountLoginHelp: "登录前须知",
537
+ harnessAccountsTitle: "其他已识别账号",
538
+ accountCreditsRemaining: "剩余",
539
+ accountCreditsLoading: "正在读取额度…",
540
+ accountCreditsEmpty: "暂无额度数据",
541
+ accountCreditsFailed: "额度读取失败",
542
+ accountCreditsRetry: "重试",
543
+ accountCreditsRefresh: "刷新额度",
544
+ accountResetCreditsUnknown: "暂无重置卡数据",
545
+ accountCreateFailed: "添加账号失败。",
546
+ accountDelete: "删除",
547
+ accountDeleteConfirm: "删除此账号及其本地数据?此操作无法撤销。",
548
+ accountDeleting: "正在删除账号...",
549
+ accountDeleteFailed: "删除账号失败。",
550
+ accountActive: "默认账号",
551
+ accountUse: "设为默认",
552
+ accountSignIn: "登录",
553
+ accountSigningIn: "正在启动设备登录...",
554
+ accountDeviceCodePrerequisite:
555
+ "登录前,请先在 Web 端的“设置 → 账号安全与登录”中开启“为 Codex 启用设备代码授权”。",
556
+ accountVerificationDescription: "打开验证页面并输入以下一次性代码:",
557
+ accountCopyCode: "复制代码",
558
+ accountCopied: "已复制",
559
+ accountLoginCancel: "取消登录",
560
+ accountLoginSucceeded: "登录成功。",
561
+ accountLoginFailed: "登录失败。",
562
+ accountLoadFailed: "无法加载 Codex 账号。",
563
+ accountCreditsUsed: "已用",
564
+ accountCreditsReset: "重置",
565
+ accountCreditsPeriodWeekly: "周额度",
566
+ accountCreditsPeriodMonthly: "月额度",
567
+ accountCreditsPeriodFiveHour: "5 小时",
568
+ accountCreditsPeriodSevenDay: "7 天",
569
+ accountCreditsPeriodUnknown: "额度",
570
+ accountCreditsBuild: "Build",
571
+ accountResetCredits: "重置卡",
572
+ accountResetCreditsUse: "使用重置",
573
+ accountResetCreditsConfirm: "将消耗 1 张重置卡,同时重置 5 小时和 7 天额度。此操作无法撤销。",
574
+ accountResetCreditsUsing: "正在使用重置卡...",
575
+ accountResetCreditsFailed: "使用重置卡失败。",
576
+ accountResetCreditsNothingToReset: "当前额度不需要重置。",
577
+ accountResetCreditsNoCredit: "没有可用的重置卡。",
578
+ accountResetCreditsAlreadyRedeemed: "这张重置卡已经使用过。",
579
+ accountResetCreditsSucceeded: "额度已重置。",
580
+ accountResetCreditsDetails: "重置卡详情",
581
+ accountResetCreditsCardExpiry: "第 {index} 张 · {time}到期",
582
+ connectionAdapter: "Renderer 适配器",
583
+ connectionHosts: "Host 列表",
584
+ connectionLocalHost: "本地",
585
+ connectionRemoteHost: "远程 Host",
586
+ connectionActiveHost: "当前",
587
+ connectionReason: "原因",
588
+ connectionRefresh: "重新诊断连接",
589
+ connectionRefreshing: "正在诊断...",
590
+ connectionViewError: "查看错误",
591
+ connectionCopyDetails: "复制诊断信息",
592
+ connectionCopied: "已复制",
593
+ connectionCopyFailed: "复制失败",
594
+ connectionErrorCode: "错误码",
595
+ connectionErrorMessage: "错误信息",
596
+ connectionRetryable: "可重试",
597
+ connectionFailureStage: "失败阶段",
598
+ connectionDuration: "检查耗时",
599
+ connectionDiagnostic: "诊断信息",
600
+ connectionNoRuntime: "Renderer 请求桥尚未可用。",
601
+ connectionStatusReady: "正常",
602
+ connectionStatusChecking: "检查中",
603
+ connectionStatusNotInstalled: "未安装",
604
+ connectionStatusUnavailable: "不可用",
605
+ connectionStatusError: "错误",
606
+ connectionStatusInstalling: "安装中",
607
+ connectionStatusUnsupported: "不支持",
608
+ connectionComponent: "组件",
609
+ connectionStatus: "状态",
610
+ connectionHostsScrollLeft: "查看前面的 Host",
611
+ connectionHostsScrollRight: "查看更多 Host",
612
+ connectionOpenInstallation: "前往官方安装页面",
613
+ connectionOpenHarnessWeb: "打开 DeepSeek Harness Web",
614
+ connectionInstall: "安装",
615
+ connectionInstallDescription:
616
+ "尚未检测到该 Harness。请按照官方安装指南完成安装,然后返回此页面重新检查。",
617
+ connectionErrorTitle: "连接检查失败",
618
+ connectionErrorLog: "错误日志",
619
+ connectionOpenIssue: "提交 GitHub Issue",
620
+ connectionIssueDescription: "提交前请复制错误日志,并在 Issue 中说明当前 Host 与复现步骤。",
621
+ connectionReadyDescription: "该组件在当前 Host 上可用。",
622
+ connectionUnavailableDescription: "该组件当前无法在所选 Host 上使用。",
623
+ modelConfigurationTitle: "模型与思考档位配置",
624
+ modelConfigurationDescription: "配置此 Harness 新建会话时默认使用的模型与思考档位。",
625
+ modelSelectLabel: "默认模型",
626
+ thinkingSelectLabel: "思考档位",
627
+ thinkingOptionDefault: "跟随 Harness 默认",
628
+ saveModelPreference: "设为新会话默认",
629
+ resetModelPreference: "恢复 Harness 默认",
630
+ preferenceSaved: "已保存为默认配置!新建该 Harness 会话时将默认生效。",
631
+ preferenceReset: "已恢复为 Harness 原生默认。",
632
+ loadingModels: "正在探测可用模型……",
633
+ noModelsAvailable: "未探测到可用模型。",
634
+ oneClickInstall: "一键安装",
635
+ oneClickInstalling: "正在后台安装 Harness……",
636
+ oneClickInstallSuccess: "安装成功!状态已自动刷新。",
637
+ oneClickInstallFailed: "安装失败,请尝试复制下方命令在终端手动运行。",
638
+ installCommandLabel: "推荐安装命令",
639
+ copyInstallCommand: "复制安装命令",
640
+ installCommandCopied: "已复制命令",
641
+ officialDownload: "前往官网 / 下载安装包",
642
+ refreshDetection: "刷新检测",
643
+ connectionGroupMoreLabel: "更多",
644
+ connectionGroupMoreHintTitle: "拖到这里可以收起不常用的 Agent",
645
+ connectionGroupMoreHintBody: "它们会折叠进选择器的「更多」分组",
646
+ connectionGroupMoveToMore: "移到更多",
647
+ connectionGroupMoveToMain: "移回常用",
648
+ connectionGroupDragHandle: "拖动排序",
649
+ connectionGroupReset: "恢复默认排列",
650
+ pickerMoreAgentsLabel: "更多 Agent",
651
+ pickerManageLink: "管理",
652
+ pickerHideUnusedAgentsCta: "收起不常用的 Agent",
653
+ enabled: "已开启",
654
+ disabled: "已关闭",
655
+ openSettings: "打开 codexhost 设置",
656
+ settingsButtonTitle: "codexhost 设置",
657
+ settingsUnavailableTitle: "codexhost 设置不可用",
658
+ updateCurrentVersion: "当前版本",
659
+ updateInstallation: "安装方式",
660
+ updateInstallationNpm: "npm",
661
+ updateInstallationWindowsInstaller: "Windows 安装程序",
662
+ updateInstallationMacOsDmg: "macOS DMG",
663
+ updateInstallationUnknown: "未知",
664
+ updateLatestVersion: "最新版本",
665
+ updateUpToDate: "当前已是最新版本。",
666
+ updateAvailable: "有新版本可用。",
667
+ updateWindowsManualRequired: "Windows 暂不支持自动更新,请在下方手动更新。",
668
+ updateAndRestart: "更新",
669
+ updateChecking: "正在检查更新...",
670
+ updateDownloading: "正在下载更新...",
671
+ updatePreparing: "正在准备更新...",
672
+ updateWaitingForExit: "正在等待应用退出...",
673
+ updateInstalling: "正在安装更新...",
674
+ updateInstallingNpm: "正在通过 npm 安装...",
675
+ updateRequestTimeout: "更新服务未响应,请重试。",
676
+ updateRestarting: "正在重启以完成更新...",
677
+ updateSucceeded: "更新安装成功。",
678
+ updateFailed: "更新失败。",
679
+ updateRetry: "重试",
680
+ updateManualNpmDescription:
681
+ "如需手动更新,请在终端运行以下命令。更新完成后,请退出 Codex 并通过 codexhost 重新启动。",
682
+ updateWindowsNpmDescription:
683
+ "Windows 暂不支持自动更新。请退出 codexhost,在终端运行以下命令完成更新。",
684
+ updateWindowsInstallerDescription:
685
+ "Windows 暂不支持自动更新。请下载并运行适用于当前系统的安装包。",
686
+ updateManualTitle: "手动更新",
687
+ updateManualFallbackDescription:
688
+ "自动更新未能完成,请改用下列命令在终端手动更新。完成后请退出 Codex 并通过 codexhost 重新启动。",
689
+ updateCopyCommand: "复制",
690
+ updateCommandCopied: "已复制",
691
+ updateCopyFailed: "复制失败",
692
+ updateDownloadFromReleases: "前往 GitHub Releases 下载",
693
+ updateDownloadWindowsInstaller: "下载 Windows 安装包",
694
+ aboutTagline: "在 Codex Desktop 中运行 Pi 和其他 Harness",
695
+ aboutParagraphs: Object.freeze([
696
+ "我们认为 Codex Desktop 提供了目前最好的桌面开发交互体验。",
697
+ "但 Codex 并不是唯一优秀的 Agent Harness,也有人偏好 Claude Code 和 Pi Agent。",
698
+ "codexhost 让你在 Codex Desktop 中选择真正执行任务的 Agent,同时保留 Codex 的原生体验,并让它们协作完成任务。",
699
+ ]),
700
+ aboutOpenSource: "codexhost 是一个开源项目,开源地址:",
701
+ aboutStarCallout: "⭐ 如果这个项目对你有帮助,请给我们一个 Star!⭐",
702
+ aboutRepository: "开源仓库",
703
+ pageLabels: Object.freeze({
704
+ connections: "连接",
705
+ accounts: "账号",
706
+ "session-import": "会话导入",
707
+ updates: "更新",
708
+ about: "关于",
709
+ }),
710
+ });
711
+
712
+ export const DEFAULT_RENDERER_SETTINGS_MESSAGES = ENGLISH_MESSAGES;
713
+
714
+ function languageFromTag(tag: string): string | undefined {
715
+ try {
716
+ return new Intl.Locale(tag).language.toLowerCase();
717
+ } catch {
718
+ return undefined;
719
+ }
720
+ }
721
+
722
+ export function resolveRendererSettingsLocale(
723
+ languageTags: readonly string[],
724
+ ): RendererSettingsLocale {
725
+ for (const tag of languageTags) {
726
+ const language = languageFromTag(tag);
727
+ if (language === "zh") return "zh-CN";
728
+ if (language === "en") return "en";
729
+ }
730
+ return "en";
731
+ }
732
+
733
+ export function rendererSettingsMessages(locale: RendererSettingsLocale): RendererSettingsMessages {
734
+ return locale === "zh-CN" ? CHINESE_MESSAGES : ENGLISH_MESSAGES;
735
+ }
736
+
737
+ export function rendererSettingsLanguageSelection(
738
+ localeOverride: string | null | undefined,
739
+ ): RendererSettingsLanguageSelection {
740
+ if (localeOverride == null) return "automatic";
741
+ const language = languageFromTag(localeOverride);
742
+ if (language === "zh") return "zh-CN";
743
+ if (language === "en") return "en";
744
+ return "other";
745
+ }
746
+
747
+ export function codexLocaleOverrideForSettingsSelection(
748
+ selection: RendererSettingsWritableLanguageSelection,
749
+ ): "en-US" | "zh-CN" | null {
750
+ if (selection === "automatic") return null;
751
+ return selection === "en" ? "en-US" : "zh-CN";
752
+ }