@jingyi0605/codingns 0.1.1 → 0.1.3

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 (251) hide show
  1. package/README.md +14 -0
  2. package/dist/public/assets/{TerminalPage-CVG1cGAJ.js → TerminalPage-Nq5sPc5c.js} +19 -19
  3. package/dist/public/assets/index-9hnprhO7.css +1 -0
  4. package/dist/public/assets/index-BTpmuKhG.js +108 -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 +17 -0
  67. package/dist/server/modules/sessions/codex-app-server-helper-client.js +260 -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 +167 -44
  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 +42 -4
  84. package/dist/server/modules/sessions/session-live-runtime-service.js +343 -51
  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 +6 -2
  92. package/dist/server/modules/terminal/command-template-service.js +91 -5
  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/template-reverse-proxy-service.d.ts +10 -0
  149. package/dist/server/modules/terminal/template-reverse-proxy-service.js +320 -0
  150. package/dist/server/modules/terminal/template-reverse-proxy-service.js.map +1 -0
  151. package/dist/server/modules/terminal/terminal-controller.d.ts +1 -0
  152. package/dist/server/modules/terminal/terminal-controller.js +23 -7
  153. package/dist/server/modules/terminal/terminal-controller.js.map +1 -1
  154. package/dist/server/modules/terminal/terminal-service.d.ts +30 -14
  155. package/dist/server/modules/terminal/terminal-service.js +260 -51
  156. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  157. package/dist/server/modules/terminal/terminal-shell.d.ts +4 -0
  158. package/dist/server/modules/terminal/terminal-shell.js +165 -18
  159. package/dist/server/modules/terminal/terminal-shell.js.map +1 -1
  160. package/dist/server/modules/workbench/workspace-file-watcher.d.ts +30 -0
  161. package/dist/server/modules/workbench/workspace-file-watcher.js +137 -0
  162. package/dist/server/modules/workbench/workspace-file-watcher.js.map +1 -0
  163. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +48 -7
  164. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  165. package/dist/server/routes/git.js +1 -0
  166. package/dist/server/routes/git.js.map +1 -1
  167. package/dist/server/routes/preferences.d.ts +2 -1
  168. package/dist/server/routes/preferences.js +3 -1
  169. package/dist/server/routes/preferences.js.map +1 -1
  170. package/dist/server/routes/proxy.d.ts +3 -0
  171. package/dist/server/routes/proxy.js +24 -0
  172. package/dist/server/routes/proxy.js.map +1 -0
  173. package/dist/server/routes/sessions.js +2 -0
  174. package/dist/server/routes/sessions.js.map +1 -1
  175. package/dist/server/server/create-server.d.ts +4 -0
  176. package/dist/server/server/create-server.js +29 -5
  177. package/dist/server/server/create-server.js.map +1 -1
  178. package/dist/server/shared/utils/command-launch.d.ts +6 -0
  179. package/dist/server/shared/utils/command-launch.js +39 -0
  180. package/dist/server/shared/utils/command-launch.js.map +1 -0
  181. package/dist/server/shared/utils/perf-log.d.ts +1 -0
  182. package/dist/server/shared/utils/perf-log.js +8 -2
  183. package/dist/server/shared/utils/perf-log.js.map +1 -1
  184. package/dist/server/shared/utils/permission-debug-log.d.ts +2 -0
  185. package/dist/server/shared/utils/permission-debug-log.js +40 -0
  186. package/dist/server/shared/utils/permission-debug-log.js.map +1 -0
  187. package/dist/server/shared/utils/terminal-debug-log.d.ts +4 -0
  188. package/dist/server/shared/utils/terminal-debug-log.js +71 -0
  189. package/dist/server/shared/utils/terminal-debug-log.js.map +1 -0
  190. package/dist/server/storage/repositories/terminal-command-template-repository.d.ts +1 -0
  191. package/dist/server/storage/repositories/terminal-command-template-repository.js +34 -3
  192. package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -1
  193. package/dist/server/storage/repositories/user-preference-profile-repository.d.ts +8 -0
  194. package/dist/server/storage/repositories/user-preference-profile-repository.js +46 -0
  195. package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -0
  196. package/dist/server/storage/sqlite/client.js +27 -0
  197. package/dist/server/storage/sqlite/client.js.map +1 -1
  198. package/dist/server/storage/sqlite/schema.sql +15 -0
  199. package/dist/server/types/domain.d.ts +30 -1
  200. package/dist/server/ws/terminal-ws-hub.d.ts +2 -0
  201. package/dist/server/ws/terminal-ws-hub.js +42 -5
  202. package/dist/server/ws/terminal-ws-hub.js.map +1 -1
  203. package/dist/server/ws/workbench-ws-hub.d.ts +9 -1
  204. package/dist/server/ws/workbench-ws-hub.js +132 -21
  205. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  206. package/dist/server/ws/ws-server.d.ts +22 -1
  207. package/dist/server/ws/ws-server.js +82 -44
  208. package/dist/server/ws/ws-server.js.map +1 -1
  209. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js +42 -0
  210. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js.map +1 -1
  211. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +30 -0
  212. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +103 -0
  213. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +1 -0
  214. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +1 -1
  215. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +167 -7
  216. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  217. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +1 -1
  218. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +1 -1
  219. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  220. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.d.ts +1 -0
  221. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js +8 -0
  222. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js.map +1 -0
  223. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js +31 -0
  224. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js.map +1 -1
  225. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +1 -1
  226. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +8 -4
  227. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  228. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +1 -0
  229. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +15 -0
  230. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  231. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +5 -0
  232. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +85 -1
  233. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
  234. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +25 -0
  235. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +718 -17
  236. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  237. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +3 -0
  238. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +106 -23
  239. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
  240. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +3 -0
  241. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +19 -0
  242. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
  243. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +3 -0
  244. package/node_modules/@codingns/session-sync-core/dist/services.d.ts +1 -1
  245. package/node_modules/@codingns/session-sync-core/dist/services.js +2 -2
  246. package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
  247. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +1 -1
  248. package/package.json +3 -2
  249. package/scripts/postinstall.mjs +15 -8
  250. package/dist/public/assets/index-BUPByQPG.css +0 -1
  251. 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 }),
