@jingyi0605/codingns 0.1.1 → 0.1.2

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 (238) hide show
  1. package/README.md +14 -0
  2. package/dist/public/assets/{TerminalPage-CVG1cGAJ.js → TerminalPage-Dr7knYq2.js} +19 -19
  3. package/dist/public/assets/index-BpUi6zoT.js +108 -0
  4. package/dist/public/assets/index-NMtdQNda.css +1 -0
  5. package/dist/public/index.html +2 -2
  6. package/dist/server/config/env.js +24 -3
  7. package/dist/server/config/env.js.map +1 -1
  8. package/dist/server/config/opencode-base-url-resolver.d.ts +13 -8
  9. package/dist/server/config/opencode-base-url-resolver.js +117 -147
  10. package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
  11. package/dist/server/config/opencode-system-probe-helper-client.d.ts +18 -0
  12. package/dist/server/config/opencode-system-probe-helper-client.js +127 -0
  13. package/dist/server/config/opencode-system-probe-helper-client.js.map +1 -0
  14. package/dist/server/config/opencode-system-probe-helper-process.d.ts +1 -0
  15. package/dist/server/config/opencode-system-probe-helper-process.js +208 -0
  16. package/dist/server/config/opencode-system-probe-helper-process.js.map +1 -0
  17. package/dist/server/modules/git/git-command-helper-client.d.ts +25 -0
  18. package/dist/server/modules/git/git-command-helper-client.js +143 -0
  19. package/dist/server/modules/git/git-command-helper-client.js.map +1 -0
  20. package/dist/server/modules/git/git-command-helper-process.d.ts +1 -0
  21. package/dist/server/modules/git/git-command-helper-process.js +237 -0
  22. package/dist/server/modules/git/git-command-helper-process.js.map +1 -0
  23. package/dist/server/modules/git/git-command-runner.d.ts +8 -0
  24. package/dist/server/modules/git/git-command-runner.js +77 -6
  25. package/dist/server/modules/git/git-command-runner.js.map +1 -1
  26. package/dist/server/modules/git/git-controller.d.ts +4 -0
  27. package/dist/server/modules/git/git-controller.js +4 -1
  28. package/dist/server/modules/git/git-controller.js.map +1 -1
  29. package/dist/server/modules/git/git-read-service.d.ts +2 -1
  30. package/dist/server/modules/git/git-read-service.js +30 -0
  31. package/dist/server/modules/git/git-read-service.js.map +1 -1
  32. package/dist/server/modules/git/git-write-service.d.ts +1 -1
  33. package/dist/server/modules/git/git-write-service.js +8 -7
  34. package/dist/server/modules/git/git-write-service.js.map +1 -1
  35. package/dist/server/modules/git/types.d.ts +5 -0
  36. package/dist/server/modules/preferences/common.d.ts +2 -0
  37. package/dist/server/modules/preferences/common.js +13 -0
  38. package/dist/server/modules/preferences/common.js.map +1 -0
  39. package/dist/server/modules/preferences/profile-controller.d.ts +11 -0
  40. package/dist/server/modules/preferences/profile-controller.js +14 -0
  41. package/dist/server/modules/preferences/profile-controller.js.map +1 -0
  42. package/dist/server/modules/preferences/profile-service.d.ts +17 -0
  43. package/dist/server/modules/preferences/profile-service.js +213 -0
  44. package/dist/server/modules/preferences/profile-service.js.map +1 -0
  45. package/dist/server/modules/preferences/quick-phrase-controller.js +2 -12
  46. package/dist/server/modules/preferences/quick-phrase-controller.js.map +1 -1
  47. package/dist/server/modules/provider/codex-model-options.js +26 -165
  48. package/dist/server/modules/provider/codex-model-options.js.map +1 -1
  49. package/dist/server/modules/provider/opencode-model-options.js +6 -71
  50. package/dist/server/modules/provider/opencode-model-options.js.map +1 -1
  51. package/dist/server/modules/provider/provider-controller.d.ts +2 -0
  52. package/dist/server/modules/provider/provider-controller.js +21 -1
  53. package/dist/server/modules/provider/provider-controller.js.map +1 -1
  54. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +25 -0
  55. package/dist/server/modules/provider/provider-discovery-helper-client.js +114 -0
  56. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -0
  57. package/dist/server/modules/provider/provider-discovery-helper-process.d.ts +1 -0
  58. package/dist/server/modules/provider/provider-discovery-helper-process.js +296 -0
  59. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -0
  60. package/dist/server/modules/sessions/claude-runtime-helper-client.d.ts +28 -0
  61. package/dist/server/modules/sessions/claude-runtime-helper-client.js +221 -0
  62. package/dist/server/modules/sessions/claude-runtime-helper-client.js.map +1 -0
  63. package/dist/server/modules/sessions/claude-runtime-helper-process.d.ts +1 -0
  64. package/dist/server/modules/sessions/claude-runtime-helper-process.js +146 -0
  65. package/dist/server/modules/sessions/claude-runtime-helper-process.js.map +1 -0
  66. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +16 -0
  67. package/dist/server/modules/sessions/codex-app-server-helper-client.js +237 -0
  68. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -0
  69. package/dist/server/modules/sessions/codex-app-server-helper-process.d.ts +1 -0
  70. package/dist/server/modules/sessions/codex-app-server-helper-process.js +484 -0
  71. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -0
  72. package/dist/server/modules/sessions/session-activity-authority-service.d.ts +52 -0
  73. package/dist/server/modules/sessions/session-activity-authority-service.js +377 -0
  74. package/dist/server/modules/sessions/session-activity-authority-service.js.map +1 -0
  75. package/dist/server/modules/sessions/session-activity-inspector.js +80 -40
  76. package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
  77. package/dist/server/modules/sessions/session-controller.d.ts +15 -1
  78. package/dist/server/modules/sessions/session-controller.js +14 -1
  79. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  80. package/dist/server/modules/sessions/session-history-service.d.ts +4 -2
  81. package/dist/server/modules/sessions/session-history-service.js +151 -29
  82. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  83. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +40 -4
  84. package/dist/server/modules/sessions/session-live-runtime-service.js +330 -44
  85. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  86. package/dist/server/modules/sessions/session-permission-request-service.d.ts +175 -0
  87. package/dist/server/modules/sessions/session-permission-request-service.js +1615 -0
  88. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -0
  89. package/dist/server/modules/sessions/session-provider-error-mapper.js +14 -0
  90. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  91. package/dist/server/modules/terminal/command-template-service.d.ts +2 -2
  92. package/dist/server/modules/terminal/command-template-service.js +3 -3
  93. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  94. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-client.d.ts +24 -0
  95. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-client.js +104 -0
  96. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-client.js.map +1 -0
  97. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-process.d.ts +1 -0
  98. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-process.js +96 -0
  99. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-process.js.map +1 -0
  100. package/dist/server/modules/terminal/runtime/adapters/conpty-runtime-adapter.d.ts +37 -0
  101. package/dist/server/modules/terminal/runtime/adapters/conpty-runtime-adapter.js +123 -0
  102. package/dist/server/modules/terminal/runtime/adapters/conpty-runtime-adapter.js.map +1 -0
  103. package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.d.ts +12 -5
  104. package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.js +44 -4
  105. package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.js.map +1 -1
  106. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-client.d.ts +14 -0
  107. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-client.js +105 -0
  108. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-client.js.map +1 -0
  109. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-process.d.ts +1 -0
  110. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-process.js +67 -0
  111. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-process.js.map +1 -0
  112. package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.d.ts +8 -12
  113. package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.js +112 -21
  114. package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.js.map +1 -1
  115. package/dist/server/modules/terminal/runtime/conpty-runtime-shared.d.ts +25 -0
  116. package/dist/server/modules/terminal/runtime/conpty-runtime-shared.js +124 -0
  117. package/dist/server/modules/terminal/runtime/conpty-runtime-shared.js.map +1 -0
  118. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.d.ts +1 -0
  119. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js +205 -0
  120. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js.map +1 -0
  121. package/dist/server/modules/terminal/runtime/conpty-session-attach-client.d.ts +1 -0
  122. package/dist/server/modules/terminal/runtime/conpty-session-attach-client.js +108 -0
  123. package/dist/server/modules/terminal/runtime/conpty-session-attach-client.js.map +1 -0
  124. package/dist/server/modules/terminal/runtime/conpty-session-control-client.d.ts +1 -0
  125. package/dist/server/modules/terminal/runtime/conpty-session-control-client.js +90 -0
  126. package/dist/server/modules/terminal/runtime/conpty-session-control-client.js.map +1 -0
  127. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.d.ts +1 -0
  128. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js +179 -0
  129. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js.map +1 -0
  130. package/dist/server/modules/terminal/runtime/pty-broker-client.d.ts +29 -0
  131. package/dist/server/modules/terminal/runtime/pty-broker-client.js +169 -0
  132. package/dist/server/modules/terminal/runtime/pty-broker-client.js.map +1 -0
  133. package/dist/server/modules/terminal/runtime/pty-broker-shared.d.ts +22 -0
  134. package/dist/server/modules/terminal/runtime/pty-broker-shared.js +123 -0
  135. package/dist/server/modules/terminal/runtime/pty-broker-shared.js.map +1 -0
  136. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.d.ts +1 -0
  137. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js +11 -1
  138. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js.map +1 -1
  139. package/dist/server/modules/terminal/runtime/terminal-log-file-store.d.ts +1 -0
  140. package/dist/server/modules/terminal/runtime/terminal-log-file-store.js +7 -1
  141. package/dist/server/modules/terminal/runtime/terminal-log-file-store.js.map +1 -1
  142. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +3 -2
  143. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -1
  144. package/dist/server/modules/terminal/runtime/terminal-runtime-adapter.d.ts +5 -3
  145. package/dist/server/modules/terminal/runtime/terminal-runtime-manager.d.ts +11 -5
  146. package/dist/server/modules/terminal/runtime/terminal-runtime-manager.js +110 -13
  147. package/dist/server/modules/terminal/runtime/terminal-runtime-manager.js.map +1 -1
  148. package/dist/server/modules/terminal/terminal-controller.js +7 -7
  149. package/dist/server/modules/terminal/terminal-controller.js.map +1 -1
  150. package/dist/server/modules/terminal/terminal-service.d.ts +30 -14
  151. package/dist/server/modules/terminal/terminal-service.js +260 -51
  152. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  153. package/dist/server/modules/terminal/terminal-shell.d.ts +4 -0
  154. package/dist/server/modules/terminal/terminal-shell.js +165 -18
  155. package/dist/server/modules/terminal/terminal-shell.js.map +1 -1
  156. package/dist/server/modules/workbench/workspace-file-watcher.d.ts +30 -0
  157. package/dist/server/modules/workbench/workspace-file-watcher.js +137 -0
  158. package/dist/server/modules/workbench/workspace-file-watcher.js.map +1 -0
  159. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +43 -7
  160. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  161. package/dist/server/routes/git.js +1 -0
  162. package/dist/server/routes/git.js.map +1 -1
  163. package/dist/server/routes/preferences.d.ts +2 -1
  164. package/dist/server/routes/preferences.js +3 -1
  165. package/dist/server/routes/preferences.js.map +1 -1
  166. package/dist/server/routes/sessions.js +2 -0
  167. package/dist/server/routes/sessions.js.map +1 -1
  168. package/dist/server/server/create-server.d.ts +4 -0
  169. package/dist/server/server/create-server.js +22 -5
  170. package/dist/server/server/create-server.js.map +1 -1
  171. package/dist/server/shared/utils/command-launch.d.ts +6 -0
  172. package/dist/server/shared/utils/command-launch.js +39 -0
  173. package/dist/server/shared/utils/command-launch.js.map +1 -0
  174. package/dist/server/shared/utils/perf-log.d.ts +1 -0
  175. package/dist/server/shared/utils/perf-log.js +8 -2
  176. package/dist/server/shared/utils/perf-log.js.map +1 -1
  177. package/dist/server/shared/utils/permission-debug-log.d.ts +2 -0
  178. package/dist/server/shared/utils/permission-debug-log.js +40 -0
  179. package/dist/server/shared/utils/permission-debug-log.js.map +1 -0
  180. package/dist/server/shared/utils/terminal-debug-log.d.ts +4 -0
  181. package/dist/server/shared/utils/terminal-debug-log.js +71 -0
  182. package/dist/server/shared/utils/terminal-debug-log.js.map +1 -0
  183. package/dist/server/storage/repositories/user-preference-profile-repository.d.ts +8 -0
  184. package/dist/server/storage/repositories/user-preference-profile-repository.js +46 -0
  185. package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -0
  186. package/dist/server/storage/sqlite/schema.sql +13 -0
  187. package/dist/server/types/domain.d.ts +28 -1
  188. package/dist/server/ws/terminal-ws-hub.d.ts +2 -0
  189. package/dist/server/ws/terminal-ws-hub.js +42 -5
  190. package/dist/server/ws/terminal-ws-hub.js.map +1 -1
  191. package/dist/server/ws/workbench-ws-hub.d.ts +9 -1
  192. package/dist/server/ws/workbench-ws-hub.js +132 -21
  193. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  194. package/dist/server/ws/ws-server.d.ts +22 -1
  195. package/dist/server/ws/ws-server.js +79 -43
  196. package/dist/server/ws/ws-server.js.map +1 -1
  197. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js +42 -0
  198. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js.map +1 -1
  199. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +30 -0
  200. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +103 -0
  201. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +1 -0
  202. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +1 -1
  203. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +2 -1
  204. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  205. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +1 -1
  206. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +1 -1
  207. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  208. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.d.ts +1 -0
  209. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js +8 -0
  210. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js.map +1 -0
  211. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js +31 -0
  212. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js.map +1 -1
  213. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +1 -1
  214. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +8 -4
  215. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  216. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +1 -0
  217. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +5 -0
  218. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  219. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +5 -0
  220. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +82 -1
  221. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
  222. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +23 -0
  223. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +688 -17
  224. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  225. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +3 -0
  226. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +106 -23
  227. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
  228. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +1 -0
  229. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +3 -0
  230. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
  231. package/node_modules/@codingns/session-sync-core/dist/services.d.ts +1 -1
  232. package/node_modules/@codingns/session-sync-core/dist/services.js +2 -2
  233. package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
  234. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +1 -1
  235. package/package.json +3 -2
  236. package/scripts/postinstall.mjs +15 -8
  237. package/dist/public/assets/index-BUPByQPG.css +0 -1
  238. package/dist/public/assets/index-D1CwTkI2.js +0 -106
