@jingyi0605/codingns 0.6.1 → 0.7.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 (291) hide show
  1. package/bin/codingns.mjs +225 -0
  2. package/dist/public/assets/AdaptiveButlerPage-B8mg25ze.js +3 -0
  3. package/dist/public/assets/{App-Dsf3ooXU.js → App-C2lNmeKL.js} +6 -6
  4. package/dist/public/assets/{BootstrapPage-CE0m1qSR.js → BootstrapPage-CAVA-a8h.js} +1 -1
  5. package/dist/public/assets/ConversationPage-B6BGOX4C.js +6 -0
  6. package/dist/public/assets/{DesktopDetachPreviewPage-Dxarr_Wf.js → DesktopDetachPreviewPage-B37DUL15.js} +1 -1
  7. package/dist/public/assets/{DesktopWindowPage-VytPwJ4c.js → DesktopWindowPage-CDA6l7lm.js} +1 -1
  8. package/dist/public/assets/{FileContextPanel-DwFzLsOp.js → FileContextPanel-CMGTtAB6.js} +1 -1
  9. package/dist/public/assets/{GitSidebar-CH6WqTrM.js → GitSidebar--DCqBiGL.js} +1 -1
  10. package/dist/public/assets/{MobileCreateSessionSheet-DcxKM00P.js → MobileCreateSessionSheet-THIrIzJ3.js} +1 -1
  11. package/dist/public/assets/{MobileTopHeaderFrame-C5rIKQT6.js → MobileTopHeaderFrame-D-X7pVnV.js} +1 -1
  12. package/dist/public/assets/{MobileWorkspaceSwitcherHeader-CfUnHgv_.js → MobileWorkspaceSwitcherHeader-Cczi7RYu.js} +1 -1
  13. package/dist/public/assets/{RelayConnectEntryPage-CgMvVZwa.js → RelayConnectEntryPage-D417tgWj.js} +1 -1
  14. package/dist/public/assets/{ServerSettingsModal-CFul__z1.js → ServerSettingsModal-BdTxbRbU.js} +1 -1
  15. package/dist/public/assets/SessionIndexPage-D5iefVcc.js +1 -0
  16. package/dist/public/assets/SettingsPage-iCFe_DHP.js +2 -0
  17. package/dist/public/assets/{TerminalManagerPanel-BbORd-ee.js → TerminalManagerPanel-CtldwWz8.js} +1 -1
  18. package/dist/public/assets/{TerminalPage-DWHv6mlu.js → TerminalPage-DAzQTmQC.js} +19 -19
  19. package/dist/public/assets/{TerminalRuntimeFallbackModal-B29YxbQe.js → TerminalRuntimeFallbackModal-DLOhAvaq.js} +1 -1
  20. package/dist/public/assets/{ToolFilesPage-Dx9cv9hu.js → ToolFilesPage-D7thcDEv.js} +1 -1
  21. package/dist/public/assets/{ToolGitPage-D7H3vAia.js → ToolGitPage-uPRsxdcn.js} +1 -1
  22. package/dist/public/assets/{ToolProcessesPage-PqQWxsy-.js → ToolProcessesPage-B1uOk0Ef.js} +1 -1
  23. package/dist/public/assets/{ToolsHomePage-CX05Pe_4.js → ToolsHomePage-rU3V8mmh.js} +1 -1
  24. package/dist/public/assets/{WorkbenchLandingPage-CchkAC75.js → WorkbenchLandingPage-BudM2C69.js} +1 -1
  25. package/dist/public/assets/WorkbenchLayout-Dybarc1V.js +244 -0
  26. package/dist/public/assets/WorkbenchModal-DMQutm1x.js +1 -0
  27. package/dist/public/assets/WorkbenchShellRoute-Cy4WBbzq.js +1 -0
  28. package/dist/public/assets/{WorkbenchShellRoute-RGZpA0_J.css → WorkbenchShellRoute-DhQo_0vu.css} +1 -1
  29. package/dist/public/assets/{WorkspaceDebugDetailPage-Deqy2_pO.js → WorkspaceDebugDetailPage-CHqo-uDf.js} +1 -1
  30. package/dist/public/assets/{WorkspaceDetailPage-Cvf-ZdlB.js → WorkspaceDetailPage-CGkAH1W-.js} +1 -1
  31. package/dist/public/assets/{WorkspaceHomePage-Dsyvqyk1.js → WorkspaceHomePage-CfuPVITd.js} +1 -1
  32. package/dist/public/assets/{client-runtime-manager-DROQJ9v3.js → client-runtime-manager-CKbtaemV.js} +1 -1
  33. package/dist/public/assets/file-tree-icon-Bc0KADEl.js +3 -0
  34. package/dist/public/assets/index-DNRyROOG.css +1 -0
  35. package/dist/public/assets/index-oGylLBIX.js +42 -0
  36. package/dist/public/assets/{login-direct-candidate-resolver-DotM530R.js → login-direct-candidate-resolver-DjJMbqB7.js} +1 -1
  37. package/dist/public/assets/model-switch-api-T55eW6D4.js +1 -0
  38. package/dist/public/assets/{preferences-service-BG6GKG29.js → preferences-service-BTKBl5xM.js} +1 -1
  39. package/dist/public/assets/realtime-client-ww7MnbTD.js +1 -0
  40. package/dist/public/assets/{relay-entry-pmr-c42O.js → relay-entry-sdeFnTbY.js} +1 -1
  41. package/dist/public/assets/styles-BjPytabP.css +1 -0
  42. package/dist/public/assets/{terminal-runtime-meta-8_uRZf7h.js → terminal-runtime-meta-Cvt1ID92.js} +1 -1
  43. package/dist/public/assets/{useRegisteredDebugTemplates-DWX7LXQu.js → useRegisteredDebugTemplates-O-ymgLd9.js} +1 -1
  44. package/dist/public/index.html +2 -2
  45. package/dist/server/config/env.js +21 -1
  46. package/dist/server/config/env.js.map +1 -1
  47. package/dist/server/config/opencode-base-url-resolver.d.ts +16 -0
  48. package/dist/server/config/opencode-base-url-resolver.js +154 -0
  49. package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
  50. package/dist/server/helpers/wechat-claw-runtime/main.d.ts +1 -0
  51. package/dist/server/helpers/wechat-claw-runtime/main.js +38 -0
  52. package/dist/server/helpers/wechat-claw-runtime/main.js.map +1 -0
  53. package/dist/server/helpers/wechat-claw-runtime/modules/errors.d.ts +5 -0
  54. package/dist/server/helpers/wechat-claw-runtime/modules/errors.js +32 -0
  55. package/dist/server/helpers/wechat-claw-runtime/modules/errors.js.map +1 -0
  56. package/dist/server/helpers/wechat-claw-runtime/modules/login-service.d.ts +16 -0
  57. package/dist/server/helpers/wechat-claw-runtime/modules/login-service.js +209 -0
  58. package/dist/server/helpers/wechat-claw-runtime/modules/login-service.js.map +1 -0
  59. package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.d.ts +18 -0
  60. package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.js +135 -0
  61. package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.js.map +1 -0
  62. package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.d.ts +34 -0
  63. package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js +394 -0
  64. package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js.map +1 -0
  65. package/dist/server/helpers/wechat-claw-runtime/modules/send-service.d.ts +9 -0
  66. package/dist/server/helpers/wechat-claw-runtime/modules/send-service.js +64 -0
  67. package/dist/server/helpers/wechat-claw-runtime/modules/send-service.js.map +1 -0
  68. package/dist/server/helpers/wechat-claw-runtime/modules/types.d.ts +167 -0
  69. package/dist/server/helpers/wechat-claw-runtime/modules/types.js +3 -0
  70. package/dist/server/helpers/wechat-claw-runtime/modules/types.js.map +1 -0
  71. package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.d.ts +34 -0
  72. package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.js +160 -0
  73. package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.js.map +1 -0
  74. package/dist/server/helpers/wechat-claw-runtime/routes/accounts.d.ts +9 -0
  75. package/dist/server/helpers/wechat-claw-runtime/routes/accounts.js +24 -0
  76. package/dist/server/helpers/wechat-claw-runtime/routes/accounts.js.map +1 -0
  77. package/dist/server/helpers/wechat-claw-runtime/server.d.ts +5 -0
  78. package/dist/server/helpers/wechat-claw-runtime/server.js +36 -0
  79. package/dist/server/helpers/wechat-claw-runtime/server.js.map +1 -0
  80. package/dist/server/middlewares/auth-guard.js +4 -1
  81. package/dist/server/middlewares/auth-guard.js.map +1 -1
  82. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +4 -1
  83. package/dist/server/modules/assistant-capability/assistant-capability-service.js +12 -1
  84. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  85. package/dist/server/modules/butler/butler-control-session-service.d.ts +20 -2
  86. package/dist/server/modules/butler/butler-control-session-service.js +121 -74
  87. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  88. package/dist/server/modules/butler/butler-profile-service.d.ts +3 -1
  89. package/dist/server/modules/butler/butler-profile-service.js +16 -4
  90. package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
  91. package/dist/server/modules/butler/butler-session-service.js +44 -15
  92. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  93. package/dist/server/modules/channels/channel-bridge-service.d.ts +55 -0
  94. package/dist/server/modules/channels/channel-bridge-service.js +340 -0
  95. package/dist/server/modules/channels/channel-bridge-service.js.map +1 -0
  96. package/dist/server/modules/channels/channel-controller.d.ts +52 -0
  97. package/dist/server/modules/channels/channel-controller.js +54 -0
  98. package/dist/server/modules/channels/channel-controller.js.map +1 -0
  99. package/dist/server/modules/channels/channel-delivery-service.d.ts +63 -0
  100. package/dist/server/modules/channels/channel-delivery-service.js +429 -0
  101. package/dist/server/modules/channels/channel-delivery-service.js.map +1 -0
  102. package/dist/server/modules/channels/channel-gateway-controller.d.ts +15 -0
  103. package/dist/server/modules/channels/channel-gateway-controller.js +16 -0
  104. package/dist/server/modules/channels/channel-gateway-controller.js.map +1 -0
  105. package/dist/server/modules/channels/channel-gateway-service.d.ts +24 -0
  106. package/dist/server/modules/channels/channel-gateway-service.js +56 -0
  107. package/dist/server/modules/channels/channel-gateway-service.js.map +1 -0
  108. package/dist/server/modules/channels/channel-platform-adapters.d.ts +46 -0
  109. package/dist/server/modules/channels/channel-platform-adapters.js +315 -0
  110. package/dist/server/modules/channels/channel-platform-adapters.js.map +1 -0
  111. package/dist/server/modules/channels/channel-platform-catalog.d.ts +3 -0
  112. package/dist/server/modules/channels/channel-platform-catalog.js +42 -0
  113. package/dist/server/modules/channels/channel-platform-catalog.js.map +1 -0
  114. package/dist/server/modules/channels/channel-polling-scheduler.d.ts +31 -0
  115. package/dist/server/modules/channels/channel-polling-scheduler.js +93 -0
  116. package/dist/server/modules/channels/channel-polling-scheduler.js.map +1 -0
  117. package/dist/server/modules/channels/channel-polling-service.d.ts +46 -0
  118. package/dist/server/modules/channels/channel-polling-service.js +176 -0
  119. package/dist/server/modules/channels/channel-polling-service.js.map +1 -0
  120. package/dist/server/modules/channels/channel-service.d.ts +108 -0
  121. package/dist/server/modules/channels/channel-service.js +397 -0
  122. package/dist/server/modules/channels/channel-service.js.map +1 -0
  123. package/dist/server/modules/channels/wechat-claw-client.d.ts +51 -0
  124. package/dist/server/modules/channels/wechat-claw-client.js +245 -0
  125. package/dist/server/modules/channels/wechat-claw-client.js.map +1 -0
  126. package/dist/server/modules/channels/wechat-claw-runtime-boundary.d.ts +4 -0
  127. package/dist/server/modules/channels/wechat-claw-runtime-boundary.js +13 -0
  128. package/dist/server/modules/channels/wechat-claw-runtime-boundary.js.map +1 -0
  129. package/dist/server/modules/channels/wechat-claw-runtime-client.d.ts +14 -0
  130. package/dist/server/modules/channels/wechat-claw-runtime-client.js +95 -0
  131. package/dist/server/modules/channels/wechat-claw-runtime-client.js.map +1 -0
  132. package/dist/server/modules/channels/wechat-claw-runtime-manager.d.ts +16 -0
  133. package/dist/server/modules/channels/wechat-claw-runtime-manager.js +133 -0
  134. package/dist/server/modules/channels/wechat-claw-runtime-manager.js.map +1 -0
  135. package/dist/server/modules/channels/wechat-claw-runtime-types.d.ts +1 -0
  136. package/dist/server/modules/channels/wechat-claw-runtime-types.js +2 -0
  137. package/dist/server/modules/channels/wechat-claw-runtime-types.js.map +1 -0
  138. package/dist/server/modules/opencli/opencli-bridge-skill-service.d.ts +12 -0
  139. package/dist/server/modules/opencli/opencli-bridge-skill-service.js +125 -0
  140. package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -0
  141. package/dist/server/modules/opencli/opencli-catalog-service.d.ts +50 -0
  142. package/dist/server/modules/opencli/opencli-catalog-service.js +345 -0
  143. package/dist/server/modules/opencli/opencli-catalog-service.js.map +1 -0
  144. package/dist/server/modules/opencli/opencli-controller.d.ts +13 -0
  145. package/dist/server/modules/opencli/opencli-controller.js +30 -0
  146. package/dist/server/modules/opencli/opencli-controller.js.map +1 -0
  147. package/dist/server/modules/opencli/opencli-health-service.d.ts +28 -0
  148. package/dist/server/modules/opencli/opencli-health-service.js +106 -0
  149. package/dist/server/modules/opencli/opencli-health-service.js.map +1 -0
  150. package/dist/server/modules/opencli/opencli-install-discovery.d.ts +23 -0
  151. package/dist/server/modules/opencli/opencli-install-discovery.js +130 -0
  152. package/dist/server/modules/opencli/opencli-install-discovery.js.map +1 -0
  153. package/dist/server/modules/opencli/opencli-management-service.d.ts +59 -0
  154. package/dist/server/modules/opencli/opencli-management-service.js +152 -0
  155. package/dist/server/modules/opencli/opencli-management-service.js.map +1 -0
  156. package/dist/server/modules/opencli/opencli-runtime-builder.d.ts +11 -0
  157. package/dist/server/modules/opencli/opencli-runtime-builder.js +214 -0
  158. package/dist/server/modules/opencli/opencli-runtime-builder.js.map +1 -0
  159. package/dist/server/modules/opencli/opencli-runtime-layout.d.ts +3 -0
  160. package/dist/server/modules/opencli/opencli-runtime-layout.js +11 -0
  161. package/dist/server/modules/opencli/opencli-runtime-layout.js.map +1 -0
  162. package/dist/server/modules/opencli/opencli-runtime-profile-service.d.ts +29 -0
  163. package/dist/server/modules/opencli/opencli-runtime-profile-service.js +104 -0
  164. package/dist/server/modules/opencli/opencli-runtime-profile-service.js.map +1 -0
  165. package/dist/server/modules/opencli/opencli-runtime-resolver.d.ts +29 -0
  166. package/dist/server/modules/opencli/opencli-runtime-resolver.js +110 -0
  167. package/dist/server/modules/opencli/opencli-runtime-resolver.js.map +1 -0
  168. package/dist/server/modules/opencli/opencli-session-prompt-service.d.ts +11 -0
  169. package/dist/server/modules/opencli/opencli-session-prompt-service.js +66 -0
  170. package/dist/server/modules/opencli/opencli-session-prompt-service.js.map +1 -0
  171. package/dist/server/modules/provider/provider-catalog-service.d.ts +45 -0
  172. package/dist/server/modules/provider/provider-catalog-service.js +204 -0
  173. package/dist/server/modules/provider/provider-catalog-service.js.map +1 -0
  174. package/dist/server/modules/provider/provider-controller.d.ts +16 -2
  175. package/dist/server/modules/provider/provider-controller.js +49 -6
  176. package/dist/server/modules/provider/provider-controller.js.map +1 -1
  177. package/dist/server/modules/provider/provider-disabled.d.ts +8 -0
  178. package/dist/server/modules/provider/provider-disabled.js +45 -0
  179. package/dist/server/modules/provider/provider-disabled.js.map +1 -0
  180. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +1 -0
  181. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
  182. package/dist/server/modules/provider/provider-discovery-helper-process.js +3 -3
  183. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
  184. package/dist/server/modules/provider/provider-discovery-runtime.d.ts +1 -1
  185. package/dist/server/modules/provider/provider-discovery-runtime.js +12 -8
  186. package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
  187. package/dist/server/modules/provider/provider-runtime-state-service.d.ts +24 -0
  188. package/dist/server/modules/provider/provider-runtime-state-service.js +141 -0
  189. package/dist/server/modules/provider/provider-runtime-state-service.js.map +1 -0
  190. package/dist/server/modules/sessions/claude-compatible-provider-registry.d.ts +16 -0
  191. package/dist/server/modules/sessions/claude-compatible-provider-registry.js +91 -0
  192. package/dist/server/modules/sessions/claude-compatible-provider-registry.js.map +1 -0
  193. package/dist/server/modules/sessions/session-history-service.d.ts +9 -3
  194. package/dist/server/modules/sessions/session-history-service.js +198 -62
  195. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  196. package/dist/server/modules/sessions/session-live-runtime-router-service.js +9 -4
  197. package/dist/server/modules/sessions/session-live-runtime-router-service.js.map +1 -1
  198. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +8 -4
  199. package/dist/server/modules/sessions/session-live-runtime-service.js +99 -88
  200. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  201. package/dist/server/modules/sessions/session-permission-request-service.d.ts +5 -2
  202. package/dist/server/modules/sessions/session-permission-request-service.js +26 -27
  203. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
  204. package/dist/server/modules/sessions/session-provider-config-service.d.ts +18 -1
  205. package/dist/server/modules/sessions/session-provider-config-service.js +142 -17
  206. package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
  207. package/dist/server/modules/sessions/session-provider-error-mapper.js +7 -0
  208. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  209. package/dist/server/modules/skills/skill-manager-service.d.ts +5 -0
  210. package/dist/server/modules/skills/skill-manager-service.js +26 -0
  211. package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
  212. package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +1 -0
  213. package/dist/server/modules/tasks/task-helper-process-handlers.js +1 -1
  214. package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -1
  215. package/dist/server/modules/tasks/task-types.d.ts +2 -0
  216. package/dist/server/modules/tasks/task-types.js +2 -0
  217. package/dist/server/modules/tasks/task-types.js.map +1 -1
  218. package/dist/server/routes/channels.d.ts +3 -0
  219. package/dist/server/routes/channels.js +16 -0
  220. package/dist/server/routes/channels.js.map +1 -0
  221. package/dist/server/routes/opencli.d.ts +3 -0
  222. package/dist/server/routes/opencli.js +7 -0
  223. package/dist/server/routes/opencli.js.map +1 -0
  224. package/dist/server/routes/providers.js +5 -2
  225. package/dist/server/routes/providers.js.map +1 -1
  226. package/dist/server/routes/public.d.ts +2 -1
  227. package/dist/server/routes/public.js +3 -1
  228. package/dist/server/routes/public.js.map +1 -1
  229. package/dist/server/server/create-server.d.ts +30 -0
  230. package/dist/server/server/create-server.js +104 -12
  231. package/dist/server/server/create-server.js.map +1 -1
  232. package/dist/server/shared/http/error-handler.js +59 -3
  233. package/dist/server/shared/http/error-handler.js.map +1 -1
  234. package/dist/server/storage/repositories/channel-account-repository.d.ts +12 -0
  235. package/dist/server/storage/repositories/channel-account-repository.js +153 -0
  236. package/dist/server/storage/repositories/channel-account-repository.js.map +1 -0
  237. package/dist/server/storage/repositories/channel-delivery-repository.d.ts +13 -0
  238. package/dist/server/storage/repositories/channel-delivery-repository.js +156 -0
  239. package/dist/server/storage/repositories/channel-delivery-repository.js.map +1 -0
  240. package/dist/server/storage/repositories/channel-inbound-event-repository.d.ts +12 -0
  241. package/dist/server/storage/repositories/channel-inbound-event-repository.js +144 -0
  242. package/dist/server/storage/repositories/channel-inbound-event-repository.js.map +1 -0
  243. package/dist/server/storage/repositories/channel-thread-repository.d.ts +12 -0
  244. package/dist/server/storage/repositories/channel-thread-repository.js +152 -0
  245. package/dist/server/storage/repositories/channel-thread-repository.js.map +1 -0
  246. package/dist/server/storage/repositories/opencli-catalog-entry-repository.d.ts +9 -0
  247. package/dist/server/storage/repositories/opencli-catalog-entry-repository.js +85 -0
  248. package/dist/server/storage/repositories/opencli-catalog-entry-repository.js.map +1 -0
  249. package/dist/server/storage/repositories/opencli-provider-repository.d.ts +8 -0
  250. package/dist/server/storage/repositories/opencli-provider-repository.js +88 -0
  251. package/dist/server/storage/repositories/opencli-provider-repository.js.map +1 -0
  252. package/dist/server/storage/repositories/opencli-runtime-profile-repository.d.ts +11 -0
  253. package/dist/server/storage/repositories/opencli-runtime-profile-repository.js +127 -0
  254. package/dist/server/storage/repositories/opencli-runtime-profile-repository.js.map +1 -0
  255. package/dist/server/storage/repositories/provider-control-repository.d.ts +9 -0
  256. package/dist/server/storage/repositories/provider-control-repository.js +51 -0
  257. package/dist/server/storage/repositories/provider-control-repository.js.map +1 -0
  258. package/dist/server/storage/repositories/provider-runtime-state-repository.d.ts +9 -0
  259. package/dist/server/storage/repositories/provider-runtime-state-repository.js +50 -0
  260. package/dist/server/storage/repositories/provider-runtime-state-repository.js.map +1 -0
  261. package/dist/server/storage/sqlite/client.js +53 -0
  262. package/dist/server/storage/sqlite/client.js.map +1 -1
  263. package/dist/server/storage/sqlite/schema.sql +180 -0
  264. package/dist/server/types/domain.d.ts +132 -0
  265. package/dist/server/ws/workbench-ws-hub.js +8 -2
  266. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  267. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +28 -11
  268. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  269. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +61 -8
  270. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  271. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.d.ts +5 -0
  272. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js +1 -1
  273. package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js.map +1 -1
  274. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +3 -0
  275. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +94 -21
  276. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
  277. package/package.json +1 -1
  278. package/dist/public/assets/AdaptiveButlerPage-Dw72U3hG.js +0 -3
  279. package/dist/public/assets/ConversationPage-8wOY7SX-.js +0 -4
  280. package/dist/public/assets/SessionIndexPage-B-tRhBXC.js +0 -1
  281. package/dist/public/assets/SettingsPage-C9LGxSQZ.js +0 -1
  282. package/dist/public/assets/WorkbenchLayout-pOZvEqp7.js +0 -3
  283. package/dist/public/assets/WorkbenchModal-ColqvV6a.js +0 -1
  284. package/dist/public/assets/WorkbenchShellRoute-C0_h4lP6.js +0 -1
  285. package/dist/public/assets/file-tree-icon-Bp3Ntt7u.js +0 -31
  286. package/dist/public/assets/index-B84Po2NA.css +0 -1
  287. package/dist/public/assets/index-C-0oeG_5.js +0 -42
  288. package/dist/public/assets/model-switch-api-Bh9nYslz.js +0 -1
  289. package/dist/public/assets/session-runtime-machine-YN84QBlr.js +0 -21
  290. package/dist/public/assets/styles-CsEMfdaS.css +0 -1
  291. /package/dist/public/assets/{styles-DRVvx_kv.js → styles-lhQGDlPF.js} +0 -0