@@ -107,8 +110,8 @@ export class SessionHistoryService {
107
110
  syncStatus: "syncing",
108
111
  syncCursor: current?.syncCursor ?? cursor,
109
112
  lastSyncAt: current?.lastSyncAt ?? null,
110
- lastErrorCode: null,
111
- lastErrorDetail: null,
113
+ lastErrorCode: current?.lastErrorCode ?? null,
114
+ lastErrorDetail: current?.lastErrorDetail ?? null,
112
115
  resumedAt: current?.resumedAt ?? null
113
116
  });
114
117
  try {
@@ -121,8 +124,8 @@ export class SessionHistoryService {
121
124
  ? current?.syncCursor ?? page.cursor
122
125
  : page.cursor,
123
126
  lastSyncAt: nowIso(),
124
- lastErrorCode: null,
125
- lastErrorDetail: null,
127
+ lastErrorCode: current?.lastErrorCode ?? null,
128
+ lastErrorDetail: current?.lastErrorDetail ?? null,
126
129
  resumedAt: current?.resumedAt ?? null
127
130
  });
128
131
  logPerformance("session.read_history", Date.now() - startedAt, {
@@ -260,8 +263,8 @@ export class SessionHistoryService {
260
263
  syncStatus: "idle",
261
264
  syncCursor: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.syncCursor ?? null,
262
265
  lastSyncAt: result.resumedAt,
263
- lastErrorCode: null,
264
- lastErrorDetail: null,
266
+ lastErrorCode: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorCode ?? null,
267
+ lastErrorDetail: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorDetail ?? null,
265
268
  resumedAt: result.resumedAt
266
269
  });
267
270
  return {
@@ -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);
@@ -372,8 +375,8 @@ export class SessionHistoryService {
372
375
  syncStatus: "idle",
373
376
  syncCursor: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.syncCursor ?? null,
374
377
  lastSyncAt: result.acceptedAt,
375
- lastErrorCode: null,
376
- lastErrorDetail: null,
378
+ lastErrorCode: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorCode ?? null,
379
+ lastErrorDetail: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorDetail ?? null,
377
380
  resumedAt: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.resumedAt ?? null
378
381
  });
