@jingyi0605/codingns 0.7.3 → 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 (419) 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/channels/wechat-claw-client.d.ts +51 -0
  103. package/dist/server/modules/channels/wechat-claw-client.js +245 -0
  104. package/dist/server/modules/channels/wechat-claw-client.js.map +1 -0
  105. package/dist/server/modules/debug-target/debug-target-service.d.ts +2 -0
  106. package/dist/server/modules/debug-target/debug-target-service.js +14 -0
  107. package/dist/server/modules/debug-target/debug-target-service.js.map +1 -1
  108. package/dist/server/modules/document-runtime/document-docx-fallback-renderer.py +139 -0
  109. package/dist/server/modules/document-runtime/document-export-executor.d.ts +50 -0
  110. package/dist/server/modules/document-runtime/document-export-executor.js +827 -0
  111. package/dist/server/modules/document-runtime/document-export-executor.js.map +1 -0
  112. package/dist/server/modules/document-runtime/document-runtime-controller.d.ts +127 -0
  113. package/dist/server/modules/document-runtime/document-runtime-controller.js +131 -0
  114. package/dist/server/modules/document-runtime/document-runtime-controller.js.map +1 -0
  115. package/dist/server/modules/document-runtime/document-runtime-service.d.ts +125 -0
  116. package/dist/server/modules/document-runtime/document-runtime-service.js +706 -0
  117. package/dist/server/modules/document-runtime/document-runtime-service.js.map +1 -0
  118. package/dist/server/modules/office/office-controller.d.ts +77 -0
  119. package/dist/server/modules/office/office-controller.js +174 -0
  120. package/dist/server/modules/office/office-controller.js.map +1 -0
  121. package/dist/server/modules/office/office-preview-link-service.d.ts +27 -0
  122. package/dist/server/modules/office/office-preview-link-service.js +121 -0
  123. package/dist/server/modules/office/office-preview-link-service.js.map +1 -0
  124. package/dist/server/modules/office/office-service.d.ts +67 -0
  125. package/dist/server/modules/office/office-service.js +359 -0
  126. package/dist/server/modules/office/office-service.js.map +1 -0
  127. package/dist/server/modules/opencli/opencli-bridge-skill-service.js +38 -14
  128. package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -1
  129. package/dist/server/modules/opencli/opencli-install-discovery.d.ts +4 -0
  130. package/dist/server/modules/opencli/opencli-install-discovery.js +94 -0
  131. package/dist/server/modules/opencli/opencli-install-discovery.js.map +1 -1
  132. package/dist/server/modules/opencli/opencli-runtime-builder.js +29 -0
  133. package/dist/server/modules/opencli/opencli-runtime-builder.js.map +1 -1
  134. package/dist/server/modules/opencli/opencli-runtime-guard.d.ts +2 -0
  135. package/dist/server/modules/opencli/opencli-runtime-guard.js +5 -0
  136. package/dist/server/modules/opencli/opencli-runtime-guard.js.map +1 -0
  137. package/dist/server/modules/ops-runtime/ops-runtime-controller.d.ts +70 -0
  138. package/dist/server/modules/ops-runtime/ops-runtime-controller.js +83 -0
  139. package/dist/server/modules/ops-runtime/ops-runtime-controller.js.map +1 -0
  140. package/dist/server/modules/ops-runtime/ops-runtime-service.d.ts +80 -0
  141. package/dist/server/modules/ops-runtime/ops-runtime-service.js +327 -0
  142. package/dist/server/modules/ops-runtime/ops-runtime-service.js.map +1 -0
  143. package/dist/server/modules/ops-runtime/ssh-ops-executor.d.ts +41 -0
  144. package/dist/server/modules/ops-runtime/ssh-ops-executor.js +478 -0
  145. package/dist/server/modules/ops-runtime/ssh-ops-executor.js.map +1 -0
  146. package/dist/server/modules/presentation/presentation-controller.d.ts +22 -0
  147. package/dist/server/modules/presentation/presentation-controller.js +59 -0
  148. package/dist/server/modules/presentation/presentation-controller.js.map +1 -0
  149. package/dist/server/modules/presentation/presentation-export-task-service.d.ts +24 -0
  150. package/dist/server/modules/presentation/presentation-export-task-service.js +137 -0
  151. package/dist/server/modules/presentation/presentation-export-task-service.js.map +1 -0
  152. package/dist/server/modules/presentation/presentation-export-types.d.ts +12 -0
  153. package/dist/server/modules/presentation/presentation-export-types.js +2 -0
  154. package/dist/server/modules/presentation/presentation-export-types.js.map +1 -0
  155. package/dist/server/modules/presentation/presentation-pdf-export-service.d.ts +20 -0
  156. package/dist/server/modules/presentation/presentation-pdf-export-service.js +29 -0
  157. package/dist/server/modules/presentation/presentation-pdf-export-service.js.map +1 -0
  158. package/dist/server/modules/presentation/presentation-pptx-export-service.d.ts +20 -0
  159. package/dist/server/modules/presentation/presentation-pptx-export-service.js +64 -0
  160. package/dist/server/modules/presentation/presentation-pptx-export-service.js.map +1 -0
  161. package/dist/server/modules/presentation/presentation-renderer.d.ts +21 -0
  162. package/dist/server/modules/presentation/presentation-renderer.js +208 -0
  163. package/dist/server/modules/presentation/presentation-renderer.js.map +1 -0
  164. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +3 -3
  165. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -1
  166. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +6 -1
  167. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -1
  168. package/dist/server/modules/sessions/codex-app-server-helper-process.js +2 -1
  169. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  170. package/dist/server/modules/sessions/session-controller.d.ts +1 -0
  171. package/dist/server/modules/sessions/session-controller.js +59 -4
  172. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  173. package/dist/server/modules/sessions/session-history-service.js +17 -5
  174. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  175. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +5 -1
  176. package/dist/server/modules/sessions/session-live-runtime-service.js +86 -8
  177. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  178. package/dist/server/modules/sessions/session-provider-config-service.d.ts +25 -1
  179. package/dist/server/modules/sessions/session-provider-config-service.js +54 -5
  180. package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
  181. package/dist/server/modules/sessions/workspace-office-mcp-config.d.ts +14 -0
  182. package/dist/server/modules/sessions/workspace-office-mcp-config.js +54 -0
  183. package/dist/server/modules/sessions/workspace-office-mcp-config.js.map +1 -0
  184. package/dist/server/modules/sessions/workspace-session-auth-service.d.ts +27 -0
  185. package/dist/server/modules/sessions/workspace-session-auth-service.js +109 -0
  186. package/dist/server/modules/sessions/workspace-session-auth-service.js.map +1 -0
  187. package/dist/server/modules/sessions/workspace-session-runtime-context-service.d.ts +50 -0
  188. package/dist/server/modules/sessions/workspace-session-runtime-context-service.js +332 -0
  189. package/dist/server/modules/sessions/workspace-session-runtime-context-service.js.map +1 -0
  190. package/dist/server/modules/skills/assistant-runtime-skill-catalog.js +5 -0
  191. package/dist/server/modules/skills/assistant-runtime-skill-catalog.js.map +1 -1
  192. package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/SKILL.md +67 -0
  193. package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/agents/openai.yaml +4 -0
  194. package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/references/cli-workflow.md +133 -0
  195. package/dist/server/modules/skills/skill-controller.d.ts +7 -0
  196. package/dist/server/modules/skills/skill-controller.js +7 -0
  197. package/dist/server/modules/skills/skill-controller.js.map +1 -1
  198. package/dist/server/modules/skills/skill-manager-service.d.ts +61 -0
  199. package/dist/server/modules/skills/skill-manager-service.js +218 -0
  200. package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
  201. package/dist/server/modules/skills/skill-name-policy.js +2 -1
  202. package/dist/server/modules/skills/skill-name-policy.js.map +1 -1
  203. package/dist/server/modules/tasks/task-helper-client.d.ts +1 -0
  204. package/dist/server/modules/tasks/task-helper-client.js +45 -9
  205. package/dist/server/modules/tasks/task-helper-client.js.map +1 -1
  206. package/dist/server/modules/tasks/task-types.d.ts +5 -0
  207. package/dist/server/modules/tasks/task-types.js +6 -1
  208. package/dist/server/modules/tasks/task-types.js.map +1 -1
  209. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js +2 -1
  210. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js.map +1 -1
  211. package/dist/server/modules/terminal/runtime/node-pty-loader.d.ts +5 -0
  212. package/dist/server/modules/terminal/runtime/node-pty-loader.js +68 -0
  213. package/dist/server/modules/terminal/runtime/node-pty-loader.js.map +1 -0
  214. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js +2 -1
  215. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js.map +1 -1
  216. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js +6 -9
  217. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js.map +1 -1
  218. package/dist/server/modules/terminal/runtime/pty-runtime-manager.js +6 -9
  219. package/dist/server/modules/terminal/runtime/pty-runtime-manager.js.map +1 -1
  220. package/dist/server/routes/assistant.d.ts +2 -1
  221. package/dist/server/routes/assistant.js +20 -1
  222. package/dist/server/routes/assistant.js.map +1 -1
  223. package/dist/server/routes/browser-runtime.d.ts +3 -0
  224. package/dist/server/routes/browser-runtime.js +14 -0
  225. package/dist/server/routes/browser-runtime.js.map +1 -0
  226. package/dist/server/routes/document-runtime.d.ts +3 -0
  227. package/dist/server/routes/document-runtime.js +18 -0
  228. package/dist/server/routes/document-runtime.js.map +1 -0
  229. package/dist/server/routes/office.d.ts +3 -0
  230. package/dist/server/routes/office.js +16 -0
  231. package/dist/server/routes/office.js.map +1 -0
  232. package/dist/server/routes/ops-runtime.d.ts +3 -0
  233. package/dist/server/routes/ops-runtime.js +13 -0
  234. package/dist/server/routes/ops-runtime.js.map +1 -0
  235. package/dist/server/routes/presentation.d.ts +3 -0
  236. package/dist/server/routes/presentation.js +5 -0
  237. package/dist/server/routes/presentation.js.map +1 -0
  238. package/dist/server/routes/skills.js +1 -0
  239. package/dist/server/routes/skills.js.map +1 -1
  240. package/dist/server/server/create-server.d.ts +36 -0
  241. package/dist/server/server/create-server.js +215 -4
  242. package/dist/server/server/create-server.js.map +1 -1
  243. package/dist/server/server/release-manifest-sync.d.ts +1 -0
  244. package/dist/server/server/release-manifest-sync.js +2 -2
  245. package/dist/server/server/release-manifest-sync.js.map +1 -1
  246. package/dist/server/server/start-host.js +1 -1
  247. package/dist/server/server/start-host.js.map +1 -1
  248. package/dist/server/storage/repositories/auth-token-repository.js +22 -6
  249. package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
  250. package/dist/server/storage/repositories/browser-profile-repository.d.ts +18 -0
  251. package/dist/server/storage/repositories/browser-profile-repository.js +134 -0
  252. package/dist/server/storage/repositories/browser-profile-repository.js.map +1 -0
  253. package/dist/server/storage/repositories/document-comment-repository.d.ts +10 -0
  254. package/dist/server/storage/repositories/document-comment-repository.js +118 -0
  255. package/dist/server/storage/repositories/document-comment-repository.js.map +1 -0
  256. package/dist/server/storage/repositories/document-repository.d.ts +16 -0
  257. package/dist/server/storage/repositories/document-repository.js +109 -0
  258. package/dist/server/storage/repositories/document-repository.js.map +1 -0
  259. package/dist/server/storage/repositories/document-revision-repository.d.ts +10 -0
  260. package/dist/server/storage/repositories/document-revision-repository.js +79 -0
  261. package/dist/server/storage/repositories/document-revision-repository.js.map +1 -0
  262. package/dist/server/storage/repositories/document-template-repository.d.ts +13 -0
  263. package/dist/server/storage/repositories/document-template-repository.js +244 -0
  264. package/dist/server/storage/repositories/document-template-repository.js.map +1 -0
  265. package/dist/server/storage/repositories/office-approval-repository.d.ts +11 -0
  266. package/dist/server/storage/repositories/office-approval-repository.js +109 -0
  267. package/dist/server/storage/repositories/office-approval-repository.js.map +1 -0
  268. package/dist/server/storage/repositories/office-artifact-repository.d.ts +10 -0
  269. package/dist/server/storage/repositories/office-artifact-repository.js +89 -0
  270. package/dist/server/storage/repositories/office-artifact-repository.js.map +1 -0
  271. package/dist/server/storage/repositories/office-audit-event-repository.d.ts +8 -0
  272. package/dist/server/storage/repositories/office-audit-event-repository.js +54 -0
  273. package/dist/server/storage/repositories/office-audit-event-repository.js.map +1 -0
  274. package/dist/server/storage/repositories/office-connector-repository.d.ts +10 -0
  275. package/dist/server/storage/repositories/office-connector-repository.js +97 -0
  276. package/dist/server/storage/repositories/office-connector-repository.js.map +1 -0
  277. package/dist/server/storage/repositories/office-receipt-repository.d.ts +8 -0
  278. package/dist/server/storage/repositories/office-receipt-repository.js +48 -0
  279. package/dist/server/storage/repositories/office-receipt-repository.js.map +1 -0
  280. package/dist/server/storage/repositories/office-rollback-record-repository.d.ts +8 -0
  281. package/dist/server/storage/repositories/office-rollback-record-repository.js +60 -0
  282. package/dist/server/storage/repositories/office-rollback-record-repository.js.map +1 -0
  283. package/dist/server/storage/repositories/office-task-repository.d.ts +19 -0
  284. package/dist/server/storage/repositories/office-task-repository.js +199 -0
  285. package/dist/server/storage/repositories/office-task-repository.js.map +1 -0
  286. package/dist/server/storage/repositories/office-task-step-repository.d.ts +10 -0
  287. package/dist/server/storage/repositories/office-task-step-repository.js +110 -0
  288. package/dist/server/storage/repositories/office-task-step-repository.js.map +1 -0
  289. package/dist/server/storage/repositories/ops-target-repository.d.ts +16 -0
  290. package/dist/server/storage/repositories/ops-target-repository.js +119 -0
  291. package/dist/server/storage/repositories/ops-target-repository.js.map +1 -0
  292. package/dist/server/storage/repositories/session-binding-repository.d.ts +4 -0
  293. package/dist/server/storage/repositories/session-binding-repository.js +70 -69
  294. package/dist/server/storage/repositories/session-binding-repository.js.map +1 -1
  295. package/dist/server/storage/repositories/session-changed-file-repository.d.ts +6 -0
  296. package/dist/server/storage/repositories/session-changed-file-repository.js +44 -43
  297. package/dist/server/storage/repositories/session-changed-file-repository.js.map +1 -1
  298. package/dist/server/storage/repositories/session-fork-repository.d.ts +2 -0
  299. package/dist/server/storage/repositories/session-fork-repository.js +42 -41
  300. package/dist/server/storage/repositories/session-fork-repository.js.map +1 -1
  301. package/dist/server/storage/repositories/session-index-repository.d.ts +5 -0
  302. package/dist/server/storage/repositories/session-index-repository.js +153 -152
  303. package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
  304. package/dist/server/storage/repositories/session-message-attachment-repository.d.ts +7 -0
  305. package/dist/server/storage/repositories/session-message-attachment-repository.js +91 -90
  306. package/dist/server/storage/repositories/session-message-attachment-repository.js.map +1 -1
  307. package/dist/server/storage/repositories/session-message-origin-repository.d.ts +2 -0
  308. package/dist/server/storage/repositories/session-message-origin-repository.js +25 -24
  309. package/dist/server/storage/repositories/session-message-origin-repository.js.map +1 -1
  310. package/dist/server/storage/repositories/session-state-repository.d.ts +2 -0
  311. package/dist/server/storage/repositories/session-state-repository.js +35 -34
  312. package/dist/server/storage/repositories/session-state-repository.js.map +1 -1
  313. package/dist/server/storage/repositories/session-status-snapshot-repository.d.ts +2 -0
  314. package/dist/server/storage/repositories/session-status-snapshot-repository.js +25 -24
  315. package/dist/server/storage/repositories/session-status-snapshot-repository.js.map +1 -1
  316. package/dist/server/storage/sqlite/client.js +123 -1
  317. package/dist/server/storage/sqlite/client.js.map +1 -1
  318. package/dist/server/storage/sqlite/schema.sql +300 -1
  319. package/dist/server/types/domain.d.ts +205 -1
  320. package/package.json +14 -7
  321. package/scripts/postinstall.mjs +170 -36
  322. package/dist/public/assets/FileContextPanel-xGTYDclT.js +0 -1
  323. package/dist/public/assets/WorkbenchLayout-DScHaza9.js +0 -244
  324. package/dist/public/assets/WorkbenchShellRoute-DN6LdrqC.js +0 -1
  325. package/dist/public/assets/WorkbenchShellRoute-DhQo_0vu.css +0 -1
  326. package/dist/public/assets/file-tree-icon-lfU9Ag77.js +0 -3
  327. package/dist/public/assets/index-CFYXCsyx.css +0 -1
  328. package/dist/public/assets/index-NGxWr8Ix.js +0 -42
  329. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.d.ts +0 -42
  330. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js +0 -346
  331. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js.map +0 -1
  332. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.d.ts +0 -1
  333. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js +0 -80
  334. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js.map +0 -1
  335. package/node_modules/@codingns/session-sync-core/dist/index.d.ts +0 -18
  336. package/node_modules/@codingns/session-sync-core/dist/index.js +0 -19
  337. package/node_modules/@codingns/session-sync-core/dist/index.js.map +0 -1
  338. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.d.ts +0 -18
  339. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.js +0 -659
  340. package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.js.map +0 -1
  341. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.d.ts +0 -11
  342. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.js +0 -72
  343. package/node_modules/@codingns/session-sync-core/dist/kimi-shared.js.map +0 -1
  344. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +0 -67
  345. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +0 -752
  346. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +0 -1
  347. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +0 -48
  348. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +0 -1184
  349. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +0 -1
  350. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.d.ts +0 -11
  351. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js +0 -105
  352. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js.map +0 -1
  353. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +0 -84
  354. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +0 -2436
  355. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +0 -1
  356. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +0 -47
  357. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +0 -1480
  358. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +0 -1
  359. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +0 -33
  360. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +0 -684
  361. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +0 -1
  362. package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.d.ts +0 -9
  363. package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.js +0 -17
  364. package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.js.map +0 -1
  365. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.d.ts +0 -1
  366. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js +0 -8
  367. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js.map +0 -1
  368. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.d.ts +0 -48
  369. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js +0 -373
  370. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js.map +0 -1
  371. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +0 -61
  372. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +0 -1191
  373. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +0 -1
  374. package/node_modules/@codingns/session-sync-core/dist/providers/utils.d.ts +0 -27
  375. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +0 -415
  376. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +0 -1
  377. package/node_modules/@codingns/session-sync-core/dist/registry.d.ts +0 -7
  378. package/node_modules/@codingns/session-sync-core/dist/registry.js +0 -22
  379. package/node_modules/@codingns/session-sync-core/dist/registry.js.map +0 -1
  380. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +0 -24
  381. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +0 -329
  382. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +0 -1
  383. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +0 -30
  384. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +0 -939
  385. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +0 -1
  386. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.d.ts +0 -1
  387. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js +0 -16
  388. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js.map +0 -1
  389. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +0 -70
  390. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +0 -2571
  391. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +0 -1
  392. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.d.ts +0 -21
  393. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js +0 -561
  394. package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js.map +0 -1
  395. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.d.ts +0 -38
  396. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.js +0 -911
  397. package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.js.map +0 -1
  398. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.d.ts +0 -15
  399. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js +0 -16
  400. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js.map +0 -1
  401. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +0 -37
  402. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +0 -963
  403. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +0 -1
  404. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +0 -21
  405. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +0 -168
  406. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +0 -1
  407. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +0 -152
  408. package/node_modules/@codingns/session-sync-core/dist/runtime/types.js +0 -2
  409. package/node_modules/@codingns/session-sync-core/dist/runtime/types.js.map +0 -1
  410. package/node_modules/@codingns/session-sync-core/dist/services.d.ts +0 -28
  411. package/node_modules/@codingns/session-sync-core/dist/services.js +0 -148
  412. package/node_modules/@codingns/session-sync-core/dist/services.js.map +0 -1
  413. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.d.ts +0 -6
  414. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.js +0 -9
  415. package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.js.map +0 -1
  416. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +0 -198
  417. package/node_modules/@codingns/session-sync-core/dist/types.js +0 -2
  418. package/node_modules/@codingns/session-sync-core/dist/types.js.map +0 -1
  419. package/node_modules/@codingns/session-sync-core/package.json +0 -33
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/routes/skills.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAoB,EACpB,eAAgC;IAEhC,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7C,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACvD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/routes/skills.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAoB,EACpB,eAAgC;IAEhC,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7D,GAAG,CAAC,GAAG,CAAC,0CAA0C,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;IAClG,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7C,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACvD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC"}
@@ -24,6 +24,8 @@ import { ChannelGatewayService } from "../modules/channels/channel-gateway-servi
24
24
  import { ChannelPollingScheduler } from "../modules/channels/channel-polling-scheduler.js";
