dsh-cliworker-now 0.0.0-stage → 0.7.7

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 (344) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +364 -0
  3. package/README.md +368 -2
  4. package/cordis.patch.yml +3 -0
  5. package/lib/account-models.mjs +262 -0
  6. package/lib/client.js +22139 -0
  7. package/lib/client.js.map +1 -0
  8. package/lib/grok-catalog.mjs +145 -0
  9. package/lib/hermes-native-entry.py +96 -0
  10. package/lib/hermes-nous-refresh.py +331 -0
  11. package/lib/index.js +14544 -0
  12. package/lib/index.js.map +1 -0
  13. package/lib/native-launch.mjs +234 -0
  14. package/lib/native-spawn.mjs +32 -0
  15. package/lib/own-account-lease.mjs +105 -0
  16. package/lib/pi-installation.mjs +87 -0
  17. package/lib/pi-login.mjs +80 -0
  18. package/lib/pi-native-catalog.mjs +417 -0
  19. package/lib/pi-omp-bridge.mjs +602 -0
  20. package/lib/pi-omp-environment.mjs +15 -0
  21. package/lib/pi-omp-refresh.mjs +324 -0
  22. package/lib/private-launch.mjs +23 -0
  23. package/lib/terminal-bridge.mjs +18 -0
  24. package/lib/typert.host.d.ts +3 -0
  25. package/lib/typert.host.js +1430 -0
  26. package/lib/typert.remote-client.d.ts +72 -0
  27. package/lib/typert.remote-client.d.ts.map +1 -0
  28. package/lib/typert.remote-client.js +1256 -0
  29. package/lib/types/client/account-query-queue.d.ts +16 -0
  30. package/lib/types/client/account-query-queue.js +61 -0
  31. package/lib/types/client/account-query-queue.js.map +1 -0
  32. package/lib/types/client/account-terminal-css.d.ts +1 -0
  33. package/lib/types/client/account-terminal-css.js +3 -0
  34. package/lib/types/client/account-terminal-css.js.map +1 -0
  35. package/lib/types/client/account-terminal.d.ts +17 -0
  36. package/lib/types/client/account-terminal.js +525 -0
  37. package/lib/types/client/account-terminal.js.map +1 -0
  38. package/lib/types/client/assets/antigravity.png +0 -0
  39. package/lib/types/client/assets/claude-code.png +0 -0
  40. package/lib/types/client/assets/cliworker-now-logo.png +0 -0
  41. package/lib/types/client/assets/codex.png +0 -0
  42. package/lib/types/client/assets/grok.png +0 -0
  43. package/lib/types/client/assets/hermes.png +0 -0
  44. package/lib/types/client/assets/kimi-dark.png +0 -0
  45. package/lib/types/client/assets/kimi-light.png +0 -0
  46. package/lib/types/client/assets/mimo-code.png +0 -0
  47. package/lib/types/client/assets/omp.png +0 -0
  48. package/lib/types/client/assets/opencode.png +0 -0
  49. package/lib/types/client/assets/pi.png +0 -0
  50. package/lib/types/client/assets/zcode.png +0 -0
  51. package/lib/types/client/composer-keymap.d.ts +18 -0
  52. package/lib/types/client/composer-keymap.js +49 -0
  53. package/lib/types/client/composer-keymap.js.map +1 -0
  54. package/lib/types/client/conversation-timeline.d.ts +6 -0
  55. package/lib/types/client/conversation-timeline.js +65 -0
  56. package/lib/types/client/conversation-timeline.js.map +1 -0
  57. package/lib/types/client/copy-text.d.ts +5 -0
  58. package/lib/types/client/copy-text.js +45 -0
  59. package/lib/types/client/copy-text.js.map +1 -0
  60. package/lib/types/client/icons.d.ts +21 -0
  61. package/lib/types/client/icons.js +68 -0
  62. package/lib/types/client/icons.js.map +1 -0
  63. package/lib/types/client/index.d.ts +3 -0
  64. package/lib/types/client/index.js +124 -0
  65. package/lib/types/client/index.js.map +1 -0
  66. package/lib/types/client/management-styles.d.ts +1 -0
  67. package/lib/types/client/management-styles.js +17 -0
  68. package/lib/types/client/management-styles.js.map +1 -0
  69. package/lib/types/client/name-copy.d.ts +5 -0
  70. package/lib/types/client/name-copy.js +107 -0
  71. package/lib/types/client/name-copy.js.map +1 -0
  72. package/lib/types/client/native-job-overlay.d.ts +11 -0
  73. package/lib/types/client/native-job-overlay.js +129 -0
  74. package/lib/types/client/native-job-overlay.js.map +1 -0
  75. package/lib/types/client/operation-error.d.ts +2 -0
  76. package/lib/types/client/operation-error.js +12 -0
  77. package/lib/types/client/operation-error.js.map +1 -0
  78. package/lib/types/client/panel.d.ts +8 -0
  79. package/lib/types/client/panel.js +310 -0
  80. package/lib/types/client/panel.js.map +1 -0
  81. package/lib/types/client/rename-copy-styles.d.ts +1 -0
  82. package/lib/types/client/rename-copy-styles.js +21 -0
  83. package/lib/types/client/rename-copy-styles.js.map +1 -0
  84. package/lib/types/client/rename-worker.d.ts +9 -0
  85. package/lib/types/client/rename-worker.js +53 -0
  86. package/lib/types/client/rename-worker.js.map +1 -0
  87. package/lib/types/client/role-presets.d.ts +6 -0
  88. package/lib/types/client/role-presets.js +111 -0
  89. package/lib/types/client/role-presets.js.map +1 -0
  90. package/lib/types/client/settings-dialog.d.ts +13 -0
  91. package/lib/types/client/settings-dialog.js +442 -0
  92. package/lib/types/client/settings-dialog.js.map +1 -0
  93. package/lib/types/client/stat-popover.d.ts +10 -0
  94. package/lib/types/client/stat-popover.js +32 -0
  95. package/lib/types/client/stat-popover.js.map +1 -0
  96. package/lib/types/client/styles.d.ts +9 -0
  97. package/lib/types/client/styles.js +221 -0
  98. package/lib/types/client/styles.js.map +1 -0
  99. package/lib/types/client/telemetry.d.ts +11 -0
  100. package/lib/types/client/telemetry.js +24 -0
  101. package/lib/types/client/telemetry.js.map +1 -0
  102. package/lib/types/client/worker-card.d.ts +10 -0
  103. package/lib/types/client/worker-card.js +75 -0
  104. package/lib/types/client/worker-card.js.map +1 -0
  105. package/lib/types/client/worker-model-menu.d.ts +9 -0
  106. package/lib/types/client/worker-model-menu.js +136 -0
  107. package/lib/types/client/worker-model-menu.js.map +1 -0
  108. package/lib/types/client/workers.d.ts +21 -0
  109. package/lib/types/client/workers.js +59 -0
  110. package/lib/types/client/workers.js.map +1 -0
  111. package/lib/types/client/zcode-login-link-provider.d.ts +9 -0
  112. package/lib/types/client/zcode-login-link-provider.js +105 -0
  113. package/lib/types/client/zcode-login-link-provider.js.map +1 -0
  114. package/lib/types/client/zcode-login-link.d.ts +16 -0
  115. package/lib/types/client/zcode-login-link.js +194 -0
  116. package/lib/types/client/zcode-login-link.js.map +1 -0
  117. package/lib/types/host/account-identity.d.ts +16 -0
  118. package/lib/types/host/account-identity.js +126 -0
  119. package/lib/types/host/account-identity.js.map +1 -0
  120. package/lib/types/host/account-login.d.ts +10 -0
  121. package/lib/types/host/account-login.js +126 -0
  122. package/lib/types/host/account-login.js.map +1 -0
  123. package/lib/types/host/account-models.d.mts +21 -0
  124. package/lib/types/host/account-models.mjs +262 -0
  125. package/lib/types/host/accounts.d.ts +42 -0
  126. package/lib/types/host/accounts.js +945 -0
  127. package/lib/types/host/accounts.js.map +1 -0
  128. package/lib/types/host/adapters.d.ts +24 -0
  129. package/lib/types/host/adapters.js +380 -0
  130. package/lib/types/host/adapters.js.map +1 -0
  131. package/lib/types/host/agy-context.d.ts +8 -0
  132. package/lib/types/host/agy-context.js +122 -0
  133. package/lib/types/host/agy-context.js.map +1 -0
  134. package/lib/types/host/agy-models.d.ts +5 -0
  135. package/lib/types/host/agy-models.js +37 -0
  136. package/lib/types/host/agy-models.js.map +1 -0
  137. package/lib/types/host/agy-windows-account.d.ts +14 -0
  138. package/lib/types/host/agy-windows-account.js +104 -0
  139. package/lib/types/host/agy-windows-account.js.map +1 -0
  140. package/lib/types/host/authorized-catalog.d.ts +14 -0
  141. package/lib/types/host/authorized-catalog.js +35 -0
  142. package/lib/types/host/authorized-catalog.js.map +1 -0
  143. package/lib/types/host/bridge-protocol.d.ts +15 -0
  144. package/lib/types/host/bridge-protocol.js +80 -0
  145. package/lib/types/host/bridge-protocol.js.map +1 -0
  146. package/lib/types/host/claude-native-oauth.d.ts +17 -0
  147. package/lib/types/host/claude-native-oauth.js +272 -0
  148. package/lib/types/host/claude-native-oauth.js.map +1 -0
  149. package/lib/types/host/claude-own-route.d.ts +33 -0
  150. package/lib/types/host/claude-own-route.js +250 -0
  151. package/lib/types/host/claude-own-route.js.map +1 -0
  152. package/lib/types/host/cli-account-binding.d.ts +33 -0
  153. package/lib/types/host/cli-account-binding.js +540 -0
  154. package/lib/types/host/cli-account-binding.js.map +1 -0
  155. package/lib/types/host/cli-protocol.d.ts +27 -0
  156. package/lib/types/host/cli-protocol.js +212 -0
  157. package/lib/types/host/cli-protocol.js.map +1 -0
  158. package/lib/types/host/codex-account.d.ts +8 -0
  159. package/lib/types/host/codex-account.js +143 -0
  160. package/lib/types/host/codex-account.js.map +1 -0
  161. package/lib/types/host/codex-models.d.ts +6 -0
  162. package/lib/types/host/codex-models.js +169 -0
  163. package/lib/types/host/codex-models.js.map +1 -0
  164. package/lib/types/host/extended-adapters.d.ts +44 -0
  165. package/lib/types/host/extended-adapters.js +207 -0
  166. package/lib/types/host/extended-adapters.js.map +1 -0
  167. package/lib/types/host/first-party-account-context.d.ts +26 -0
  168. package/lib/types/host/first-party-account-context.js +55 -0
  169. package/lib/types/host/first-party-account-context.js.map +1 -0
  170. package/lib/types/host/first-party-models.d.ts +29 -0
  171. package/lib/types/host/first-party-models.js +459 -0
  172. package/lib/types/host/first-party-models.js.map +1 -0
  173. package/lib/types/host/grok-adapter.d.ts +44 -0
  174. package/lib/types/host/grok-adapter.js +293 -0
  175. package/lib/types/host/grok-adapter.js.map +1 -0
  176. package/lib/types/host/grok-models.d.ts +47 -0
  177. package/lib/types/host/grok-models.js +320 -0
  178. package/lib/types/host/grok-models.js.map +1 -0
  179. package/lib/types/host/harness-opencode-accounts.d.ts +17 -0
  180. package/lib/types/host/harness-opencode-accounts.js +80 -0
  181. package/lib/types/host/harness-opencode-accounts.js.map +1 -0
  182. package/lib/types/host/hermes-account-context.d.ts +8 -0
  183. package/lib/types/host/hermes-account-context.js +99 -0
  184. package/lib/types/host/hermes-account-context.js.map +1 -0
  185. package/lib/types/host/hermes-accounts.d.ts +19 -0
  186. package/lib/types/host/hermes-accounts.js +356 -0
  187. package/lib/types/host/hermes-accounts.js.map +1 -0
  188. package/lib/types/host/hermes-adapter.d.ts +93 -0
  189. package/lib/types/host/hermes-adapter.js +455 -0
  190. package/lib/types/host/hermes-adapter.js.map +1 -0
  191. package/lib/types/host/hermes-env.d.ts +4 -0
  192. package/lib/types/host/hermes-env.js +22 -0
  193. package/lib/types/host/hermes-env.js.map +1 -0
  194. package/lib/types/host/hermes-installation.d.ts +10 -0
  195. package/lib/types/host/hermes-installation.js +181 -0
  196. package/lib/types/host/hermes-installation.js.map +1 -0
  197. package/lib/types/host/hermes-models.d.ts +26 -0
  198. package/lib/types/host/hermes-models.js +328 -0
  199. package/lib/types/host/hermes-models.js.map +1 -0
  200. package/lib/types/host/hermes-native-entry.py +96 -0
  201. package/lib/types/host/hermes-nous-refresh.py +331 -0
  202. package/lib/types/host/hermes-nous.d.ts +53 -0
  203. package/lib/types/host/hermes-nous.js +343 -0
  204. package/lib/types/host/hermes-nous.js.map +1 -0
  205. package/lib/types/host/hermes-renewal.d.ts +27 -0
  206. package/lib/types/host/hermes-renewal.js +292 -0
  207. package/lib/types/host/hermes-renewal.js.map +1 -0
  208. package/lib/types/host/hermes-suppression.d.ts +7 -0
  209. package/lib/types/host/hermes-suppression.js +69 -0
  210. package/lib/types/host/hermes-suppression.js.map +1 -0
  211. package/lib/types/host/hermes-windows-installation.d.ts +5 -0
  212. package/lib/types/host/hermes-windows-installation.js +91 -0
  213. package/lib/types/host/hermes-windows-installation.js.map +1 -0
  214. package/lib/types/host/index.d.ts +140 -0
  215. package/lib/types/host/index.js +947 -0
  216. package/lib/types/host/index.js.map +1 -0
  217. package/lib/types/host/kimi-accounts.d.ts +17 -0
  218. package/lib/types/host/kimi-accounts.js +220 -0
  219. package/lib/types/host/kimi-accounts.js.map +1 -0
  220. package/lib/types/host/kimi-oauth-models.d.ts +14 -0
  221. package/lib/types/host/kimi-oauth-models.js +246 -0
  222. package/lib/types/host/kimi-oauth-models.js.map +1 -0
  223. package/lib/types/host/managed-agent.d.ts +4 -0
  224. package/lib/types/host/managed-agent.js +127 -0
  225. package/lib/types/host/managed-agent.js.map +1 -0
  226. package/lib/types/host/mimo-configuration.d.ts +22 -0
  227. package/lib/types/host/mimo-configuration.js +258 -0
  228. package/lib/types/host/mimo-configuration.js.map +1 -0
  229. package/lib/types/host/mimo-metadata-cache.d.ts +22 -0
  230. package/lib/types/host/mimo-metadata-cache.js +121 -0
  231. package/lib/types/host/mimo-metadata-cache.js.map +1 -0
  232. package/lib/types/host/native-capability-cache.d.ts +11 -0
  233. package/lib/types/host/native-capability-cache.js +94 -0
  234. package/lib/types/host/native-capability-cache.js.map +1 -0
  235. package/lib/types/host/native-launch.d.mts +2 -0
  236. package/lib/types/host/native-launch.mjs +234 -0
  237. package/lib/types/host/native-process.d.ts +5 -0
  238. package/lib/types/host/native-process.js +41 -0
  239. package/lib/types/host/native-process.js.map +1 -0
  240. package/lib/types/host/native-spawn.mjs +32 -0
  241. package/lib/types/host/opencode-adapter.d.ts +94 -0
  242. package/lib/types/host/opencode-adapter.js +507 -0
  243. package/lib/types/host/opencode-adapter.js.map +1 -0
  244. package/lib/types/host/opencode-native.d.ts +27 -0
  245. package/lib/types/host/opencode-native.js +403 -0
  246. package/lib/types/host/opencode-native.js.map +1 -0
  247. package/lib/types/host/own-account-lease.d.mts +5 -0
  248. package/lib/types/host/own-account-lease.mjs +105 -0
  249. package/lib/types/host/pi-installation.d.mts +7 -0
  250. package/lib/types/host/pi-installation.mjs +87 -0
  251. package/lib/types/host/pi-omp-accounts.d.ts +28 -0
  252. package/lib/types/host/pi-omp-accounts.js +175 -0
  253. package/lib/types/host/pi-omp-accounts.js.map +1 -0
  254. package/lib/types/host/pi-omp-adapter.d.ts +32 -0
  255. package/lib/types/host/pi-omp-adapter.js +190 -0
  256. package/lib/types/host/pi-omp-adapter.js.map +1 -0
  257. package/lib/types/host/pi-omp-environment.d.mts +1 -0
  258. package/lib/types/host/pi-omp-environment.mjs +15 -0
  259. package/lib/types/host/pi-omp-identity.d.ts +2 -0
  260. package/lib/types/host/pi-omp-identity.js +142 -0
  261. package/lib/types/host/pi-omp-identity.js.map +1 -0
  262. package/lib/types/host/pi-omp-logout.d.ts +3 -0
  263. package/lib/types/host/pi-omp-logout.js +152 -0
  264. package/lib/types/host/pi-omp-logout.js.map +1 -0
  265. package/lib/types/host/pi-omp-native.d.ts +71 -0
  266. package/lib/types/host/pi-omp-native.js +753 -0
  267. package/lib/types/host/pi-omp-native.js.map +1 -0
  268. package/lib/types/host/pi-omp-refresh.d.mts +7 -0
  269. package/lib/types/host/pi-omp-refresh.mjs +324 -0
  270. package/lib/types/host/private-launch.mjs +23 -0
  271. package/lib/types/host/process.d.ts +43 -0
  272. package/lib/types/host/process.js +134 -0
  273. package/lib/types/host/process.js.map +1 -0
  274. package/lib/types/host/protocol.d.ts +23 -0
  275. package/lib/types/host/protocol.js +112 -0
  276. package/lib/types/host/protocol.js.map +1 -0
  277. package/lib/types/host/roles.d.ts +34 -0
  278. package/lib/types/host/roles.js +80 -0
  279. package/lib/types/host/roles.js.map +1 -0
  280. package/lib/types/host/routing.d.ts +31 -0
  281. package/lib/types/host/routing.js +248 -0
  282. package/lib/types/host/routing.js.map +1 -0
  283. package/lib/types/host/runtime.d.ts +60 -0
  284. package/lib/types/host/runtime.js +598 -0
  285. package/lib/types/host/runtime.js.map +1 -0
  286. package/lib/types/host/storage.d.ts +48 -0
  287. package/lib/types/host/storage.js +449 -0
  288. package/lib/types/host/storage.js.map +1 -0
  289. package/lib/types/host/telemetry.d.ts +17 -0
  290. package/lib/types/host/telemetry.js +158 -0
  291. package/lib/types/host/telemetry.js.map +1 -0
  292. package/lib/types/host/windows-account-bootstrap.ps1 +44 -0
  293. package/lib/types/host/windows-account-launch.mjs +47 -0
  294. package/lib/types/host/windows-account-owner.ps1 +137 -0
  295. package/lib/types/host/windows-account-stdio.mjs +19 -0
  296. package/lib/types/host/windows-account-terminal.d.ts +17 -0
  297. package/lib/types/host/windows-account-terminal.js +208 -0
  298. package/lib/types/host/windows-account-terminal.js.map +1 -0
  299. package/lib/types/host/windows-agy-account.ps1 +81 -0
  300. package/lib/types/host/windows-cli-installation.d.ts +31 -0
  301. package/lib/types/host/windows-cli-installation.js +157 -0
  302. package/lib/types/host/windows-cli-installation.js.map +1 -0
  303. package/lib/types/host/windows-hidden-launch.mjs +49 -0
  304. package/lib/types/host/windows-hidden-process.d.ts +12 -0
  305. package/lib/types/host/windows-hidden-process.js +116 -0
  306. package/lib/types/host/windows-hidden-process.js.map +1 -0
  307. package/lib/types/host/zcode-account-models.d.ts +16 -0
  308. package/lib/types/host/zcode-account-models.js +114 -0
  309. package/lib/types/host/zcode-account-models.js.map +1 -0
  310. package/lib/types/host/zcode-adapter.d.ts +93 -0
  311. package/lib/types/host/zcode-adapter.js +808 -0
  312. package/lib/types/host/zcode-adapter.js.map +1 -0
  313. package/lib/types/host/zcode-grok-accounts.d.ts +30 -0
  314. package/lib/types/host/zcode-grok-accounts.js +408 -0
  315. package/lib/types/host/zcode-grok-accounts.js.map +1 -0
  316. package/lib/types/shared/accounts.d.ts +47 -0
  317. package/lib/types/shared/accounts.js +2 -0
  318. package/lib/types/shared/accounts.js.map +1 -0
  319. package/lib/types/shared/builtin-presets.d.ts +2 -0
  320. package/lib/types/shared/builtin-presets.js +231 -0
  321. package/lib/types/shared/builtin-presets.js.map +1 -0
  322. package/lib/types/shared/cli-settings.d.ts +5 -0
  323. package/lib/types/shared/cli-settings.js +2 -0
  324. package/lib/types/shared/cli-settings.js.map +1 -0
  325. package/lib/types/shared/model-presentation.d.ts +10 -0
  326. package/lib/types/shared/model-presentation.js +95 -0
  327. package/lib/types/shared/model-presentation.js.map +1 -0
  328. package/lib/types/shared/models.d.ts +7 -0
  329. package/lib/types/shared/models.js +35 -0
  330. package/lib/types/shared/models.js.map +1 -0
  331. package/lib/types/shared/telemetry.d.ts +18 -0
  332. package/lib/types/shared/telemetry.js +16 -0
  333. package/lib/types/shared/telemetry.js.map +1 -0
  334. package/lib/types/shared/types.d.ts +127 -0
  335. package/lib/types/shared/types.js +147 -0
  336. package/lib/types/shared/types.js.map +1 -0
  337. package/lib/windows-account-bootstrap.ps1 +44 -0
  338. package/lib/windows-account-launch.mjs +47 -0
  339. package/lib/windows-account-owner.ps1 +137 -0
  340. package/lib/windows-account-stdio.mjs +19 -0
  341. package/lib/windows-agy-account.ps1 +81 -0
  342. package/lib/windows-hidden-launch.mjs +49 -0
  343. package/lib/zcode-resume.mjs +423 -0
  344. package/package.json +109 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-omp-native.js","sourceRoot":"","sources":["../../../src/host/pi-omp-native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export function refreshFingerprint(value: unknown): string
