@jingyi0605/codingns 0.4.0 → 0.5.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 (267) hide show
  1. package/bin/codingns.mjs +425 -1
  2. package/dist/public/assets/AdaptiveButlerPage-B153lk5H.css +1 -0
  3. package/dist/public/assets/AdaptiveButlerPage-R-XZw7pd.js +3 -0
  4. package/dist/public/assets/App-DUAg5urj.css +1 -0
  5. package/dist/public/assets/App-DkvE5EyM.js +30 -0
  6. package/dist/public/assets/BootstrapPage-Vu5oEJ8z.js +1 -0
  7. package/dist/public/assets/ConversationPage-Cjpg6g0J.js +2 -0
  8. package/dist/public/assets/DesktopDetachPreviewPage-BgeEqbc5.js +1 -0
  9. package/dist/public/assets/DesktopWindowPage-1WelvxdH.js +2 -0
  10. package/dist/public/assets/FileContextPanel-D_ghXJuW.js +1 -0
  11. package/dist/public/assets/GitSidebar-D9f9Jxwr.js +6 -0
  12. package/dist/public/assets/MobileCreateSessionSheet-DLq5qPkx.js +1 -0
  13. package/dist/public/assets/MobileSheet-DLg-gX1t.js +1 -0
  14. package/dist/public/assets/MobileTopHeaderFrame-DArgZI7L.js +1 -0
  15. package/dist/public/assets/MobileWorkspaceSwitcherHeader-0ywJKfBQ.js +1 -0
  16. package/dist/public/assets/ServerSettingsModal-izoYMx9U.js +1 -0
  17. package/dist/public/assets/SessionIndexPage-C5aG8FIv.js +1 -0
  18. package/dist/public/assets/SettingsPage-HJIC-P-4.js +1 -0
  19. package/dist/public/assets/TerminalManagerPanel-DpyUTo9k.js +1 -0
  20. package/dist/public/assets/{TerminalPage-6jHZV9Mh.js → TerminalPage-CtKXIU0h.js} +19 -19
  21. package/dist/public/assets/TerminalRuntimeFallbackModal-CRhOQOsT.js +1 -0
  22. package/dist/public/assets/ToolFilesPage-DcYPsS-e.js +1 -0
  23. package/dist/public/assets/ToolGitPage-CsPl89ty.js +1 -0
  24. package/dist/public/assets/ToolProcessesPage-D0dvR8xK.js +1 -0
  25. package/dist/public/assets/ToolsHomePage-4fP-KRiv.js +1 -0
  26. package/dist/public/assets/WorkbenchLandingPage-kvlfyxRo.js +1 -0
  27. package/dist/public/assets/WorkbenchLayout-ByFw4eeu.js +3 -0
  28. package/dist/public/assets/WorkbenchModal-Ctob14VR.js +1 -0
  29. package/dist/public/assets/WorkbenchShellRoute-BUITtdAg.css +1 -0
  30. package/dist/public/assets/WorkbenchShellRoute-Kw7JEZI3.js +1 -0
  31. package/dist/public/assets/WorkspaceDebugDetailPage-Com5kEXJ.js +1 -0
  32. package/dist/public/assets/WorkspaceDetailPage-D0Lrx4Uz.js +1 -0
  33. package/dist/public/assets/WorkspaceHomePage-wR8d3aP9.js +1 -0
  34. package/dist/public/assets/butler-records-events-DgWCG364.js +1 -0
  35. package/dist/public/assets/default-session-permission-mode-CcGwR4Kk.js +1 -0
  36. package/dist/public/assets/event-DvH9tcej.js +1 -0
  37. package/dist/public/assets/file-tree-icon-UFVoVzhM.js +31 -0
  38. package/dist/public/assets/index-Byp9hJ0c.js +42 -0
  39. package/dist/public/assets/index-_52jxu4a.css +1 -0
  40. package/dist/public/assets/preferences-service-KIYeE2gk.js +1 -0
  41. package/dist/public/assets/session-runtime-machine-0KNSSPp5.js +17 -0
  42. package/dist/public/assets/styles-BWPBZvze.css +1 -0
  43. package/dist/public/assets/styles-CSUx5LGe.js +1 -0
  44. package/dist/public/assets/terminal-runtime-meta-AWXJpN4r.js +1 -0
  45. package/dist/public/assets/useRegisteredDebugTemplates-DBDRdptr.js +1 -0
  46. package/dist/public/assets/window-BWqRixxq.js +1 -0
  47. package/dist/public/index.html +2 -2
  48. package/dist/server/middlewares/auth-guard.d.ts +4 -0
  49. package/dist/server/middlewares/auth-guard.js +42 -4
  50. package/dist/server/middlewares/auth-guard.js.map +1 -1
  51. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +62 -1
  52. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +58 -0
  53. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
  54. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +66 -3
  55. package/dist/server/modules/assistant-capability/assistant-capability-service.js +173 -1
  56. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  57. package/dist/server/modules/auth/auth-controller.d.ts +11 -1
  58. package/dist/server/modules/auth/auth-controller.js +61 -2
  59. package/dist/server/modules/auth/auth-controller.js.map +1 -1
  60. package/dist/server/modules/auth/auth-device-display-name.d.ts +10 -0
  61. package/dist/server/modules/auth/auth-device-display-name.js +190 -0
  62. package/dist/server/modules/auth/auth-device-display-name.js.map +1 -0
  63. package/dist/server/modules/auth/auth-service.d.ts +80 -5
  64. package/dist/server/modules/auth/auth-service.js +333 -23
  65. package/dist/server/modules/auth/auth-service.js.map +1 -1
  66. package/dist/server/modules/butler/assistant-automation-service.d.ts +2 -0
  67. package/dist/server/modules/butler/assistant-automation-service.js +46 -0
  68. package/dist/server/modules/butler/assistant-automation-service.js.map +1 -1
  69. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.d.ts +32 -0
  70. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js +93 -0
  71. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js.map +1 -0
  72. package/dist/server/modules/butler/assistant-sandbox-service.d.ts +16 -2
  73. package/dist/server/modules/butler/assistant-sandbox-service.js +137 -4
  74. package/dist/server/modules/butler/assistant-sandbox-service.js.map +1 -1
  75. package/dist/server/modules/butler/butler-auth-service.js +7 -2
  76. package/dist/server/modules/butler/butler-auth-service.js.map +1 -1
  77. package/dist/server/modules/butler/butler-control-session-service.d.ts +4 -1
  78. package/dist/server/modules/butler/butler-control-session-service.js +20 -1
  79. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  80. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.d.ts +2 -1
  81. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.js +27 -25
  82. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.js.map +1 -1
  83. package/dist/server/modules/butler/butler-follow-up-service.d.ts +32 -4
  84. package/dist/server/modules/butler/butler-follow-up-service.js +436 -331
  85. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  86. package/dist/server/modules/butler/butler-inbox-analysis-service.d.ts +1 -1
  87. package/dist/server/modules/butler/butler-inbox-analysis-service.js.map +1 -1
  88. package/dist/server/modules/butler/butler-inbox-service.js +1 -0
  89. package/dist/server/modules/butler/butler-inbox-service.js.map +1 -1
  90. package/dist/server/modules/butler/butler-session-service.d.ts +3 -1
  91. package/dist/server/modules/butler/butler-session-service.js +15 -1
  92. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  93. package/dist/server/modules/butler/butler-workspace-context.d.ts +1 -1
  94. package/dist/server/modules/butler/butler-workspace-context.js +54 -28
  95. package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
  96. package/dist/server/modules/provider/provider-controller.d.ts +1 -1
  97. package/dist/server/modules/provider/provider-controller.js.map +1 -1
  98. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.d.ts +10 -0
  99. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.js +48 -0
  100. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.js.map +1 -0
  101. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.d.ts +48 -0
  102. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js +11 -0
  103. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js.map +1 -0
  104. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.d.ts +74 -0
  105. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js +302 -0
  106. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js.map +1 -0
  107. package/dist/server/modules/relay-tunnel/relay-tunnel-controller.d.ts +33 -0
  108. package/dist/server/modules/relay-tunnel/relay-tunnel-controller.js +57 -0
  109. package/dist/server/modules/relay-tunnel/relay-tunnel-controller.js.map +1 -0
  110. package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.d.ts +9 -0
  111. package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.js +25 -0
  112. package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.js.map +1 -0
  113. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.d.ts +18 -0
  114. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +230 -0
  115. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -0
  116. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.d.ts +41 -0
  117. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js +443 -0
  118. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js.map +1 -0
  119. package/dist/server/modules/relay-tunnel/relay-tunnel-service.d.ts +111 -0
  120. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +771 -0
  121. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -0
  122. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +2 -1
  123. package/dist/server/modules/sessions/codex-app-server-helper-client.js +78 -0
  124. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  125. package/dist/server/modules/sessions/codex-app-server-helper-process.js +84 -2
  126. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  127. package/dist/server/modules/sessions/provider-session-delete-cli.d.ts +15 -0
  128. package/dist/server/modules/sessions/provider-session-delete-cli.js +148 -0
  129. package/dist/server/modules/sessions/provider-session-delete-cli.js.map +1 -0
  130. package/dist/server/modules/sessions/session-controller.d.ts +4 -1
  131. package/dist/server/modules/sessions/session-controller.js +4 -0
  132. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  133. package/dist/server/modules/sessions/session-history-service.d.ts +17 -0
  134. package/dist/server/modules/sessions/session-history-service.js +150 -1
  135. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  136. package/dist/server/modules/sessions/session-live-runtime-router-service.d.ts +25 -0
  137. package/dist/server/modules/sessions/session-live-runtime-router-service.js +42 -0
  138. package/dist/server/modules/sessions/session-live-runtime-router-service.js.map +1 -0
  139. package/dist/server/modules/sessions/session-live-runtime-service.js +34 -18
  140. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  141. package/dist/server/modules/sessions/session-message-attachment-service.d.ts +1 -0
  142. package/dist/server/modules/sessions/session-message-attachment-service.js +22 -0
  143. package/dist/server/modules/sessions/session-message-attachment-service.js.map +1 -1
  144. package/dist/server/modules/sessions/session-permission-request-service.d.ts +1 -0
  145. package/dist/server/modules/sessions/session-permission-request-service.js +200 -5
  146. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
  147. package/dist/server/modules/sessions/session-provider-error-mapper.js +32 -0
  148. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  149. package/dist/server/modules/sessions/session-provider-usage-guard-service.d.ts +37 -0
  150. package/dist/server/modules/sessions/session-provider-usage-guard-service.js +179 -0
  151. package/dist/server/modules/sessions/session-provider-usage-guard-service.js.map +1 -0
  152. package/dist/server/modules/sessions/session-provider-usage-limit.d.ts +17 -0
  153. package/dist/server/modules/sessions/session-provider-usage-limit.js +465 -0
  154. package/dist/server/modules/sessions/session-provider-usage-limit.js.map +1 -0
  155. package/dist/server/modules/skills/assistant-runtime-skill-catalog.d.ts +8 -0
  156. package/dist/server/modules/skills/assistant-runtime-skill-catalog.js +26 -0
  157. package/dist/server/modules/skills/assistant-runtime-skill-catalog.js.map +1 -0
  158. package/dist/server/modules/skills/assistant-runtime-skill-cleanup.d.ts +9 -0
  159. package/dist/server/modules/skills/assistant-runtime-skill-cleanup.js +55 -0
  160. package/dist/server/modules/skills/assistant-runtime-skill-cleanup.js.map +1 -0
  161. package/dist/server/modules/skills/builtin-skill-service.js +1 -6
  162. package/dist/server/modules/skills/builtin-skill-service.js.map +1 -1
  163. package/dist/server/modules/skills/skill-controller.d.ts +2 -2
  164. package/dist/server/modules/skills/skill-controller.js +9 -1
  165. package/dist/server/modules/skills/skill-controller.js.map +1 -1
  166. package/dist/server/modules/skills/skill-manager-service.d.ts +26 -1
  167. package/dist/server/modules/skills/skill-manager-service.js +346 -90
  168. package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
  169. package/dist/server/modules/skills/skill-name-policy.d.ts +2 -0
  170. package/dist/server/modules/skills/skill-name-policy.js +10 -0
  171. package/dist/server/modules/skills/skill-name-policy.js.map +1 -0
  172. package/dist/server/modules/tailscale/tailscale-service.d.ts +2 -0
  173. package/dist/server/modules/tailscale/tailscale-service.js +21 -8
  174. package/dist/server/modules/tailscale/tailscale-service.js.map +1 -1
  175. package/dist/server/modules/tasks/task-types.d.ts +3 -0
  176. package/dist/server/modules/tasks/task-types.js +3 -0
  177. package/dist/server/modules/tasks/task-types.js.map +1 -1
  178. package/dist/server/modules/terminal/template-reverse-proxy-service.js +71 -3
  179. package/dist/server/modules/terminal/template-reverse-proxy-service.js.map +1 -1
  180. package/dist/server/routes/assistant.js +30 -0
  181. package/dist/server/routes/assistant.js.map +1 -1
  182. package/dist/server/routes/auth.js +4 -0
  183. package/dist/server/routes/auth.js.map +1 -1
  184. package/dist/server/routes/sessions.js +1 -0
  185. package/dist/server/routes/sessions.js.map +1 -1
  186. package/dist/server/routes/system.d.ts +2 -1
  187. package/dist/server/routes/system.js +13 -1
  188. package/dist/server/routes/system.js.map +1 -1
  189. package/dist/server/server/create-server.d.ts +10 -0
  190. package/dist/server/server/create-server.js +82 -12
  191. package/dist/server/server/create-server.js.map +1 -1
  192. package/dist/server/shared/utils/tokens.d.ts +3 -1
  193. package/dist/server/shared/utils/tokens.js +9 -2
  194. package/dist/server/shared/utils/tokens.js.map +1 -1
  195. package/dist/server/storage/repositories/assistant-automation-task-repository.d.ts +2 -0
  196. package/dist/server/storage/repositories/assistant-automation-task-repository.js +8 -2
  197. package/dist/server/storage/repositories/assistant-automation-task-repository.js.map +1 -1
  198. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.d.ts +1 -0
  199. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js +27 -0
  200. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js.map +1 -1
  201. package/dist/server/storage/repositories/auth-device-repository.d.ts +22 -0
  202. package/dist/server/storage/repositories/auth-device-repository.js +97 -0
  203. package/dist/server/storage/repositories/auth-device-repository.js.map +1 -0
  204. package/dist/server/storage/repositories/auth-device-session-repository.d.ts +17 -0
  205. package/dist/server/storage/repositories/auth-device-session-repository.js +82 -0
  206. package/dist/server/storage/repositories/auth-device-session-repository.js.map +1 -0
  207. package/dist/server/storage/repositories/auth-login-event-repository.d.ts +9 -0
  208. package/dist/server/storage/repositories/auth-login-event-repository.js +53 -0
  209. package/dist/server/storage/repositories/auth-login-event-repository.js.map +1 -0
  210. package/dist/server/storage/repositories/auth-token-repository.d.ts +4 -0
  211. package/dist/server/storage/repositories/auth-token-repository.js +58 -5
  212. package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
  213. package/dist/server/storage/repositories/butler-follow-up-task-repository.js +21 -3
  214. package/dist/server/storage/repositories/butler-follow-up-task-repository.js.map +1 -1
  215. package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.d.ts +8 -0
  216. package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.js +52 -0
  217. package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.js.map +1 -0
  218. package/dist/server/storage/repositories/instance-relay-tunnel-repository.d.ts +10 -0
  219. package/dist/server/storage/repositories/instance-relay-tunnel-repository.js +153 -0
  220. package/dist/server/storage/repositories/instance-relay-tunnel-repository.js.map +1 -0
  221. package/dist/server/storage/repositories/instance-tailscale-repository.js +6 -3
  222. package/dist/server/storage/repositories/instance-tailscale-repository.js.map +1 -1
  223. package/dist/server/storage/repositories/managed-skill-repository.d.ts +2 -1
  224. package/dist/server/storage/repositories/managed-skill-repository.js +14 -4
  225. package/dist/server/storage/repositories/managed-skill-repository.js.map +1 -1
  226. package/dist/server/storage/repositories/session-message-attachment-repository.d.ts +2 -0
  227. package/dist/server/storage/repositories/session-message-attachment-repository.js +24 -0
  228. package/dist/server/storage/repositories/session-message-attachment-repository.js.map +1 -1
  229. package/dist/server/storage/sqlite/client.js +297 -2
  230. package/dist/server/storage/sqlite/client.js.map +1 -1
  231. package/dist/server/storage/sqlite/schema.sql +122 -4
  232. package/dist/server/types/domain.d.ts +82 -1
  233. package/dist/server/ws/workbench-ws-hub.js +99 -75
  234. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  235. package/dist/server/ws/ws-auth-guard.js +1 -4
  236. package/dist/server/ws/ws-auth-guard.js.map +1 -1
  237. package/dist/server/ws/ws-server.d.ts +1 -1
  238. package/dist/server/ws/ws-server.js.map +1 -1
  239. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.d.ts +1 -0
  240. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js +80 -0
  241. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js.map +1 -0
  242. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +1 -0
  243. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +11 -1
  244. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  245. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +11 -0
  246. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +132 -21
  247. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  248. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +2 -0
  249. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +53 -1
  250. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -1
  251. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +1 -0
  252. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +10 -1
  253. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +1 -1
  254. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +1 -0
  255. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +30 -0
  256. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  257. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +5 -1
  258. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +145 -58
  259. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  260. package/node_modules/@codingns/session-sync-core/dist/services.d.ts +1 -0
  261. package/node_modules/@codingns/session-sync-core/dist/services.js +7 -0
  262. package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
  263. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +2 -0
  264. package/package.json +1 -1
  265. package/scripts/postinstall.mjs +0 -33
  266. package/dist/public/assets/index-CSVhg7I8.js +0 -123
  267. package/dist/public/assets/index-Ce1VX19m.css +0 -1
