@jingyi0605/codingns 0.7.4 → 0.8.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 (416) hide show
  1. package/README.md +6 -0
  2. package/bin/codingns.mjs +747 -28
  3. package/bin/office-mcp-server.mjs +620 -0
  4. package/dist/public/assets/{AdaptiveButlerPage-CgBX49t-.js → AdaptiveButlerPage-BsgVNRAa.js} +1 -1
  5. package/dist/public/assets/{App-tXOqoHNl.js → App-tPcbyRdS.js} +3 -3
  6. package/dist/public/assets/{BootstrapPage-DoRMz87R.js → BootstrapPage--MDOigQi.js} +1 -1
  7. package/dist/public/assets/{ConversationPage-DXR6Hp4O.js → ConversationPage-BBss5ED8.js} +6 -6
  8. package/dist/public/assets/{DesktopDetachPreviewPage-Cyk-ZYCk.js → DesktopDetachPreviewPage-CB8DoqwU.js} +1 -1
  9. package/dist/public/assets/{DesktopWindowPage-DNVNK3hs.js → DesktopWindowPage-GtIx5m8K.js} +1 -1
  10. package/dist/public/assets/FileContextPanel-BcM7AIT4.js +1 -0
  11. package/dist/public/assets/{GitSidebar-Cr3Z9OUI.js → GitSidebar-CMtkaxuI.js} +2 -2
  12. package/dist/public/assets/{MobileCreateSessionSheet-DMW0V6GJ.js → MobileCreateSessionSheet-CrFY41_8.js} +1 -1
  13. package/dist/public/assets/{MobileTopHeaderFrame-CkdnZ_MU.js → MobileTopHeaderFrame-DGVOzXyg.js} +1 -1
  14. package/dist/public/assets/{MobileWorkspaceSwitcherHeader-KIbqBYJN.js → MobileWorkspaceSwitcherHeader-DLkACTnQ.js} +1 -1
  15. package/dist/public/assets/{RelayConnectEntryPage-DIRBH3hw.js → RelayConnectEntryPage-0MPPjxtQ.js} +1 -1
  16. package/dist/public/assets/{ServerSettingsModal-C-9RxdWP.js → ServerSettingsModal-vgOhwus4.js} +1 -1
  17. package/dist/public/assets/{SessionIndexPage-bRlIydRA.js → SessionIndexPage-KK626Ra9.js} +1 -1
  18. package/dist/public/assets/{SettingsPage-CMEt4ua9.js → SettingsPage-B3edBJIo.js} +2 -2
  19. package/dist/public/assets/{TerminalManagerPanel-2bi9wVhT.js → TerminalManagerPanel-BxlhZp8c.js} +1 -1
  20. package/dist/public/assets/{TerminalPage-DayZz2Tf.js → TerminalPage-B6Rdhylx.js} +1 -1
  21. package/dist/public/assets/{TerminalRuntimeFallbackModal-DgwYcp-Y.js → TerminalRuntimeFallbackModal-BVLfrpSa.js} +1 -1
  22. package/dist/public/assets/{ToolFilesPage-YvnP_FXW.js → ToolFilesPage-N_gwwUjD.js} +1 -1
  23. package/dist/public/assets/{ToolGitPage-GMcQKtV9.js → ToolGitPage-DOcuuWM1.js} +1 -1
  24. package/dist/public/assets/{ToolProcessesPage-DFIQ7BCd.js → ToolProcessesPage-D-FfJ7Re.js} +1 -1
  25. package/dist/public/assets/{ToolsHomePage-CSilFzXR.js → ToolsHomePage-CHfPxd20.js} +1 -1
  26. package/dist/public/assets/{WorkbenchLandingPage-1VtToSz9.js → WorkbenchLandingPage-CTTnfovY.js} +1 -1
  27. package/dist/public/assets/WorkbenchLayout-CbpJg0g1.js +244 -0
  28. package/dist/public/assets/{WorkbenchModal-BWXYSXmC.js → WorkbenchModal-Bt_1fYmM.js} +1 -1
  29. package/dist/public/assets/WorkbenchShellRoute-B4XB8SwG.css +1 -0
  30. package/dist/public/assets/WorkbenchShellRoute-DyaMnPfS.js +1 -0
  31. package/dist/public/assets/{WorkspaceDebugDetailPage-Ux8_Q7la.js → WorkspaceDebugDetailPage-s7yuDIxR.js} +1 -1
  32. package/dist/public/assets/{WorkspaceDetailPage-B402p99m.js → WorkspaceDetailPage-Cf-gVpqK.js} +1 -1
  33. package/dist/public/assets/{WorkspaceHomePage-D2pob6HI.js → WorkspaceHomePage-COf6I8sT.js} +1 -1
  34. package/dist/public/assets/{client-runtime-manager-C5D76ewj.js → client-runtime-manager-DGdKvYzx.js} +1 -1
  35. package/dist/public/assets/file-tree-icon-BeHqeru9.js +590 -0
  36. package/dist/public/assets/index-CcaQt50x.css +1 -0
  37. package/dist/public/assets/index-CuzMc7q2.js +42 -0
  38. package/dist/public/assets/{login-direct-candidate-resolver-wXSaB0i7.js → login-direct-candidate-resolver-DEP_xCmR.js} +1 -1
  39. package/dist/public/assets/{model-switch-api-CPtou49j.js → model-switch-api-c6kcbBGm.js} +1 -1
  40. package/dist/public/assets/{preferences-service-CdaK7zA8.js → preferences-service-CV6Ih0BG.js} +1 -1
  41. package/dist/public/assets/{realtime-client-BjQazYsK.js → realtime-client-CRCx5xBt.js} +1 -1
  42. package/dist/public/assets/{relay-entry-BwE5nw0l.js → relay-entry-C751A-Sm.js} +1 -1
  43. package/dist/public/assets/{terminal-runtime-meta-C-Lbyx2i.js → terminal-runtime-meta-CRAVR-8G.js} +1 -1
  44. package/dist/public/assets/{useRegisteredDebugTemplates-BM7-c-gx.js → useRegisteredDebugTemplates-D6YtNS0r.js} +1 -1
  45. package/dist/public/index.html +2 -2
  46. package/dist/server/config/env.d.ts +3 -0
  47. package/dist/server/config/env.js +67 -1
  48. package/dist/server/config/env.js.map +1 -1
  49. package/dist/server/config/opencode-base-url-resolver.d.ts +3 -2
  50. package/dist/server/config/opencode-base-url-resolver.js +64 -24
  51. package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
  52. package/dist/server/middlewares/auth-guard.js +4 -0
  53. package/dist/server/middlewares/auth-guard.js.map +1 -1
  54. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +168 -1
  55. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +205 -4
  56. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
  57. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +296 -2
  58. package/dist/server/modules/assistant-capability/assistant-capability-service.js +872 -3
  59. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  60. package/dist/server/modules/auth/auth-service.d.ts +21 -1
  61. package/dist/server/modules/auth/auth-service.js +64 -0
  62. package/dist/server/modules/auth/auth-service.js.map +1 -1
  63. package/dist/server/modules/browser-runtime/browser-profile-service.d.ts +26 -0
  64. package/dist/server/modules/browser-runtime/browser-profile-service.js +85 -0
  65. package/dist/server/modules/browser-runtime/browser-profile-service.js.map +1 -0
  66. package/dist/server/modules/browser-runtime/browser-runtime-controller.d.ts +69 -0
  67. package/dist/server/modules/browser-runtime/browser-runtime-controller.js +83 -0
  68. package/dist/server/modules/browser-runtime/browser-runtime-controller.js.map +1 -0
  69. package/dist/server/modules/browser-runtime/browser-runtime-service.d.ts +56 -0
  70. package/dist/server/modules/browser-runtime/browser-runtime-service.js +215 -0
  71. package/dist/server/modules/browser-runtime/browser-runtime-service.js.map +1 -0
  72. package/dist/server/modules/browser-runtime/browser-task-execution-support.d.ts +65 -0
  73. package/dist/server/modules/browser-runtime/browser-task-execution-support.js +432 -0
  74. package/dist/server/modules/browser-runtime/browser-task-execution-support.js.map +1 -0
  75. package/dist/server/modules/browser-runtime/browser-task-executor-registry.d.ts +7 -0
  76. package/dist/server/modules/browser-runtime/browser-task-executor-registry.js +21 -0
  77. package/dist/server/modules/browser-runtime/browser-task-executor-registry.js.map +1 -0
  78. package/dist/server/modules/browser-runtime/browser-task-executor.d.ts +55 -0
  79. package/dist/server/modules/browser-runtime/browser-task-executor.js +2 -0
  80. package/dist/server/modules/browser-runtime/browser-task-executor.js.map +1 -0
  81. package/dist/server/modules/browser-runtime/browser-task-payload.d.ts +31 -0
  82. package/dist/server/modules/browser-runtime/browser-task-payload.js +55 -0
  83. package/dist/server/modules/browser-runtime/browser-task-payload.js.map +1 -0
  84. package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.d.ts +19 -0
  85. package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js +219 -0
  86. package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js.map +1 -0
  87. package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.d.ts +15 -0
  88. package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.js +33 -0
  89. package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.js.map +1 -0
  90. package/dist/server/modules/browser-runtime/playwright-browser-executor.d.ts +16 -0
  91. package/dist/server/modules/browser-runtime/playwright-browser-executor.js +272 -0
  92. package/dist/server/modules/browser-runtime/playwright-browser-executor.js.map +1 -0
  93. package/dist/server/modules/butler/butler-auth-service.js +4 -0
  94. package/dist/server/modules/butler/butler-auth-service.js.map +1 -1
  95. package/dist/server/modules/butler/butler-inbox-instruction-adapter.js +1 -0
  96. package/dist/server/modules/butler/butler-inbox-instruction-adapter.js.map +1 -1
  97. package/dist/server/modules/butler/butler-session-summary-service.d.ts +1 -0
  98. package/dist/server/modules/butler/butler-session-summary-service.js +5 -3
  99. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  100. package/dist/server/modules/butler/butler-workspace-context.js +23 -0
  101. package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
  102. package/dist/server/modules/debug-target/debug-target-service.d.ts +2 -0
  103. package/dist/server/modules/debug-target/debug-target-service.js +14 -0
  104. package/dist/server/modules/debug-target/debug-target-service.js.map +1 -1
  105. package/dist/server/modules/document-runtime/document-docx-fallback-renderer.py +139 -0
  106. package/dist/server/modules/document-runtime/document-export-executor.d.ts +50 -0
  107. package/dist/server/modules/document-runtime/document-export-executor.js +827 -0
  108. package/dist/server/modules/document-runtime/document-export-executor.js.map +1 -0
  109. package/dist/server/modules/document-runtime/document-runtime-controller.d.ts +127 -0
  110. package/dist/server/modules/document-runtime/document-runtime-controller.js +131 -0
  111. package/dist/server/modules/document-runtime/document-runtime-controller.js.map +1 -0
  112. package/dist/server/modules/document-runtime/document-runtime-service.d.ts +125 -0
  113. package/dist/server/modules/document-runtime/document-runtime-service.js +706 -0
  114. package/dist/server/modules/document-runtime/document-runtime-service.js.map +1 -0
  115. package/dist/server/modules/office/office-controller.d.ts +77 -0
  116. package/dist/server/modules/office/office-controller.js +174 -0
  117. package/dist/server/modules/office/office-controller.js.map +1 -0
  118. package/dist/server/modules/office/office-preview-link-service.d.ts +27 -0
  119. package/dist/server/modules/office/office-preview-link-service.js +121 -0
  120. package/dist/server/modules/office/office-preview-link-service.js.map +1 -0
  121. package/dist/server/modules/office/office-service.d.ts +67 -0
  122. package/dist/server/modules/office/office-service.js +359 -0
  123. package/dist/server/modules/office/office-service.js.map +1 -0
  124. package/dist/server/modules/opencli/opencli-bridge-skill-service.js +38 -14
  125. package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -1
  126. package/dist/server/modules/opencli/opencli-install-discovery.d.ts +4 -0
  127. package/dist/server/modules/opencli/opencli-install-discovery.js +94 -0
  128. package/dist/server/modules/opencli/opencli-install-discovery.js.map +1 -1
  129. package/dist/server/modules/opencli/opencli-runtime-builder.js +29 -0
  130. package/dist/server/modules/opencli/opencli-runtime-builder.js.map +1 -1
  131. package/dist/server/modules/opencli/opencli-runtime-guard.d.ts +2 -0
  132. package/dist/server/modules/opencli/opencli-runtime-guard.js +5 -0
  133. package/dist/server/modules/opencli/opencli-runtime-guard.js.map +1 -0
  134. package/dist/server/modules/ops-runtime/ops-runtime-controller.d.ts +70 -0
  135. package/dist/server/modules/ops-runtime/ops-runtime-controller.js +83 -0
  136. package/dist/server/modules/ops-runtime/ops-runtime-controller.js.map +1 -0
  137. package/dist/server/modules/ops-runtime/ops-runtime-service.d.ts +80 -0
  138. package/dist/server/modules/ops-runtime/ops-runtime-service.js +327 -0
  139. package/dist/server/modules/ops-runtime/ops-runtime-service.js.map +1 -0
  140. package/dist/server/modules/ops-runtime/ssh-ops-executor.d.ts +41 -0
  141. package/dist/server/modules/ops-runtime/ssh-ops-executor.js +478 -0
  142. package/dist/server/modules/ops-runtime/ssh-ops-executor.js.map +1 -0
  143. package/dist/server/modules/presentation/presentation-controller.d.ts +22 -0
  144. package/dist/server/modules/presentation/presentation-controller.js +59 -0
  145. package/dist/server/modules/presentation/presentation-controller.js.map +1 -0
  146. package/dist/server/modules/presentation/presentation-export-task-service.d.ts +24 -0
  147. package/dist/server/modules/presentation/presentation-export-task-service.js +137 -0
  148. package/dist/server/modules/presentation/presentation-export-task-service.js.map +1 -0
  149. package/dist/server/modules/presentation/presentation-export-types.d.ts +12 -0
  150. package/dist/server/modules/presentation/presentation-export-types.js +2 -0
  151. package/dist/server/modules/presentation/presentation-export-types.js.map +1 -0
  152. package/dist/server/modules/presentation/presentation-pdf-export-service.d.ts +20 -0
  153. package/dist/server/modules/presentation/presentation-pdf-export-service.js +29 -0
  154. package/dist/server/modules/presentation/presentation-pdf-export-service.js.map +1 -0
  155. package/dist/server/modules/presentation/presentation-pptx-export-service.d.ts +20 -0
  156. package/dist/server/modules/presentation/presentation-pptx-export-service.js +64 -0
  157. package/dist/server/modules/presentation/presentation-pptx-export-service.js.map +1 -0
  158. package/dist/server/modules/presentation/presentation-renderer.d.ts +21 -0
  159. package/dist/server/modules/presentation/presentation-renderer.js +208 -0
  160. package/dist/server/modules/presentation/presentation-renderer.js.map +1 -0
  161. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +3 -3
  162. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -1
  163. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +6 -1
  164. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -1
  165. package/dist/server/modules/sessions/codex-app-server-helper-process.js +2 -1
  166. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  167. package/dist/server/modules/sessions/session-controller.d.ts +1 -0
  168. package/dist/server/modules/sessions/session-controller.js +59 -4
  169. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  170. package/dist/server/modules/sessions/session-history-service.js +17 -5
  171. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  172. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +5 -1
  173. package/dist/server/modules/sessions/session-live-runtime-service.js +86 -8
  174. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  175. package/dist/server/modules/sessions/session-provider-config-service.d.ts +25 -1
  176. package/dist/server/modules/sessions/session-provider-config-service.js +54 -5
  177. package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
  178. package/dist/server/modules/sessions/workspace-office-mcp-config.d.ts +14 -0
  179. package/dist/server/modules/sessions/workspace-office-mcp-config.js +54 -0
  180. package/dist/server/modules/sessions/workspace-office-mcp-config.js.map +1 -0
  181. package/dist/server/modules/sessions/workspace-session-auth-service.d.ts +27 -0
  182. package/dist/server/modules/sessions/workspace-session-auth-service.js +109 -0
  183. package/dist/server/modules/sessions/workspace-session-auth-service.js.map +1 -0
  184. package/dist/server/modules/sessions/workspace-session-runtime-context-service.d.ts +50 -0
  185. package/dist/server/modules/sessions/workspace-session-runtime-context-service.js +332 -0
  186. package/dist/server/modules/sessions/workspace-session-runtime-context-service.js.map +1 -0
  187. package/dist/server/modules/skills/assistant-runtime-skill-catalog.js +5 -0
  188. package/dist/server/modules/skills/assistant-runtime-skill-catalog.js.map +1 -1
  189. package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/SKILL.md +67 -0
  190. package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/agents/openai.yaml +4 -0
  191. package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/references/cli-workflow.md +133 -0
  192. package/dist/server/modules/skills/skill-controller.d.ts +7 -0
  193. package/dist/server/modules/skills/skill-controller.js +7 -0
  194. package/dist/server/modules/skills/skill-controller.js.map +1 -1
  195. package/dist/server/modules/skills/skill-manager-service.d.ts +61 -0
  196. package/dist/server/modules/skills/skill-manager-service.js +218 -0
  197. package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
  198. package/dist/server/modules/skills/skill-name-policy.js +2 -1
  199. package/dist/server/modules/skills/skill-name-policy.js.map +1 -1
  200. package/dist/server/modules/tasks/task-helper-client.d.ts +1 -0
  201. package/dist/server/modules/tasks/task-helper-client.js +45 -9
  202. package/dist/server/modules/tasks/task-helper-client.js.map +1 -1
  203. package/dist/server/modules/tasks/task-types.d.ts +5 -0
  204. package/dist/server/modules/tasks/task-types.js +6 -1
  205. package/dist/server/modules/tasks/task-types.js.map +1 -1
  206. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js +2 -1
  207. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js.map +1 -1
  208. package/dist/server/modules/terminal/runtime/node-pty-loader.d.ts +5 -0
  209. package/dist/server/modules/terminal/runtime/node-pty-loader.js +68 -0
  210. package/dist/server/modules/terminal/runtime/node-pty-loader.js.map +1 -0
  211. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js +2 -1
  212. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js.map +1 -1
  213. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js +6 -9
  214. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js.map +1 -1
  215. package/dist/server/modules/terminal/runtime/pty-runtime-manager.js +6 -9
  216. package/dist/server/modules/terminal/runtime/pty-runtime-manager.js.map +1 -1
  217. package/dist/server/routes/assistant.d.ts +2 -1
  218. package/dist/server/routes/assistant.js +20 -1
  219. package/dist/server/routes/assistant.js.map +1 -1
  220. package/dist/server/routes/browser-runtime.d.ts +3 -0
  221. package/dist/server/routes/browser-runtime.js +14 -0
  222. package/dist/server/routes/browser-runtime.js.map +1 -0
  223. package/dist/server/routes/document-runtime.d.ts +3 -0
  224. package/dist/server/routes/document-runtime.js +18 -0
  225. package/dist/server/routes/document-runtime.js.map +1 -0
  226. package/dist/server/routes/office.d.ts +3 -0
  227. package/dist/server/routes/office.js +16 -0
  228. package/dist/server/routes/office.js.map +1 -0
  229. package/dist/server/routes/ops-runtime.d.ts +3 -0
  230. package/dist/server/routes/ops-runtime.js +13 -0
  231. package/dist/server/routes/ops-runtime.js.map +1 -0
  232. package/dist/server/routes/presentation.d.ts +3 -0
  233. package/dist/server/routes/presentation.js +5 -0
  234. package/dist/server/routes/presentation.js.map +1 -0
  235. package/dist/server/routes/skills.js +1 -0
  236. package/dist/server/routes/skills.js.map +1 -1
  237. package/dist/server/server/create-server.d.ts +36 -0
  238. package/dist/server/server/create-server.js +215 -4
  239. package/dist/server/server/create-server.js.map +1 -1
  240. package/dist/server/server/release-manifest-sync.d.ts +1 -0
  241. package/dist/server/server/release-manifest-sync.js +2 -2
  242. package/dist/server/server/release-manifest-sync.js.map +1 -1
  243. package/dist/server/server/start-host.js +1 -1
  244. package/dist/server/server/start-host.js.map +1 -1
  245. package/dist/server/storage/repositories/auth-token-repository.js +22 -6
  246. package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
  247. package/dist/server/storage/repositories/browser-profile-repository.d.ts +18 -0
  248. package/dist/server/storage/repositories/browser-profile-repository.js +134 -0
  249. package/dist/server/storage/repositories/browser-profile-repository.js.map +1 -0
  250. package/dist/server/storage/repositories/document-comment-repository.d.ts +10 -0
  251. package/dist/server/storage/repositories/document-comment-repository.js +118 -0
  252. package/dist/server/storage/repositories/document-comment-repository.js.map +1 -0
  253. package/dist/server/storage/repositories/document-repository.d.ts +16 -0
  254. package/dist/server/storage/repositories/document-repository.js +109 -0
  255. package/dist/server/storage/repositories/document-repository.js.map +1 -0
  256. package/dist/server/storage/repositories/document-revision-repository.d.ts +10 -0
  257. package/dist/server/storage/repositories/document-revision-repository.js +79 -0
  258. package/dist/server/storage/repositories/document-revision-repository.js.map +1 -0
  259. package/dist/server/storage/repositories/document-template-repository.d.ts +13 -0
  260. package/dist/server/storage/repositories/document-template-repository.js +244 -0
  261. package/dist/server/storage/repositories/document-template-repository.js.map +1 -0
  262. package/dist/server/storage/repositories/office-approval-repository.d.ts +11 -0
  263. package/dist/server/storage/repositories/office-approval-repository.js +109 -0
  264. package/dist/server/storage/repositories/office-approval-repository.js.map +1 -0
  265. package/dist/server/storage/repositories/office-artifact-repository.d.ts +10 -0
  266. package/dist/server/storage/repositories/office-artifact-repository.js +89 -0
  267. package/dist/server/storage/repositories/office-artifact-repository.js.map +1 -0
  268. package/dist/server/storage/repositories/office-audit-event-repository.d.ts +8 -0
  269. package/dist/server/storage/repositories/office-audit-event-repository.js +54 -0
  270. package/dist/server/storage/repositories/office-audit-event-repository.js.map +1 -0
  271. package/dist/server/storage/repositories/office-connector-repository.d.ts +10 -0
  272. package/dist/server/storage/repositories/office-connector-repository.js +97 -0
  273. package/dist/server/storage/repositories/office-connector-repository.js.map +1 -0
  274. package/dist/server/storage/repositories/office-receipt-repository.d.ts +8 -0
  275. package/dist/server/storage/repositories/office-receipt-repository.js +48 -0
  276. package/dist/server/storage/repositories/office-receipt-repository.js.map +1 -0
  277. package/dist/server/storage/repositories/office-rollback-record-repository.d.ts +8 -0
  278. package/dist/server/storage/repositories/office-rollback-record-repository.js +60 -0
  279. package/dist/server/storage/repositories/office-rollback-record-repository.js.map +1 -0
  280. package/dist/server/storage/repositories/office-task-repository.d.ts +19 -0
  281. package/dist/server/storage/repositories/office-task-repository.js +199 -0
  282. package/dist/server/storage/repositories/office-task-repository.js.map +1 -0
  283. package/dist/server/storage/repositories/office-task-step-repository.d.ts +10 -0
  284. package/dist/server/storage/repositories/office-task-step-repository.js +110 -0
  285. package/dist/server/storage/repositories/office-task-step-repository.js.map +1 -0
  286. package/dist/server/storage/repositories/ops-target-repository.d.ts +16 -0
  287. package/dist/server/storage/repositories/ops-target-repository.js +119 -0
  288. package/dist/server/storage/repositories/ops-target-repository.js.map +1 -0
  289. package/dist/server/storage/repositories/session-binding-repository.d.ts +4 -0
  290. package/dist/server/storage/repositories/session-binding-repository.js +70 -69
  291. package/dist/server/storage/repositories/session-binding-repository.js.map +1 -1
  292. package/dist/server/storage/repositories/session-changed-file-repository.d.ts +6 -0
  293. package/dist/server/storage/repositories/session-changed-file-repository.js +44 -43
  294. package/dist/server/storage/repositories/session-changed-file-repository.js.map +1 -1
  295. package/dist/server/storage/repositories/session-fork-repository.d.ts +2 -0
  296. package/dist/server/storage/repositories/session-fork-repository.js +42 -41
  297. package/dist/server/storage/repositories/session-fork-repository.js.map +1 -1
  298. package/dist/server/storage/repositories/session-index-repository.d.ts +5 -0
  299. package/dist/server/storage/repositories/session-index-repository.js +153 -152
  300. package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
  301. package/dist/server/storage/repositories/session-message-attachment-repository.d.ts +7 -0
  302. package/dist/server/storage/repositories/session-message-attachment-repository.js +91 -90
  303. package/dist/server/storage/repositories/session-message-attachment-repository.js.map +1 -1
  304. package/dist/server/storage/repositories/session-message-origin-repository.d.ts +2 -0
  305. package/dist/server/storage/repositories/session-message-origin-repository.js +25 -24
  306. package/dist/server/storage/repositories/session-message-origin-repository.js.map +1 -1
  307. package/dist/server/storage/repositories/session-state-repository.d.ts +2 -0
  308. package/dist/server/storage/repositories/session-state-repository.js +35 -34
  309. package/dist/server/storage/repositories/session-state-repository.js.map +1 -1
  310. package/dist/server/storage/repositories/session-status-snapshot-repository.d.ts +2 -0
  311. package/dist/server/storage/repositories/session-status-snapshot-repository.js +25 -24
  312. package/dist/server/storage/repositories/session-status-snapshot-repository.js.map +1 -1
  313. package/dist/server/storage/sqlite/client.js +123 -1
  314. package/dist/server/storage/sqlite/client.js.map +1 -1
  315. package/dist/server/storage/sqlite/schema.sql +300 -1
  316. package/dist/server/types/domain.d.ts +205 -1
  317. package/package.json +14 -7
  318. package/scripts/postinstall.mjs +159 -7
  319. package/dist/public/assets/FileContextPanel-xGTYDclT.js +0 -1
  320. package/dist/public/assets/WorkbenchLayout-DScHaza9.js +0 -244
  321. package/dist/public/assets/WorkbenchShellRoute-DN6LdrqC.js +0 -1
  322. package/dist/public/assets/WorkbenchShellRoute-DhQo_0vu.css +0 -1
  323. package/dist/public/assets/file-tree-icon-lfU9Ag77.js +0 -3
  324. package/dist/public/assets/index-CFYXCsyx.css +0 -1
  325. package/dist/public/assets/index-NGxWr8Ix.js +0 -42
  326. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.d.ts +0 -42
  327. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js +0 -346
  328. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js.map +0 -1
  329. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.d.ts +0 -1
  330. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js +0 -80
  331. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js.map +0 -1
  332. package/node_modules/@codingns/session-sync-core/dist/index.d.ts +0 -18
  333. package/node_modules/@codingns/session-sync-core/dist/index.js +0 -19
  334. package/node_modules/@codingns/session-sync-core/dist/index.js.map +0 -1
  335. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.d.ts +0 -18
  336. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.js +0 -659
  337. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.js.map +0 -1
  338. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.d.ts +0 -11
  339. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.js +0 -72
  340. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.js.map +0 -1
  341. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +0 -67
  342. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +0 -752
  343. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +0 -1
  344. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +0 -48
  345. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +0 -1184
  346. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +0 -1
  347. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.d.ts +0 -11
  348. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js +0 -105
  349. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js.map +0 -1
  350. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +0 -84
  351. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +0 -2436
  352. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +0 -1
  353. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +0 -47
  354. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +0 -1480
  355. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +0 -1
  356. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +0 -33
  357. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +0 -684
  358. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +0 -1
  359. package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.d.ts +0 -9
  360. package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.js +0 -17
  361. package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.js.map +0 -1
  362. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.d.ts +0 -1
  363. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js +0 -8
  364. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js.map +0 -1
  365. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.d.ts +0 -48
  366. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js +0 -373
  367. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js.map +0 -1
  368. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +0 -61
  369. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +0 -1191
  370. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +0 -1
  371. package/node_modules/@codingns/session-sync-core/dist/providers/utils.d.ts +0 -27
  372. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +0 -415
  373. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +0 -1
  374. package/node_modules/@codingns/session-sync-core/dist/registry.d.ts +0 -7
  375. package/node_modules/@codingns/session-sync-core/dist/registry.js +0 -22
  376. package/node_modules/@codingns/session-sync-core/dist/registry.js.map +0 -1
  377. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +0 -24
  378. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +0 -329
  379. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +0 -1
  380. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +0 -30
  381. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +0 -939
  382. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +0 -1
  383. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.d.ts +0 -1
  384. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js +0 -16
  385. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js.map +0 -1
  386. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +0 -70
  387. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +0 -2571
  388. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +0 -1
  389. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.d.ts +0 -21
  390. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js +0 -561
  391. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js.map +0 -1
  392. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.d.ts +0 -38
  393. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.js +0 -911
  394. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.js.map +0 -1
  395. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.d.ts +0 -15
  396. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js +0 -16
  397. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js.map +0 -1
  398. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +0 -37
  399. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +0 -963
  400. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +0 -1
  401. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +0 -21
  402. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +0 -168
  403. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +0 -1
  404. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +0 -152
  405. package/node_modules/@codingns/session-sync-core/dist/runtime/types.js +0 -2
  406. package/node_modules/@codingns/session-sync-core/dist/runtime/types.js.map +0 -1
  407. package/node_modules/@codingns/session-sync-core/dist/services.d.ts +0 -28
  408. package/node_modules/@codingns/session-sync-core/dist/services.js +0 -148
  409. package/node_modules/@codingns/session-sync-core/dist/services.js.map +0 -1
  410. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.d.ts +0 -6
  411. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.js +0 -9
  412. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.js.map +0 -1
  413. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +0 -198
  414. package/node_modules/@codingns/session-sync-core/dist/types.js +0 -2
  415. package/node_modules/@codingns/session-sync-core/dist/types.js.map +0 -1
  416. package/node_modules/@codingns/session-sync-core/package.json +0 -33