2
+ export function refreshPrincipal(value: unknown): string | undefined
3
+ export function refreshJson(path: string, privateFile?: boolean): Promise<any>
4
+ export function writeRefreshJson(path: string, value: unknown): Promise<void>
5
+ export function assertPiOmpRefreshSources(root: string, expected?: any): Promise<any>
6
+ export function assertPiOmpRefreshCache(root: string, receipt: any): Promise<void>
7
+ export function finishPiOmpRefresh(root: string, nonce: string, executable: string, expectedReceipt: any): Promise<void>
@@ -0,0 +1,324 @@
1
+ import { constants } from 'node:fs'
2
+ import { lstat, open, realpath, rename, rm, writeFile } from 'node:fs/promises'
3
+ import { createHash, randomUUID } from 'node:crypto'
4
+ import { createRequire } from 'node:module'
5
+ import { dirname, join } from 'node:path'
6
+ import { pathToFileURL } from 'node:url'
7
+ import { DatabaseSync } from 'node:sqlite'
8
+ import { inspectPiInstallation } from './pi-installation.mjs'
9
+ import { ownsOwnAccountLease, releaseOwnAccountLease } from './own-account-lease.mjs'
10
+
11
+ const object = (value) => value !== null && typeof value === 'object' && !Array.isArray(value)
12
+ const stable = (value) =>
13
+ JSON.stringify(
14
+ object(value)
15
+ ? Object.fromEntries(
16
+ Object.keys(value)
17
+ .sort()
18
+ .map((key) => [key, JSON.parse(stable(value[key]))]),
19
+ )
20
+ : Array.isArray(value)
21
+ ? value.map((entry) => JSON.parse(stable(entry)))
22
+ : (value ?? null),
23
+ )
24
+ export const refreshFingerprint = (value) => createHash('sha256').update(stable(value)).digest('hex')
25
+ const changed = () => new Error('账号配置已变化,请重新刷新模型')
26
+ const unsafe = () => new Error('无法安全保存账号续期,请重新登录')
27
+ function claims(value) {
28
+ try {
29
+ if (typeof value !== 'string' || value.length > 65536) return {}
30
+ const parsed = JSON.parse(Buffer.from(value.split('.')[1] ?? '', 'base64url').toString('utf8'))
31
+ return object(parsed) ? parsed : {}
32
+ } catch {
33
+ return {}
34
+ }
35
+ }
36
+ /** Identity comparison only, never a remote authentication assertion. */
37
+ export function refreshPrincipal(value) {
38
+ if (!object(value) || value.type !== 'oauth') return undefined
39
+ const identity = claims(value.id_token ?? value.idToken)
40
+ const token = claims(value.access ?? value.access_token)
41
+ const account =
42
+ value.accountId ?? value.account_id ?? token['https://api.openai.com/auth']?.chatgpt_account_id
43
+ const subject = identity.sub ?? token.sub ?? value.userId ?? value.user_id
44
+ const email = identity.email ?? value.email
45
+ const text = (item) => typeof item === 'string' && !!item
46
+ if (!text(account) && !text(subject) && !text(email)) return undefined
47
+ return refreshFingerprint({
48
+ ...(text(account) ? { accountId: account } : {}),
49
+ ...(text(subject) ? { subject } : text(email) ? { email: email.toLowerCase() } : {}),
50
+ ...(text(identity.iss ?? token.iss) ? { issuer: identity.iss ?? token.iss } : {}),
51
+ ...(text(value.organizationId ?? value.organization_id)
52
+ ? { organization: value.organizationId ?? value.organization_id }
53
+ : {}),
54
+ })
55
+ }
56
+ export async function refreshJson(path, privateFile = true) {
57
+ let handle
58
+ let buffer
59
+ try {
60
+ if ((await realpath(dirname(path))) !== dirname(path)) throw unsafe()
61
+ const location = await lstat(path)
62
+ if (location.isSymbolicLink() || !location.isFile() || location.nlink !== 1) throw unsafe()
63
+ handle = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK)
64
+ const before = await handle.stat()
65
+ if (
66
+ !before.isFile() ||
67
+ before.dev !== location.dev || before.ino !== location.ino ||
68
+ before.nlink !== 1 ||
69
+ before.size > 16 * 1024 * 1024 ||
70
+ (privateFile && (process.platform !== 'win32' && (before.mode & 0o077)))
71
+ )
72
+ throw unsafe()
73
+ buffer = Buffer.alloc(before.size + 1)
74
+ let length = 0
75
+ while (length < buffer.length) {
76
+ const { bytesRead } = await handle.read(buffer, length, buffer.length - length, length)
77
+ if (!bytesRead) break
78
+ length += bytesRead
79
+ }
80
+ const after = await handle.stat()
81
+ const current = await lstat(path)
82
+ if (current.isSymbolicLink() || current.dev !== before.dev || current.ino !== before.ino) throw changed()
83
+ if (length !== before.size || after.mtimeMs !== before.mtimeMs || after.size !== before.size)
84
+ throw changed()
85
+ return JSON.parse(buffer.subarray(0, length).toString('utf8'))
86
+ } finally {
87
+ buffer?.fill(0)
88
+ await handle?.close()
89
+ }
90
+ }
91
+ export async function writeRefreshJson(path, value) {
92
+ const temporary = `${path}.${randomUUID()}.tmp`
93
+ try {
94
+ await writeFile(temporary, JSON.stringify(value), { flag: 'wx', mode: 0o600 })
95
+ await rename(temporary, path)
96
+ } finally {
97
+ await rm(temporary, { force: true })
98
+ }
99
+ }
100
+ function validReceipt(value) {
101
+ if (
102
+ !object(value) ||
103
+ value.version !== 1 ||
104
+ !['pi', 'omp'].includes(value.cli) ||
105
+ !Array.isArray(value.entries)
106
+ )
107
+ throw unsafe()
108
+ for (const entry of value.entries)
109
+ if (
110
+ !object(entry) ||
111
+ typeof entry.provider !== 'string' ||
112
+ typeof entry.path !== 'string' ||
113
+ typeof entry.hash !== 'string'
114
+ )
115
+ throw unsafe()
116
+ return value
117
+ }
118
+ async function sourceIdentity(entry) {
119
+ if ((await realpath(dirname(entry.path))) !== dirname(entry.path)) throw changed()
120
+ const info = await lstat(entry.path)
121
+ if (
122
+ info.isSymbolicLink() ||
123
+ !info.isFile() ||
124
+ info.nlink !== 1 ||
125
+ info.dev !== entry.dev ||
126
+ info.ino !== entry.ino
127
+ )
128
+ throw changed()
129
+ }
130
+ function rowCredential(row) {
131
+ if (!row || row.credential_type !== 'oauth' || row.disabled_cause) return undefined
132
+ return { ...JSON.parse(row.data), type: 'oauth' }
133
+ }
134
+ export async function assertPiOmpRefreshSources(root, expected) {
135
+ const receipt = validReceipt(expected ?? (await refreshJson(join(root, 'receipt.json'))))
136
+ for (const entry of receipt.entries) {
137
+ await sourceIdentity(entry)
138
+ let current
139
+ if (receipt.cli === 'pi') current = (await refreshJson(entry.path, false))[entry.provider]
140
+ else {
141
+ const db = new DatabaseSync(entry.path, { readOnly: true })
142
+ try {
143
+ current = rowCredential(
144
+ db
145
+ .prepare(
146
+ 'SELECT credential_type,data,disabled_cause FROM auth_credentials WHERE rowid=? AND provider=?',
147
+ )
148
+ .get(entry.rowId, entry.provider),
149
+ )
150
+ } finally {
151
+ db.close()
152
+ }
153
+ }
154
+ if (
155
+ !current ||
156
+ refreshFingerprint(current) !== entry.hash ||
157
+ refreshPrincipal(current) !== entry.principal
158
+ )
159
+ throw changed()
160
+ }
161
+ return receipt
162
+ }
163
+ export async function assertPiOmpRefreshCache(root, receipt) {
164
+ await refreshedEntries(root, validReceipt(receipt))
165
+ }
166
+ async function refreshedEntries(root, receipt) {
167
+ const result = []
168
+ if (receipt.cli === 'pi') {
169
+ const data = await refreshJson(join(root, 'agent/auth.json'))
170
+ const expected = [...receipt.entries, ...(receipt.fixed ?? [])].map((entry) => entry.provider).sort()
171
+ if (refreshFingerprint(Object.keys(data).sort()) !== refreshFingerprint(expected)) throw unsafe()
172
+ for (const entry of receipt.fixed ?? [])
173
+ if (refreshFingerprint(data[entry.provider]) !== entry.hash) throw unsafe()
174
+ for (const entry of receipt.entries) result.push([entry, data[entry.provider]])
175
+ } else {
176
+ const db = new DatabaseSync(join(root, 'agent/agent.db'), { readOnly: true })
177
+ try {
178
+ const rows = db
179
+ .prepare('SELECT rowid AS id,provider,credential_type,data,disabled_cause FROM auth_credentials')
180
+ .all()
181
+ if (rows.length !== receipt.entries.length + (receipt.fixed?.length ?? 0)) throw unsafe()
182
+ for (const entry of receipt.fixed ?? []) {
183
+ const row = rows.find((row) => row.id === entry.cacheRowId && row.provider === entry.provider)
184
+ if (
185
+ !row ||
186
+ refreshFingerprint({
187
+ ...JSON.parse(row.data),
188
+ type: row.credential_type,
189
+ disabled_cause: row.disabled_cause,
190
+ }) !== entry.hash
191
+ )
192
+ throw unsafe()
193
+ }
194
+ for (const entry of receipt.entries)
195
+ result.push([
196
+ entry,
197
+ rowCredential(
198
+ db
199
+ .prepare(
200
+ 'SELECT credential_type,data,disabled_cause FROM auth_credentials WHERE rowid=? AND provider=?',
201
+ )
202
+ .get(entry.cacheRowId, entry.provider),
203
+ ),
204
+ ])
205
+ } finally {
206
+ db.close()
207
+ }
208
+ }
209
+ for (const [entry, next] of result)
210
+ if (
211
+ !next ||
212
+ refreshPrincipal(next) !== entry.principal ||
213
+ typeof next.access !== 'string' ||
214
+ !next.access ||
215
+ typeof next.refresh !== 'string' ||
216
+ !next.refresh ||
217
+ !Number.isFinite(next.expires)
218
+ )
219
+ throw unsafe()
220
+ return result
221
+ }
222
+ /** Called only by Host after capture/process-scope cleanup confirmed exit. */
223
+ export async function finishPiOmpRefresh(root, nonce, executable, expectedReceipt) {
224
+ if (!(await ownsOwnAccountLease(root, nonce))) return
225
+ try {
226
+ // This snapshot is retained in the Host closure before launch. Never trust a
227
+ // runtime-writable receipt to select unsandboxed source write destinations.
228
+ const receipt = validReceipt(expectedReceipt)
229
+ const entries = await refreshedEntries(root, receipt)
230
+ for (const [entry, next] of entries) {
231
+ if (refreshFingerprint(next) === entry.hash) continue
232
+ await sourceIdentity(entry)
233
+ if (receipt.cli === 'pi') {
234
+ const { dist } = inspectPiInstallation(executable)
235
+ const require = createRequire(join(dist, 'core/auth-storage.js'))
236
+ const lockfile = require('proper-lockfile')
237
+ // Same canonical auth path and lock convention as Pi 1.0.4. Never call
238
+ // AuthStorage.create here: its initialization would recreate a logged-out file.
239
+ const unlock = await lockfile.lock(entry.path, { realpath: false, retries: 0, stale: 30000 })
240
+ try {
241
+ await sourceIdentity(entry)
242
+ const data = await refreshJson(entry.path, false)
243
+ if (
244
+ refreshFingerprint(data[entry.provider]) !== entry.hash ||
245
+ refreshPrincipal(data[entry.provider]) !== entry.principal
246
+ )
247
+ throw changed()
248
+ const handle = await open(
249
+ entry.path,
250
+ constants.O_WRONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK,
251
+ )
252
+ try {
253
+ const info = await handle.stat()
254
+ if (info.dev !== entry.dev || info.ino !== entry.ino || info.nlink !== 1) throw changed()
255
+ const bytes = Buffer.from(JSON.stringify({ ...data, [entry.provider]: next }, null, 2))
256
+ try {
257
+ let offset = 0
258
+ while (offset < bytes.length) {
259
+ const { bytesWritten } = await handle.write(bytes, offset, bytes.length - offset, offset)
260
+ if (!bytesWritten) throw unsafe()
261
+ offset += bytesWritten
262
+ }
263
+ await handle.truncate(bytes.length)
264
+ await handle.sync()
265
+ } finally {
266
+ bytes.fill(0)
267
+ }
268
+ } finally {
269
+ await handle.close()
270
+ }
271
+ } finally {
272
+ await unlock()
273
+ }
274
+ } else {
275
+ // SQLite URI mode=rw never recreates a source deleted after preflight.
276
+ const db = new DatabaseSync(`${pathToFileURL(entry.path).href}?mode=rw`)
277
+ try {
278
+ db.exec('PRAGMA busy_timeout=0; BEGIN IMMEDIATE')
279
+ const row = db
280
+ .prepare(
281
+ 'SELECT credential_type,data,disabled_cause FROM auth_credentials WHERE rowid=? AND provider=?',
282
+ )
283
+ .get(entry.rowId, entry.provider)
284
+ const current = rowCredential(row)
285
+ if (
286
+ !current ||
287
+ refreshFingerprint(current) !== entry.hash ||
288
+ refreshPrincipal(current) !== entry.principal
289
+ )
290
+ throw changed()
291
+ const { type: _type, ...data } = next
292
+ const update = db
293
+ .prepare(
294
+ 'UPDATE auth_credentials SET data=? WHERE rowid=? AND provider=? AND credential_type=? AND data=? AND disabled_cause IS NULL',
295
+ )
296
+ .run(JSON.stringify(data), entry.rowId, entry.provider, 'oauth', row.data)
297
+ if (Number(update.changes) !== 1) throw changed()
298
+ db.exec('COMMIT')
299
+ } catch (error) {
300
+ try {
301
+ db.exec('ROLLBACK')
302
+ } catch {}
303
+ throw error
304
+ } finally {
305
+ db.close()
306
+ }
307
+ }
308
+ // Reuse the updated Host-held expectation in the next metadata phase and
309
+ // this same prepare's final worker request; don't reject our own refresh.
310
+ entry.hash = refreshFingerprint(next)
311
+ }
312
+ await writeRefreshJson(join(root, 'receipt.json'), receipt)
313
+ } catch (error) {
314
+ if (
315
+ error?.message === '账号配置已变化,请重新刷新模型' ||
316
+ error?.message === '无法安全保存账号续期,请重新登录'
317
+ )
318
+ throw error
319
+ throw unsafe()
320
+ } finally {
321
+ // A CAS conflict is a completed safe refusal, not an unconfirmed process exit.
322
+ await releaseOwnAccountLease(root, nonce)
323
+ }
324
+ }
@@ -0,0 +1,23 @@
1
+ // Set a private file-creation mask without mutating the shared Harness process.
2
+ import { forwardNativeStdio, spawnNativeProcess } from './native-spawn.mjs'
3
+ import { nativeLaunchArgv } from './native-launch.mjs'
4
+ process.umask(0o077)
5
+ const [executable, ...argv] = nativeLaunchArgv(process.argv.slice(2))
6
+ // This helper is also used under POSIX PTYs, whose original handles must stay.
7
+ // Windows ConPTY account launch unwraps it in windows-account-launch.mjs.
8
+ const backgroundPipes = process.platform === 'win32'
9
+ const child = spawnNativeProcess(executable, argv, { env: process.env, stdio: backgroundPipes ? ['pipe', 'pipe', 'pipe'] : 'inherit' })
10
+ if (backgroundPipes) forwardNativeStdio(child)
11
+ let stopped = false
12
+ for (const signal of ['SIGTERM', 'SIGINT'])
13
+ process.on(signal, () => {
14
+ stopped = true
15
+ child.kill(signal)
16
+ })
17
+ child.on('error', () => {
18
+ process.stderr.write('CLI launch failed\n')
19
+ process.exitCode = 1
20
+ })
21
+ child.on('close', (code, signal) => {
22
+ process.exitCode = stopped || signal ? 143 : (code ?? 1)
23
+ })
@@ -0,0 +1,43 @@
1
+ import type { SubprocessHandle, SubprocessSpawnSpec, SubprocessTerminalSpawnSpec, SubprocessTerminalHandle } from '@deepseek-ai/dsh-subprocess';
2
+ import type { ModelChoice, Preference, TaskMode } from '../shared/types.ts';
3
+ export interface ProcessBackend {
4
+ resolveExecutable(name: string): Promise<string>;
5
+ spawn(spec: SubprocessSpawnSpec): SubprocessHandle;
6
+ spawnTerminal?(spec: SubprocessTerminalSpawnSpec): Promise<SubprocessTerminalHandle>;
7
+ }
8
+ /** A process range is still unconfirmed; callers must stop admitting work. */
9
+ export declare class ProcessCleanupUnconfirmedError extends Error {
10
+ constructor();
11
+ }
12
+ export interface RuntimeConfig {
13
+ executable: string;
14
+ codexExecutable?: string;
15
+ claudeExecutable?: string;
16
+ kimiExecutable?: string;
17
+ mimoExecutable?: string;
18
+ zcodeExecutable?: string;
19
+ grokExecutable?: string;
20
+ ompExecutable?: string;
21
+ piExecutable?: string;
22
+ hermesExecutable?: string;
23
+ hermesHome?: string;
24
+ opencodeExecutable?: string;
25
+ zcodeAuthDirectory?: string;
26
+ zcodeBuiltinConfig?: string;
27
+ stateDirectory?: string;
28
+ /** @deprecated Legacy deployment input; own-account isolation ignores it. */
29
+ zaiCredentialRef?: string;
30
+ /** @deprecated Test/old API compatibility only; must never be invoked. */
31
+ resolveCredential?: (ref: string) => Promise<string | undefined>;
32
+ maxConcurrent: number;
33
+ timeoutMs: number;
34
+ graceMs: number;
35
+ maxLineBytes: number;
36
+ maxRunBytes: number;
37
+ maxTimelineItems: number;
38
+ }
39
+ export declare const DEFAULT_CONFIG: RuntimeConfig;
40
+ export declare function projectDirectory(input: string): string;
41
+ export declare function agyArguments(executable: string, project: string, preference: Preference, mode: TaskMode, prompt: string, timeoutMs: number, conversationId?: string): string[];
42
+ /** Bound discovery and always await managed process cleanup. No agent prompt is sent. */
43
+ export declare function discoverModels(backend: ProcessBackend, config: RuntimeConfig, cwd: string, signal: AbortSignal): Promise<ModelChoice[]>;
@@ -0,0 +1,134 @@
1
+ import { accessSync, constants, realpathSync, statSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { isAbsolute, parse, resolve, sep } from 'node:path';
4
+ /** A process range is still unconfirmed; callers must stop admitting work. */
5
+ export class ProcessCleanupUnconfirmedError extends Error {
6
+ constructor() {
7
+ super('CLI catalog process cleanup did not reach quiescence');
8
+ this.name = 'ProcessCleanupUnconfirmedError';
9
+ }
10
+ }
11
+ export const DEFAULT_CONFIG = {
12
+ executable: 'agy',
13
+ maxConcurrent: 2,
14
+ timeoutMs: 1_800_000,
15
+ graceMs: 5000,
16
+ maxLineBytes: 1_048_576,
17
+ maxRunBytes: 16_777_216,
18
+ maxTimelineItems: 1000,
19
+ };
20
+ export function projectDirectory(input) {
21
+ if (!isAbsolute(input))
22
+ throw new Error('Project must be an absolute directory');
23
+ const path = realpathSync(input);
24
+ const home = realpathSync(homedir());
25
+ const key = (value) => process.platform === 'win32' ? value.toLowerCase() : value;
26
+ if (key(path) === key(parse(path).root) || key(path) === key(home) || key(home).startsWith(key(path + sep)))
27
+ throw new Error('Refusing a root or home directory as workspace');
28
+ const forbidden = [
29
+ '.ssh',
30
+ '.aws',
31
+ '.codex',
32
+ '.claude',
33
+ '.kimi-code',
34
+ '.config/mimocode',
35
+ '.local/share/mimocode',
36
+ '.agents',
37
+ '.grok',
38
+ '.pi',
39
+ '.omp',
40
+ '.dsh',
41
+ '.hermes',
42
+ '.zcode',
43
+ '.local/share/opencode',
44
+ '.gemini',
45
+ '.config',
46
+ 'Library/Keychains',
47
+ 'Library/Application Support/Google',
48
+ 'Library/Application Support/Microsoft Edge',
49
+ ];
50
+ if (forbidden.some((name) => {
51
+ const root = resolve(home, name);
52
+ return key(path) === key(root) || key(path).startsWith(key(root + sep));
53
+ }))
54
+ throw new Error('Refusing a credential or application configuration directory');
55
+ if (!statSync(path).isDirectory())
56
+ throw new Error('Project is not a directory');
57
+ accessSync(path, constants.R_OK | constants.X_OK);
58
+ return path;
59
+ }
60
+ export function agyArguments(executable, project, preference, mode, prompt, timeoutMs, conversationId) {
61
+ // --disable-slash-commands also disables --mode plan in agy 1.2.16.
62
+ // Prefix plain task text instead, and keep the native mode effective.
63
+ return [
64
+ executable,
65
+ '--add-dir',
66
+ project,
67
+ '--sandbox',
68
+ '--dangerously-skip-permissions',
69
+ '--mode',
70
+ mode,
71
+ '--model',
72
+ preference.model,
73
+ ...(preference.effort === 'default' ? [] : ['--effort', preference.effort]),
74
+ '--output-format',
75
+ 'stream-json',
76
+ '--print-timeout',
77
+ `${Math.ceil(timeoutMs / 1000)}s`,
78
+ ...(conversationId ? ['--conversation', conversationId] : []),
79
+ '--print',
80
+ `任务:\n${prompt}`,
81
+ ];
82
+ }
83
+ /** Bound discovery and always await managed process cleanup. No agent prompt is sent. */
84
+ export async function discoverModels(backend, config, cwd, signal) {
85
+ const executable = await backend.resolveExecutable(config.executable);
86
+ signal.throwIfAborted();
87
+ const control = AbortSignal.any([signal, AbortSignal.timeout(30_000)]);
88
+ const process = backend.spawn({
89
+ argv: [executable, 'models'],
90
+ cwd,
91
+ stdio: { stdin: 'ignore', stdout: 'pipe', stderr: 'pipe' },
92
+ graceMs: config.graceMs,
93
+ signal: control,
94
+ });
95
+ void process.done.catch(() => undefined);
96
+ let stdout = '';
97
+ let stderr = '';
98
+ const read = async (stream, out) => {
99
+ if (stream)
100
+ for await (const chunk of stream)
101
+ out(String(chunk));
102
+ };
103
+ try {
104
+ await Promise.all([
105
+ read(process.stdout, (s) => {
106
+ stdout += s;
107
+ if (stdout.length > config.maxLineBytes)
108
+ throw new Error('Model catalog too large');
109
+ }),
110
+ read(process.stderr, (s) => {
111
+ stderr = (stderr + s).slice(-4096);
112
+ }),
113
+ ]);
114
+ const outcome = await process.done;
115
+ control.throwIfAborted();
116
+ if (outcome.exitCode !== 0)
117
+ throw new Error(`无法读取 Antigravity 模型:${stderr || outcome.exitCode}`);
118
+ const models = stdout.split(/\r?\n/).flatMap((line) => {
119
+ const [id, ...label] = line.split('\t');
120
+ return id && label.length && /^[A-Za-z0-9_.:/-]+$/.test(id)
121
+ ? [{ id, label: label.join(' ').trim() }]
122
+ : [];
123
+ });
124
+ if (!models.length)
125
+ throw new Error('Antigravity returned no model catalog; check login with agy models');
126
+ return models;
127
+ }
128
+ finally {
129
+ process.terminate();
130
+ await process.waitForExit();
131
+ await process.done.catch(() => undefined);
132
+ }
133
+ }
134
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/host/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { WorkerEvent } from '../shared/types.ts';
2
+ export interface ProtocolResult {
3
+ conversationId: string;
4
+ status: string;
5
+ response: string;
6
+ error?: string;
7
+ }
8
+ export type EventInput = Omit<WorkerEvent, 'seq' | 'runId' | 'time'>;
9
+ /** Antigravity 1.2.16 NDJSON framing, including split UTF-8 characters. */
10
+ export declare class AgyProtocol {
11
+ private emit;
12
+ private identify;
13
+ private maxLineBytes;
14
+ private decoder;
15
+ private pending;
16
+ result?: ProtocolResult;
17
+ conversationId?: string;
18
+ constructor(emit: (event: EventInput) => void, identify: (id: string) => void, maxLineBytes: number);
19
+ feed(chunk: Buffer | string): void;
20
+ end(): void;
21
+ private id;
22
+ private line;
23
+ }