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":"index.js","sourceRoot":"","sources":["../../../src/host/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { AccountIdentity } from './account-identity.ts';
2
+ export declare const KIMI_MANAGE_LOGIN = "\u5DF2\u767B\u5F55 Kimi\u3002\u82E5\u51FA\u73B0 Trust \u63D0\u793A\uFF0C\u8BF7\u81EA\u884C\u786E\u8BA4\u6B64\u7A7A\u8D26\u53F7\u76EE\u5F55\uFF1B\u5207\u6362\u8D26\u53F7\u8F93\u5165 /logout\uFF0C\u518D\u8F93\u5165 /login\u3002";
3
+ /** Native Kimi has no --no-mcp switch and asks Trust even for an empty folder.
4
+ * Its findGitWorkTree stops at the first .git directory. An empty owned marker
5
+ * keeps project MCP lookup here even when plugin state lives under a repository.
6
+ * Never mark the folder trusted or change the native account home. */
7
+ export declare function prepareKimiAccountDirectory(stateDirectory: string, signal: AbortSignal): Promise<{
8
+ cwd: string;
9
+ cleanup: () => Promise<void>;
10
+ }>;
11
+ /** No-follow, bounded read; never refreshes, creates or modifies the native token. */
12
+ export declare function readKimiOwnToken(directory: string, slot: string, signal: AbortSignal): Promise<Record<string, any> | undefined>;
13
+ /** Consume native `provider list --json` internally; only safe identity metadata escapes. */
14
+ export declare function readKimiAccount(raw: string, signal: AbortSignal, options?: {
15
+ home?: string;
16
+ now?: number;
17
+ }): Promise<AccountIdentity>;
@@ -0,0 +1,220 @@
1
+ import { constants } from 'node:fs';
2
+ import { lstat, mkdir, mkdtemp, open, realpath, rm, writeFile } from 'node:fs/promises';
3
+ import { homedir } from 'node:os';
4
+ import { basename, join, resolve } from 'node:path';
5
+ import { safePiOmpAncestors } from "./pi-omp-native.js";
6
+ const object = (value) => !!value && typeof value === 'object' && !Array.isArray(value);
7
+ const text = (value) => typeof value === 'string' && !!value.trim();
8
+ const literal = (value) => text(value) && !/^(?:!|\$|\{|<|your[_ -]|placeholder|changeme)/i.test(value) && !/[\x00-\x20]/.test(value);
9
+ const unavailable = () => ({
10
+ state: 'unavailable',
11
+ verification: 'local',
12
+ summary: 'Kimi 登录状态读取失败,请检查配置',
13
+ });
14
+ export const KIMI_MANAGE_LOGIN = '已登录 Kimi。若出现 Trust 提示,请自行确认此空账号目录;切换账号输入 /logout,再输入 /login。';
15
+ /** Native Kimi has no --no-mcp switch and asks Trust even for an empty folder.
16
+ * Its findGitWorkTree stops at the first .git directory. An empty owned marker
17
+ * keeps project MCP lookup here even when plugin state lives under a repository.
18
+ * Never mark the folder trusted or change the native account home. */
19
+ export async function prepareKimiAccountDirectory(stateDirectory, signal) {
20
+ signal.throwIfAborted();
21
+ const parent = join(resolve(stateDirectory), 'account-runtime');
22
+ await safePiOmpAncestors(parent);
23
+ await mkdir(parent, { recursive: true, mode: 0o700 });
24
+ await safePiOmpAncestors(parent);
25
+ const canonicalParent = await realpath(parent);
26
+ const parentIdentity = await lstat(canonicalParent);
27
+ const cwd = await mkdtemp(join(canonicalParent, 'kimi-'));
28
+ const identity = await lstat(cwd);
29
+ let removed = false;
30
+ const cleanup = async () => {
31
+ if (removed)
32
+ return;
33
+ const parentNow = await lstat(canonicalParent);
34
+ if (parentNow.isSymbolicLink() ||
35
+ parentNow.dev !== parentIdentity.dev ||
36
+ parentNow.ino !== parentIdentity.ino)
37
+ throw new Error('Kimi account runtime parent changed before cleanup');
38
+ try {
39
+ const current = await lstat(cwd);
40
+ if (current.isSymbolicLink() || current.dev !== identity.dev || current.ino !== identity.ino)
41
+ throw new Error('Kimi account runtime changed before cleanup');
42
+ await rm(cwd, { recursive: true, force: true });
43
+ removed = true;
44
+ }
45
+ catch (error) {
46
+ if (error.code === 'ENOENT')
47
+ removed = true;
48
+ else
49
+ throw error;
50
+ }
51
+ };
52
+ try {
53
+ await mkdir(join(cwd, '.git'), { mode: 0o700 });
54
+ await mkdir(join(cwd, '.kimi-code'), { mode: 0o700 });
55
+ for (const path of [join(cwd, '.mcp.json'), join(cwd, '.kimi-code/mcp.json')])
56
+ await writeFile(path, '{"mcpServers":{}}\n', { flag: 'wx', mode: 0o600 });
57
+ signal.throwIfAborted();
58
+ return { cwd, cleanup };
59
+ }
60
+ catch (error) {
61
+ await cleanup();
62
+ throw error;
63
+ }
64
+ }
65
+ /** Installed Kimi toolkit.resolveKimiTokenStorageName, constrained to one own file. */
66
+ function tokenSlot(key) {
67
+ if (key === 'kimi-code' || key === 'oauth/kimi-code')
68
+ return 'kimi-code';
69
+ if (!text(key))
70
+ throw new Error('Unknown Kimi OAuth slot');
71
+ const slot = key.startsWith('oauth/') ? key.slice(6) : key;
72
+ if (!slot || basename(slot) !== slot || slot.startsWith('.') || /[\\\x00-\x1f]/.test(slot))
73
+ throw new Error('Unsafe Kimi OAuth slot');
74
+ return slot;
75
+ }
76
+ /** Display metadata only, never a JWT verification or an authentication decision.
77
+ * Native stableJwtSubject uses sub, then user_id. Recognize the observed native
78
+ * kimi-auth issuer and omit ambiguous/unknown identities without changing login.
79
+ * The label contains six decoded account-ID characters, never token characters. */
80
+ function kimiAccountLabel(accessToken) {
81
+ const parts = accessToken.split('.');
82
+ if (parts.length !== 3 ||
83
+ !parts.every((part) => part.length > 0 && /^[A-Za-z0-9_-]+$/.test(part)) ||
84
+ parts[1].length > 16 * 1024)
85
+ return undefined;
86
+ let bytes;
87
+ try {
88
+ bytes = Buffer.from(parts[1], 'base64url');
89
+ if (bytes.toString('base64url') !== parts[1])
90
+ return undefined;
91
+ const claims = JSON.parse(bytes.toString('utf8'));
92
+ if (!object(claims) || claims.iss !== 'kimi-auth')
93
+ return undefined;
94
+ const safeId = (value) => typeof value === 'string' &&
95
+ /^[A-Za-z0-9][A-Za-z0-9_-]{6,127}$/.test(value) &&
96
+ !/^(?:sk[-_]|pk[-_]|api[-_]?key|access[-_]?token|refresh[-_]?token|secret|bearer|token|eyJ|placeholder|changeme|your[-_])/i.test(value);
97
+ if ((claims.sub !== undefined && !safeId(claims.sub)) ||
98
+ (claims.user_id !== undefined && !safeId(claims.user_id)) ||
99
+ (claims.sub !== undefined && claims.user_id !== undefined && claims.sub !== claims.user_id))
100
+ return undefined;
101
+ const id = claims.sub ?? claims.user_id;
102
+ return safeId(id) ? `Kimi ID · …${id.slice(-6)}` : undefined;
103
+ }
104
+ catch {
105
+ return undefined;
106
+ }
107
+ finally {
108
+ bytes?.fill(0);
109
+ }
110
+ }
111
+ /** No-follow, bounded read; never refreshes, creates or modifies the native token. */
112
+ export async function readKimiOwnToken(directory, slot, signal) {
113
+ let handle;
114
+ let bytes;
115
+ try {
116
+ signal.throwIfAborted();
117
+ if (tokenSlot(slot) !== slot)
118
+ throw new Error('Unsafe Kimi token slot');
119
+ await safePiOmpAncestors(directory);
120
+ const path = join(directory, `${slot}.json`);
121
+ const entry = await lstat(path);
122
+ if (entry.isSymbolicLink() || !entry.isFile() || entry.nlink !== 1)
123
+ throw new Error('Unsafe Kimi token file');
124
+ handle = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
125
+ const before = await handle.stat();
126
+ if (!before.isFile() ||
127
+ before.nlink !== 1 ||
128
+ before.dev !== entry.dev ||
129
+ before.ino !== entry.ino ||
130
+ before.size > 64 * 1024)
131
+ throw new Error('Unsafe Kimi token file');
132
+ bytes = Buffer.alloc(before.size + 1);
133
+ let offset = 0;
134
+ while (offset < bytes.length) {
135
+ signal.throwIfAborted();
136
+ const { bytesRead } = await handle.read(bytes, offset, bytes.length - offset, offset);
137
+ if (!bytesRead)
138
+ break;
139
+ offset += bytesRead;
140
+ }
141
+ const after = await handle.stat();
142
+ const current = await lstat(path);
143
+ if (current.isSymbolicLink() ||
144
+ current.dev !== before.dev ||
145
+ current.ino !== before.ino ||
146
+ current.nlink !== 1 ||
147
+ offset !== before.size ||
148
+ after.size !== before.size ||
149
+ after.mtimeMs !== before.mtimeMs ||
150
+ current.size !== after.size ||
151
+ current.mtimeMs !== after.mtimeMs)
152
+ throw new Error('Kimi token changed during read');
153
+ signal.throwIfAborted();
154
+ const parsed = JSON.parse(bytes.subarray(0, offset).toString('utf8'));
155
+ if (!object(parsed))
156
+ throw new Error('Invalid Kimi token file');
157
+ return parsed;
158
+ }
159
+ catch (error) {
160
+ if (error.code === 'ENOENT')
161
+ return undefined;
162
+ throw error;
163
+ }
164
+ finally {
165
+ bytes?.fill(0);
166
+ await handle?.close();
167
+ }
168
+ }
169
+ /** Consume native `provider list --json` internally; only safe identity metadata escapes. */
170
+ export async function readKimiAccount(raw, signal, options = {}) {
171
+ try {
172
+ signal.throwIfAborted();
173
+ const config = JSON.parse(raw);
174
+ if (!object(config) || !object(config.providers))
175
+ return unavailable();
176
+ const providers = Object.values(config.providers).filter(object);
177
+ const api = providers.some((provider) => !provider.oauth && (literal(provider.apiKey) || literal(provider.env?.KIMI_API_KEY)));
178
+ const configured = api
179
+ ? { state: 'configured', verification: 'local', authMethod: 'api', summary: '已配置 Kimi API' }
180
+ : { state: 'unconfigured', verification: 'local', summary: '尚未登录 Kimi' };
181
+ const provider = config.providers['managed:kimi-code'];
182
+ if (!object(provider) || provider.oauth === undefined)
183
+ return configured;
184
+ if (provider.type !== 'kimi' || !object(provider.oauth) || provider.oauth.storage !== 'file')
185
+ return { state: 'unknown', verification: 'local', summary: 'Kimi 登录配置暂不支持,请打开账号终端' };
186
+ const slot = tokenSlot(provider.oauth.key);
187
+ const token = await readKimiOwnToken(join(options.home ?? process.env.KIMI_CODE_HOME ?? join(homedir(), '.kimi-code'), 'credentials'), slot, signal);
188
+ if (!token)
189
+ return configured;
190
+ // Native classifyToken treats an empty access token as a revoked tombstone,
191
+ // including one with an old refresh token. Expiry is negative evidence only.
192
+ if (token.access_token === '' || token.access_token === undefined)
193
+ return api
194
+ ? configured
195
+ : { state: 'unauthenticated', verification: 'local', summary: 'Kimi 登录已失效,请重新登录' };
196
+ if (!text(token.access_token) ||
197
+ (token.refresh_token !== undefined && typeof token.refresh_token !== 'string') ||
198
+ (token.expires_at !== undefined &&
199
+ (typeof token.expires_at !== 'number' || !Number.isFinite(token.expires_at) || token.expires_at < 0)))
200
+ return unavailable();
201
+ const expires = token.expires_at ?? 0;
202
+ if (expires > 0 && expires * 1000 <= (options.now ?? Date.now()) && !text(token.refresh_token))
203
+ return api
204
+ ? configured
205
+ : { state: 'unauthenticated', verification: 'local', summary: 'Kimi 登录已过期,请重新登录' };
206
+ const accountLabel = kimiAccountLabel(token.access_token);
207
+ return {
208
+ state: 'authenticated',
209
+ authMethod: 'oauth',
210
+ verification: 'local',
211
+ summary: '已登录 Kimi',
212
+ ...(accountLabel ? { accountLabel } : {}),
213
+ };
214
+ }
215
+ catch {
216
+ signal.throwIfAborted();
217
+ return unavailable();
218
+ }
219
+ }
220
+ //# sourceMappingURL=kimi-accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-accounts.js","sourceRoot":"","sources":["../../../src/host/kimi-accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { FirstPartyModelSource } from './first-party-models.ts';
2
+ import type { AccountModelScope, probeAccountModels } from './account-models.mjs';
3
+ export declare class KimiOAuthModelError extends Error {
4
+ readonly code = "KIMI_OAUTH_UNAVAILABLE";
5
+ constructor(message: string);
6
+ }
7
+ /** This is host-only credential material. Do not return it through Gateway or persist it. */
8
+ export declare function readKimiOAuthModelSources(raw: unknown, sourceId: string, signal: AbortSignal, options?: {
9
+ home?: string;
10
+ now?: number;
11
+ }): Promise<FirstPartyModelSource[]>;
12
+ /** Current native subscription quota is required; a public models list is never sufficient. */
13
+ export declare function kimiQuotaRemaining(raw: unknown): 'available' | 'exhausted' | 'unknown';
14
+ export declare function probeKimiOAuthModels(source: FirstPartyModelSource, options?: Parameters<typeof probeAccountModels>[1]): Promise<AccountModelScope>;
@@ -0,0 +1,246 @@
1
+ import { homedir } from 'node:os';
2
+ import { isAbsolute, join } from 'node:path';
3
+ import { readKimiOwnToken } from "./kimi-accounts.js";
4
+ const record = (value) => !!value && typeof value === 'object' && !Array.isArray(value);
5
+ const id = (value) => typeof value === 'string' && /^[A-Za-z0-9][A-Za-z0-9._:/-]*$/.test(value);
6
+ const BASES = new Set(['https://api.kimi.com/coding/v1', 'https://api.kimi.ai/coding/v1']);
7
+ const PROVIDER = 'managed:kimi-code';
8
+ const nearExpiry = (expires, now) => typeof expires !== 'number' || !Number.isFinite(expires) || expires <= now + 30_000;
9
+ export class KimiOAuthModelError extends Error {
10
+ code = 'KIMI_OAUTH_UNAVAILABLE';
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = 'KimiOAuthModelError';
14
+ }
15
+ }
16
+ const unavailable = () => new KimiOAuthModelError('Kimi OAuth 配置来源暂无法核验,请检查该 CLI 配置');
17
+ const expired = () => new KimiOAuthModelError('Kimi 登录凭据已过期或即将过期,请打开账号终端完成原生续期或重新登录');
18
+ /** JWT fields label the stable account only. The server must independently accept this token. */
19
+ function ownPrincipal(access) {
20
+ const parts = access.split('.');
21
+ if (parts.length !== 3 ||
22
+ parts[1].length > 16 * 1024 ||
23
+ !parts.every((part) => /^[A-Za-z0-9_-]+$/.test(part)))
24
+ return;
25
+ const bytes = Buffer.from(parts[1], 'base64url');
26
+ try {
27
+ if (bytes.toString('base64url') !== parts[1])
28
+ return;
29
+ const claims = JSON.parse(bytes.toString('utf8'));
30
+ if (!record(claims) || claims.iss !== 'kimi-auth')
31
+ return;
32
+ const subject = claims.sub ?? claims.user_id;
33
+ if (typeof subject !== 'string' || !/^[A-Za-z0-9][A-Za-z0-9_-]{6,127}$/.test(subject))
34
+ return;
35
+ if (claims.sub !== undefined && claims.user_id !== undefined && claims.sub !== claims.user_id)
36
+ return;
37
+ return subject;
38
+ }
39
+ catch {
40
+ return;
41
+ }
42
+ finally {
43
+ bytes.fill(0);
44
+ }
45
+ }
46
+ /** This is host-only credential material. Do not return it through Gateway or persist it. */
47
+ export async function readKimiOAuthModelSources(raw, sourceId, signal, options = {}) {
48
+ signal.throwIfAborted();
49
+ if (!record(raw) || !record(raw.providers) || !record(raw.models))
50
+ return [];
51
+ const provider = raw.providers[PROVIDER];
52
+ if (!record(provider) || provider.oauth === undefined)
53
+ return [];
54
+ const baseUrl = typeof provider.baseUrl === 'string' ? provider.baseUrl.replace(/\/+$/, '') : '';
55
+ if (provider.type !== 'kimi' ||
56
+ !BASES.has(baseUrl) ||
57
+ !record(provider.oauth) ||
58
+ provider.oauth.storage !== 'file' ||
59
+ !['oauth/kimi-code', 'kimi-code'].includes(provider.oauth.key) ||
60
+ (provider.oauth.oauthHost !== undefined && provider.oauth.oauthHost !== 'https://auth.kimi.com') ||
61
+ provider.apiKey ||
62
+ provider.apiKeyEnv ||
63
+ provider.env ||
64
+ provider.customHeaders ||
65
+ ['KIMI_CODE_BASE_URL', 'KIMI_CODE_OAUTH_HOST', 'KIMI_OAUTH_HOST', 'KIMI_CODE_CUSTOM_HEADERS'].some((key) => process.env[key]))
66
+ throw unavailable();
67
+ const home = options.home ?? process.env.KIMI_CODE_HOME ?? join(homedir(), '.kimi-code');
68
+ if (!isAbsolute(home))
69
+ throw unavailable();
70
+ let token;
71
+ try {
72
+ token = await readKimiOwnToken(join(home, 'credentials'), 'kimi-code', signal);
73
+ }
74
+ catch {
75
+ signal.throwIfAborted();
76
+ throw unavailable();
77
+ }
78
+ if (!token || typeof token.access_token !== 'string' || !token.access_token.trim())
79
+ throw new KimiOAuthModelError('Kimi OAuth 尚未登录或已退出,请打开账号终端登录');
80
+ const expires = typeof token.expires_at === 'number' ? token.expires_at * 1000 : undefined;
81
+ if (nearExpiry(expires, options.now ?? Date.now()))
82
+ throw expired();
83
+ const accountId = ownPrincipal(token.access_token);
84
+ if (!accountId || (token.token_type !== undefined && String(token.token_type).toLowerCase() !== 'bearer'))
85
+ throw unavailable();
86
+ const nativeModels = [];
87
+ for (const [alias, model] of Object.entries(raw.models)) {
88
+ if (!record(model) ||
89
+ model.provider !== PROVIDER ||
90
+ !id(model.model) ||
91
+ alias !== `kimi-code/${model.model}`)
92
+ continue;
93
+ if (model.oauth || model.providerId || model.apiKey || model.baseUrl || model.customHeaders)
94
+ continue;
95
+ if (model.protocol !== undefined &&
96
+ !['kimi', 'openai', 'openai_responses', 'anthropic'].includes(model.protocol))
97
+ continue;
98
+ nativeModels.push({
99
+ remoteId: model.model,
100
+ choice: {
101
+ id: alias,
102
+ label: typeof model.displayName === 'string' ? model.displayName : alias,
103
+ efforts: ['default'],
104
+ },
105
+ });
106
+ }
107
+ signal.throwIfAborted();
108
+ return nativeModels.length
109
+ ? [
110
+ {
111
+ provider: PROVIDER,
112
+ credential: { type: 'oauth', access: token.access_token, expires, accountId },
113
+ baseUrl,
114
+ apiType: 'kimi-managed-oauth',
115
+ sourceIds: [sourceId, join(home, 'credentials/kimi-code.json'), 'native:kimi-managed-oauth'],
116
+ nativeModels,
117
+ },
118
+ ]
119
+ : [];
120
+ }
121
+ async function responseJson(response, signal) {
122
+ if (!response.body)
123
+ throw new KimiOAuthModelError('Kimi 模型或额度响应格式无法确认,请稍后刷新');
124
+ const reader = response.body.getReader(), chunks = [];
125
+ let bytes = 0;
126
+ try {
127
+ while (true) {
128
+ signal.throwIfAborted();
129
+ const item = await reader.read();
130
+ if (item.done)
131
+ break;
132
+ bytes += item.value.byteLength;
133
+ if (bytes > 1_048_576)
134
+ throw new KimiOAuthModelError('Kimi 模型或额度响应过大,请稍后刷新');
135
+ chunks.push(item.value);
136
+ }
137
+ const buffer = Buffer.concat(chunks);
138
+ try {
139
+ return JSON.parse(buffer.toString('utf8'));
140
+ }
141
+ finally {
142
+ buffer.fill(0);
143
+ }
144
+ }
145
+ finally {
146
+ await reader.cancel().catch(() => undefined);
147
+ reader.releaseLock();
148
+ for (const chunk of chunks)
149
+ chunk.fill(0);
150
+ }
151
+ }
152
+ /** Current native subscription quota is required; a public models list is never sufficient. */
153
+ export function kimiQuotaRemaining(raw) {
154
+ if (!record(raw) || !record(raw.usages))
155
+ return 'unknown';
156
+ const entries = ['limit_5h', 'limit_7d', 'limit_month_total', 'limit_month_code']
157
+ .filter((key) => raw.usages[key] !== undefined)
158
+ .map((key) => raw.usages[key]);
159
+ if (!entries.length)
160
+ return 'unknown';
161
+ const ratios = entries.map((entry) => {
162
+ if (!record(entry) || (typeof entry.used_ratio !== 'number' && typeof entry.used_ratio !== 'string'))
163
+ return NaN;
164
+ if (typeof entry.used_ratio === 'string' && !entry.used_ratio.trim())
165
+ return NaN;
166
+ return Number(entry.used_ratio);
167
+ });
168
+ if (ratios.some((ratio) => !Number.isFinite(ratio) || ratio < 0))
169
+ return 'unknown';
170
+ return ratios.some((ratio) => ratio >= 1) ? 'exhausted' : 'available';
171
+ }
172
+ export async function probeKimiOAuthModels(source, options = {}) {
173
+ const signal = options.signal ?? new AbortController().signal;
174
+ signal.throwIfAborted();
175
+ if (source.provider !== PROVIDER ||
176
+ source.apiType !== 'kimi-managed-oauth' ||
177
+ !BASES.has(source.baseUrl || '') ||
178
+ source.credential.type !== 'oauth' ||
179
+ typeof source.credential.access !== 'string' ||
180
+ !source.credential.accountId ||
181
+ ownPrincipal(source.credential.access) !== source.credential.accountId)
182
+ throw unavailable();
183
+ if (nearExpiry(source.credential.expires, Date.now()))
184
+ throw expired();
185
+ const cancel = new AbortController();
186
+ const control = AbortSignal.any([signal, cancel.signal, AbortSignal.timeout(options.timeoutMs ?? 8_000)]);
187
+ const request = async (name) => {
188
+ try {
189
+ const response = await (options.fetch ?? fetch)(`${source.baseUrl}/${name}`, {
190
+ headers: { Authorization: `Bearer ${source.credential.access}`, Accept: 'application/json' },
191
+ redirect: 'error',
192
+ signal: control,
193
+ });
194
+ if (!response.ok) {
195
+ await response.body?.cancel();
196
+ if ([401, 403].includes(response.status))
197
+ throw new KimiOAuthModelError('Kimi 登录或订阅授权未通过,请打开账号终端检查登录与额度');
198
+ throw new KimiOAuthModelError('Kimi 模型或额度查询暂不可用,请稍后刷新');
199
+ }
200
+ return await responseJson(response, control);
201
+ }
202
+ catch (error) {
203
+ signal.throwIfAborted();
204
+ if (error instanceof KimiOAuthModelError)
205
+ throw error;
206
+ throw new KimiOAuthModelError('Kimi 模型或额度查询失败,请检查网络后刷新');
207
+ }
208
+ };
209
+ const requests = [request('models'), request('usages')];
210
+ try {
211
+ const [models, usages] = await Promise.all(requests);
212
+ signal.throwIfAborted();
213
+ if (nearExpiry(source.credential.expires, Date.now()))
214
+ throw expired();
215
+ const quota = kimiQuotaRemaining(usages);
216
+ if (quota === 'exhausted')
217
+ throw new KimiOAuthModelError('Kimi 当前账号额度已用尽,请等待重置或检查订阅');
218
+ if (quota !== 'available')
219
+ throw new KimiOAuthModelError('Kimi 当前账号剩余额度暂无法确认,请在账号终端检查后刷新');
220
+ if (!record(models) || !Array.isArray(models.data))
221
+ throw new KimiOAuthModelError('Kimi 模型目录格式无法确认,请稍后刷新');
222
+ return {
223
+ state: 'supported',
224
+ source: 'account-models',
225
+ models: models.data
226
+ .filter((model) => record(model) &&
227
+ id(model.id) &&
228
+ Number.isInteger(Number(model.context_length)) &&
229
+ Number(model.context_length) > 0 &&
230
+ model.available !== false &&
231
+ model.allowed !== false &&
232
+ model.disabled !== true &&
233
+ model.entitled !== false)
234
+ .map((model) => ({
235
+ id: model.id,
236
+ name: typeof model.display_name === 'string' ? model.display_name : undefined,
237
+ cost: 'unknown',
238
+ })),
239
+ };
240
+ }
241
+ finally {
242
+ cancel.abort();
243
+ await Promise.allSettled(requests);
244
+ }
245
+ }
246
+ //# sourceMappingURL=kimi-oauth-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-oauth-models.js","sourceRoot":"","sources":["../../../src/host/kimi-oauth-models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SubprocessHandle, SubprocessSpawnSpec } from '@deepseek-ai/dsh-subprocess';
2
+ import type { ProcessBackend } from './process.ts';
3
+ /** Preserve pipes while using Harness's stronger terminal descendant ownership. */
4
+ export declare function spawnManagedAgent(backend: ProcessBackend, spec: SubprocessSpawnSpec): Promise<SubprocessHandle>;