@@ -14,6 +14,9 @@ interface SessionAttachmentParams extends SessionParams {
14
14
  interface SessionQueueItemParams extends SessionParams {
15
15
  queueItemId: string;
16
16
  }
17
+ interface SessionPermissionRequestParams extends SessionParams {
18
+ requestId: string;
19
+ }
17
20
  interface SessionMessagesQuery {
18
21
  cursor?: string;
19
22
  limit?: string;
@@ -24,7 +27,7 @@ interface RuntimeOptionsBody {
24
27
  reasoningLevel?: string;
25
28
  permissionMode?: string;
26
29
  }
27
- interface SendMessageBody {
30
+ interface SendMessageBody extends RuntimeOptionsBody {
28
31
  content?: string;
29
32
  clientRequestId?: string;
30
33
  }
@@ -56,6 +59,10 @@ interface ArchiveSessionBody {
56
59
  interface FavoriteSessionBody {
57
60
  favorite?: boolean;
58
61
  }
62
+ interface ReplyPermissionRequestBody {
63
+ action?: string;
64
+ answers?: Record<string, string[]>;
65
+ }
59
66
  export declare class SessionController {
60
67
  private readonly sessionHistoryService;
61
68
  private readonly sessionLiveRuntimeService;
@@ -79,6 +86,9 @@ export declare class SessionController {
79
86
  readonly getCapabilities: (request: FastifyRequest<{
80
87
  Params: SessionParams;
81
88
  }>, reply: FastifyReply) => Promise<void>;
89
+ readonly listPermissionRequests: (request: FastifyRequest<{
90
+ Params: SessionParams;
91
+ }>, reply: FastifyReply) => Promise<void>;
82
92
  readonly listQueue: (request: FastifyRequest<{
83
93
  Params: SessionParams;
84
94
  }>, reply: FastifyReply) => Promise<void>;
@@ -124,6 +134,10 @@ export declare class SessionController {
124
134
  readonly interrupt: (request: FastifyRequest<{
125
135
  Params: SessionParams;
126
136
  }>, reply: FastifyReply) => Promise<void>;
137
+ readonly replyPermissionRequest: (request: FastifyRequest<{
138
+ Params: SessionPermissionRequestParams;
139
+ Body: ReplyPermissionRequestBody;
140
+ }>, reply: FastifyReply) => Promise<void>;
127
141
  readonly deleteQueuedMessage: (request: FastifyRequest<{
128
142
  Params: SessionQueueItemParams;
129
143
  }>, reply: FastifyReply) => Promise<void>;
@@ -129,6 +129,11 @@ export class SessionController {
129
129
  getCapabilities = async (request, reply) => {
130
130
  reply.send(await this.sessionHistoryService.getSessionCapabilities(request.params.sessionId));
131
131
  };
132
+ listPermissionRequests = async (request, reply) => {
133
+ reply.send({
134
+ items: await this.sessionLiveRuntimeService.listPermissionRequests(request.params.sessionId, requireUserId(request))
135
+ });
136
+ };
132
137
  listQueue = async (request, reply) => {
133
138
  reply.send({
134
139
  items: await this.sessionLiveRuntimeService.listQueuedMessages(request.params.sessionId, requireUserId(request))
@@ -194,7 +199,8 @@ export class SessionController {
194
199
  };
195
200
  sendMessage = async (request, reply) => {
196
201
  const content = requireNonEmptyText(request.body.content, "content", "发送消息必须提供 content");
197
- reply.status(201).send(await this.sessionHistoryService.sendMessage(request.params.sessionId, content, request.body.clientRequestId?.trim() ?? null));
202
+ const runtimeOptions = normalizeRuntimeOptions(request.body);
203
+ reply.status(201).send(await this.sessionHistoryService.sendMessage(request.params.sessionId, content, request.body.clientRequestId?.trim() ?? null, runtimeOptions?.permissionMode ?? null));
198
204
  };
199
205
  sendLiveMessage = async (request, reply) => {
200
206
  const attachments = normalizeAttachments(request.body);
@@ -242,6 +248,13 @@ export class SessionController {
242
248
  interrupt = async (request, reply) => {
243
249
  reply.send(await this.sessionLiveRuntimeService.interruptSession(request.params.sessionId, requireUserId(request)));
244
250
  };
251
+ replyPermissionRequest = async (request, reply) => {
252
+ const action = requireNonEmptyText(request.body.action, "action", "回复权限申请时必须提供 action");
253
+ reply.send(await this.sessionLiveRuntimeService.replyPermissionRequest(request.params.sessionId, requireUserId(request), request.params.requestId, {
254
+ action,
255
+ answers: request.body.answers
256
+ }));
257
+ };
245
258
  deleteQueuedMessage = async (request, reply) => {
246
259
  await this.sessionLiveRuntimeService.deleteQueuedMessage(request.params.sessionId, requireUserId(request), request.params.queueItemId);
247
260
  reply.status(204).send();
@@ -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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"}
@@ -7,6 +7,7 @@ import type { SessionIndexRepository } from "../../storage/repositories/session-
7
7
  import type { SessionStateRepository } from "../../storage/repositories/session-state-repository.js";
8
8
  import type { SessionStatusSnapshotRepository } from "../../storage/repositories/session-status-snapshot-repository.js";
9
9
  import type { WorkspaceRepository } from "../../storage/repositories/workspace-repository.js";
10
+ import { SessionActivityAuthorityService } from "./session-activity-authority-service.js";
10
11
  import { SessionChangedFileService } from "./session-changed-file-service.js";
11
12
  import { SessionMessageAttachmentService } from "./session-message-attachment-service.js";
12
13
  interface StartSessionInput {
@@ -44,6 +45,7 @@ export declare class SessionHistoryService {
44
45
  private readonly providerRegistry;
45
46
  private readonly sessionSyncService;
46
47
  private readonly capabilityService;
48
+ private readonly sessionActivityAuthorityService;
47
49
  private readonly claudeCodeHomeDir;
48
50
  private readonly codexModelOptionsService;
49
51
  private readonly openCodeModelOptionsService;
@@ -51,7 +53,7 @@ export declare class SessionHistoryService {
51
53
  private readonly workspaceDiscoveryInflight;
52
54
  private readonly workspaceStateRefreshInflight;
53
55
  private readonly workspaceSessionRelations;
54
- constructor(db: Database.Database, workspaceRepository: WorkspaceRepository, sessionBindingRepository: SessionBindingRepository, sessionChangedFileService: SessionChangedFileService, sessionIndexRepository: SessionIndexRepository, sessionMessageAttachmentService: SessionMessageAttachmentService, sessionStateRepository: SessionStateRepository, sessionStatusSnapshotRepository: SessionStatusSnapshotRepository, config: HostConfig);
56
+ constructor(db: Database.Database, workspaceRepository: WorkspaceRepository, sessionBindingRepository: SessionBindingRepository, sessionChangedFileService: SessionChangedFileService, sessionIndexRepository: SessionIndexRepository, sessionMessageAttachmentService: SessionMessageAttachmentService, sessionStateRepository: SessionStateRepository, sessionStatusSnapshotRepository: SessionStatusSnapshotRepository, config: HostConfig, sessionActivityAuthorityService?: SessionActivityAuthorityService);
55
57
  discoverWorkspaceSessions(workspaceId: string, userId: string, options?: {
56
58
  maxAgeMs?: number;
57
59
  force?: boolean;
@@ -84,7 +86,7 @@ export declare class SessionHistoryService {
84
86
  resumedAt: string;
85
87
  }>;
86
88
  startSession(input: StartSessionInput): Promise<SessionListItem>;
87
- sendMessage(sessionId: string, content: string, clientRequestId: string | null): Promise<SendMessageResult & {
89
+ sendMessage(sessionId: string, content: string, clientRequestId: string | null, permissionMode?: string | null): Promise<SendMessageResult & {
88
90
  sessionId: string;
89
91
  }>;
90
92
  subscribeSession(sessionId: string, cursor: string | null, limit: number, onEnvelope: (envelope: SessionHistoryEnvelope) => Promise<void> | void): Promise<ProviderSubscription>;
@@ -5,6 +5,7 @@ import { createId } from "../../shared/utils/id.js";
5
5
  import { logPerformance } from "../../shared/utils/perf-log.js";
6
6
  import { nowIso } from "../../shared/utils/time.js";
7
7
  import { inspectSessionActivity } from "./session-activity-inspector.js";
8
+ import { SessionActivityAuthorityService } from "./session-activity-authority-service.js";
8
9
  import { mapSessionProviderError } from "./session-provider-error-mapper.js";
9
10
  import { enrichClaudeCapabilities } from "../provider/claude-model-options.js";
10
11
  import { CodexModelOptionsService, enrichCodexCapabilities } from "../provider/codex-model-options.js";
@@ -21,6 +22,7 @@ export class SessionHistoryService {
21
22
  providerRegistry;
22
23
  sessionSyncService;
23
24
  capabilityService;
25
+ sessionActivityAuthorityService;
24
26
  claudeCodeHomeDir;
25
27
  codexModelOptionsService;
26
28
  openCodeModelOptionsService;
@@ -28,7 +30,7 @@ export class SessionHistoryService {
28
30
  workspaceDiscoveryInflight = new Map();
29
31
  workspaceStateRefreshInflight = new Map();
30
32
  workspaceSessionRelations = new Map();
31
- constructor(db, workspaceRepository, sessionBindingRepository, sessionChangedFileService, sessionIndexRepository, sessionMessageAttachmentService, sessionStateRepository, sessionStatusSnapshotRepository, config) {
33
+ constructor(db, workspaceRepository, sessionBindingRepository, sessionChangedFileService, sessionIndexRepository, sessionMessageAttachmentService, sessionStateRepository, sessionStatusSnapshotRepository, config, sessionActivityAuthorityService = new SessionActivityAuthorityService()) {
32
34
  this.db = db;
33
35
  this.workspaceRepository = workspaceRepository;
34
36
  this.sessionBindingRepository = sessionBindingRepository;
@@ -37,6 +39,7 @@ export class SessionHistoryService {
37
39
  this.sessionMessageAttachmentService = sessionMessageAttachmentService;
38
40
  this.sessionStateRepository = sessionStateRepository;
39
41
  this.sessionStatusSnapshotRepository = sessionStatusSnapshotRepository;
42
+ this.sessionActivityAuthorityService = sessionActivityAuthorityService;
40
43
  this.claudeCodeHomeDir = config.claudeCodeHomeDir;
41
44
  this.providerRegistry = new ProviderRegistry([
42
45
  new ClaudeCodeAdapter({ homeDir: config.claudeCodeHomeDir }),
@@ -345,10 +348,10 @@ export class SessionHistoryService {
345
348
  throw mapSessionProviderError(error);
346
349
  }
347
350
  }
348
- async sendMessage(sessionId, content, clientRequestId) {
351
+ async sendMessage(sessionId, content, clientRequestId, permissionMode = null) {
349
352
  const binding = this.getBindingOrThrow(sessionId);
350
353
  const result = await this.sessionSyncService
351
- .sendMessage(binding.provider, binding.providerSessionId, binding.rawStoreRef, content, clientRequestId)
354
+ .sendMessage(binding.provider, binding.providerSessionId, binding.rawStoreRef, content, clientRequestId, permissionMode)
352
355
  .catch((error) => {
353
356
  this.markSessionError(sessionId, "SEND_FAILED", error);
354
357
  throw mapSessionProviderError(error);
@@ -577,7 +580,7 @@ export class SessionHistoryService {
577
580
  });
578
581
  const currentBinding = this.sessionBindingRepository.findBySessionId(sessionId);
579
582
  const timestamp = nowIso();
580
- const duplicateBinding = this.findPendingBindingDuplicate(sessionId, currentBinding, resolvedSnapshot);
583
+ const duplicateBinding = this.findPendingBindingDuplicate(sessionId, workspaceId, currentBinding, resolvedSnapshot);
581
584
  this.db.transaction(() => {
582
585
  if (duplicateBinding) {
583
586
  // 新建运行时会话会先写入 pending 绑定,后台发现链路可能在真 ID 回填前先落一条重复记录。
@@ -635,6 +638,10 @@ export class SessionHistoryService {
635
638
  const persist = this.db.transaction(() => {
636
639
  for (const session of sessions) {
637
640
  const exactExisting = this.sessionBindingRepository.findByProviderSession(session.provider, session.providerSessionId) ?? this.sessionBindingRepository.findByRawStoreRef(session.provider, session.rawStoreRef);
641
+ // discover 只能补全当前工作区,不能把别的工作区已有会话偷过来重绑。
642
+ if (exactExisting && exactExisting.workspaceId !== workspaceId) {
643
+ continue;
644
+ }
638
645
  const pendingDuplicate = exactExisting
639
646
  ?? findClaudePendingDiscoveryDuplicate(session, existingWorkspaceSessions, claimedPendingSessionIds);
640
647
  const existing = exactExisting ?? (pendingDuplicate
@@ -830,30 +837,31 @@ export class SessionHistoryService {
830
837
  if (!relation) {
831
838
  return this.enrichSessionItem(item);
832
839
  }
833
- return {
840
+ return this.enrichSessionItem({
834
841
  ...item,
835
842
  parentSessionId: relation.parentSessionId,
836
843
  isSubagent: relation.isSubagent,
837
844
  subagentLabel: relation.subagentLabel
838
- };
845
+ });
839
846
  });
840
847
  }
841
848
  enrichSessionItem(item) {
842
849
  const relation = this.workspaceSessionRelations.get(item.workspaceId)?.get(item.sessionId);
843
- if (!relation) {
844
- return {
850
+ const nextItem = relation
851
+ ? {
852
+ ...item,
853
+ parentSessionId: relation.parentSessionId,
854
+ isSubagent: relation.isSubagent,
855
+ subagentLabel: relation.subagentLabel
856
+ }
857
+ : {
845
858
  ...item,
846
859
  parentSessionId: item.parentSessionId ?? null,
847
860
  isSubagent: item.isSubagent ?? false,
848
861
  subagentLabel: item.subagentLabel ?? null
849
862
  };
850
- }
851
- return {
852
- ...item,
853
- parentSessionId: relation.parentSessionId,
854
- isSubagent: relation.isSubagent,
855
- subagentLabel: relation.subagentLabel
856
- };
863
+ const resolution = this.sessionActivityAuthorityService.resolvePersistedSession(nextItem);
864
+ return applySessionActivityResolution(nextItem, resolution);
857
865
  }
858
866
  async pullSessionHistory(sessionId, cursor, limit, sentMessageIds, onEnvelope, envelopeType, isClosed = () => false) {
859
867
  let currentCursor = cursor;
@@ -1045,7 +1053,7 @@ export class SessionHistoryService {
1045
1053
  });
1046
1054
  remove(sessionIds);
1047
1055
  }
1048
- findPendingBindingDuplicate(sessionId, currentBinding, snapshot) {
1056
+ findPendingBindingDuplicate(sessionId, workspaceId, currentBinding, snapshot) {
1049
1057
  if (!currentBinding || !isPendingBindingValue(currentBinding.providerSessionId)) {
1050
1058
  return null;
1051
1059
  }
@@ -1056,6 +1064,9 @@ export class SessionHistoryService {
1056
1064
  if (!existing || existing.sessionId === sessionId) {
1057
1065
  return null;
1058
1066
  }
1067
+ if (existing.workspaceId !== workspaceId) {
1068
+ throw new Error("SESSION_BINDING_WORKSPACE_CONFLICT");
1069
+ }
1059
1070
  return existing;
1060
1071
  }
1061
1072
  mergeSessionIntoTarget(input) {
@@ -1272,30 +1283,47 @@ export class SessionHistoryService {
1272
1283
  if (shouldPreserveRuntimeTerminalState(current, inspection)) {
1273
1284
  return current;
1274
1285
  }
1286
+ const resolution = this.sessionActivityAuthorityService.observe(buildInspectionActivityObservation(sessionId, inspection, timestamp));
1275
1287
  const nextRecord = {
1276
1288
  sessionId,
1277
1289
  userId,
1278
- runningState: inspection.runningState,
1279
- activitySource: inspection.lastEventAt || inspection.completedAtCandidate ? "inferred" : "none",
1290
+ runningState: mapResolvedRunningStateToStored(resolution.runningState, current),
1291
+ activitySource: mapResolutionSourceToLegacyActivitySource(resolution.activityResolutionSource, inspection),
1280
1292
  favorite: current?.favorite ?? false,
1281
- lastEventAt: inspection.lastEventAt,
1282
- completedAt: inspection.completedAtCandidate,
1293
+ lastEventAt: resolution.lastObservedAt ?? inspection.lastEventAt ?? current?.lastEventAt ?? null,
1294
+ completedAt: isTerminalResolvedRunningState(resolution.runningState)
1295
+ ? resolution.terminalAt ?? inspection.completedAtCandidate ?? current?.completedAt ?? null
1296
+ : null,
1283
1297
  lastSeenAt: current?.lastSeenAt ?? null,
1284
1298
  updatedAt: timestamp
1285
1299
  };
1286
1300
  this.sessionStateRepository.upsert(nextRecord);
1287
1301
  const currentSnapshot = this.sessionStatusSnapshotRepository.findBySessionId(sessionId);
1302
+ const shouldClearRuntimeFailure = current?.runningState === "failed" && resolution.runningState !== "failed";
1288
1303
  this.sessionStatusSnapshotRepository.upsert({
1289
1304
  sessionId,
1290
- syncStatus: inspection.runningState === "failed" ? "error" : currentSnapshot?.syncStatus ?? "idle",
1305
+ syncStatus: resolution.runningState === "failed"
1306
+ ? "error"
1307
+ : shouldClearRuntimeFailure
1308
+ ? "idle"
1309
+ : currentSnapshot?.syncStatus ?? "idle",
1291
1310
  syncCursor: currentSnapshot?.syncCursor ?? null,
1292
- lastSyncAt: inspection.lastEventAt ?? inspection.completedAtCandidate ?? currentSnapshot?.lastSyncAt ?? null,
1293
- lastErrorCode: inspection.runningState === "failed"
1294
- ? inspection.errorCode
1295
- : currentSnapshot?.lastErrorCode ?? null,
1296
- lastErrorDetail: inspection.runningState === "failed"
1297
- ? inspection.errorDetail
1298
- : currentSnapshot?.lastErrorDetail ?? null,
1311
+ lastSyncAt: resolution.lastObservedAt
1312
+ ?? resolution.terminalAt
1313
+ ?? inspection.lastEventAt
1314
+ ?? inspection.completedAtCandidate
1315
+ ?? currentSnapshot?.lastSyncAt
1316
+ ?? null,
1317
+ lastErrorCode: resolution.runningState === "failed"
1318
+ ? resolution.errorCode
1319
+ : shouldClearRuntimeFailure
1320
+ ? null
1321
+ : currentSnapshot?.lastErrorCode ?? null,
1322
+ lastErrorDetail: resolution.runningState === "failed"
1323
+ ? resolution.detail
1324
+ : shouldClearRuntimeFailure
1325
+ ? null
1326
+ : currentSnapshot?.lastErrorDetail ?? null,
1299
1327
  resumedAt: currentSnapshot?.resumedAt ?? null,
1300
1328
  updatedAt: timestamp
1301
1329
  });
@@ -1322,6 +1350,61 @@ export class SessionHistoryService {
1322
1350
  });
1323
1351
  }
1324
1352
  }
1353
+ function buildInspectionActivityObservation(sessionId, inspection, observedAt) {
1354
+ return {
1355
+ sessionId,
1356
+ runId: null,
1357
+ runningState: inspection.runningState,
1358
+ source: hasInspectionEvidence(inspection) ? "inferred_log" : "unknown",
1359
+ confidence: "weak",
1360
+ detail: inspection.errorDetail,
1361
+ errorCode: inspection.errorCode,
1362
+ observedAt: inspection.completedAtCandidate ?? inspection.lastEventAt ?? observedAt
1363
+ };
1364
+ }
1365
+ function hasInspectionEvidence(inspection) {
1366
+ return inspection.runningState !== "idle"
1367
+ || !!inspection.lastEventAt
1368
+ || !!inspection.completedAtCandidate;
1369
+ }
1370
+ function applySessionActivityResolution(item, resolution) {
1371
+ const runningState = resolution.runningState;
1372
+ const shouldClearResolvedFailure = runningState !== "failed" && item.runningState === "failed";
1373
+ const lastEventAt = resolution.lastObservedAt ?? item.lastEventAt;
1374
+ const completedAt = isTerminalResolvedRunningState(runningState)
1375
+ ? resolution.terminalAt ?? item.completedAt
1376
+ : null;
1377
+ const lastErrorCode = runningState === "failed"
1378
+ ? resolution.errorCode ?? item.lastErrorCode
1379
+ : shouldClearResolvedFailure
1380
+ ? null
1381
+ : item.lastErrorCode;
1382
+ const lastErrorDetail = runningState === "failed"
1383
+ ? resolution.detail ?? item.lastErrorDetail
1384
+ : shouldClearResolvedFailure
1385
+ ? null
1386
+ : item.lastErrorDetail;
1387
+ const syncStatus = runningState === "failed"
1388
+ ? "error"
1389
+ : shouldClearResolvedFailure && item.syncStatus === "error"
1390
+ ? "idle"
1391
+ : item.syncStatus;
1392
+ return {
1393
+ ...item,
1394
+ syncStatus,
1395
+ runningState,
1396
+ activitySource: mapResolutionSourceToCompatibilitySource(resolution.activityResolutionSource),
1397
+ activityResolutionSource: resolution.activityResolutionSource,
1398
+ activityConfidence: resolution.activityConfidence,
1399
+ runId: resolution.runId,
1400
+ lastEventAt,
1401
+ completedAt,
1402
+ lastErrorCode,
1403
+ lastErrorDetail,
1404
+ watchdogTriggeredAt: resolution.watchdogTriggeredAt,
1405
+ activityState: resolveActivityState(runningState, completedAt, item.lastSeenAt)
1406
+ };
1407
+ }
1325
1408
  function clampLimit(limit) {
1326
1409
  if (!Number.isFinite(limit)) {
1327
1410
  return 50;
@@ -1665,11 +1748,50 @@ function shouldPreserveRuntimeTerminalState(current, inspection) {
1665
1748
  return inspection.lastEventAt.localeCompare(current.lastEventAt) <= 0;
1666
1749
  }
1667
1750
  if (current.runningState === "starting" || current.runningState === "running") {
1668
- return inspection.lastEventAt.localeCompare(current.lastEventAt) < 0;
1751
+ return inspection.lastEventAt.localeCompare(current.lastEventAt) <= 0;
1669
1752
  }
1670
1753
  return false;
1671
1754
  }
1672
1755
  function isTerminalRunningState(state) {
1673
1756
  return state === "completed" || state === "interrupted" || state === "failed";
1674
1757
  }
1758
+ function isTerminalResolvedRunningState(state) {
1759
+ return state === "completed" || state === "interrupted" || state === "failed";
1760
+ }
1761
+ function mapResolvedRunningStateToStored(runningState, current) {
1762
+ if (runningState !== "stale" && runningState !== "unknown") {
1763
+ return runningState;
1764
+ }
1765
+ if (current?.runningState === "starting" || current?.runningState === "running") {
1766
+ return current.runningState;
1767
+ }
1768
+ return "running";
1769
+ }
1770
+ function mapResolutionSourceToLegacyActivitySource(source, inspection) {
1771
+ if (source === "authoritative_runtime" || source === "authoritative_provider_event") {
1772
+ return "runtime";
1773
+ }
1774
+ if (inspection.lastEventAt || inspection.completedAtCandidate) {
1775
+ return "inferred";
1776
+ }
1777
+ return "none";
1778
+ }
1779
+ function mapResolutionSourceToCompatibilitySource(source) {
1780
+ if (source === "authoritative_runtime" || source === "authoritative_provider_event") {
1781
+ return "runtime";
1782
+ }
1783
+ if (source === "inferred_log") {
1784
+ return "inferred";
1785
+ }
1786
+ return "none";
1787
+ }
1788
+ function resolveActivityState(runningState, completedAt, lastSeenAt) {
1789
+ if (runningState === "starting" || runningState === "running") {
1790
+ return "running";
1791
+ }
1792
+ if (completedAt && (!lastSeenAt || completedAt > lastSeenAt)) {
1793
+ return "completed_unread";
1794
+ }
1795
+ return "idle";
1796
+ }
1675
1797
  //# sourceMappingURL=session-history-service.js.map