25
25
  import { ChannelPollingService } from "../modules/channels/channel-polling-service.js";
26
26
  import { ChannelService } from "../modules/channels/channel-service.js";
27
+ import { BrowserProfileService } from "../modules/browser-runtime/browser-profile-service.js";
28
+ import { DocumentRuntimeService } from "../modules/document-runtime/document-runtime-service.js";
27
29
  import { DebugRuntimeReconciliationScheduler } from "../modules/debug-target/debug-runtime-reconciliation-scheduler.js";
28
30
  import { DebugTargetService } from "../modules/debug-target/debug-target-service.js";
29
31
  import { FileContentService } from "../modules/file/file-content-service.js";
@@ -36,6 +38,8 @@ import { RecentFileService } from "../modules/file/recent-file-service.js";
36
38
  import { CommitOrchestrator } from "../modules/git/commit-orchestrator.js";
37
39
  import { GitReadService } from "../modules/git/git-read-service.js";
38
40
  import { GitWriteService } from "../modules/git/git-write-service.js";
41
+ import { OfficeService } from "../modules/office/office-service.js";
42
+ import { OpsRuntimeService } from "../modules/ops-runtime/ops-runtime-service.js";
39
43
  import { PreferenceProfileService } from "../modules/preferences/profile-service.js";