@@ -90,7 +90,7 @@ export declare class SessionController {
90
90
  private readonly sessionHistoryService;
91
91
  private readonly sessionLiveRuntimeService;
92
92
  private readonly butlerControlSessionRepository;
93
- constructor(sessionHistoryService: SessionHistoryService, sessionLiveRuntimeService: SessionLiveRuntimeService, butlerControlSessionRepository: Pick<ButlerControlSessionRepository, "listSessionIds">);
93
+ constructor(sessionHistoryService: SessionHistoryService, sessionLiveRuntimeService: Pick<SessionLiveRuntimeService, "startLiveSession" | "sendLiveMessage" | "enqueueLiveMessage" | "getSessionRuntime" | "interruptSession" | "replyPermissionRequest" | "listPermissionRequests" | "listQueuedMessages" | "deleteQueuedMessage" | "steerQueuedMessage">, butlerControlSessionRepository: Pick<ButlerControlSessionRepository, "listSessionIds">);
94
94
  readonly list: (request: FastifyRequest<{
95
95
  Querystring: SessionListQuery;
96
96
  }>, reply: FastifyReply) => Promise<void>;
@@ -126,6 +126,9 @@ export declare class SessionController {
126
126
  Params: SessionParams;
127
127
  Body: RenameSessionBody;
128
128
  }>, reply: FastifyReply) => Promise<void>;