@@ -1,561 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { createInterface } from "node:readline";
3
- import { ensureText, extractTextBlocks, messageIdFromRawRef, nextTimestamp, safeDate, stringifyStructuredValue } from "../providers/utils.js";
4
- import { buildApplyPatchFromStructuredFileTool } from "../patch-builder.js";
5
- const INTERRUPT_KILL_TIMEOUT_MS = 1_500;
6
- export class GeminiRuntimeAdapter {
7
- options;
8
- providerId = "gemini";
9
- commandPath;
10
- baseArgs;
11
- spawnFactory;
12
- constructor(options) {
13
- this.options = options;
14
- this.commandPath = options.commandPath?.trim() || "gemini";
15
- this.baseArgs = options.baseArgs ?? [];
16
- this.spawnFactory = options.spawnFactory ?? spawn;
17
- }
18
- async startSession(request, sink) {
19
- const pendingProviderSessionId = buildPendingGeminiSessionRef(request.sessionId);
20
- const pendingRawStoreRef = buildGeminiRawStoreRef(pendingProviderSessionId, request.runtimeHomeDir ?? null);
21
- sink.updateSessionBinding({
22
- providerSessionId: pendingProviderSessionId,
23
- rawStoreRef: pendingRawStoreRef
24
- });
25
- return this.launchRuntime(request, sink, "start", pendingProviderSessionId, pendingRawStoreRef);
26
- }
27
- async continueSession(request, sink) {
28
- const providerSessionId = request.providerSessionId?.trim();
29
- if (!providerSessionId) {
30
- throw new Error("PROVIDER_SESSION_ID_REQUIRED");
31
- }
32
- const resolvedRawStoreRef = request.rawStoreRef
33
- ?? buildGeminiRawStoreRef(providerSessionId, request.runtimeHomeDir ?? null);
34
- sink.updateSessionBinding({
35
- providerSessionId,
36
- rawStoreRef: resolvedRawStoreRef
37
- });
38
- return this.launchRuntime(request, sink, "continue", providerSessionId, resolvedRawStoreRef);
39
- }
40
- launchRuntime(request, sink, mode, initialProviderSessionId, initialRawStoreRef) {
41
- const args = [
42
- ...this.baseArgs,
43
- ...buildGeminiRuntimeArgs(mode, initialProviderSessionId, request)
44
- ];
45
- const proc = this.spawnFactory(this.commandPath, args, {
46
- cwd: request.workspacePath,
47
- env: {
48
- ...process.env,
49
- ...(request.runtimeEnv ?? {}),
50
- GEMINI_HOME: request.runtimeHomeDir?.trim() || this.options.homeDir,
51
- NO_COLOR: "1"
52
- },
53
- shell: shouldSpawnViaShell(this.commandPath),
54
- windowsHide: true,
55
- stdio: ["pipe", "pipe", "pipe"]
56
- });
57
- // Gemini 单轮 `--prompt` 运行不需要继续从 stdin 读数据。
58
- // 不主动关闭的话,CLI 可能会一直等 EOF,导致 Host 误以为这轮还没结束。
59
- if (!proc.stdin.destroyed && !proc.stdin.writableEnded) {
60
- proc.stdin.end();
61
- }
62
- let sequence = Math.max(0, request.sequenceBase ?? 0);
63
- let lineNumber = 0;
64
- let settled = false;
65
- let interrupted = false;
66
- let activeProviderSessionId = initialProviderSessionId;
67
- let activeRawStoreRef = initialRawStoreRef;
68
- let stderrBuffer = "";
69
- let runtimeFailure = null;
70
- let resultStatus = null;
71
- let resultDetail = null;
72
- let semanticCompletionEmitted = false;
73
- let assistantMessageIndex = 0;
74
- let userMessageIndex = 0;
75
- let activeAssistantMessage = null;
76
- const toolNameById = new Map();
77
- let lineChain = Promise.resolve();
78
- const updateBinding = (providerSessionId) => {
79
- if (!providerSessionId.trim() || providerSessionId === activeProviderSessionId) {
80
- return;
81
- }
82
- activeProviderSessionId = providerSessionId;
83
- activeRawStoreRef = buildGeminiRawStoreRef(providerSessionId, request.runtimeHomeDir ?? null);
84
- sink.updateSessionBinding({
85
- providerSessionId: activeProviderSessionId,
86
- rawStoreRef: activeRawStoreRef
87
- });
88
- };
89
- const resetAssistantMessage = () => {
90
- activeAssistantMessage = null;
91
- };
92
- const emitStructuredEvent = async (event) => {
93
- await sink.emit({
94
- ...event,
95
- providerSessionId: activeProviderSessionId,
96
- rawStoreRef: activeRawStoreRef
97
- });
98
- };
99
- const handleMessageEvent = async (payload, rawEventRef) => {
100
- const role = normalizeGeminiMessageRole(payload.role);
101
- if (!role) {
102
- return;
103
- }
104
- const timestamp = safeDate(payload.timestamp, nextTimestamp());
105
- const contentChunk = extractTextBlocks(payload.content).trim();
106
- if (!contentChunk) {
107
- return;
108
- }
109
- if (role === "user") {
110
- resetAssistantMessage();
111
- userMessageIndex += 1;
112
- sequence += 1;
113
- const rawRef = buildGeminiMessageRawRef(activeProviderSessionId, role, userMessageIndex);
114
- await emitStructuredEvent({
115
- type: "message",
116
- message: createGeminiRuntimeMessage({
117
- providerSessionId: activeProviderSessionId,
118
- role,
119
- kind: "text",
120
- content: contentChunk,
121
- timestamp,
122
- sequence,
123
- rawRef,
124
- toolCall: null
125
- }),
126
- rawEventRef
127
- });
128
- return;
129
- }
130
- if (!activeAssistantMessage) {
131
- assistantMessageIndex += 1;
132
- sequence += 1;
133
- const rawRef = buildGeminiMessageRawRef(activeProviderSessionId, role, assistantMessageIndex);
134
- activeAssistantMessage = {
135
- rawRef,
136
- messageId: messageIdFromRawRef(rawRef),
137
- sequence,
138
- timestamp,
139
- content: ""
140
- };
141
- }
142
- const isDelta = payload.delta === true;
143
- const nextContent = isDelta
144
- ? `${activeAssistantMessage.content}${contentChunk}`
145
- : contentChunk;
146
- if (nextContent === activeAssistantMessage.content) {
147
- return;
148
- }
149
- activeAssistantMessage = {
150
- ...activeAssistantMessage,
151
- timestamp,
152
- content: nextContent
153
- };
154
- await emitStructuredEvent({
155
- type: "message",
156
- message: {
157
- messageId: activeAssistantMessage.messageId,
158
- provider: "gemini",
159
- providerSessionId: activeProviderSessionId,
160
- role,
161
- kind: "text",
162
- content: activeAssistantMessage.content,
163
- toolCall: null,
164
- timestamp: activeAssistantMessage.timestamp,
165
- sequence: activeAssistantMessage.sequence,
166
- rawRef: activeAssistantMessage.rawRef
167
- },
168
- rawEventRef
169
- });
170
- };
171
- const handleToolUseEvent = async (payload, rawEventRef) => {
172
- resetAssistantMessage();
173
- const toolId = readFirstNonEmptyString(payload, [
174
- ["tool_id"],
175
- ["toolUseId"],
176
- ["id"]
177
- ]) || `gemini-tool-call-${lineNumber}`;
178
- const toolName = readFirstNonEmptyString(payload, [
179
- ["tool_name"],
180
- ["toolName"],
181
- ["name"]
182
- ]) || "tool";
183
- const parameters = readFirstDefinedValue(payload, [
184
- ["parameters"],
185
- ["args"],
186
- ["input"]
187
- ]);
188
- const patchText = buildGeminiRuntimeApplyPatch(parameters);
189
- const normalizedToolName = patchText ? "apply_patch" : toolName;
190
- toolNameById.set(toolId, normalizedToolName);
191
- sequence += 1;
192
- await emitStructuredEvent({
193
- type: "message",
194
- message: createGeminiRuntimeMessage({
195
- providerSessionId: activeProviderSessionId,
196
- role: patchText ? "tool" : "assistant",
197
- kind: "tool_call",
198
- content: patchText || stringifyStructuredValue(parameters),
199
- timestamp: safeDate(payload.timestamp, nextTimestamp()),
200
- sequence,
201
- rawRef: buildGeminiToolRawRef(activeProviderSessionId, toolId, "call"),
202
- toolCall: {
203
- callId: toolId,
204
- name: normalizedToolName,
205
- input: patchText || stringifyStructuredValue(parameters),
206
- output: null,
207
- error: null,
208
- status: "running"
209
- }
210
- }),
211
- rawEventRef
212
- });
213
- };
214
- const handleToolResultEvent = async (payload, rawEventRef) => {
215
- resetAssistantMessage();
216
- const toolId = readFirstNonEmptyString(payload, [
217
- ["tool_id"],
218
- ["toolUseId"],
219
- ["tool_use_id"],
220
- ["id"]
221
- ]) || `gemini-tool-result-${lineNumber}`;
222
- const toolName = toolNameById.get(toolId)
223
- || readFirstNonEmptyString(payload, [
224
- ["tool_name"],
225
- ["toolName"],
226
- ["name"]
227
- ])
228
- || "tool";
229
- const output = extractTextBlocks(readFirstDefinedValue(payload, [
230
- ["output"],
231
- ["result"],
232
- ["content"]
233
- ])).trim();
234
- const errorDetail = extractGeminiErrorDetail(payload.error);
235
- const toolStatus = normalizeGeminiToolStatus(payload.status, errorDetail);
236
- sequence += 1;
237
- await emitStructuredEvent({
238
- type: "message",
239
- message: createGeminiRuntimeMessage({
240
- providerSessionId: activeProviderSessionId,
241
- role: "tool",
242
- kind: "tool_result",
243
- content: output || errorDetail || toolName,
244
- timestamp: safeDate(payload.timestamp, nextTimestamp()),
245
- sequence,
246
- rawRef: buildGeminiToolRawRef(activeProviderSessionId, toolId, "result"),
247
- toolCall: {
248
- callId: toolId,
249
- name: toolName,
250
- input: "",
251
- output: output || null,
252
- error: errorDetail || null,
253
- status: toolStatus
254
- }
255
- }),
256
- rawEventRef
257
- });
258
- };
259
- const handleLine = async (line) => {
260
- lineNumber += 1;
261
- const trimmed = line.trim();
262
- if (!trimmed) {
263
- return;
264
- }
265
- let payload;
266
- try {
267
- payload = JSON.parse(trimmed);
268
- }
269
- catch {
270
- return;
271
- }
272
- const rawEventRef = buildGeminiRawEventRef(activeProviderSessionId, lineNumber);
273
- const eventType = ensureText(payload.type).trim().toLowerCase();
274
- switch (eventType) {
275
- case "init": {
276
- const discoveredSessionId = readFirstNonEmptyString(payload, [["session_id"], ["sessionId"]]);
277
- if (discoveredSessionId) {
278
- updateBinding(discoveredSessionId);
279
- }
280
- return;
281
- }
282
- case "message":
283
- await handleMessageEvent(payload, rawEventRef);
284
- return;
285
- case "tool_use":
286
- await handleToolUseEvent(payload, rawEventRef);
287
- return;
288
- case "tool_result":
289
- await handleToolResultEvent(payload, rawEventRef);
290
- return;
291
- case "error": {
292
- const severity = ensureText(payload.severity).trim().toLowerCase();
293
- const message = readFirstNonEmptyString(payload, [["message"]]);
294
- if (severity === "error" && message) {
295
- resultStatus = "error";
296
- resultDetail = message;
297
- }
298
- return;
299
- }
300
- case "result":
301
- resultStatus = ensureText(payload.status).trim().toLowerCase() || "success";
302
- resultDetail = buildGeminiResultDetail(payload);
303
- // Gemini 的 `result` 已经表示这一轮语义上结束,不能继续傻等子进程 close。
304
- // 否则只要 CLI 收尾慢一点,前端就会一直停在“可中断”的运行态。
305
- if (resultStatus === "success" && !semanticCompletionEmitted) {
306
- semanticCompletionEmitted = true;
307
- await emitStructuredEvent({
308
- type: "complete",
309
- status: "completed",
310
- detail: resultDetail ?? "Gemini 本轮输出已结束",
311
- rawEventRef,
312
- timestamp: safeDate(payload.timestamp, nextTimestamp())
313
- });
314
- }
315
- return;
316
- default:
317
- return;
318
- }
319
- };
320
- const completed = new Promise((resolve, reject) => {
321
- const settle = (callback) => {
322
- if (settled) {
323
- return;
324
- }
325
- settled = true;
326
- callback();
327
- };
328
- proc.stdout.setEncoding("utf8");
329
- proc.stderr.setEncoding("utf8");
330
- const stdoutReader = createInterface({
331
- input: proc.stdout
332
- });
333
- stdoutReader.on("line", (line) => {
334
- lineChain = lineChain.then(() => handleLine(line)).catch((error) => {
335
- runtimeFailure = error instanceof Error ? error : new Error("GEMINI_RUNTIME_FAILED");
336
- });
337
- });
338
- proc.stderr.on("data", (chunk) => {
339
- stderrBuffer = `${stderrBuffer}${chunk.toString()}`;
340
- });
341
- proc.once("error", (error) => {
342
- stdoutReader.close();
343
- settle(() => {
344
- reject(error);
345
- });
346
- });
347
- proc.once("close", (code, signal) => {
348
- stdoutReader.close();
349
- void lineChain
350
- .then(() => {
351
- if (runtimeFailure) {
352
- settle(() => {
353
- reject(runtimeFailure);
354
- });
355
- return;
356
- }
357
- if (interrupted) {
358
- settle(() => {
359
- resolve();
360
- });
361
- return;
362
- }
363
- if (resultStatus && resultStatus !== "success") {
364
- settle(() => {
365
- reject(new Error(resultDetail || "GEMINI_RUNTIME_FAILED"));
366
- });
367
- return;
368
- }
369
- if (code === 0) {
370
- settle(() => {
371
- resolve();
372
- });
373
- return;
374
- }
375
- const detail = stderrBuffer.trim()
376
- || resultDetail
377
- || `Gemini exited with code=${String(code ?? "null")} signal=${String(signal ?? "null")}`;
378
- settle(() => {
379
- reject(new Error(detail));
380
- });
381
- })
382
- .catch((error) => {
383
- settle(() => {
384
- reject(error instanceof Error ? error : new Error("GEMINI_RUNTIME_FAILED"));
385
- });
386
- });
387
- });
388
- });
389
- return {
390
- providerSessionId: activeProviderSessionId,
391
- rawStoreRef: activeRawStoreRef,
392
- interrupt: async () => {
393
- interrupted = true;
394
- if (!proc.killed) {
395
- proc.kill("SIGINT");
396
- }
397
- setTimeout(() => {
398
- if (!proc.killed) {
399
- proc.kill("SIGTERM");
400
- }
401
- }, INTERRUPT_KILL_TIMEOUT_MS).unref?.();
402
- },
403
- isAlive: () => !proc.killed && proc.exitCode === null,
404
- completed
405
- };
406
- }
407
- }
408
- function buildGeminiRuntimeArgs(mode, providerSessionId, request) {
409
- const args = [
410
- "--output-format",
411
- "stream-json"
412
- ];
413
- const prompt = resolveGeminiPrompt(request.options);
414
- const approvalMode = mapGeminiApprovalMode(request.options.permissionMode);
415
- if (mode === "continue" && !providerSessionId.startsWith("pending://")) {
416
- args.push("--resume", providerSessionId);
417
- }
418
- if (request.options.model?.trim()) {
419
- args.push("--model", request.options.model.trim());
420
- }
421
- if (approvalMode) {
422
- args.push("--approval-mode", approvalMode);
423
- }
424
- args.push("--prompt", prompt);
425
- return args;
426
- }
427
- function resolveGeminiPrompt(options) {
428
- const providerPrompt = options.providerPrompt?.trim();
429
- if (providerPrompt) {
430
- return providerPrompt;
431
- }
432
- return options.content;
433
- }
434
- function mapGeminiApprovalMode(permissionMode) {
435
- switch (permissionMode) {
436
- case "acceptEdits":
437
- return "auto_edit";
438
- case "bypassPermissions":
439
- return "yolo";
440
- case "default":
441
- return "default";
442
- default:
443
- return null;
444
- }
445
- }
446
- function normalizeGeminiMessageRole(value) {
447
- const normalized = ensureText(value).trim().toLowerCase();
448
- if (normalized === "user" || normalized === "assistant") {
449
- return normalized;
450
- }
451
- return null;
452
- }
453
- function normalizeGeminiToolStatus(value, errorDetail) {
454
- const normalized = ensureText(value).trim().toLowerCase();
455
- if (normalized === "completed" || normalized === "success") {
456
- return "completed";
457
- }
458
- if (normalized === "failed" || normalized === "error") {
459
- return "failed";
460
- }
461
- return errorDetail ? "failed" : "completed";
462
- }
463
- function extractGeminiErrorDetail(value) {
464
- if (typeof value === "string") {
465
- return value.trim();
466
- }
467
- if (!value || typeof value !== "object") {
468
- return "";
469
- }
470
- const record = value;
471
- const message = ensureText(record.message).trim();
472
- if (message) {
473
- return message;
474
- }
475
- return stringifyStructuredValue(value).trim();
476
- }
477
- function buildGeminiResultDetail(payload) {
478
- const status = ensureText(payload.status).trim().toLowerCase();
479
- const detail = readFirstNonEmptyString(payload, [
480
- ["message"],
481
- ["detail"]
482
- ]);
483
- if (detail) {
484
- return detail;
485
- }
486
- if (status && status !== "success") {
487
- return `Gemini runtime result=${status}`;
488
- }
489
- return null;
490
- }
491
- function buildGeminiRuntimeApplyPatch(value) {
492
- if (!value || typeof value !== "object" || Array.isArray(value)) {
493
- return null;
494
- }
495
- return buildApplyPatchFromStructuredFileTool(value);
496
- }
497
- function createGeminiRuntimeMessage(input) {
498
- return {
499
- messageId: messageIdFromRawRef(input.rawRef),
500
- provider: "gemini",
501
- providerSessionId: input.providerSessionId,
502
- role: input.role,
503
- kind: input.kind,
504
- content: input.content,
505
- toolCall: input.toolCall,
506
- timestamp: input.timestamp,
507
- sequence: input.sequence,
508
- rawRef: input.rawRef
509
- };
510
- }
511
- function buildPendingGeminiSessionRef(sessionId) {
512
- return `pending://gemini/${sessionId}`;
513
- }
514
- function buildGeminiRawStoreRef(sessionId, runtimeHomeDir = null) {
515
- const encodedSessionId = encodeURIComponent(sessionId);
516
- if (!runtimeHomeDir?.trim()) {
517
- return `gemini://session/${encodedSessionId}`;
518
- }
519
- return `gemini://session/${encodedSessionId}?homeDir=${encodeURIComponent(runtimeHomeDir)}`;
520
- }
521
- function buildGeminiRawEventRef(sessionId, lineNumber) {
522
- return `gemini://session/${encodeURIComponent(sessionId)}/stream#line=${lineNumber}`;
523
- }
524
- function buildGeminiMessageRawRef(sessionId, role, index) {
525
- return `gemini://session/${encodeURIComponent(sessionId)}/message/${role}-${index}`;
526
- }
527
- function buildGeminiToolRawRef(sessionId, toolId, kind) {
528
- return `gemini://session/${encodeURIComponent(sessionId)}/tool/${encodeURIComponent(toolId)}/${kind}`;
529
- }
530
- function shouldSpawnViaShell(commandPath) {
531
- return /\.(cmd|bat|ps1)$/i.test(commandPath);
532
- }
533
- function readPath(value, path) {
534
- let current = value;
535
- for (const key of path) {
536
- if (!current || typeof current !== "object") {
537
- return undefined;
538
- }
539
- current = current[key];
540
- }
541
- return current;
542
- }
543
- function readFirstDefinedValue(record, paths) {
544
- for (const path of paths) {
545
- const value = readPath(record, path);
546
- if (value !== undefined) {
547
- return value;
548
- }
549
- }
550
- return undefined;
551
- }
552
- function readFirstNonEmptyString(record, paths) {
553
- for (const path of paths) {
554
- const value = readPath(record, path);
555
- if (typeof value === "string" && value.trim()) {
556
- return value.trim();
557
- }
558
- }
559
- return null;
560
- }
561
- //# sourceMappingURL=gemini-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini-runtime.js","sourceRoot":"","sources":["../../src/runtime/gemini-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import type { ProviderId } from "../types.js";
3
- import type { ProviderRuntimeAdapter, ProviderRuntimeEventSink, ProviderRuntimeLaunchResult, ProviderRuntimeRunRequest } from "./types.js";
4
- interface KimiRuntimeOptions {
5
- homeDir: string;
6
- commandPath?: string;
7
- baseArgs?: string[];
8
- spawnFactory?: typeof spawn;
9
- cliSyntax?: KimiCliSyntax | "auto";
10
- cliProbeTimeoutMs?: number;
11
- }
12
- type KimiCliSyntax = "modern" | "legacy";
13
- export declare class KimiRuntimeAdapter implements ProviderRuntimeAdapter {
14
- private readonly options;
15
- readonly providerId: ProviderId;
16
- private readonly commandPath;
17
- private readonly baseArgs;
18
- private readonly spawnFactory;
19
- private readonly cliSyntax;
20
- private readonly cliProbeTimeoutMs;
21
- private cliSyntaxPromise;
22
- constructor(options: KimiRuntimeOptions);
23
- startSession(request: ProviderRuntimeRunRequest, sink: ProviderRuntimeEventSink): Promise<ProviderRuntimeLaunchResult>;
24
- continueSession(request: ProviderRuntimeRunRequest, sink: ProviderRuntimeEventSink): Promise<ProviderRuntimeLaunchResult>;
25
- private launchWithFallback;
26
- private launchTransport;
27
- private scheduleBindingResolution;
28
- private resolveCliSyntax;
29
- private resolveStartedSessionBinding;
30
- private captureStartBindingProbe;
31
- private findResolvedSessionIdFromWorkDir;
32
- private findLatestSessionIdForWorkspace;
33
- private writePrompt;
34
- private writePromptPayload;
35
- private writeWirePayload;
36
- private closeCommandInput;
37
- }
38
- export {};