40
44
  import { QuickPhraseService } from "../modules/preferences/quick-phrase-service.js";
41
45
  import { ModelSwitchService } from "../modules/model-switch/model-switch-service.js";
@@ -78,6 +82,11 @@ import { ButlerProfileRepository } from "../storage/repositories/butler-profile-
78
82
  import { ButlerProjectRepository } from "../storage/repositories/butler-project-repository.js";
79
83
  import { ButlerSessionRepository } from "../storage/repositories/butler-session-repository.js";
80
84
  import { ButlerSessionSummaryStateRepository } from "../storage/repositories/butler-session-summary-state-repository.js";
85
+ import { BrowserProfileRepository } from "../storage/repositories/browser-profile-repository.js";
86
+ import { DocumentCommentRepository } from "../storage/repositories/document-comment-repository.js";
87
+ import { DocumentRepository } from "../storage/repositories/document-repository.js";
88
+ import { DocumentRevisionRepository } from "../storage/repositories/document-revision-repository.js";
89
+ import { DocumentTemplateRepository } from "../storage/repositories/document-template-repository.js";
81
90
  import { PatrolPlanRepository } from "../storage/repositories/patrol-plan-repository.js";
82
91
  import { PatrolRunRepository } from "../storage/repositories/patrol-run-repository.js";