379
382
  return {
@@ -392,8 +395,8 @@ export class SessionHistoryService {
392
395
  syncStatus: "syncing",
393
396
  syncCursor: current?.syncCursor ?? cursor,
394
397
  lastSyncAt: current?.lastSyncAt ?? null,
395
- lastErrorCode: null,
396
- lastErrorDetail: null,
398
+ lastErrorCode: current?.lastErrorCode ?? null,
399
+ lastErrorDetail: current?.lastErrorDetail ?? null,
397
400
  resumedAt: current?.resumedAt ?? null
398
401
  });
399
402
  try {
@@ -448,8 +451,8 @@ export class SessionHistoryService {
448
451
  syncStatus: "idle",
449
452
  syncCursor: page.cursor,
450
453
  lastSyncAt: nowIso(),
451
- lastErrorCode: null,
452
- lastErrorDetail: null,
454
+ lastErrorCode: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorCode ?? null,
455
+ lastErrorDetail: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorDetail ?? null,
453
456
  resumedAt: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.resumedAt ?? null
454
457
  });
455
458
  return {
@@ -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;
@@ -887,13 +895,14 @@ export class SessionHistoryService {
887
895
  return;
888
896
  }
889
897
  await this.syncSessionTitleFromProvider(sessionId, binding);
898
+ const snapshot = this.sessionStatusSnapshotRepository.findBySessionId(sessionId);
890
899
  this.upsertSnapshot(sessionId, {
891
900
  syncStatus: "idle",
892
901
  syncCursor: page.cursor,
893
902
  lastSyncAt: nowIso(),
894
- lastErrorCode: null,
895
- lastErrorDetail: null,
896
- resumedAt: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.resumedAt ?? null
903
+ lastErrorCode: snapshot?.lastErrorCode ?? null,
904
+ lastErrorDetail: snapshot?.lastErrorDetail ?? null,
905
+ resumedAt: snapshot?.resumedAt ?? null
897
906
  });
898
907
  await onEnvelope({
899
908
  type: envelopeType,
@@ -1045,7 +1054,7 @@ export class SessionHistoryService {
1045
1054
  });
1046
1055
  remove(sessionIds);
1047
1056
  }
1048
- findPendingBindingDuplicate(sessionId, currentBinding, snapshot) {
1057
+ findPendingBindingDuplicate(sessionId, workspaceId, currentBinding, snapshot) {
1049
1058
  if (!currentBinding || !isPendingBindingValue(currentBinding.providerSessionId)) {
1050
1059
  return null;
1051
1060
  }
@@ -1056,6 +1065,9 @@ export class SessionHistoryService {
1056
1065
  if (!existing || existing.sessionId === sessionId) {
1057
1066
  return null;
1058
1067
  }
1068
+ if (existing.workspaceId !== workspaceId) {
1069
+ throw new Error("SESSION_BINDING_WORKSPACE_CONFLICT");
1070
+ }
1059
1071
  return existing;
1060
1072
  }
1061
1073
  mergeSessionIntoTarget(input) {
@@ -1272,30 +1284,47 @@ export class SessionHistoryService {
1272
1284
  if (shouldPreserveRuntimeTerminalState(current, inspection)) {
1273
1285
  return current;
1274
1286
  }
1287
+ const resolution = this.sessionActivityAuthorityService.observe(buildInspectionActivityObservation(sessionId, inspection, timestamp));
1275
1288
  const nextRecord = {
1276
1289
  sessionId,
1277
1290
  userId,
1278
- runningState: inspection.runningState,
1279
- activitySource: inspection.lastEventAt || inspection.completedAtCandidate ? "inferred" : "none",
1291
+ runningState: mapResolvedRunningStateToStored(resolution.runningState, current),
1292
+ activitySource: mapResolutionSourceToLegacyActivitySource(resolution.activityResolutionSource, inspection),
1280
1293
  favorite: current?.favorite ?? false,
1281
- lastEventAt: inspection.lastEventAt,
1282
- completedAt: inspection.completedAtCandidate,
1294
+ lastEventAt: resolution.lastObservedAt ?? inspection.lastEventAt ?? current?.lastEventAt ?? null,
1295
+ completedAt: isTerminalResolvedRunningState(resolution.runningState)
1296
+ ? resolution.terminalAt ?? inspection.completedAtCandidate ?? current?.completedAt ?? null
1297
+ : null,
1283
1298
  lastSeenAt: current?.lastSeenAt ?? null,
1284
1299
  updatedAt: timestamp
1285
1300
  };
1286
1301
  this.sessionStateRepository.upsert(nextRecord);
1287
1302
  const currentSnapshot = this.sessionStatusSnapshotRepository.findBySessionId(sessionId);
1303
+ const shouldClearRuntimeFailure = current?.runningState === "failed" && resolution.runningState !== "failed";
1288
1304
  this.sessionStatusSnapshotRepository.upsert({
1289
1305
  sessionId,
1290
- syncStatus: inspection.runningState === "failed" ? "error" : currentSnapshot?.syncStatus ?? "idle",
1306
+ syncStatus: resolution.runningState === "failed"
1307
+ ? "error"
1308
+ : shouldClearRuntimeFailure
1309
+ ? "idle"
1310
+ : currentSnapshot?.syncStatus ?? "idle",
1291
1311
  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,
1312
+ lastSyncAt: resolution.lastObservedAt
1313
+ ?? resolution.terminalAt
1314
+ ?? inspection.lastEventAt
1315
+ ?? inspection.completedAtCandidate
1316
+ ?? currentSnapshot?.lastSyncAt
1317
+ ?? null,
1318
+ lastErrorCode: resolution.runningState === "failed"
1319
+ ? resolution.errorCode
1320
+ : shouldClearRuntimeFailure
1321
+ ? null
1322
+ : currentSnapshot?.lastErrorCode ?? null,
1323
+ lastErrorDetail: resolution.runningState === "failed"
1324
+ ? resolution.detail
1325
+ : shouldClearRuntimeFailure
1326
+ ? null
1327
+ : currentSnapshot?.lastErrorDetail ?? null,
1299
1328
  resumedAt: currentSnapshot?.resumedAt ?? null,
1300
1329
  updatedAt: timestamp
1301
1330
  });
@@ -1322,6 +1351,61 @@ export class SessionHistoryService {
1322
1351
  });
1323
1352
  }
1324
1353
  }
1354
+ function buildInspectionActivityObservation(sessionId, inspection, observedAt) {
1355
+ return {
1356
+ sessionId,
1357
+ runId: null,
1358
+ runningState: inspection.runningState,
1359
+ source: hasInspectionEvidence(inspection) ? "inferred_log" : "unknown",
1360
+ confidence: "weak",
1361
+ detail: inspection.errorDetail,
1362
+ errorCode: inspection.errorCode,
1363
+ observedAt: inspection.completedAtCandidate ?? inspection.lastEventAt ?? observedAt
1364
+ };
1365
+ }
1366
+ function hasInspectionEvidence(inspection) {
1367
+ return inspection.runningState !== "idle"
1368
+ || !!inspection.lastEventAt
1369
+ || !!inspection.completedAtCandidate;
1370
+ }
1371
+ function applySessionActivityResolution(item, resolution) {
1372
+ const runningState = resolution.runningState;
1373
+ const shouldClearResolvedFailure = runningState !== "failed" && item.runningState === "failed";
1374
+ const lastEventAt = resolution.lastObservedAt ?? item.lastEventAt;
1375
+ const completedAt = isTerminalResolvedRunningState(runningState)
1376
+ ? resolution.terminalAt ?? item.completedAt
1377
+ : null;
1378
+ const lastErrorCode = runningState === "failed"
1379
+ ? resolution.errorCode ?? item.lastErrorCode
1380
+ : shouldClearResolvedFailure
1381
+ ? null
1382
+ : item.lastErrorCode;
1383
+ const lastErrorDetail = runningState === "failed"
1384
+ ? resolution.detail ?? item.lastErrorDetail
1385
+ : shouldClearResolvedFailure
1386
+ ? null
1387
+ : item.lastErrorDetail;
1388
+ const syncStatus = runningState === "failed"
1389
+ ? "error"
1390
+ : shouldClearResolvedFailure && item.syncStatus === "error"
1391
+ ? "idle"
1392
+ : item.syncStatus;
1393
+ return {
1394
+ ...item,
1395
+ syncStatus,
1396
+ runningState,
1397
+ activitySource: mapResolutionSourceToCompatibilitySource(resolution.activityResolutionSource),
1398
+ activityResolutionSource: resolution.activityResolutionSource,
1399
+ activityConfidence: resolution.activityConfidence,
1400
+ runId: resolution.runId,
1401
+ lastEventAt,
1402
+ completedAt,
1403
+ lastErrorCode,
1404
+ lastErrorDetail,
1405
+ watchdogTriggeredAt: resolution.watchdogTriggeredAt,
1406
+ activityState: resolveActivityState(runningState, completedAt, item.lastSeenAt)
1407
+ };
1408
+ }
1325
1409
  function clampLimit(limit) {
1326
1410
  if (!Number.isFinite(limit)) {
1327
1411
  return 50;
@@ -1665,11 +1749,50 @@ function shouldPreserveRuntimeTerminalState(current, inspection) {
1665
1749
  return inspection.lastEventAt.localeCompare(current.lastEventAt) <= 0;
1666
1750
  }
1667
1751
  if (current.runningState === "starting" || current.runningState === "running") {
1668
- return inspection.lastEventAt.localeCompare(current.lastEventAt) < 0;
1752
+ return inspection.lastEventAt.localeCompare(current.lastEventAt) <= 0;
1669
1753
  }
1670
1754
  return false;
1671
1755
  }
1672
1756
  function isTerminalRunningState(state) {
1673
1757
  return state === "completed" || state === "interrupted" || state === "failed";
1674
1758
  }
1759
+ function isTerminalResolvedRunningState(state) {
1760
+ return state === "completed" || state === "interrupted" || state === "failed";
1761
+ }
1762
+ function mapResolvedRunningStateToStored(runningState, current) {
1763
+ if (runningState !== "stale" && runningState !== "unknown") {
1764
+ return runningState;
1765
+ }
1766
+ if (current?.runningState === "starting" || current?.runningState === "running") {
1767
+ return current.runningState;
1768
+ }
1769
+ return "running";
1770
+ }
1771
+ function mapResolutionSourceToLegacyActivitySource(source, inspection) {
1772
+ if (source === "authoritative_runtime" || source === "authoritative_provider_event") {
1773
+ return "runtime";
1774
+ }
1775
+ if (inspection.lastEventAt || inspection.completedAtCandidate) {
1776
+ return "inferred";
1777
+ }
1778
+ return "none";
1779
+ }
1780
+ function mapResolutionSourceToCompatibilitySource(source) {
1781
+ if (source === "authoritative_runtime" || source === "authoritative_provider_event") {
1782
+ return "runtime";
1783
+ }
1784
+ if (source === "inferred_log") {
1785
+ return "inferred";
1786
+ }
1787
+ return "none";
1788
+ }
1789
+ function resolveActivityState(runningState, completedAt, lastSeenAt) {
1790
+ if (runningState === "starting" || runningState === "running") {
1791
+ return "running";
1792
+ }
1793
+ if (completedAt && (!lastSeenAt || completedAt > lastSeenAt)) {
1794
+ return "completed_unread";
1795
+ }
1796
+ return "idle";
1797
+ }
1675
1798
  //# sourceMappingURL=session-history-service.js.map