129
+ readonly deleteSession: (request: FastifyRequest<{
130
+ Params: SessionParams;
131
+ }>, reply: FastifyReply) => Promise<void>;
129
132
  readonly updateArchiveState: (request: FastifyRequest<{
130
133
  Params: SessionParams;
131
134
  Body: ArchiveSessionBody;
@@ -152,6 +152,10 @@ export class SessionController {
152
152
  const title = requireNonEmptyText(request.body.title, "title", "重命名会话时必须提供 title");
153
153
  reply.send(await this.sessionHistoryService.renameSessionTitle(request.params.sessionId, requireUserId(request), title));
154
154
  };
155
+ deleteSession = async (request, reply) => {
156
+ await this.sessionHistoryService.deleteSession(request.params.sessionId, requireUserId(request));
157
+ reply.status(204).send();
158
+ };
155
159
  updateArchiveState = async (request, reply) => {
156
160
  reply.send(await this.sessionHistoryService.updateSessionArchiveState({
157
161
  sessionId: request.params.sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../../src/modules/sessions/session-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../../src/modules/sessions/session-controller.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import type { SessionMessageOriginRepository } from "../../storage/repositories/
14
14
  import { SessionForkRepository } from "../../storage/repositories/session-fork-repository.js";
15
15
  import { TaskManager } from "../tasks/task-manager.js";
16
16
  import { type TaskMetricsSnapshot } from "../tasks/task-types.js";
17
+ import { type ProviderSessionDeleteCli } from "./provider-session-delete-cli.js";
17
18
  interface StartSessionInput {
18
19
  workspaceId: string;
19
20
  userId: string;
@@ -59,8 +60,15 @@ export type SessionHistoryMessageWithOrigin = HistoryPage["messages"][number] &
59
60
  };
60
61
  interface SessionHistoryAdapterOverrides {
61
62
  codexForkTransportFactory?: () => CodexForkTransport;
63
+ providerSessionDeleteCli?: ProviderSessionDeleteCli;
62
64
  }
63
65
  type LiveActivityObservationResolver = (sessionId: string) => SessionActivityObservation | null;
66
+ type SessionDeletedObserver = (input: {
67
+ sessionId: string;
68
+ userId: string;
69
+ workspaceId: string;
70
+ remainingWorkspaceSessionCount: number;
71
+ }) => Promise<void> | void;
64
72
  export declare class SessionHistoryService {
65
73
  private readonly db;
66
74
  private readonly workspaceRepository;
@@ -76,6 +84,7 @@ export declare class SessionHistoryService {
76
84
  private readonly capabilityService;
77
85
  private readonly sessionActivityAuthorityService;
78
86
  private readonly sessionForkRepository;
87
+ private readonly providerSessionDeleteCli;
79
88
  private readonly claudeCodeHomeDir;
80
89
  private readonly codexModelOptionsService;
81
90
  private readonly openCodeModelOptionsService;
@@ -88,6 +97,7 @@ export declare class SessionHistoryService {
88
97
  private readonly workspaceStateRefreshStatuses;
89
98
  private readonly providerCapabilityCache;
90
99
  private readonly liveActivityObservationResolvers;
100
+ private readonly sessionDeletedObservers;
91
101
  private readonly workspaceSessionRelations;
92
102
  private workspaceStateRefreshTaskSequence;
93
103
  constructor(db: Database.Database, workspaceRepository: WorkspaceRepository, sessionBindingRepository: SessionBindingRepository, sessionChangedFileService: SessionChangedFileService, sessionIndexRepository: SessionIndexRepository, sessionMessageAttachmentService: SessionMessageAttachmentService, sessionStateRepository: SessionStateRepository, sessionStatusSnapshotRepository: SessionStatusSnapshotRepository, config: HostConfig, sessionActivityAuthorityService?: SessionActivityAuthorityService, sessionMessageOriginRepository?: Pick<SessionMessageOriginRepository, "listBySessionAndMessageIds" | "listUnresolvedBySessionAndContents" | "resolveMessageId"> | null, sessionForkRepository?: Pick<SessionForkRepository, "upsert" | "findBySessionId"> | null, adapterOverrides?: SessionHistoryAdapterOverrides, taskManager?: TaskManager);
@@ -95,6 +105,9 @@ export declare class SessionHistoryService {
95
105
  registerLiveActivityObservationResolver(resolver: LiveActivityObservationResolver): {
96
106
  close(): void;
97
107
  };
108
+ registerSessionDeletedObserver(observer: SessionDeletedObserver): {
109
+ close(): void;
110
+ };
98
111
  private registerBackgroundTasks;
99
112
  discoverWorkspaceSessions(workspaceId: string, userId: string, options?: {
100
113
  maxAgeMs?: number;
@@ -154,6 +167,7 @@ export declare class SessionHistoryService {
154
167
  markSessionSeen(sessionId: string, userId: string): Promise<void>;
155
168
  updateSessionFavoriteState(input: FavoriteSessionInput): Promise<SessionListItem>;
156
169
  updateSessionArchiveState(input: ArchiveSessionInput): Promise<SessionListItem>;
170
+ deleteSession(sessionId: string, userId: string): Promise<void>;
157
171
  renameSessionTitle(sessionId: string, userId: string, title: string): Promise<SessionListItem>;
158
172
  getBindingOrThrow(sessionId: string): SessionBinding;
159
173
  persistSessionBinding(sessionId: string, workspaceId: string, snapshot: {
@@ -200,6 +214,9 @@ export declare class SessionHistoryService {
200
214
  private copyChangedFileIndexStateToTarget;
201
215
  private rewriteWorkspaceSessionRelations;
202
216
  private deleteSessionById;
217
+ private countOtherWorkspaceSessions;
218
+ private detachSessionRelationsBeforeDelete;
219
+ private removeWorkspaceSessionRelation;
203
220
  private buildKnownSessionSummaries;
204
221
  private refreshSessionState;
205
222
  private repairCodexDirtyBindingBeforeHistoryRead;
@@ -19,6 +19,7 @@ import { discoverWorkspaceSessionsInRuntime } from "../provider/provider-discove
19
19
  import { createTaskManager } from "../tasks/task-manager.js";
20
20
  import { HOST_TASK_TYPES } from "../tasks/task-types.js";
21
21
  import { CodexAppServerHelperClient } from "./codex-app-server-helper-client.js";
22
+ import { CodingnsProviderSessionDeleteCli } from "./provider-session-delete-cli.js";
22
23
  const RECONSTRUCTED_FORK_TARGET_PROVIDERS = new Set(["codex", "claude-code", "opencode"]);
23
24
  const FORK_RECONSTRUCTION_PAGE_SIZE = 200;
24
25
  const MAX_FORK_DEPTH = 4;
@@ -54,6 +55,7 @@ export class SessionHistoryService {
54
55
  capabilityService;
55
56
  sessionActivityAuthorityService;
56
57
  sessionForkRepository;
58
+ providerSessionDeleteCli;
57
59
  claudeCodeHomeDir;
58
60
  codexModelOptionsService;
59
61
  openCodeModelOptionsService;
@@ -66,6 +68,7 @@ export class SessionHistoryService {
66
68
  workspaceStateRefreshStatuses = new Map();
67
69
  providerCapabilityCache = new Map();
68
70
  liveActivityObservationResolvers = new Set();
71
+ sessionDeletedObservers = new Set();
69
72
  workspaceSessionRelations = new Map();
70
73
  workspaceStateRefreshTaskSequence = 0;
71
74
  constructor(db, workspaceRepository, sessionBindingRepository, sessionChangedFileService, sessionIndexRepository, sessionMessageAttachmentService, sessionStateRepository, sessionStatusSnapshotRepository, config, sessionActivityAuthorityService = new SessionActivityAuthorityService(), sessionMessageOriginRepository = null, sessionForkRepository = null, adapterOverrides = {}, taskManager = createTaskManager()) {
@@ -80,6 +83,8 @@ export class SessionHistoryService {
80
83
  this.sessionMessageOriginRepository = sessionMessageOriginRepository;
81
84
  this.sessionActivityAuthorityService = sessionActivityAuthorityService;
82
85
  this.sessionForkRepository = sessionForkRepository ?? new SessionForkRepository(db);
86
+ this.providerSessionDeleteCli =
87
+ adapterOverrides.providerSessionDeleteCli ?? new CodingnsProviderSessionDeleteCli(config);
83
88
  this.taskManager = taskManager;
84
89
  this.claudeCodeHomeDir = config.claudeCodeHomeDir;
85
90
  this.providerCliCommandPaths = {
@@ -107,7 +112,8 @@ export class SessionHistoryService {
107
112
  new CodexAdapter({
108
113
  homeDir: config.codexHomeDir,
109
114
  forkTransportFactory: adapterOverrides.codexForkTransportFactory
110
- ?? createCodexForkTransportFactory(config.codexCliPath, config.codexHomeDir)
115
+ ?? createCodexForkTransportFactory(config.codexCliPath, config.codexHomeDir),
116
+ threadControlTransportFactory: createCodexThreadControlTransportFactory(config.codexCliPath, config.codexHomeDir)
111
117
  }),
112
118
  new GeminiAdapter({
113
119
  homeDir: config.geminiHomeDir,
@@ -152,6 +158,14 @@ export class SessionHistoryService {
152
158
  }
153
159
  };
154
160
  }
161
+ registerSessionDeletedObserver(observer) {
162
+ this.sessionDeletedObservers.add(observer);
163
+ return {
164
+ close: () => {
165
+ this.sessionDeletedObservers.delete(observer);
166
+ }
167
+ };
168
+ }
155
169
  registerBackgroundTasks() {
156
170
  if (!this.taskManager.has(HOST_TASK_TYPES.workspaceDiscovery)) {
157
171
  this.taskManager.register({
@@ -1078,6 +1092,44 @@ export class SessionHistoryService {
1078
1092
  isArchived: nextArchivedState
1079
1093
  });
1080
1094
  }
1095
+ async deleteSession(sessionId, userId) {
1096
+ const binding = this.getBindingOrThrow(sessionId);
1097
+ const existing = this.getSessionListItemOrThrow(sessionId, userId);
1098
+ if (existing.runningState === "starting" || existing.runningState === "running") {
1099
+ throw new AppError({
1100
+ statusCode: 409,
1101
+ errorCode: "SESSION_DELETE_RUNNING",
1102
+ detail: "运行中的会话不能直接删除,请先等当前执行结束",
1103
+ field: "sessionId"
1104
+ });
1105
+ }
1106
+ try {
1107
+ await this.providerSessionDeleteCli.deleteSession({
1108
+ provider: binding.provider,
1109
+ providerSessionId: binding.providerSessionId,
1110
+ rawStoreRef: binding.rawStoreRef
1111
+ });
1112
+ }
1113
+ catch (error) {
1114
+ if (!isProviderSessionMissing(error)) {
1115
+ throw mapSessionProviderError(error);
1116
+ }
1117
+ }
1118
+ for (const observer of this.sessionDeletedObservers) {
1119
+ await observer({
1120
+ sessionId,
1121
+ userId,
1122
+ workspaceId: binding.workspaceId,
1123
+ remainingWorkspaceSessionCount: this.countOtherWorkspaceSessions(binding.workspaceId, sessionId)
1124
+ });
1125
+ }
1126
+ const deleteTransaction = this.db.transaction((targetSessionId) => {
1127
+ this.detachSessionRelationsBeforeDelete(targetSessionId);
1128
+ this.deleteSessionById(targetSessionId);
1129
+ });
1130
+ deleteTransaction(sessionId);
1131
+ this.removeWorkspaceSessionRelation(sessionId);
1132
+ }
1081
1133
  async renameSessionTitle(sessionId, userId, title) {
1082
1134
  const binding = this.getBindingOrThrow(sessionId);
1083
1135
  const existing = this.getSessionListItemOrThrow(sessionId, userId);
@@ -2100,6 +2152,7 @@ export class SessionHistoryService {
2100
2152
  }
2101
2153
  const deleteTransaction = this.db.transaction((ids) => {
2102
2154
  for (const sessionId of ids) {
2155
+ this.detachSessionRelationsBeforeDelete(sessionId);
2103
2156
  this.deleteSessionById(sessionId);
2104
2157
  }
2105
2158
  });
@@ -2369,10 +2422,14 @@ export class SessionHistoryService {
2369
2422
  }
2370
2423
  }
2371
2424
  deleteSessionById(sessionId) {
2425
+ this.sessionMessageAttachmentService.deleteSessionAttachments(sessionId);
2372
2426
  this.sessionChangedFileService.deleteBySessionId(sessionId);
2373
2427
  this.db
2374
2428
  .prepare("DELETE FROM session_message_attachments WHERE session_id = ?")
2375
2429
  .run(sessionId);
2430
+ this.db
2431
+ .prepare("DELETE FROM session_message_origins WHERE session_id = ?")
2432
+ .run(sessionId);
2376
2433
  this.db
2377
2434
  .prepare("DELETE FROM session_send_queue WHERE session_id = ?")
2378
2435
  .run(sessionId);
@@ -2395,6 +2452,82 @@ export class SessionHistoryService {
2395
2452
  .prepare("DELETE FROM session_bindings WHERE session_id = ?")
2396
2453
  .run(sessionId);
2397
2454
  }
2455
+ countOtherWorkspaceSessions(workspaceId, sessionId) {
2456
+ const row = this.db
2457
+ .prepare(`SELECT COUNT(*) AS count
2458
+ FROM session_bindings
2459
+ WHERE workspace_id = ?
2460
+ AND session_id != ?`)
2461
+ .get(workspaceId, sessionId);
2462
+ return Number(row?.count ?? 0);
2463
+ }
2464
+ detachSessionRelationsBeforeDelete(sessionId) {
2465
+ this.db
2466
+ .prepare(`UPDATE session_indices
2467
+ SET parent_session_id = NULL
2468
+ WHERE parent_session_id = ?`)
2469
+ .run(sessionId);
2470
+ this.db
2471
+ .prepare(`DELETE FROM session_forks
2472
+ WHERE parent_session_id = ?
2473
+ OR fork_source_session_id = ?`)
2474
+ .run(sessionId, sessionId);
2475
+ this.db
2476
+ .prepare("DELETE FROM butler_control_sessions WHERE session_id = ?")
2477
+ .run(sessionId);
2478
+ const butlerSessionIds = this.db
2479
+ .prepare(`SELECT id
2480
+ FROM butler_sessions
2481
+ WHERE session_id = ?`)
2482
+ .all(sessionId)
2483
+ .map((row) => String(row.id));
2484
+ if (butlerSessionIds.length === 0) {
2485
+ return;
2486
+ }
2487
+ const butlerPlaceholders = butlerSessionIds.map(() => "?").join(", ");
2488
+ const checkpointIds = this.db
2489
+ .prepare(`SELECT id
2490
+ FROM session_checkpoints
2491
+ WHERE butler_session_id IN (${butlerPlaceholders})`)
2492
+ .all(...butlerSessionIds)
2493
+ .map((row) => String(row.id));
2494
+ if (checkpointIds.length > 0) {
2495
+ const checkpointPlaceholders = checkpointIds.map(() => "?").join(", ");
2496
+ this.db
2497
+ .prepare(`UPDATE project_memories
2498
+ SET source_checkpoint_id = NULL
2499
+ WHERE source_checkpoint_id IN (${checkpointPlaceholders})`)
2500
+ .run(...checkpointIds);
2501
+ }
2502
+ this.db
2503
+ .prepare(`UPDATE project_memories
2504
+ SET source_butler_session_id = NULL
2505
+ WHERE source_butler_session_id IN (${butlerPlaceholders})`)
2506
+ .run(...butlerSessionIds);
2507
+ this.db
2508
+ .prepare(`UPDATE patrol_runs
2509
+ SET butler_session_id = NULL
2510
+ WHERE butler_session_id IN (${butlerPlaceholders})`)
2511
+ .run(...butlerSessionIds);
2512
+ this.db
2513
+ .prepare(`UPDATE verification_runs
2514
+ SET butler_session_id = NULL
2515
+ WHERE butler_session_id IN (${butlerPlaceholders})`)
2516
+ .run(...butlerSessionIds);
2517
+ this.db
2518
+ .prepare("DELETE FROM butler_sessions WHERE session_id = ?")
2519
+ .run(sessionId);
2520
+ }
2521
+ removeWorkspaceSessionRelation(sessionId) {
2522
+ for (const relationMap of this.workspaceSessionRelations.values()) {
2523
+ relationMap.delete(sessionId);
2524
+ for (const relation of relationMap.values()) {
2525
+ if (relation.parentSessionId === sessionId) {
2526
+ relation.parentSessionId = null;
2527
+ }
2528
+ }
2529
+ }
2530
+ }
2398
2531
  buildKnownSessionSummaries(sessions, workspacePath) {
2399
2532
  return sessions
2400
2533
  .filter((session) => !this.isPendingSessionAlias(session))
@@ -2570,6 +2703,19 @@ function createCodexForkTransportFactory(commandPath, homeDir) {
2570
2703
  };
2571
2704
  };
2572
2705
  }
2706
+ function createCodexThreadControlTransportFactory(commandPath, homeDir) {
2707
+ return () => {
2708
+ const client = new CodexAppServerHelperClient(commandPath, { homeDir });
2709
+ const transport = client.createThreadControlTransport();
2710
+ return {
2711
+ ...transport,
2712
+ close() {
2713
+ transport.close();
2714
+ client.dispose();
2715
+ }
2716
+ };
2717
+ };
2718
+ }
2573
2719
  function buildInspectionActivityObservation(sessionId, inspection, observedAt) {
2574
2720
  const resolvedRunningState = inspection.runningState === "failed"
2575
2721
  ? "failed"
@@ -3078,6 +3224,9 @@ function isAcceptedUserMessageTimestamp(provider, timestamp, minTimestamp) {
3078
3224
  function isSyntheticKimiHistoryTimestamp(timestamp) {
3079
3225
  return timestamp.startsWith("2020-01-01T00:");
3080
3226
  }
3227
+ function isProviderSessionMissing(error) {
3228
+ return error instanceof Error && error.message === "PROVIDER_SESSION_NOT_FOUND";
3229
+ }
3081
3230
  function createDeliveredHistoryMessageState() {
3082
3231
  return {
3083
3232
  signaturesByMessageId: new Map(),