83
92
  import { ProjectMemoryRepository } from "../storage/repositories/project-memory-repository.js";
@@ -90,6 +99,15 @@ import { ChannelThreadRepository } from "../storage/repositories/channel-thread-
90
99
  import { DebugRuntimeSessionRepository } from "../storage/repositories/debug-runtime-session-repository.js";
91
100
  import { DebugServiceRepository } from "../storage/repositories/debug-service-repository.js";
92
101
  import { DebugTargetRepository } from "../storage/repositories/debug-target-repository.js";
102
+ import { OfficeApprovalRepository } from "../storage/repositories/office-approval-repository.js";
103
+ import { OfficeArtifactRepository } from "../storage/repositories/office-artifact-repository.js";
104
+ import { OfficeAuditEventRepository } from "../storage/repositories/office-audit-event-repository.js";
105
+ import { OfficeConnectorRepository } from "../storage/repositories/office-connector-repository.js";
106
+ import { OfficeReceiptRepository } from "../storage/repositories/office-receipt-repository.js";
107
+ import { OfficeRollbackRecordRepository } from "../storage/repositories/office-rollback-record-repository.js";
108
+ import { OfficeTaskRepository } from "../storage/repositories/office-task-repository.js";
109
+ import { OfficeTaskStepRepository } from "../storage/repositories/office-task-step-repository.js";
110
+ import { OpsTargetRepository } from "../storage/repositories/ops-target-repository.js";
93
111
  import { FileContextBindingRepository } from "../storage/repositories/file-context-binding-repository.js";
94
112
  import { FrameworkAnalysisResultRepository } from "../storage/repositories/framework-analysis-result-repository.js";
95
113
  import { GitRemoteCredentialRepository } from "../storage/repositories/git-remote-credential-repository.js";