@@ -1,5 +1,7 @@
1
- export async function registerPublicRoutes(app, bootstrapController) {
1
+ export async function registerPublicRoutes(app, bootstrapController, channelGatewayController) {
2
2
  app.get("/api/public/bootstrap-status", bootstrapController.getStatus);
3
3
  app.post("/api/public/setup", bootstrapController.setup);
4
+ app.get("/api/public/channel-gateways/:accountId/webhook", channelGatewayController.handleWebhook);
5
+ app.post("/api/public/channel-gateways/:accountId/webhook", channelGatewayController.handleWebhook);
4
6
  }
5
7
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/routes/public.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAoB,EACpB,mBAAwC;IAExC,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvE,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/routes/public.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAoB,EACpB,mBAAwC,EACxC,wBAAkD;IAElD,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvE,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzD,GAAG,CAAC,GAAG,CAAC,iDAAiD,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACnG,GAAG,CAAC,IAAI,CAAC,iDAAiD,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;AACtG,CAAC"}
@@ -18,6 +18,12 @@ import { ProjectMemoryService } from "../modules/butler/project-memory-service.j
18
18
  import { SessionSummaryScheduler } from "../modules/butler/session-summary-scheduler.js";
19
19
  import { VerificationRunService } from "../modules/butler/verification-run-service.js";
20
20
  import { ClientService } from "../modules/client/client-service.js";
21
+ import { ChannelBridgeService } from "../modules/channels/channel-bridge-service.js";
22
+ import { ChannelDeliveryService } from "../modules/channels/channel-delivery-service.js";
23
+ import { ChannelGatewayService } from "../modules/channels/channel-gateway-service.js";
24
+ import { ChannelPollingScheduler } from "../modules/channels/channel-polling-scheduler.js";
25
+ import { ChannelPollingService } from "../modules/channels/channel-polling-service.js";
26
+ import { ChannelService } from "../modules/channels/channel-service.js";
21
27
  import { DebugRuntimeReconciliationScheduler } from "../modules/debug-target/debug-runtime-reconciliation-scheduler.js";
22
28
  import { DebugTargetService } from "../modules/debug-target/debug-target-service.js";
23
29
  import { FileContentService } from "../modules/file/file-content-service.js";
@@ -77,6 +83,10 @@ import { PatrolRunRepository } from "../storage/repositories/patrol-run-reposito
77
83
  import { ProjectMemoryRepository } from "../storage/repositories/project-memory-repository.js";
78
84
  import { VerificationRunRepository } from "../storage/repositories/verification-run-repository.js";
79
85
  import { CommitRuleProfileRepository } from "../storage/repositories/commit-rule-profile-repository.js";
86
+ import { ChannelAccountRepository } from "../storage/repositories/channel-account-repository.js";
87
+ import { ChannelDeliveryRepository } from "../storage/repositories/channel-delivery-repository.js";
88
+ import { ChannelInboundEventRepository } from "../storage/repositories/channel-inbound-event-repository.js";
89
+ import { ChannelThreadRepository } from "../storage/repositories/channel-thread-repository.js";
80
90
  import { DebugRuntimeSessionRepository } from "../storage/repositories/debug-runtime-session-repository.js";
81
91
  import { DebugServiceRepository } from "../storage/repositories/debug-service-repository.js";
82
92
  import { DebugTargetRepository } from "../storage/repositories/debug-target-repository.js";
@@ -84,9 +94,14 @@ import { FileContextBindingRepository } from "../storage/repositories/file-conte
84
94
  import { FrameworkAnalysisResultRepository } from "../storage/repositories/framework-analysis-result-repository.js";
85
95
  import { GitRemoteCredentialRepository } from "../storage/repositories/git-remote-credential-repository.js";
86
96
  import { ManagedSkillRepository } from "../storage/repositories/managed-skill-repository.js";
97
+ import { OpenCliCatalogEntryRepository } from "../storage/repositories/opencli-catalog-entry-repository.js";
98
+ import { OpenCliProviderRepository } from "../storage/repositories/opencli-provider-repository.js";
99
+ import { OpenCliRuntimeProfileRepository } from "../storage/repositories/opencli-runtime-profile-repository.js";
87
100
  import { PortLeaseRepository } from "../storage/repositories/port-lease-repository.js";
88
101
  import { ParallelSessionGroupRepository } from "../storage/repositories/parallel-session-group-repository.js";
89
102
  import { ParallelSessionMemberRepository } from "../storage/repositories/parallel-session-member-repository.js";
103
+ import { ProviderControlRepository } from "../storage/repositories/provider-control-repository.js";
104
+ import { ProviderRuntimeStateRepository } from "../storage/repositories/provider-runtime-state-repository.js";
90
105
  import { RecentFileRepository } from "../storage/repositories/recent-file-repository.js";
91
106
  import { RuntimeBindingRepository } from "../storage/repositories/runtime-binding-repository.js";
92
107
  import { SessionBindingRepository } from "../storage/repositories/session-binding-repository.js";
@@ -155,6 +170,10 @@ export declare function createServer(config: HostConfig): {
155
170
  butlerProjectRepository: ButlerProjectRepository;
156
171
  butlerSessionRepository: ButlerSessionRepository;
157
172
  butlerSessionSummaryStateRepository: ButlerSessionSummaryStateRepository;
173
+ channelAccountRepository: ChannelAccountRepository;
174
+ channelThreadRepository: ChannelThreadRepository;
175
+ channelInboundEventRepository: ChannelInboundEventRepository;
176
+ channelDeliveryRepository: ChannelDeliveryRepository;
158
177
  projectMemoryRepository: ProjectMemoryRepository;
159
178
  patrolPlanRepository: PatrolPlanRepository;
160
179
  patrolRunRepository: PatrolRunRepository;
@@ -162,6 +181,11 @@ export declare function createServer(config: HostConfig): {
162
181
  commitRuleProfileRepository: CommitRuleProfileRepository;
163
182
  gitRemoteCredentialRepository: GitRemoteCredentialRepository;
164
183
  managedSkillRepository: ManagedSkillRepository;
184
+ openCliProviderRepository: OpenCliProviderRepository;
185
+ openCliCatalogEntryRepository: OpenCliCatalogEntryRepository;
186
+ openCliRuntimeProfileRepository: OpenCliRuntimeProfileRepository;
187
+ providerControlRepository: ProviderControlRepository;
188
+ providerRuntimeStateRepository: ProviderRuntimeStateRepository;
165
189
  recentFileRepository: RecentFileRepository;
166
190
  fileContextBindingRepository: FileContextBindingRepository;
167
191
  sessionBindingRepository: SessionBindingRepository;
@@ -189,6 +213,12 @@ export declare function createServer(config: HostConfig): {
189
213
  modules: {
190
214
  bootstrapService: BootstrapService;
191
215
  clientService: ClientService;
216
+ channelsService: ChannelService;
217
+ channelBridgeService: ChannelBridgeService;
218
+ channelDeliveryService: ChannelDeliveryService;
219
+ channelGatewayService: ChannelGatewayService;
220
+ channelPollingService: ChannelPollingService;
221
+ channelPollingScheduler: ChannelPollingScheduler;
192
222
  debugTargetService: DebugTargetService;
193
223
  debugRuntimeReconciliationScheduler: DebugRuntimeReconciliationScheduler;
194
224
  authService: AuthService;
@@ -43,6 +43,17 @@ import { ClientController } from "../modules/client/client-controller.js";
43
43
  import { ClientService } from "../modules/client/client-service.js";
44
44
  import { NpmGlobalPackageService } from "../modules/client/npm-global-package-service.js";
45
45
  import { ServiceUpdateTaskService } from "../modules/client/service-update-task-service.js";
46
+ import { ChannelBridgeService } from "../modules/channels/channel-bridge-service.js";
47
+ import { ChannelController } from "../modules/channels/channel-controller.js";
48
+ import { ChannelDeliveryService } from "../modules/channels/channel-delivery-service.js";
49
+ import { ChannelGatewayController } from "../modules/channels/channel-gateway-controller.js";
50
+ import { ChannelGatewayService } from "../modules/channels/channel-gateway-service.js";
51
+ import { ChannelPollingScheduler } from "../modules/channels/channel-polling-scheduler.js";
52
+ import { ChannelPollingService } from "../modules/channels/channel-polling-service.js";
53
+ import { createDefaultChannelPlatformAdapterRegistry } from "../modules/channels/channel-platform-adapters.js";
54
+ import { ChannelService } from "../modules/channels/channel-service.js";
55
+ import { WechatClawRuntimeClient } from "../modules/channels/wechat-claw-runtime-client.js";
56
+ import { WechatClawRuntimeManager } from "../modules/channels/wechat-claw-runtime-manager.js";
46
57
  import { DebugTargetController } from "../modules/debug-target/debug-target-controller.js";
47
58
  import { DebugRuntimeReconciliationScheduler } from "../modules/debug-target/debug-runtime-reconciliation-scheduler.js";
48
59
  import { DebugTargetService } from "../modules/debug-target/debug-target-service.js";
@@ -80,8 +91,19 @@ import { ModelSwitchService } from "../modules/model-switch/model-switch-service
80
91
  import { ParallelSessionController } from "../modules/parallel-sessions/parallel-session-controller.js";
81
92
  import { ParallelSessionGroupService } from "../modules/parallel-sessions/parallel-session-group-service.js";
82
93
  import { SessionIsolatedWorkspaceService } from "../modules/parallel-sessions/session-isolated-workspace-service.js";
94
+ import { OpenCliCatalogService } from "../modules/opencli/opencli-catalog-service.js";
95
+ import { OpenCliController } from "../modules/opencli/opencli-controller.js";
96
+ import { OpenCliHealthService } from "../modules/opencli/opencli-health-service.js";
97
+ import { OpenCliManagementService } from "../modules/opencli/opencli-management-service.js";
98
+ import { OpenCliBridgeSkillService } from "../modules/opencli/opencli-bridge-skill-service.js";
99
+ import { OpenCliRuntimeBuilder } from "../modules/opencli/opencli-runtime-builder.js";
100
+ import { OpenCliRuntimeProfileService } from "../modules/opencli/opencli-runtime-profile-service.js";
101
+ import { OpenCliRuntimeResolver } from "../modules/opencli/opencli-runtime-resolver.js";
102
+ import { OpenCliSessionPromptService } from "../modules/opencli/opencli-session-prompt-service.js";
103
+ import { ProviderCatalogService } from "../modules/provider/provider-catalog-service.js";
83
104
  import { ProviderController } from "../modules/provider/provider-controller.js";
84
105
  import { disposeSharedProviderDiscoveryHelperClient } from "../modules/provider/provider-discovery-helper-client.js";
106
+ import { ProviderRuntimeStateService } from "../modules/provider/provider-runtime-state-service.js";
85
107
  import { SkillController } from "../modules/skills/skill-controller.js";
86
108
  import { syncBuiltinSkillsOnStartup } from "../modules/skills/builtin-skill-service.js";
87
109
  import { cleanupLegacyAssistantRuntimeSkillCopies } from "../modules/skills/assistant-runtime-skill-cleanup.js";
@@ -127,10 +149,12 @@ import { WorkspaceService } from "../modules/workspace/workspace-service.js";
127
149
  import { registerAuthRoutes } from "../routes/auth.js";
128
150
  import { registerAssistantCapabilityRoutes } from "../routes/assistant.js";
129
151
  import { registerButlerRoutes } from "../routes/butler.js";
152
+ import { registerChannelRoutes } from "../routes/channels.js";
130
153
  import { registerClientRoutes } from "../routes/client.js";
131
154
  import { registerDebugTargetRoutes } from "../routes/debug-targets.js";
132
155
  import { registerFileRoutes } from "../routes/files.js";
133
156
  import { registerGitRoutes } from "../routes/git.js";
157
+ import { registerOpenCliRoutes } from "../routes/opencli.js";
134
158
  import { registerObservabilityRoutes } from "../routes/observability.js";
135
159
  import { registerParallelGroupRoutes } from "../routes/parallel-groups.js";
136
160
  import { registerPreferenceRoutes } from "../routes/preferences.js";
@@ -174,6 +198,10 @@ import { PatrolRunRepository } from "../storage/repositories/patrol-run-reposito
174
198
  import { ProjectMemoryRepository } from "../storage/repositories/project-memory-repository.js";
175
199
  import { VerificationRunRepository } from "../storage/repositories/verification-run-repository.js";
176
200
  import { CommitRuleProfileRepository } from "../storage/repositories/commit-rule-profile-repository.js";
201
+ import { ChannelAccountRepository } from "../storage/repositories/channel-account-repository.js";
202
+ import { ChannelDeliveryRepository } from "../storage/repositories/channel-delivery-repository.js";
203
+ import { ChannelInboundEventRepository } from "../storage/repositories/channel-inbound-event-repository.js";
204
+ import { ChannelThreadRepository } from "../storage/repositories/channel-thread-repository.js";
177
205
  import { DebugRuntimeSessionRepository } from "../storage/repositories/debug-runtime-session-repository.js";
178
206
  import { DebugServiceRepository } from "../storage/repositories/debug-service-repository.js";
179
207
  import { DebugTargetRepository } from "../storage/repositories/debug-target-repository.js";
@@ -181,9 +209,14 @@ import { FileContextBindingRepository } from "../storage/repositories/file-conte
181
209
  import { FrameworkAnalysisResultRepository } from "../storage/repositories/framework-analysis-result-repository.js";
182
210
  import { GitRemoteCredentialRepository } from "../storage/repositories/git-remote-credential-repository.js";
183
211
  import { ManagedSkillRepository } from "../storage/repositories/managed-skill-repository.js";
212
+ import { OpenCliCatalogEntryRepository } from "../storage/repositories/opencli-catalog-entry-repository.js";
213
+ import { OpenCliProviderRepository } from "../storage/repositories/opencli-provider-repository.js";
214
+ import { OpenCliRuntimeProfileRepository } from "../storage/repositories/opencli-runtime-profile-repository.js";
184
215
  import { PortLeaseRepository } from "../storage/repositories/port-lease-repository.js";
185
216
  import { ParallelSessionGroupRepository } from "../storage/repositories/parallel-session-group-repository.js";
186
217
  import { ParallelSessionMemberRepository } from "../storage/repositories/parallel-session-member-repository.js";
218
+ import { ProviderControlRepository } from "../storage/repositories/provider-control-repository.js";
219
+ import { ProviderRuntimeStateRepository } from "../storage/repositories/provider-runtime-state-repository.js";
187
220
  import { RecentFileRepository } from "../storage/repositories/recent-file-repository.js";
188
221
  import { RuntimeBindingRepository } from "../storage/repositories/runtime-binding-repository.js";
189
222
  import { SessionBindingRepository } from "../storage/repositories/session-binding-repository.js";
@@ -223,6 +256,8 @@ export function createServer(config) {
223
256
  const effectiveConfig = config.demoMode
224
257
  ? { ...config, accessTokenTtlSeconds: 900, refreshTokenTtlSeconds: 900 }
225
258
  : config;
259
+ const enableWechatClawHelperInTests = process.env.CODINGNS_ENABLE_WECHAT_CLAW_HELPER_IN_TESTS === "true";
260
+ const enableWechatClawHelper = !process.env.VITEST || enableWechatClawHelperInTests;
226
261
  const app = Fastify({
227
262
  logger: false
228
263
  });
@@ -263,6 +298,10 @@ export function createServer(config) {
263
298
  butlerProjectRepository: new ButlerProjectRepository(database.db),
264
299
  butlerSessionRepository: new ButlerSessionRepository(database.db),
265
300
  butlerSessionSummaryStateRepository: new ButlerSessionSummaryStateRepository(database.db),
301
+ channelAccountRepository: new ChannelAccountRepository(database.db),
302
+ channelThreadRepository: new ChannelThreadRepository(database.db),
303
+ channelInboundEventRepository: new ChannelInboundEventRepository(database.db),
304
+ channelDeliveryRepository: new ChannelDeliveryRepository(database.db),
266
305
  projectMemoryRepository: new ProjectMemoryRepository(database.db),
267
306
  patrolPlanRepository: new PatrolPlanRepository(database.db),
268
307
  patrolRunRepository: new PatrolRunRepository(database.db),
@@ -270,6 +309,11 @@ export function createServer(config) {
270
309
  commitRuleProfileRepository: new CommitRuleProfileRepository(database.db),
271
310
  gitRemoteCredentialRepository: new GitRemoteCredentialRepository(database.db),
272
311
  managedSkillRepository: new ManagedSkillRepository(database.db),
312
+ openCliProviderRepository: new OpenCliProviderRepository(database.db),
313
+ openCliCatalogEntryRepository: new OpenCliCatalogEntryRepository(database.db),
314
+ openCliRuntimeProfileRepository: new OpenCliRuntimeProfileRepository(database.db),
315
+ providerControlRepository: new ProviderControlRepository(database.db),
316
+ providerRuntimeStateRepository: new ProviderRuntimeStateRepository(database.db),
273
317
  recentFileRepository: new RecentFileRepository(database.db),
274
318
  fileContextBindingRepository: new FileContextBindingRepository(database.db),
275
319
  sessionBindingRepository: new SessionBindingRepository(database.db),
@@ -306,7 +350,7 @@ export function createServer(config) {
306
350
  ? { cleanupService: demoCleanupService, onlineTracker: demoOnlineTracker }
307
351
  : undefined;
308
352
  const authService = new AuthService(repositories.bootstrapStateRepository, repositories.authUserRepository, repositories.authTokenRepository, repositories.authDeviceRepository, repositories.authDeviceSessionRepository, repositories.authLoginEventRepository, repositories.authLoginAttemptRepository, effectiveConfig, demoServices);
309
- const butlerProfileService = new ButlerProfileService(repositories.butlerProfileRepository, repositories.butlerProjectRepository, path.dirname(config.databasePath));
353
+ const butlerProfileService = new ButlerProfileService(repositories.butlerProfileRepository, repositories.butlerProjectRepository, path.dirname(config.databasePath), repositories.providerControlRepository);
310
354
  const gitCommandRunner = new GitCommandRunner({
311
355
  preferHelperProcess: !process.env.VITEST
312
356
  });
@@ -353,15 +397,36 @@ export function createServer(config) {
353
397
  controlSessionSecret: config.gitCredentialSecret
354
398
  }));
355
399
  const clientService = new ClientService(config, npmGlobalPackageService, serviceUpdateTaskService, relayTunnelService);
400
+ const wechatClawRuntimeManager = enableWechatClawHelper
401
+ ? new WechatClawRuntimeManager(path.join(path.dirname(config.databasePath), "wechat-claw-helper"))
402
+ : null;
403
+ const wechatClawRuntimeClient = wechatClawRuntimeManager
404
+ ? new WechatClawRuntimeClient(wechatClawRuntimeManager)
405
+ : null;
406
+ const channelPlatformAdapterRegistry = createDefaultChannelPlatformAdapterRegistry({
407
+ wechatClawRuntimeClient
408
+ });
356
409
  const ccSwitchAdapter = new CcSwitchAdapter({
357
410
  commandPath: config.ccSwitchCliPath,
358
411
  dbPath: config.ccSwitchDbPath
359
412
  });
360
413
  const modelSwitchService = new ModelSwitchService(ccSwitchAdapter);
361
- const sessionProviderConfigService = new SessionProviderConfigService(config, ccSwitchAdapter);
414
+ const openCliRuntimeProfileService = new OpenCliRuntimeProfileService(repositories.openCliProviderRepository, repositories.openCliCatalogEntryRepository, repositories.openCliRuntimeProfileRepository, {
415
+ runtimeStorageRootPath: path.dirname(config.databasePath)
416
+ });
417
+ const openCliCatalogService = new OpenCliCatalogService(repositories.openCliProviderRepository, repositories.openCliCatalogEntryRepository);
418
+ const openCliRuntimeBuilder = new OpenCliRuntimeBuilder(repositories.openCliRuntimeProfileRepository);
419
+ const openCliHealthService = new OpenCliHealthService();
420
+ const openCliRuntimeResolver = new OpenCliRuntimeResolver(repositories.openCliProviderRepository, repositories.openCliRuntimeProfileRepository, openCliRuntimeProfileService, openCliRuntimeBuilder);
421
+ const openCliManagementService = new OpenCliManagementService(repositories.openCliProviderRepository, repositories.openCliCatalogEntryRepository, repositories.openCliRuntimeProfileRepository, openCliCatalogService, openCliHealthService, openCliRuntimeResolver);
422
+ const openCliSessionPromptService = new OpenCliSessionPromptService(repositories.openCliProviderRepository, repositories.openCliCatalogEntryRepository);
423
+ const openCliBridgeSkillService = new OpenCliBridgeSkillService(repositories.openCliProviderRepository, repositories.openCliCatalogEntryRepository);
424
+ const openCliController = new OpenCliController(openCliManagementService);
425
+ const sessionProviderConfigService = new SessionProviderConfigService(config, ccSwitchAdapter, openCliRuntimeResolver, openCliBridgeSkillService);
362
426
  const skillTargetAdapters = createDefaultSkillTargetAdapters(config);
363
427
  const skillManagerService = new SkillManagerService(repositories.managedSkillRepository, repositories.skillTargetBindingRepository, skillTargetAdapters, {
364
- ssotRootDir: path.join(path.dirname(config.databasePath), "skills")
428
+ ssotRootDir: path.join(path.dirname(config.databasePath), "skills"),
429
+ providerControlRepository: repositories.providerControlRepository
365
430
  });
366
431
  for (const result of cleanupLegacyAssistantRuntimeSkillCopies(skillTargetAdapters)) {
367
432
  if (result.status === "removed_legacy_copy") {
@@ -385,9 +450,11 @@ export function createServer(config) {
385
450
  const sessionMessageAttachmentService = new SessionMessageAttachmentService(repositories.sessionMessageAttachmentRepository, config);
386
451
  const sessionChangedFileService = new SessionChangedFileService(repositories.sessionChangedFileRepository);
387
452
  const sessionActivityAuthorityService = new SessionActivityAuthorityService();
388
- 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);
453
+ const providerRuntimeStateService = new ProviderRuntimeStateService(config, repositories.providerRuntimeStateRepository);
454
+ 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
+ const providerCatalogService = new ProviderCatalogService(config, repositories.providerControlRepository, providerRuntimeStateService);
389
456
  runtimeObservabilityService = new RuntimeObservabilityService(() => sessionHistoryService.observeBackgroundTaskMetrics(), () => schedulerMetrics.observe(), eventLoopMonitor, taskActivityLog);
390
- const sessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, config, sessionActivityAuthorityService);
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);
391
458
  sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => sessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
392
459
  const butlerRuntimeRootDir = path.join(path.dirname(config.databasePath), "butler-runtime");
393
460
  const butlerRuntimeConfig = {
@@ -405,11 +472,11 @@ export function createServer(config) {
405
472
  codexHomeDir: path.join(butlerRuntimeRootDir, "follow-up-codex-home"),
406
473
  claudeCodeHomeDir: path.join(butlerRuntimeRootDir, "follow-up-claude-home")
407
474
  };
408
- const butlerSessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, butlerRuntimeConfig, sessionActivityAuthorityService);
475
+ const butlerSessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, butlerRuntimeConfig, sessionActivityAuthorityService, openCliSessionPromptService);
409
476
  sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => butlerSessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
410
- const butlerSummarySessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, butlerSummaryRuntimeConfig, sessionActivityAuthorityService);
477
+ const butlerSummarySessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, butlerSummaryRuntimeConfig, sessionActivityAuthorityService, openCliSessionPromptService);
411
478
  sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => butlerSummarySessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
412
- const butlerFollowUpSessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, butlerFollowUpRuntimeConfig, sessionActivityAuthorityService);
479
+ const butlerFollowUpSessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, sessionProviderConfigService, butlerFollowUpRuntimeConfig, sessionActivityAuthorityService, openCliSessionPromptService);
413
480
  sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => butlerFollowUpSessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
414
481
  const routedSessionLiveRuntimeService = new SessionLiveRuntimeRouterService(sessionLiveRuntimeService, [
415
482
  butlerSessionLiveRuntimeService,
@@ -478,7 +545,19 @@ export function createServer(config) {
478
545
  const butlerFollowUpTerminalSubscription = sessionLiveRuntimeService.registerTerminalStateListener(async (event) => {
479
546
  await butlerFollowUpService.handleSessionTerminal(event.sessionId, event.timestamp);
480
547
  });
481
- const butlerControlSessionService = new ButlerControlSessionService(butlerProfileService, repositories.butlerControlSessionRepository, workspaceService, sessionHistoryService, butlerSessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, skillManagerService, butlerRuntimeConfig.codexHomeDir, config.codexHomeDir, butlerRuntimeConfig.claudeCodeHomeDir, config.claudeCodeHomeDir, repositories.sessionMessageOriginRepository, assistantSandboxService, sessionProviderUsageLimitGuardService);
548
+ const butlerControlSessionService = new ButlerControlSessionService(butlerProfileService, repositories.butlerControlSessionRepository, workspaceService, sessionHistoryService, butlerSessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, skillManagerService, butlerRuntimeConfig.codexHomeDir, config.codexHomeDir, butlerRuntimeConfig.claudeCodeHomeDir, config.claudeCodeHomeDir, repositories.sessionMessageOriginRepository, assistantSandboxService, sessionProviderUsageLimitGuardService, repositories.providerControlRepository);
549
+ const channelBridgeService = new ChannelBridgeService(repositories.channelAccountRepository, repositories.channelThreadRepository, repositories.channelInboundEventRepository, butlerControlSessionService);
550
+ const channelDeliveryService = new ChannelDeliveryService(repositories.channelAccountRepository, repositories.channelThreadRepository, repositories.channelInboundEventRepository, repositories.channelDeliveryRepository, sessionHistoryService, channelPlatformAdapterRegistry, taskManager);
551
+ channelDeliveryService.recoverRetryableDeliveries();
552
+ const channelGatewayService = new ChannelGatewayService(repositories.channelAccountRepository, channelPlatformAdapterRegistry, channelBridgeService, channelDeliveryService);
553
+ const channelPollingService = new ChannelPollingService(repositories.channelAccountRepository, channelPlatformAdapterRegistry, channelBridgeService, channelDeliveryService, taskManager, {
554
+ logger: app.log,
555
+ wechatClawRuntimeClient
556
+ });
557
+ const channelPollingScheduler = new ChannelPollingScheduler(channelPollingService, {
558
+ schedulerMetrics
559
+ });
560
+ const channelsService = new ChannelService(repositories.channelAccountRepository, repositories.channelThreadRepository, repositories.channelInboundEventRepository, repositories.channelDeliveryRepository, repositories.providerControlRepository, channelPlatformAdapterRegistry, channelPollingService, wechatClawRuntimeClient);
482
561
  const assistantAutomationService = new AssistantAutomationService(butlerProfileService, butlerControlSessionService, repositories.assistantAutomationTaskRepository, repositories.assistantAutomationRunRepository, taskManager, {
483
562
  gitCommandRunner,
484
563
  sessionLiveRuntimeService: butlerSessionLiveRuntimeService
@@ -518,6 +597,8 @@ export function createServer(config) {
518
597
  const codexArchiveWatcher = new CodexArchiveWatcher(config.codexHomeDir);
519
598
  const bootstrapController = new BootstrapController(bootstrapService);
520
599
  const clientController = new ClientController(clientService);
600
+ const channelController = new ChannelController(channelsService);
601
+ const channelGatewayController = new ChannelGatewayController(channelGatewayService);
521
602
  const debugTargetController = new DebugTargetController(debugTargetService);
522
603
  const handleDebugTargetTerminalExit = (event) => {
523
604
  void debugTargetService.handleTerminalExit(event);
@@ -530,8 +611,8 @@ export function createServer(config) {
530
611
  const butlerController = new ButlerController(butlerProfileService, butlerControlSessionService, butlerControlActionService, butlerContextAggregator, butlerFollowUpService, butlerInboxService, butlerNotificationService, butlerProjectService, butlerSessionService, projectMemoryService, patrolPlanService, patrolRunService, patrolExecutionService, verificationRunService, butlerActionContextService, butlerControlTimerService);
531
612
  const sessionController = new SessionController(sessionHistoryService, routedSessionLiveRuntimeService, repositories.butlerControlSessionRepository);
532
613
  const parallelSessionController = new ParallelSessionController(parallelSessionGroupService, sessionIsolatedWorkspaceService);
533
- const assistantCapabilityController = new AssistantCapabilityController(new AssistantCapabilityService(butlerProjectService, butlerSessionService, butlerControlSessionService, assistantAutomationService, assistantSandboxService, butlerControlTimerService, sessionHistoryService, sessionLiveRuntimeService, terminalService, debugTargetService, workspaceService, worktreeManager, worktreeSyncService, worktreeMergeService, worktreeCleanupService, repositories.sessionMessageOriginRepository, butlerFollowUpService));
534
- const providerController = new ProviderController(sessionHistoryService, sessionProviderConfigService, routedSessionLiveRuntimeService, config);
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
+ const providerController = new ProviderController(sessionHistoryService, sessionProviderConfigService, providerCatalogService, routedSessionLiveRuntimeService, config);
535
616
  const skillController = new SkillController(skillManagerService);
536
617
  const tailscaleController = new TailscaleController(tailscaleService);
537
618
  const relayTunnelController = new RelayTunnelController(relayTunnelService);
@@ -602,10 +683,11 @@ export function createServer(config) {
602
683
  bootstrapService.setup({ username: "demo", password: "codingns" });
603
684
  }
604
685
  }
605
- void registerPublicRoutes(app, bootstrapController);
686
+ void registerPublicRoutes(app, bootstrapController, channelGatewayController);
606
687
  void registerProxyRoutes(app, templateReverseProxyService);
607
688
  void registerAuthRoutes(app, authController);
608
689
  void registerAssistantCapabilityRoutes(app, assistantCapabilityController);
690
+ void registerChannelRoutes(app, channelController);
609
691
  void registerClientRoutes(app, clientController);
610
692
  void registerDebugTargetRoutes(app, debugTargetController);
611
693
  void registerObservabilityRoutes(app, observabilityController);
@@ -617,6 +699,7 @@ export function createServer(config) {
617
699
  void registerParallelGroupRoutes(app, parallelSessionController);
618
700
  void registerPreferenceRoutes(app, quickPhraseController, profileController);
619
701
  void registerSkillRoutes(app, skillController);
702
+ void registerOpenCliRoutes(app, openCliController);
620
703
  void registerSystemRoutes(app, tailscaleController, relayTunnelController, modelSwitchController);
621
704
  void registerFileRoutes(app, fileController);
622
705
  void registerSessionContextRoutes(app, fileContextController);
@@ -628,6 +711,7 @@ export function createServer(config) {
628
711
  butlerFollowUpScheduler.start();
629
712
  assistantSandboxCleanupScheduler.start();
630
713
  butlerControlTimerScheduler.start();
714
+ channelPollingScheduler.start();
631
715
  debugRuntimeReconciliationScheduler.start();
632
716
  if (config.webUiDir) {
633
717
  registerStaticWebRoutes(app, config.webUiDir);
@@ -642,6 +726,7 @@ export function createServer(config) {
642
726
  await butlerFollowUpScheduler.dispose();
643
727
  await assistantSandboxCleanupScheduler.dispose();
644
728
  await butlerControlTimerScheduler.dispose();
729
+ await channelPollingScheduler.dispose();
645
730
  await debugRuntimeReconciliationScheduler.dispose();
646
731
  terminalService.off("exit", handleDebugTargetTerminalExit);
647
732
  await terminalService.dispose();
@@ -656,6 +741,7 @@ export function createServer(config) {
656
741
  config.opencodeBaseUrlResolver?.dispose?.();
657
742
  gitCommandRunner.dispose();
658
743
  tailscaleHelperClient.dispose();
744
+ wechatClawRuntimeManager?.dispose();
659
745
  disposeSharedTaskHelperProcessClient();
660
746
  disposeSharedProviderDiscoveryHelperClient();
661
747
  disposeSharedOpenCodeSystemProbeHelperClient();
@@ -670,6 +756,12 @@ export function createServer(config) {
670
756
  modules: {
671
757
  bootstrapService,
672
758
  clientService,
759
+ channelsService,
760
+ channelBridgeService,
761
+ channelDeliveryService,
762
+ channelGatewayService,
763
+ channelPollingService,
764
+ channelPollingScheduler,
673
765
  debugTargetService,
674
766
  debugRuntimeReconciliationScheduler,
675
767
  authService,
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../../src/server/create-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../../src/server/create-server.ts"],"names":[],"mappings":"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"}