@@ -157,6 +175,20 @@ export declare function createServer(config: HostConfig): {
157
175
  debugServiceRepository: DebugServiceRepository;
158
176
  frameworkAnalysisResultRepository: FrameworkAnalysisResultRepository;
159
177
  debugRuntimeSessionRepository: DebugRuntimeSessionRepository;
178
+ officeTaskRepository: OfficeTaskRepository;
179
+ officeTaskStepRepository: OfficeTaskStepRepository;
180
+ officeArtifactRepository: OfficeArtifactRepository;
181
+ officeApprovalRepository: OfficeApprovalRepository;
182
+ officeReceiptRepository: OfficeReceiptRepository;
183
+ officeConnectorRepository: OfficeConnectorRepository;
184
+ officeAuditEventRepository: OfficeAuditEventRepository;
185
+ officeRollbackRecordRepository: OfficeRollbackRecordRepository;
186
+ browserProfileRepository: BrowserProfileRepository;
187
+ documentTemplateRepository: DocumentTemplateRepository;
188
+ documentRepository: DocumentRepository;
189
+ documentRevisionRepository: DocumentRevisionRepository;
190
+ documentCommentRepository: DocumentCommentRepository;
191
+ opsTargetRepository: OpsTargetRepository;
160
192
  portLeaseRepository: PortLeaseRepository;
161
193
  runtimeBindingRepository: RuntimeBindingRepository;
162
194
  aiFallbackEditRepository: AiFallbackEditRepository;
@@ -261,6 +293,10 @@ export declare function createServer(config: HostConfig): {
261
293
  tailscaleManager: TailscaleManager;
262
294
  tailscaleService: TailscaleService;
263
295
  modelSwitchService: ModelSwitchService;
296
+ officeService: OfficeService;
297
+ browserProfileService: BrowserProfileService;
298
+ documentRuntimeService: DocumentRuntimeService;
299
+ opsRuntimeService: OpsRuntimeService;
264
300
  runtimeObservabilityService: RuntimeObservabilityService;
265
301
  sessionHistoryService: SessionHistoryService;
266
302
  sessionChangedFileService: SessionChangedFileService;
@@ -54,6 +54,15 @@ import { createDefaultChannelPlatformAdapterRegistry } from "../modules/channels
54
54
  import { ChannelService } from "../modules/channels/channel-service.js";
55
55
  import { WechatClawRuntimeClient } from "../modules/channels/wechat-claw-runtime-client.js";
56
56
  import { WechatClawRuntimeManager } from "../modules/channels/wechat-claw-runtime-manager.js";
57
+ import { BrowserProfileService } from "../modules/browser-runtime/browser-profile-service.js";
58
+ import { BrowserRuntimeController } from "../modules/browser-runtime/browser-runtime-controller.js";
59
+ import { BrowserRuntimeService } from "../modules/browser-runtime/browser-runtime-service.js";
60
+ import { OpenCliBridgeBrowserExecutor } from "../modules/browser-runtime/opencli-bridge-browser-executor.js";
61
+ import { OpenCliBrowserBridgeService } from "../modules/browser-runtime/opencli-browser-bridge-service.js";
62
+ import { PlaywrightBrowserExecutor } from "../modules/browser-runtime/playwright-browser-executor.js";
63
+ import { DocumentRuntimeController } from "../modules/document-runtime/document-runtime-controller.js";
64
+ import { DocumentExportExecutor } from "../modules/document-runtime/document-export-executor.js";
65
+ import { DocumentRuntimeService } from "../modules/document-runtime/document-runtime-service.js";
57
66
  import { DebugTargetController } from "../modules/debug-target/debug-target-controller.js";
58
67
  import { DebugRuntimeReconciliationScheduler } from "../modules/debug-target/debug-runtime-reconciliation-scheduler.js";
59
68
  import { DebugTargetService } from "../modules/debug-target/debug-target-service.js";
@@ -77,11 +86,21 @@ import { GitRemoteCredentialService } from "../modules/git/git-remote-credential
77
86
  import { GitReadService } from "../modules/git/git-read-service.js";
78
87
  import { GitRuleRepository } from "../modules/git/git-rule-repository.js";
79
88
  import { GitWriteService } from "../modules/git/git-write-service.js";
89
+ import { OfficeController } from "../modules/office/office-controller.js";
90
+ import { OfficePreviewLinkService } from "../modules/office/office-preview-link-service.js";
91
+ import { OfficeService } from "../modules/office/office-service.js";
92
+ import { OpsRuntimeController } from "../modules/ops-runtime/ops-runtime-controller.js";
93
+ import { OpsRuntimeService } from "../modules/ops-runtime/ops-runtime-service.js";
94
+ import { SshOpsExecutor } from "../modules/ops-runtime/ssh-ops-executor.js";
80
95
  import { WorkspaceRepoGuard } from "../modules/git/workspace-repo-guard.js";
81
96
  import { ProfileController } from "../modules/preferences/profile-controller.js";
82
97
  import { PreferenceProfileService } from "../modules/preferences/profile-service.js";
83
98
  import { QuickPhraseController } from "../modules/preferences/quick-phrase-controller.js";
84
99
  import { QuickPhraseService } from "../modules/preferences/quick-phrase-service.js";
100
+ import { PresentationController } from "../modules/presentation/presentation-controller.js";
101
+ import { PresentationExportTaskService } from "../modules/presentation/presentation-export-task-service.js";
102
+ import { PresentationPdfExportService } from "../modules/presentation/presentation-pdf-export-service.js";
103
+ import { PresentationPptxExportService } from "../modules/presentation/presentation-pptx-export-service.js";
85
104
  import { RelayTunnelController } from "../modules/relay-tunnel/relay-tunnel-controller.js";
86
105
  import { RelayTunnelRuntimeEdgeAdapter } from "../modules/relay-tunnel/relay-tunnel-runtime-adapter.js";
87
106
  import { RelayTunnelService } from "../modules/relay-tunnel/relay-tunnel-service.js";
@@ -122,6 +141,8 @@ import { SessionLiveRuntimeService } from "../modules/sessions/session-live-runt
122
141
  import { SessionProviderConfigService } from "../modules/sessions/session-provider-config-service.js";
123
142
  import { SessionProviderUsageLimitGuardService } from "../modules/sessions/session-provider-usage-guard-service.js";
124
143
  import { SessionMessageAttachmentService } from "../modules/sessions/session-message-attachment-service.js";
144
+ import { WorkspaceSessionAuthService } from "../modules/sessions/workspace-session-auth-service.js";
145
+ import { WorkspaceSessionRuntimeContextService } from "../modules/sessions/workspace-session-runtime-context-service.js";
125
146
  import { EventLoopMonitor } from "../modules/tasks/event-loop-monitor.js";
126
147
  import { ObservabilityController } from "../modules/tasks/observability-controller.js";
127
148
  import { RuntimeObservabilityService } from "../modules/tasks/observability-service.js";
@@ -149,14 +170,18 @@ import { WorkspaceService } from "../modules/workspace/workspace-service.js";
149
170
  import { registerAuthRoutes } from "../routes/auth.js";
150
171
  import { registerAssistantCapabilityRoutes } from "../routes/assistant.js";
151
172
  import { registerButlerRoutes } from "../routes/butler.js";
173
+ import { registerBrowserRuntimeRoutes } from "../routes/browser-runtime.js";
152
174
  import { registerChannelRoutes } from "../routes/channels.js";
153
175
  import { registerClientRoutes } from "../routes/client.js";
154
176
  import { registerDebugTargetRoutes } from "../routes/debug-targets.js";
177
+ import { registerDocumentRuntimeRoutes } from "../routes/document-runtime.js";
155
178
  import { registerFileRoutes } from "../routes/files.js";
156
179
  import { registerGitRoutes } from "../routes/git.js";
180
+ import { registerOfficeRoutes } from "../routes/office.js";
157
181
  import { registerOpenCliRoutes } from "../routes/opencli.js";
158
182
  import { registerObservabilityRoutes } from "../routes/observability.js";
159
183
  import { registerParallelGroupRoutes } from "../routes/parallel-groups.js";
184
+ import { registerPresentationRoutes } from "../routes/presentation.js";
160
185
  import { registerPreferenceRoutes } from "../routes/preferences.js";
161
186
  import { registerProviderRoutes } from "../routes/providers.js";
162
187
  import { registerPublicRoutes } from "../routes/public.js";
@@ -169,6 +194,7 @@ import { registerWorkbenchRoutes } from "../routes/workbench.js";
169
194
  import { registerWorktreeRoutes } from "../routes/worktrees.js";
170
195
  import { registerWorkspaceRoutes } from "../routes/workspaces.js";
171
196
  import { registerSystemRoutes } from "../routes/system.js";
197
+ import { registerOpsRuntimeRoutes } from "../routes/ops-runtime.js";
172
198
  import { DemoCleanupService, DemoOnlineTracker } from "../modules/demo/demo-cleanup-service.js";
173
199
  import { setErrorHandler } from "../shared/http/error-handler.js";
174
200
  import { startTerminalDebugEventLoopLagMonitor } from "../shared/utils/terminal-debug-log.js";
@@ -193,6 +219,11 @@ import { ButlerProfileRepository } from "../storage/repositories/butler-profile-
193
219
  import { ButlerProjectRepository } from "../storage/repositories/butler-project-repository.js";
194
220
  import { ButlerSessionRepository } from "../storage/repositories/butler-session-repository.js";
195
221
  import { ButlerSessionSummaryStateRepository } from "../storage/repositories/butler-session-summary-state-repository.js";
222
+ import { BrowserProfileRepository } from "../storage/repositories/browser-profile-repository.js";
223
+ import { DocumentCommentRepository } from "../storage/repositories/document-comment-repository.js";
224
+ import { DocumentRepository } from "../storage/repositories/document-repository.js";
225
+ import { DocumentRevisionRepository } from "../storage/repositories/document-revision-repository.js";
226
+ import { DocumentTemplateRepository } from "../storage/repositories/document-template-repository.js";
196
227
  import { PatrolPlanRepository } from "../storage/repositories/patrol-plan-repository.js";
197
228
  import { PatrolRunRepository } from "../storage/repositories/patrol-run-repository.js";
198
229
  import { ProjectMemoryRepository } from "../storage/repositories/project-memory-repository.js";
@@ -205,6 +236,15 @@ import { ChannelThreadRepository } from "../storage/repositories/channel-thread-
205
236
  import { DebugRuntimeSessionRepository } from "../storage/repositories/debug-runtime-session-repository.js";
206
237
  import { DebugServiceRepository } from "../storage/repositories/debug-service-repository.js";
207
238
  import { DebugTargetRepository } from "../storage/repositories/debug-target-repository.js";
239
+ import { OfficeApprovalRepository } from "../storage/repositories/office-approval-repository.js";
240
+ import { OfficeArtifactRepository } from "../storage/repositories/office-artifact-repository.js";
241
+ import { OfficeAuditEventRepository } from "../storage/repositories/office-audit-event-repository.js";
242
+ import { OfficeConnectorRepository } from "../storage/repositories/office-connector-repository.js";
243
+ import { OfficeReceiptRepository } from "../storage/repositories/office-receipt-repository.js";
244
+ import { OfficeRollbackRecordRepository } from "../storage/repositories/office-rollback-record-repository.js";
245
+ import { OfficeTaskRepository } from "../storage/repositories/office-task-repository.js";
246
+ import { OfficeTaskStepRepository } from "../storage/repositories/office-task-step-repository.js";
247
+ import { OpsTargetRepository } from "../storage/repositories/ops-target-repository.js";
208
248
  import { FileContextBindingRepository } from "../storage/repositories/file-context-binding-repository.js";
209
249
  import { FrameworkAnalysisResultRepository } from "../storage/repositories/framework-analysis-result-repository.js";
210
250
  import { GitRemoteCredentialRepository } from "../storage/repositories/git-remote-credential-repository.js";
@@ -285,6 +325,20 @@ export function createServer(config) {
285
325
  debugServiceRepository: new DebugServiceRepository(database.db),
286
326
  frameworkAnalysisResultRepository: new FrameworkAnalysisResultRepository(database.db),
287
327
  debugRuntimeSessionRepository: new DebugRuntimeSessionRepository(database.db),
328
+ officeTaskRepository: new OfficeTaskRepository(database.db),
329
+ officeTaskStepRepository: new OfficeTaskStepRepository(database.db),
330
+ officeArtifactRepository: new OfficeArtifactRepository(database.db),
331
+ officeApprovalRepository: new OfficeApprovalRepository(database.db),
332
+ officeReceiptRepository: new OfficeReceiptRepository(database.db),
333
+ officeConnectorRepository: new OfficeConnectorRepository(database.db),
334
+ officeAuditEventRepository: new OfficeAuditEventRepository(database.db),
335
+ officeRollbackRecordRepository: new OfficeRollbackRecordRepository(database.db),
336
+ browserProfileRepository: new BrowserProfileRepository(database.db),
337
+ documentTemplateRepository: new DocumentTemplateRepository(database.db),
338
+ documentRepository: new DocumentRepository(database.db),
339
+ documentRevisionRepository: new DocumentRevisionRepository(database.db),
340
+ documentCommentRepository: new DocumentCommentRepository(database.db),
341
+ opsTargetRepository: new OpsTargetRepository(database.db),
288
342
  portLeaseRepository: new PortLeaseRepository(database.db),
289
343
  runtimeBindingRepository: new RuntimeBindingRepository(database.db),
290
344
  aiFallbackEditRepository: new AiFallbackEditRepository(database.db),
@@ -338,6 +392,8 @@ export function createServer(config) {
338
392
  terminalRuntimeSessionRepository: new TerminalRuntimeSessionRepository(database.db),
339
393
  terminalCommandTemplateRepository: new TerminalCommandTemplateRepository(database.db)
340
394
  };
395
+ ensureDefaultOfficeConnectors(repositories.officeConnectorRepository);
396
+ ensureDefaultDocumentTemplates(repositories.documentTemplateRepository);
341
397
  const bootstrapService = new BootstrapService(database.db, repositories.bootstrapStateRepository, repositories.authUserRepository, config.demoMode);
342
398
  // Demo 模式服务
343
399
  const demoCleanupService = config.demoMode
@@ -370,6 +426,9 @@ export function createServer(config) {
370
426
  const fileContentService = new FileContentService(fileAccessGuard, recentFileService, repositories.fileContextBindingRepository, fileVersionChecker);
371
427
  const filePreviewService = new FilePreviewService(fileAccessGuard, fileContentService, recentFileService);
372
428
  const filePreviewLinkService = new FilePreviewLinkService(fileAccessGuard, config.filePreviewTokenSecret);
429
+ const presentationPdfExportService = new PresentationPdfExportService(config);
430
+ const presentationPptxExportService = new PresentationPptxExportService(config);
431
+ const presentationExportTaskService = new PresentationExportTaskService(taskManager, presentationPdfExportService, presentationPptxExportService, fileAccessGuard);
373
432
  const workspaceRepoGuard = new WorkspaceRepoGuard(workspaceService, gitCommandRunner);
374
433
  const gitReadService = new GitReadService(gitCommandRunner, workspaceRepoGuard);
375
434
  const gitRemoteCredentialService = new GitRemoteCredentialService(repositories.gitRemoteCredentialRepository, config.gitCredentialSecret);
@@ -422,11 +481,19 @@ export function createServer(config) {
422
481
  const openCliSessionPromptService = new OpenCliSessionPromptService(repositories.openCliProviderRepository, repositories.openCliCatalogEntryRepository);
423
482
  const openCliBridgeSkillService = new OpenCliBridgeSkillService(repositories.openCliProviderRepository, repositories.openCliCatalogEntryRepository);
424
483
  const openCliController = new OpenCliController(openCliManagementService);
425
- const sessionProviderConfigService = new SessionProviderConfigService(config, ccSwitchAdapter, openCliRuntimeResolver, openCliBridgeSkillService);
484
+ const workspaceSessionAuthService = new WorkspaceSessionAuthService(authService, config);
485
+ const workspaceSessionRuntimeContextService = new WorkspaceSessionRuntimeContextService(workspaceSessionAuthService, {
486
+ codexHomeDir: config.codexHomeDir,
487
+ claudeCodeHomeDir: config.claudeCodeHomeDir,
488
+ runtimeStorageRootDir: path.dirname(config.databasePath)
489
+ });
490
+ const sessionProviderConfigService = new SessionProviderConfigService(config, ccSwitchAdapter, openCliRuntimeResolver, openCliBridgeSkillService, workspaceSessionRuntimeContextService);
426
491
  const skillTargetAdapters = createDefaultSkillTargetAdapters(config);
427
492
  const skillManagerService = new SkillManagerService(repositories.managedSkillRepository, repositories.skillTargetBindingRepository, skillTargetAdapters, {
428
493
  ssotRootDir: path.join(path.dirname(config.databasePath), "skills"),
429
- providerControlRepository: repositories.providerControlRepository
494
+ providerControlRepository: repositories.providerControlRepository,
495
+ runtimeStorageRootDir: path.dirname(config.databasePath),
496
+ workspaceRootResolver: (workspaceId) => workspaceService.getWorkspaceOrThrow(workspaceId).path
430
497
  });
431
498
  for (const result of cleanupLegacyAssistantRuntimeSkillCopies(skillTargetAdapters)) {
432
499
  if (result.status === "removed_legacy_copy") {
@@ -454,7 +521,7 @@ export function createServer(config) {
454
521
  const sessionHistoryService = new SessionHistoryService(database.db, repositories.workspaceRepository, repositories.sessionBindingRepository, sessionChangedFileService, repositories.sessionIndexRepository, sessionMessageAttachmentService, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, config, sessionActivityAuthorityService, repositories.sessionMessageOriginRepository, repositories.sessionForkRepository, {}, taskManager, repositories.parallelSessionGroupRepository, repositories.parallelSessionMemberRepository, repositories.sessionIsolatedWorkspaceRepository, sessionProviderConfigService, repositories.providerControlRepository, providerRuntimeStateService);
455
522
  const providerCatalogService = new ProviderCatalogService(config, repositories.providerControlRepository, providerRuntimeStateService);
456
523
  runtimeObservabilityService = new RuntimeObservabilityService(() => sessionHistoryService.observeBackgroundTaskMetrics(), () => schedulerMetrics.observe(), eventLoopMonitor, taskActivityLog);
457
- const sessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, config, sessionActivityAuthorityService, openCliSessionPromptService);
524
+ const sessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, config, sessionActivityAuthorityService, openCliSessionPromptService, workspaceSessionRuntimeContextService);
458
525
  sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => sessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
459
526
  const butlerRuntimeRootDir = path.join(path.dirname(config.databasePath), "butler-runtime");
460
527
  const butlerRuntimeConfig = {
@@ -611,7 +678,6 @@ export function createServer(config) {
611
678
  const butlerController = new ButlerController(butlerProfileService, butlerControlSessionService, butlerControlActionService, butlerContextAggregator, butlerFollowUpService, butlerInboxService, butlerNotificationService, butlerProjectService, butlerSessionService, projectMemoryService, patrolPlanService, patrolRunService, patrolExecutionService, verificationRunService, butlerActionContextService, butlerControlTimerService);
612
679
  const sessionController = new SessionController(sessionHistoryService, routedSessionLiveRuntimeService, repositories.butlerControlSessionRepository);
613
680
  const parallelSessionController = new ParallelSessionController(parallelSessionGroupService, sessionIsolatedWorkspaceService);
614
- const assistantCapabilityController = new AssistantCapabilityController(new AssistantCapabilityService(butlerProjectService, butlerSessionService, butlerControlSessionService, assistantAutomationService, assistantSandboxService, butlerControlTimerService, sessionHistoryService, sessionLiveRuntimeService, terminalService, debugTargetService, workspaceService, worktreeManager, worktreeSyncService, worktreeMergeService, worktreeCleanupService, repositories.sessionMessageOriginRepository, butlerFollowUpService, repositories.providerControlRepository));
615
681
  const providerController = new ProviderController(sessionHistoryService, sessionProviderConfigService, providerCatalogService, routedSessionLiveRuntimeService, config);
616
682
  const skillController = new SkillController(skillManagerService);
617
683
  const tailscaleController = new TailscaleController(tailscaleService);
@@ -619,6 +685,25 @@ export function createServer(config) {
619
685
  const modelSwitchController = new ModelSwitchController(modelSwitchService);
620
686
  const quickPhraseController = new QuickPhraseController(quickPhraseService);
621
687
  const profileController = new ProfileController(preferenceProfileService);
688
+ const officeService = new OfficeService(repositories.officeTaskRepository, repositories.officeTaskStepRepository, repositories.officeArtifactRepository, repositories.officeApprovalRepository, repositories.officeReceiptRepository, repositories.officeConnectorRepository, repositories.officeAuditEventRepository, repositories.officeRollbackRecordRepository, config.databasePath);
689
+ const officePreviewLinkService = new OfficePreviewLinkService(officeService, config.filePreviewTokenSecret);
690
+ const officeController = new OfficeController(officeService, officePreviewLinkService);
691
+ const browserProfileService = new BrowserProfileService(repositories.browserProfileRepository, config.databasePath);
692
+ const playwrightBrowserExecutor = new PlaywrightBrowserExecutor(config, repositories.officeTaskRepository, repositories.officeTaskStepRepository, repositories.officeArtifactRepository, repositories.officeReceiptRepository, repositories.officeAuditEventRepository);
693
+ const openCliBrowserBridgeService = new OpenCliBrowserBridgeService(openCliHealthService);
694
+ const openCliBridgeBrowserExecutor = new OpenCliBridgeBrowserExecutor(config.databasePath, repositories.officeTaskRepository, repositories.officeTaskStepRepository, repositories.officeArtifactRepository, repositories.officeReceiptRepository, repositories.officeAuditEventRepository, openCliHealthService);
695
+ const browserRuntimeService = new BrowserRuntimeService(browserProfileService, officeService, repositories.officeTaskRepository, [
696
+ playwrightBrowserExecutor,
697
+ openCliBridgeBrowserExecutor
698
+ ], openCliBrowserBridgeService, taskManager);
699
+ const browserRuntimeController = new BrowserRuntimeController(browserRuntimeService);
700
+ const documentRuntimeService = new DocumentRuntimeService(repositories.documentTemplateRepository, repositories.documentRepository, repositories.documentRevisionRepository, repositories.documentCommentRepository, officeService, taskManager, new DocumentExportExecutor(config, repositories.officeTaskRepository, repositories.officeTaskStepRepository, repositories.officeArtifactRepository, repositories.officeReceiptRepository, repositories.officeAuditEventRepository), path.join(path.dirname(config.databasePath), "document-templates"));
701
+ const documentRuntimeController = new DocumentRuntimeController(documentRuntimeService);
702
+ const sshOpsExecutor = new SshOpsExecutor(config, repositories.officeTaskRepository, repositories.officeTaskStepRepository, repositories.officeArtifactRepository, repositories.officeReceiptRepository, repositories.officeAuditEventRepository);
703
+ const opsRuntimeService = new OpsRuntimeService(repositories.opsTargetRepository, browserProfileService, officeService, repositories.officeTaskRepository, sshOpsExecutor, taskManager);
704
+ const opsRuntimeController = new OpsRuntimeController(opsRuntimeService);
705
+ const assistantCapabilityController = new AssistantCapabilityController(new AssistantCapabilityService(butlerProjectService, butlerSessionService, butlerControlSessionService, assistantAutomationService, assistantSandboxService, butlerControlTimerService, sessionHistoryService, sessionLiveRuntimeService, terminalService, debugTargetService, workspaceService, repositories.workspaceWorktreeRepository, worktreeManager, worktreeSyncService, worktreeMergeService, worktreeCleanupService, repositories.sessionMessageOriginRepository, butlerFollowUpService, repositories.providerControlRepository, documentRuntimeService, officeService, officePreviewLinkService, browserRuntimeService, opsRuntimeService));
706
+ const presentationController = new PresentationController(presentationExportTaskService);
622
707
  const fileController = new FileController(fileTreeService, fileContentService, fileSearchService, recentFileService, filePreviewService, filePreviewLinkService);
623
708
  const fileContextController = new FileContextController(fileContentService, fileContextService);
624
709
  const gitController = new GitController(gitReadService, gitWriteService, commitOrchestrator, gitRemoteCredentialService);
@@ -691,12 +776,17 @@ export function createServer(config) {
691
776
  void registerClientRoutes(app, clientController);
692
777
  void registerDebugTargetRoutes(app, debugTargetController);
693
778
  void registerObservabilityRoutes(app, observabilityController);
779
+ void registerOfficeRoutes(app, officeController);
780
+ void registerBrowserRuntimeRoutes(app, browserRuntimeController);
781
+ void registerDocumentRuntimeRoutes(app, documentRuntimeController);
782
+ void registerOpsRuntimeRoutes(app, opsRuntimeController);
694
783
  void registerWorkspaceRoutes(app, workspaceController);
695
784
  void registerWorktreeRoutes(app, worktreeController);
696
785
  void registerWorkbenchRoutes(app, workbenchController);
697
786
  void registerButlerRoutes(app, butlerController);
698
787
  void registerSessionRoutes(app, sessionController);
699
788
  void registerParallelGroupRoutes(app, parallelSessionController);
789
+ void registerPresentationRoutes(app, presentationController);
700
790
  void registerPreferenceRoutes(app, quickPhraseController, profileController);
701
791
  void registerSkillRoutes(app, skillController);
702
792
  void registerOpenCliRoutes(app, openCliController);
@@ -804,6 +894,10 @@ export function createServer(config) {
804
894
  tailscaleManager,
805
895
  tailscaleService,
806
896
  modelSwitchService,
897
+ officeService,
898
+ browserProfileService,
899
+ documentRuntimeService,
900
+ opsRuntimeService,
807
901
  runtimeObservabilityService,
808
902
  sessionHistoryService,
809
903
  sessionChangedFileService,
@@ -817,6 +911,123 @@ export function createServer(config) {
817
911
  startWs: () => wsHandle
818
912
  };
819
913
  }
914
+ function ensureDefaultOfficeConnectors(repository) {
915
+ const timestamp = new Date().toISOString();
916
+ const defaults = [
917
+ {
918
+ connectorKey: "browser.playwright",
919
+ kind: "browser",
920
+ displayName: "Playwright Browser",
921
+ capabilityJson: JSON.stringify({
922
+ supportedTaskTypes: ["browser", "ops"],
923
+ supportedActions: ["goto", "click", "fill", "upload", "download", "read_dom", "screenshot"],
924
+ supportedArtifacts: ["screenshot", "ocr_result", "downloaded_file", "dom_snapshot"],
925
+ supportsSubscription: false
926
+ }),
927
+ status: "active"
928
+ },
929
+ {
930
+ connectorKey: "browser.opencli_bridge",
931
+ kind: "browser",
932
+ displayName: "OpenCLI Bridge Browser",
933
+ capabilityJson: JSON.stringify({
934
+ supportedTaskTypes: ["browser"],
935
+ supportedActions: ["goto", "click", "fill", "upload", "download", "read_dom", "screenshot"],
936
+ supportedArtifacts: ["screenshot", "downloaded_file", "dom_snapshot"],
937
+ supportsSubscription: false
938
+ }),
939
+ status: "active"
940
+ },
941
+ {
942
+ connectorKey: "document.doct",
943
+ kind: "document",
944
+ displayName: "doct Document Runtime",
945
+ capabilityJson: JSON.stringify({
946
+ supportedTaskTypes: ["document"],
947
+ supportedActions: ["validate_template", "render_docx", "render_pdf", "render_md"],
948
+ supportedArtifacts: ["document_export"],
949
+ supportsSubscription: false
950
+ }),
951
+ status: "active"
952
+ },
953
+ {
954
+ connectorKey: "ops.ssh",
955
+ kind: "ops",
956
+ displayName: "SSH Ops Runtime",
957
+ capabilityJson: JSON.stringify({
958
+ supportedTaskTypes: ["ops"],
959
+ supportedActions: ["run_command", "collect_log"],
960
+ supportedArtifacts: ["command_log", "custom"],
961
+ supportsSubscription: false
962
+ }),
963
+ status: "active"
964
+ },
965
+ {
966
+ connectorKey: "ops.browser_console",
967
+ kind: "ops",
968
+ displayName: "Browser Console Ops Runtime",
969
+ capabilityJson: JSON.stringify({
970
+ supportedTaskTypes: ["ops"],
971
+ supportedActions: ["login_console", "goto", "click", "fill", "download", "screenshot"],
972
+ supportedArtifacts: ["screenshot", "dom_snapshot", "downloaded_file"],
973
+ supportsSubscription: false
974
+ }),
975
+ status: "active"
976
+ },
977
+ {
978
+ connectorKey: "file.workspace",
979
+ kind: "external",
980
+ displayName: "Workspace File Runtime",
981
+ capabilityJson: JSON.stringify({
982
+ supportedTaskTypes: ["document", "workflow"],
983
+ supportedActions: ["read_file", "write_file", "list_files"],
984
+ supportedArtifacts: ["custom"],
985
+ supportsSubscription: false
986
+ }),
987
+ status: "active"
988
+ }
989
+ ];
990
+ for (const item of defaults) {
991
+ if (repository.findByKey(item.connectorKey)) {
992
+ continue;
993
+ }
994
+ repository.create({
995
+ id: item.connectorKey,
996
+ ...item,
997
+ createdAt: timestamp,
998
+ updatedAt: timestamp
999
+ });
1000
+ }
1001
+ }
1002
+ function ensureDefaultDocumentTemplates(repository) {
1003
+ if (repository.findByKey("default.doct.standard")) {
1004
+ return;
1005
+ }
1006
+ const timestamp = new Date().toISOString();
1007
+ repository.create({
1008
+ id: "default.doct.standard@v1",
1009
+ templateKey: "default.doct.standard",
1010
+ displayName: "默认正式文档模板",
1011
+ engine: "doct",
1012
+ templateVersion: "v1",
1013
+ templateSourcePath: null,
1014
+ schemaJson: JSON.stringify({
1015
+ requiredFields: ["title", "body"],
1016
+ optionalFields: ["summary", "outline", "references", "annotations"]
1017
+ }),
1018
+ mappingJson: JSON.stringify({
1019
+ title: "document.title",
1020
+ summary: "revision.summary",
1021
+ sections: "content.blocks",
1022
+ references: "content.references",
1023
+ annotations: "document.comments"
1024
+ }),
1025
+ outputFormatsJson: JSON.stringify(["docx", "pdf", "md"]),
1026
+ status: "active",
1027
+ createdAt: timestamp,
1028
+ updatedAt: timestamp
1029
+ });
1030
+ }
820
1031
  function applyCorsHeaders(origin, reply, demoMode, extraAllowedOrigins) {
821
1032
  const allowedOrigin = resolveAllowedCorsOrigin(origin, demoMode, extraAllowedOrigins);
822
1033
  if (!allowedOrigin) {