yepanywhere 0.5.2 → 0.6.1

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 (944) hide show
  1. package/README.md +21 -5
  2. package/bundled/@yep-anywhere/shared/dist/agent-context.d.ts +9 -0
  3. package/bundled/@yep-anywhere/shared/dist/agent-context.d.ts.map +1 -0
  4. package/bundled/@yep-anywhere/shared/dist/agent-context.js +18 -0
  5. package/bundled/@yep-anywhere/shared/dist/agent-context.js.map +1 -0
  6. package/bundled/@yep-anywhere/shared/dist/app-types.d.ts +107 -1
  7. package/bundled/@yep-anywhere/shared/dist/app-types.d.ts.map +1 -1
  8. package/bundled/@yep-anywhere/shared/dist/app-types.js +4 -0
  9. package/bundled/@yep-anywhere/shared/dist/app-types.js.map +1 -1
  10. package/bundled/@yep-anywhere/shared/dist/binary-framing.d.ts +4 -1
  11. package/bundled/@yep-anywhere/shared/dist/binary-framing.d.ts.map +1 -1
  12. package/bundled/@yep-anywhere/shared/dist/binary-framing.js +8 -3
  13. package/bundled/@yep-anywhere/shared/dist/binary-framing.js.map +1 -1
  14. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.d.ts +4 -0
  15. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.d.ts.map +1 -1
  16. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.d.ts +4 -0
  17. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.d.ts.map +1 -1
  18. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.js +7 -0
  19. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.js.map +1 -1
  20. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/ProgressEntrySchema.d.ts +4 -0
  21. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/ProgressEntrySchema.d.ts.map +1 -1
  22. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.d.ts +64 -1
  23. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.d.ts.map +1 -1
  24. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.js +9 -0
  25. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.js.map +1 -1
  26. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.d.ts +4 -0
  27. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.d.ts.map +1 -1
  28. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.d.ts.map +1 -1
  29. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.js +45 -1
  30. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.js.map +1 -1
  31. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.d.ts +144 -2
  32. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.d.ts.map +1 -1
  33. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.d.ts +6 -4
  34. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.d.ts.map +1 -1
  35. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.js +8 -1
  36. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.js.map +1 -1
  37. package/bundled/@yep-anywhere/shared/dist/codex-schema/index.d.ts +3 -2
  38. package/bundled/@yep-anywhere/shared/dist/codex-schema/index.d.ts.map +1 -1
  39. package/bundled/@yep-anywhere/shared/dist/codex-schema/index.js +3 -2
  40. package/bundled/@yep-anywhere/shared/dist/codex-schema/index.js.map +1 -1
  41. package/bundled/@yep-anywhere/shared/dist/codex-schema/session.d.ts +266 -17
  42. package/bundled/@yep-anywhere/shared/dist/codex-schema/session.d.ts.map +1 -1
  43. package/bundled/@yep-anywhere/shared/dist/codex-schema/session.js +128 -1
  44. package/bundled/@yep-anywhere/shared/dist/codex-schema/session.js.map +1 -1
  45. package/bundled/@yep-anywhere/shared/dist/dag.d.ts +31 -11
  46. package/bundled/@yep-anywhere/shared/dist/dag.d.ts.map +1 -1
  47. package/bundled/@yep-anywhere/shared/dist/dag.js +77 -33
  48. package/bundled/@yep-anywhere/shared/dist/dag.js.map +1 -1
  49. package/bundled/@yep-anywhere/shared/dist/git-status.d.ts +93 -1
  50. package/bundled/@yep-anywhere/shared/dist/git-status.d.ts.map +1 -1
  51. package/bundled/@yep-anywhere/shared/dist/git-status.js +1 -1
  52. package/bundled/@yep-anywhere/shared/dist/git-status.js.map +1 -1
  53. package/bundled/@yep-anywhere/shared/dist/ideMetadata.js +1 -1
  54. package/bundled/@yep-anywhere/shared/dist/ideMetadata.js.map +1 -1
  55. package/bundled/@yep-anywhere/shared/dist/index.d.ts +22 -11
  56. package/bundled/@yep-anywhere/shared/dist/index.d.ts.map +1 -1
  57. package/bundled/@yep-anywhere/shared/dist/index.js +9 -3
  58. package/bundled/@yep-anywhere/shared/dist/index.js.map +1 -1
  59. package/bundled/@yep-anywhere/shared/dist/local-resource.d.ts +1 -0
  60. package/bundled/@yep-anywhere/shared/dist/local-resource.d.ts.map +1 -1
  61. package/bundled/@yep-anywhere/shared/dist/local-resource.js +4 -0
  62. package/bundled/@yep-anywhere/shared/dist/local-resource.js.map +1 -1
  63. package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.d.ts +136 -0
  64. package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.d.ts.map +1 -1
  65. package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.js +65 -3
  66. package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.js.map +1 -1
  67. package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.d.ts +1 -1
  68. package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.d.ts.map +1 -1
  69. package/bundled/@yep-anywhere/shared/dist/project-queue.d.ts +153 -0
  70. package/bundled/@yep-anywhere/shared/dist/project-queue.d.ts.map +1 -0
  71. package/bundled/@yep-anywhere/shared/dist/project-queue.js +8 -0
  72. package/bundled/@yep-anywhere/shared/dist/project-queue.js.map +1 -0
  73. package/bundled/@yep-anywhere/shared/dist/relay-protocol.d.ts +26 -2
  74. package/bundled/@yep-anywhere/shared/dist/relay-protocol.d.ts.map +1 -1
  75. package/bundled/@yep-anywhere/shared/dist/relay-protocol.js +33 -0
  76. package/bundled/@yep-anywhere/shared/dist/relay-protocol.js.map +1 -1
  77. package/bundled/@yep-anywhere/shared/dist/relay.d.ts +45 -5
  78. package/bundled/@yep-anywhere/shared/dist/relay.d.ts.map +1 -1
  79. package/bundled/@yep-anywhere/shared/dist/relay.js.map +1 -1
  80. package/bundled/@yep-anywhere/shared/dist/safe-restart.d.ts +25 -0
  81. package/bundled/@yep-anywhere/shared/dist/safe-restart.d.ts.map +1 -0
  82. package/bundled/@yep-anywhere/shared/dist/safe-restart.js +2 -0
  83. package/bundled/@yep-anywhere/shared/dist/safe-restart.js.map +1 -0
  84. package/bundled/@yep-anywhere/shared/dist/server-capabilities.d.ts +248 -0
  85. package/bundled/@yep-anywhere/shared/dist/server-capabilities.d.ts.map +1 -0
  86. package/bundled/@yep-anywhere/shared/dist/server-capabilities.js +251 -0
  87. package/bundled/@yep-anywhere/shared/dist/server-capabilities.js.map +1 -0
  88. package/bundled/@yep-anywhere/shared/dist/session/SessionView.d.ts +2 -2
  89. package/bundled/@yep-anywhere/shared/dist/session/SessionView.js +3 -3
  90. package/bundled/@yep-anywhere/shared/dist/session/SessionView.js.map +1 -1
  91. package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.d.ts +10 -0
  92. package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.d.ts.map +1 -1
  93. package/bundled/@yep-anywhere/shared/dist/session-liveness.d.ts +18 -0
  94. package/bundled/@yep-anywhere/shared/dist/session-liveness.d.ts.map +1 -1
  95. package/bundled/@yep-anywhere/shared/dist/tool-display-actions.d.ts +26 -0
  96. package/bundled/@yep-anywhere/shared/dist/tool-display-actions.d.ts.map +1 -0
  97. package/bundled/@yep-anywhere/shared/dist/tool-display-actions.js +9 -0
  98. package/bundled/@yep-anywhere/shared/dist/tool-display-actions.js.map +1 -0
  99. package/bundled/@yep-anywhere/shared/dist/types.d.ts +253 -8
  100. package/bundled/@yep-anywhere/shared/dist/types.d.ts.map +1 -1
  101. package/bundled/@yep-anywhere/shared/dist/types.js +48 -5
  102. package/bundled/@yep-anywhere/shared/dist/types.js.map +1 -1
  103. package/bundled/@yep-anywhere/shared/dist/upload.d.ts +34 -2
  104. package/bundled/@yep-anywhere/shared/dist/upload.d.ts.map +1 -1
  105. package/bundled/@yep-anywhere/shared/dist/user-message-metadata.d.ts +47 -0
  106. package/bundled/@yep-anywhere/shared/dist/user-message-metadata.d.ts.map +1 -1
  107. package/bundled/@yep-anywhere/shared/dist/user-message-metadata.js +59 -1
  108. package/bundled/@yep-anywhere/shared/dist/user-message-metadata.js.map +1 -1
  109. package/bundled/@yep-anywhere/shared/dist/workstreams.d.ts +54 -0
  110. package/bundled/@yep-anywhere/shared/dist/workstreams.d.ts.map +1 -0
  111. package/bundled/@yep-anywhere/shared/dist/workstreams.js +8 -0
  112. package/bundled/@yep-anywhere/shared/dist/workstreams.js.map +1 -0
  113. package/bundled/@yep-anywhere/shared/package.json +1 -1
  114. package/client-dist/assets/alegreya-sans-latin-400-italic-BQIUBrX-.woff2 +0 -0
  115. package/client-dist/assets/alegreya-sans-latin-400-normal-BxeZdXas.woff2 +0 -0
  116. package/client-dist/assets/alegreya-sans-latin-500-normal-uodOEoAl.woff2 +0 -0
  117. package/client-dist/assets/alegreya-sans-latin-700-normal-DFYOGfC8.woff2 +0 -0
  118. package/client-dist/assets/de-BNhVdIq4.js +6 -0
  119. package/client-dist/assets/es-Csn9n24J.js +6 -0
  120. package/client-dist/assets/fira-mono-latin-400-normal-DVTTRLHv.woff2 +0 -0
  121. package/client-dist/assets/fira-mono-latin-ext-400-normal-B2gPvaNr.woff2 +0 -0
  122. package/client-dist/assets/fira-mono-symbols2-400-normal-C6JptOil.woff2 +0 -0
  123. package/client-dist/assets/fr-DKx4tSpo.js +6 -0
  124. package/client-dist/assets/index-C41clQ66.js +561 -0
  125. package/client-dist/assets/index-LbeFv8ym.css +1 -0
  126. package/client-dist/assets/inter-latin-400-italic-D1l0FflY.woff2 +0 -0
  127. package/client-dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  128. package/client-dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  129. package/client-dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
  130. package/client-dist/assets/ja-DAkhkwQZ.js +6 -0
  131. package/client-dist/assets/zh-CN-B7lY0cc6.js +6 -0
  132. package/client-dist/index.html +3 -3
  133. package/client-dist/sw.js +96 -9
  134. package/dist/app.d.ts +25 -0
  135. package/dist/app.d.ts.map +1 -1
  136. package/dist/app.js +350 -35
  137. package/dist/app.js.map +1 -1
  138. package/dist/augments/augment-generator.d.ts +1 -1
  139. package/dist/augments/augment-generator.d.ts.map +1 -1
  140. package/dist/augments/augment-generator.js +2 -2
  141. package/dist/augments/augment-generator.js.map +1 -1
  142. package/dist/augments/markdown-augments.d.ts +1 -1
  143. package/dist/augments/markdown-augments.d.ts.map +1 -1
  144. package/dist/augments/markdown-augments.js +5 -5
  145. package/dist/augments/markdown-augments.js.map +1 -1
  146. package/dist/augments/safe-markdown.d.ts +10 -0
  147. package/dist/augments/safe-markdown.d.ts.map +1 -1
  148. package/dist/augments/safe-markdown.js +146 -3
  149. package/dist/augments/safe-markdown.js.map +1 -1
  150. package/dist/augments/stream-augmenter.d.ts +3 -0
  151. package/dist/augments/stream-augmenter.d.ts.map +1 -1
  152. package/dist/augments/stream-augmenter.js +6 -3
  153. package/dist/augments/stream-augmenter.js.map +1 -1
  154. package/dist/augments/stream-coordinator.d.ts +5 -1
  155. package/dist/augments/stream-coordinator.d.ts.map +1 -1
  156. package/dist/augments/stream-coordinator.js +6 -4
  157. package/dist/augments/stream-coordinator.js.map +1 -1
  158. package/dist/augments/task-list-augments.d.ts +27 -0
  159. package/dist/augments/task-list-augments.d.ts.map +1 -0
  160. package/dist/augments/task-list-augments.js +360 -0
  161. package/dist/augments/task-list-augments.js.map +1 -0
  162. package/dist/cli.d.ts +1 -17
  163. package/dist/cli.d.ts.map +1 -1
  164. package/dist/cli.js +22 -8
  165. package/dist/cli.js.map +1 -1
  166. package/dist/codex/codeModeExec.d.ts +27 -0
  167. package/dist/codex/codeModeExec.d.ts.map +1 -0
  168. package/dist/codex/codeModeExec.js +264 -0
  169. package/dist/codex/codeModeExec.js.map +1 -0
  170. package/dist/codex/correlationDebugLogger.d.ts.map +1 -1
  171. package/dist/codex/correlationDebugLogger.js +36 -8
  172. package/dist/codex/correlationDebugLogger.js.map +1 -1
  173. package/dist/codex/displayActions.d.ts +48 -0
  174. package/dist/codex/displayActions.d.ts.map +1 -0
  175. package/dist/codex/displayActions.js +674 -0
  176. package/dist/codex/displayActions.js.map +1 -0
  177. package/dist/codex/normalization.d.ts +10 -6
  178. package/dist/codex/normalization.d.ts.map +1 -1
  179. package/dist/codex/normalization.js +94 -261
  180. package/dist/codex/normalization.js.map +1 -1
  181. package/dist/config.d.ts +49 -6
  182. package/dist/config.d.ts.map +1 -1
  183. package/dist/config.js +55 -14
  184. package/dist/config.js.map +1 -1
  185. package/dist/defaults.d.ts +3 -0
  186. package/dist/defaults.d.ts.map +1 -0
  187. package/dist/defaults.js +3 -0
  188. package/dist/defaults.js.map +1 -0
  189. package/dist/device/DeviceBridgeService.js +1 -1
  190. package/dist/device/DeviceBridgeService.js.map +1 -1
  191. package/dist/envSettings.d.ts +64 -0
  192. package/dist/envSettings.d.ts.map +1 -0
  193. package/dist/envSettings.js +553 -0
  194. package/dist/envSettings.js.map +1 -0
  195. package/dist/frontend/static.d.ts.map +1 -1
  196. package/dist/frontend/static.js +3 -1
  197. package/dist/frontend/static.js.map +1 -1
  198. package/dist/index.d.ts +1 -1
  199. package/dist/index.d.ts.map +1 -1
  200. package/dist/index.js +190 -14
  201. package/dist/index.js.map +1 -1
  202. package/dist/indexes/SessionDiscoveryIndex.d.ts +78 -0
  203. package/dist/indexes/SessionDiscoveryIndex.d.ts.map +1 -0
  204. package/dist/indexes/SessionDiscoveryIndex.js +223 -0
  205. package/dist/indexes/SessionDiscoveryIndex.js.map +1 -0
  206. package/dist/indexes/SessionIndexService.d.ts +114 -1
  207. package/dist/indexes/SessionIndexService.d.ts.map +1 -1
  208. package/dist/indexes/SessionIndexService.js +875 -105
  209. package/dist/indexes/SessionIndexService.js.map +1 -1
  210. package/dist/indexes/index.d.ts +2 -1
  211. package/dist/indexes/index.d.ts.map +1 -1
  212. package/dist/indexes/index.js +1 -0
  213. package/dist/indexes/index.js.map +1 -1
  214. package/dist/indexes/types.d.ts +26 -0
  215. package/dist/indexes/types.d.ts.map +1 -1
  216. package/dist/logging/logger.d.ts.map +1 -1
  217. package/dist/logging/logger.js +2 -3
  218. package/dist/logging/logger.js.map +1 -1
  219. package/dist/maintenance/server.d.ts.map +1 -1
  220. package/dist/maintenance/server.js +8 -11
  221. package/dist/maintenance/server.js.map +1 -1
  222. package/dist/metadata/ProjectMetadataService.d.ts +7 -0
  223. package/dist/metadata/ProjectMetadataService.d.ts.map +1 -1
  224. package/dist/metadata/ProjectMetadataService.js +63 -19
  225. package/dist/metadata/ProjectMetadataService.js.map +1 -1
  226. package/dist/metadata/SessionMetadataService.d.ts +82 -3
  227. package/dist/metadata/SessionMetadataService.d.ts.map +1 -1
  228. package/dist/metadata/SessionMetadataService.js +233 -17
  229. package/dist/metadata/SessionMetadataService.js.map +1 -1
  230. package/dist/middleware/file-access.d.ts +66 -0
  231. package/dist/middleware/file-access.d.ts.map +1 -0
  232. package/dist/middleware/file-access.js +112 -0
  233. package/dist/middleware/file-access.js.map +1 -0
  234. package/dist/projects/codex-scanner.d.ts +28 -1
  235. package/dist/projects/codex-scanner.d.ts.map +1 -1
  236. package/dist/projects/codex-scanner.js +149 -39
  237. package/dist/projects/codex-scanner.js.map +1 -1
  238. package/dist/projects/gemini-scanner.d.ts.map +1 -1
  239. package/dist/projects/gemini-scanner.js +59 -6
  240. package/dist/projects/gemini-scanner.js.map +1 -1
  241. package/dist/projects/paths.d.ts +15 -1
  242. package/dist/projects/paths.d.ts.map +1 -1
  243. package/dist/projects/paths.js +69 -23
  244. package/dist/projects/paths.js.map +1 -1
  245. package/dist/projects/scanner.d.ts +5 -0
  246. package/dist/projects/scanner.d.ts.map +1 -1
  247. package/dist/projects/scanner.js +136 -28
  248. package/dist/projects/scanner.js.map +1 -1
  249. package/dist/push/InactivityPushNotifier.d.ts +61 -0
  250. package/dist/push/InactivityPushNotifier.d.ts.map +1 -0
  251. package/dist/push/InactivityPushNotifier.js +305 -0
  252. package/dist/push/InactivityPushNotifier.js.map +1 -0
  253. package/dist/push/PushNotifier.d.ts.map +1 -1
  254. package/dist/push/PushNotifier.js.map +1 -1
  255. package/dist/push/PushService.d.ts +7 -4
  256. package/dist/push/PushService.d.ts.map +1 -1
  257. package/dist/push/PushService.js +27 -7
  258. package/dist/push/PushService.js.map +1 -1
  259. package/dist/push/index.d.ts +2 -1
  260. package/dist/push/index.d.ts.map +1 -1
  261. package/dist/push/index.js +1 -0
  262. package/dist/push/index.js.map +1 -1
  263. package/dist/push/routes.d.ts.map +1 -1
  264. package/dist/push/routes.js +28 -1
  265. package/dist/push/routes.js.map +1 -1
  266. package/dist/push/types.d.ts +21 -3
  267. package/dist/push/types.d.ts.map +1 -1
  268. package/dist/push/types.js +2 -0
  269. package/dist/push/types.js.map +1 -1
  270. package/dist/routes/dev.d.ts +2 -0
  271. package/dist/routes/dev.d.ts.map +1 -1
  272. package/dist/routes/dev.js +25 -0
  273. package/dist/routes/dev.js.map +1 -1
  274. package/dist/routes/env-settings.d.ts +20 -0
  275. package/dist/routes/env-settings.d.ts.map +1 -0
  276. package/dist/routes/env-settings.js +25 -0
  277. package/dist/routes/env-settings.js.map +1 -0
  278. package/dist/routes/files.d.ts +9 -0
  279. package/dist/routes/files.d.ts.map +1 -1
  280. package/dist/routes/files.js +98 -10
  281. package/dist/routes/files.js.map +1 -1
  282. package/dist/routes/git-status.d.ts.map +1 -1
  283. package/dist/routes/git-status.js +691 -23
  284. package/dist/routes/git-status.js.map +1 -1
  285. package/dist/routes/global-sessions.d.ts +11 -1
  286. package/dist/routes/global-sessions.d.ts.map +1 -1
  287. package/dist/routes/global-sessions.js +53 -33
  288. package/dist/routes/global-sessions.js.map +1 -1
  289. package/dist/routes/inbox.d.ts +10 -1
  290. package/dist/routes/inbox.d.ts.map +1 -1
  291. package/dist/routes/inbox.js +30 -3
  292. package/dist/routes/inbox.js.map +1 -1
  293. package/dist/routes/local-file.d.ts +6 -2
  294. package/dist/routes/local-file.d.ts.map +1 -1
  295. package/dist/routes/local-file.js +13 -4
  296. package/dist/routes/local-file.js.map +1 -1
  297. package/dist/routes/local-image.d.ts +2 -1
  298. package/dist/routes/local-image.d.ts.map +1 -1
  299. package/dist/routes/local-image.js.map +1 -1
  300. package/dist/routes/local-resource-policy.d.ts +7 -1
  301. package/dist/routes/local-resource-policy.d.ts.map +1 -1
  302. package/dist/routes/local-resource-policy.js +0 -0
  303. package/dist/routes/local-resource-policy.js.map +1 -1
  304. package/dist/routes/processes.d.ts.map +1 -1
  305. package/dist/routes/processes.js +49 -11
  306. package/dist/routes/processes.js.map +1 -1
  307. package/dist/routes/project-queue-response.d.ts +26 -0
  308. package/dist/routes/project-queue-response.d.ts.map +1 -0
  309. package/dist/routes/project-queue-response.js +188 -0
  310. package/dist/routes/project-queue-response.js.map +1 -0
  311. package/dist/routes/project-queue.d.ts +5 -0
  312. package/dist/routes/project-queue.d.ts.map +1 -0
  313. package/dist/routes/project-queue.js +219 -0
  314. package/dist/routes/project-queue.js.map +1 -0
  315. package/dist/routes/projects.d.ts +6 -0
  316. package/dist/routes/projects.d.ts.map +1 -1
  317. package/dist/routes/projects.js +116 -28
  318. package/dist/routes/projects.js.map +1 -1
  319. package/dist/routes/providers.d.ts +5 -0
  320. package/dist/routes/providers.d.ts.map +1 -1
  321. package/dist/routes/providers.js +52 -33
  322. package/dist/routes/providers.js.map +1 -1
  323. package/dist/routes/public-shares.d.ts.map +1 -1
  324. package/dist/routes/public-shares.js +46 -17
  325. package/dist/routes/public-shares.js.map +1 -1
  326. package/dist/routes/recents.d.ts +3 -0
  327. package/dist/routes/recents.d.ts.map +1 -1
  328. package/dist/routes/recents.js +3 -1
  329. package/dist/routes/recents.js.map +1 -1
  330. package/dist/routes/server-admin.d.ts +9 -0
  331. package/dist/routes/server-admin.d.ts.map +1 -1
  332. package/dist/routes/server-admin.js +45 -7
  333. package/dist/routes/server-admin.js.map +1 -1
  334. package/dist/routes/session-claude-resume-guard.d.ts +16 -0
  335. package/dist/routes/session-claude-resume-guard.d.ts.map +1 -0
  336. package/dist/routes/session-claude-resume-guard.js +50 -0
  337. package/dist/routes/session-claude-resume-guard.js.map +1 -0
  338. package/dist/routes/session-compact-thresholds.d.ts +22 -0
  339. package/dist/routes/session-compact-thresholds.d.ts.map +1 -0
  340. package/dist/routes/session-compact-thresholds.js +35 -0
  341. package/dist/routes/session-compact-thresholds.js.map +1 -0
  342. package/dist/routes/session-index.d.ts +7 -0
  343. package/dist/routes/session-index.d.ts.map +1 -0
  344. package/dist/routes/session-index.js +9 -0
  345. package/dist/routes/session-index.js.map +1 -0
  346. package/dist/routes/session-list-options.d.ts +1 -1
  347. package/dist/routes/session-list-options.d.ts.map +1 -1
  348. package/dist/routes/session-list-options.js +1 -1
  349. package/dist/routes/session-list-options.js.map +1 -1
  350. package/dist/routes/session-metadata-patch.d.ts +24 -0
  351. package/dist/routes/session-metadata-patch.d.ts.map +1 -0
  352. package/dist/routes/session-metadata-patch.js +119 -0
  353. package/dist/routes/session-metadata-patch.js.map +1 -0
  354. package/dist/routes/session-project-routing.d.ts +25 -0
  355. package/dist/routes/session-project-routing.d.ts.map +1 -0
  356. package/dist/routes/session-project-routing.js +32 -0
  357. package/dist/routes/session-project-routing.js.map +1 -0
  358. package/dist/routes/session-provider-resolution.d.ts +28 -0
  359. package/dist/routes/session-provider-resolution.d.ts.map +1 -0
  360. package/dist/routes/session-provider-resolution.js +22 -0
  361. package/dist/routes/session-provider-resolution.js.map +1 -0
  362. package/dist/routes/session-queue-summaries.d.ts +21 -0
  363. package/dist/routes/session-queue-summaries.d.ts.map +1 -0
  364. package/dist/routes/session-queue-summaries.js +79 -0
  365. package/dist/routes/session-queue-summaries.js.map +1 -0
  366. package/dist/routes/session-recovered-queue.d.ts +43 -0
  367. package/dist/routes/session-recovered-queue.d.ts.map +1 -0
  368. package/dist/routes/session-recovered-queue.js +132 -0
  369. package/dist/routes/session-recovered-queue.js.map +1 -0
  370. package/dist/routes/session-request-helpers.d.ts +31 -0
  371. package/dist/routes/session-request-helpers.d.ts.map +1 -0
  372. package/dist/routes/session-request-helpers.js +212 -0
  373. package/dist/routes/session-request-helpers.js.map +1 -0
  374. package/dist/routes/session-thinking-options.d.ts +12 -0
  375. package/dist/routes/session-thinking-options.d.ts.map +1 -0
  376. package/dist/routes/session-thinking-options.js +7 -0
  377. package/dist/routes/session-thinking-options.js.map +1 -0
  378. package/dist/routes/sessions.d.ts +14 -1
  379. package/dist/routes/sessions.d.ts.map +1 -1
  380. package/dist/routes/sessions.js +1965 -679
  381. package/dist/routes/sessions.js.map +1 -1
  382. package/dist/routes/settings-parsers.d.ts +37 -0
  383. package/dist/routes/settings-parsers.d.ts.map +1 -0
  384. package/dist/routes/settings-parsers.js +896 -0
  385. package/dist/routes/settings-parsers.js.map +1 -0
  386. package/dist/routes/settings.d.ts +7 -1
  387. package/dist/routes/settings.d.ts.map +1 -1
  388. package/dist/routes/settings.js +114 -258
  389. package/dist/routes/settings.js.map +1 -1
  390. package/dist/routes/speech.d.ts +24 -2
  391. package/dist/routes/speech.d.ts.map +1 -1
  392. package/dist/routes/speech.js +539 -10
  393. package/dist/routes/speech.js.map +1 -1
  394. package/dist/routes/supervisor-queue.d.ts +6 -0
  395. package/dist/routes/supervisor-queue.d.ts.map +1 -0
  396. package/dist/routes/supervisor-queue.js +35 -0
  397. package/dist/routes/supervisor-queue.js.map +1 -0
  398. package/dist/routes/upload.d.ts +2 -0
  399. package/dist/routes/upload.d.ts.map +1 -1
  400. package/dist/routes/upload.js +190 -38
  401. package/dist/routes/upload.js.map +1 -1
  402. package/dist/routes/version.d.ts +16 -1
  403. package/dist/routes/version.d.ts.map +1 -1
  404. package/dist/routes/version.js +27 -8
  405. package/dist/routes/version.js.map +1 -1
  406. package/dist/routes/workstreams.d.ts +11 -0
  407. package/dist/routes/workstreams.d.ts.map +1 -0
  408. package/dist/routes/workstreams.js +144 -0
  409. package/dist/routes/workstreams.js.map +1 -0
  410. package/dist/routes/ws-message-router.d.ts +10 -1
  411. package/dist/routes/ws-message-router.d.ts.map +1 -1
  412. package/dist/routes/ws-message-router.js +43 -4
  413. package/dist/routes/ws-message-router.js.map +1 -1
  414. package/dist/routes/ws-relay-handlers.d.ts +27 -5
  415. package/dist/routes/ws-relay-handlers.d.ts.map +1 -1
  416. package/dist/routes/ws-relay-handlers.js +177 -19
  417. package/dist/routes/ws-relay-handlers.js.map +1 -1
  418. package/dist/routes/ws-relay.d.ts +19 -0
  419. package/dist/routes/ws-relay.d.ts.map +1 -1
  420. package/dist/routes/ws-relay.js +21 -7
  421. package/dist/routes/ws-relay.js.map +1 -1
  422. package/dist/sdk/cli-detection.d.ts +1 -1
  423. package/dist/sdk/cli-detection.d.ts.map +1 -1
  424. package/dist/sdk/cli-detection.js +47 -7
  425. package/dist/sdk/cli-detection.js.map +1 -1
  426. package/dist/sdk/messageLogger.d.ts.map +1 -1
  427. package/dist/sdk/messageLogger.js +38 -10
  428. package/dist/sdk/messageLogger.js.map +1 -1
  429. package/dist/sdk/messageQueue.d.ts +5 -0
  430. package/dist/sdk/messageQueue.d.ts.map +1 -1
  431. package/dist/sdk/messageQueue.js +47 -0
  432. package/dist/sdk/messageQueue.js.map +1 -1
  433. package/dist/sdk/providers/__mocks__/grok.d.ts +1 -1
  434. package/dist/sdk/providers/__mocks__/grok.d.ts.map +1 -1
  435. package/dist/sdk/providers/__mocks__/grok.js +1 -1
  436. package/dist/sdk/providers/__mocks__/grok.js.map +1 -1
  437. package/dist/sdk/providers/agentctl-session-env.d.ts +8 -0
  438. package/dist/sdk/providers/agentctl-session-env.d.ts.map +1 -0
  439. package/dist/sdk/providers/agentctl-session-env.js +52 -0
  440. package/dist/sdk/providers/agentctl-session-env.js.map +1 -0
  441. package/dist/sdk/providers/claude-ollama.d.ts +2 -1
  442. package/dist/sdk/providers/claude-ollama.d.ts.map +1 -1
  443. package/dist/sdk/providers/claude-ollama.js +1 -0
  444. package/dist/sdk/providers/claude-ollama.js.map +1 -1
  445. package/dist/sdk/providers/claude-retention.d.ts +19 -0
  446. package/dist/sdk/providers/claude-retention.d.ts.map +1 -0
  447. package/dist/sdk/providers/claude-retention.js +169 -0
  448. package/dist/sdk/providers/claude-retention.js.map +1 -0
  449. package/dist/sdk/providers/claude.d.ts +52 -5
  450. package/dist/sdk/providers/claude.d.ts.map +1 -1
  451. package/dist/sdk/providers/claude.js +593 -71
  452. package/dist/sdk/providers/claude.js.map +1 -1
  453. package/dist/sdk/providers/codex-model-catalog.d.ts +34 -0
  454. package/dist/sdk/providers/codex-model-catalog.d.ts.map +1 -0
  455. package/dist/sdk/providers/codex-model-catalog.js +378 -0
  456. package/dist/sdk/providers/codex-model-catalog.js.map +1 -0
  457. package/dist/sdk/providers/codex-notification-guards.d.ts +15 -0
  458. package/dist/sdk/providers/codex-notification-guards.d.ts.map +1 -0
  459. package/dist/sdk/providers/codex-notification-guards.js +159 -0
  460. package/dist/sdk/providers/codex-notification-guards.js.map +1 -0
  461. package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.d.ts +8 -0
  462. package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.d.ts.map +1 -0
  463. package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.js +3 -0
  464. package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.js.map +1 -0
  465. package/dist/sdk/providers/codex-protocol/generated/ImageGenerationItem.d.ts +9 -0
  466. package/dist/sdk/providers/codex-protocol/generated/ImageGenerationItem.d.ts.map +1 -0
  467. package/dist/sdk/providers/codex-protocol/generated/ImageGenerationItem.js +3 -0
  468. package/dist/sdk/providers/codex-protocol/generated/ImageGenerationItem.js.map +1 -0
  469. package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.d.ts +10 -0
  470. package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.d.ts.map +1 -0
  471. package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.js +3 -0
  472. package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.js.map +1 -0
  473. package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.d.ts +23 -0
  474. package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.d.ts.map +1 -0
  475. package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.js +3 -0
  476. package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.js.map +1 -0
  477. package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.d.ts +8 -0
  478. package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.d.ts.map +1 -0
  479. package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.js +3 -0
  480. package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.js.map +1 -0
  481. package/dist/sdk/providers/codex-protocol/generated/ReasoningEffort.d.ts +1 -1
  482. package/dist/sdk/providers/codex-protocol/generated/ReasoningEffort.d.ts.map +1 -1
  483. package/dist/sdk/providers/codex-protocol/generated/ResponseItem.d.ts +39 -1
  484. package/dist/sdk/providers/codex-protocol/generated/ResponseItem.d.ts.map +1 -1
  485. package/dist/sdk/providers/codex-protocol/generated/ThreadId.d.ts +5 -0
  486. package/dist/sdk/providers/codex-protocol/generated/ThreadId.d.ts.map +1 -1
  487. package/dist/sdk/providers/codex-protocol/generated/WebSearchItem.d.ts +7 -0
  488. package/dist/sdk/providers/codex-protocol/generated/WebSearchItem.d.ts.map +1 -0
  489. package/dist/sdk/providers/codex-protocol/generated/WebSearchItem.js +3 -0
  490. package/dist/sdk/providers/codex-protocol/generated/WebSearchItem.js.map +1 -0
  491. package/dist/sdk/providers/codex-protocol/generated/v2/AdditionalFileSystemPermissions.d.ts +3 -3
  492. package/dist/sdk/providers/codex-protocol/generated/v2/AdditionalFileSystemPermissions.d.ts.map +1 -1
  493. package/dist/sdk/providers/codex-protocol/generated/v2/AskForApproval.d.ts +1 -1
  494. package/dist/sdk/providers/codex-protocol/generated/v2/AskForApproval.d.ts.map +1 -1
  495. package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.d.ts +12 -0
  496. package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.d.ts.map +1 -0
  497. package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.js +3 -0
  498. package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.js.map +1 -0
  499. package/dist/sdk/providers/codex-protocol/generated/v2/CodexErrorInfo.d.ts +1 -1
  500. package/dist/sdk/providers/codex-protocol/generated/v2/CodexErrorInfo.d.ts.map +1 -1
  501. package/dist/sdk/providers/codex-protocol/generated/v2/CommandExecutionRequestApprovalParams.d.ts +6 -2
  502. package/dist/sdk/providers/codex-protocol/generated/v2/CommandExecutionRequestApprovalParams.d.ts.map +1 -1
  503. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.d.ts +8 -0
  504. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.d.ts.map +1 -0
  505. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.js +3 -0
  506. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.js.map +1 -0
  507. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.d.ts +7 -0
  508. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.d.ts.map +1 -0
  509. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.js +3 -0
  510. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.js.map +1 -0
  511. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.d.ts +5 -0
  512. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.d.ts.map +1 -0
  513. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.js +3 -0
  514. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.js.map +1 -0
  515. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolSpec.d.ts +6 -7
  516. package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolSpec.d.ts.map +1 -1
  517. package/dist/sdk/providers/codex-protocol/generated/v2/FileSystemPath.d.ts +2 -2
  518. package/dist/sdk/providers/codex-protocol/generated/v2/FileSystemPath.d.ts.map +1 -1
  519. package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.d.ts +9 -0
  520. package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.d.ts.map +1 -0
  521. package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.js +3 -0
  522. package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.js.map +1 -0
  523. package/dist/sdk/providers/codex-protocol/generated/v2/PermissionsRequestApprovalParams.d.ts +1 -0
  524. package/dist/sdk/providers/codex-protocol/generated/v2/PermissionsRequestApprovalParams.d.ts.map +1 -1
  525. package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.d.ts +15 -0
  526. package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.d.ts.map +1 -0
  527. package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.js +3 -0
  528. package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.js.map +1 -0
  529. package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.d.ts +2 -0
  530. package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.d.ts.map +1 -0
  531. package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.js +3 -0
  532. package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.js.map +1 -0
  533. package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.d.ts +2 -0
  534. package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.d.ts.map +1 -0
  535. package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.js +3 -0
  536. package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.js.map +1 -0
  537. package/dist/sdk/providers/codex-protocol/generated/v2/Thread.d.ts +21 -0
  538. package/dist/sdk/providers/codex-protocol/generated/v2/Thread.d.ts.map +1 -1
  539. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.d.ts +4 -0
  540. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.d.ts.map +1 -0
  541. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.js +3 -0
  542. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.js.map +1 -0
  543. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.d.ts +2 -0
  544. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.d.ts.map +1 -0
  545. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.js +3 -0
  546. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.js.map +1 -0
  547. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadExtra.d.ts +5 -0
  548. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadExtra.d.ts.map +1 -0
  549. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadExtra.js +3 -0
  550. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadExtra.js.map +1 -0
  551. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.d.ts +71 -0
  552. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.d.ts.map +1 -0
  553. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.js +3 -0
  554. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.js.map +1 -0
  555. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.d.ts +46 -0
  556. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.d.ts.map +1 -0
  557. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.js +3 -0
  558. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.js.map +1 -0
  559. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadHistoryMode.d.ts +2 -0
  560. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadHistoryMode.d.ts.map +1 -0
  561. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadHistoryMode.js +3 -0
  562. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadHistoryMode.js.map +1 -0
  563. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadItem.d.ts +22 -12
  564. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadItem.d.ts.map +1 -1
  565. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.d.ts +5 -0
  566. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.d.ts.map +1 -0
  567. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.js +3 -0
  568. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.js.map +1 -0
  569. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.d.ts +17 -0
  570. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.d.ts.map +1 -0
  571. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.js +3 -0
  572. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.js.map +1 -0
  573. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeParams.d.ts +7 -7
  574. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeParams.d.ts.map +1 -1
  575. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeResponse.d.ts +13 -2
  576. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeResponse.d.ts.map +1 -1
  577. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.d.ts +14 -0
  578. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.d.ts.map +1 -0
  579. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.js +3 -0
  580. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.js.map +1 -0
  581. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.d.ts +12 -0
  582. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.d.ts.map +1 -0
  583. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.js +3 -0
  584. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.js.map +1 -0
  585. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadSource.d.ts +1 -1
  586. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadSource.d.ts.map +1 -1
  587. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartParams.d.ts +23 -9
  588. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartParams.d.ts.map +1 -1
  589. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartResponse.d.ts +8 -2
  590. package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartResponse.d.ts.map +1 -1
  591. package/dist/sdk/providers/codex-protocol/generated/v2/ToolRequestUserInputParams.d.ts +1 -0
  592. package/dist/sdk/providers/codex-protocol/generated/v2/ToolRequestUserInputParams.d.ts.map +1 -1
  593. package/dist/sdk/providers/codex-protocol/generated/v2/Turn.d.ts +3 -0
  594. package/dist/sdk/providers/codex-protocol/generated/v2/Turn.d.ts.map +1 -1
  595. package/dist/sdk/providers/codex-protocol/generated/v2/TurnEnvironmentParams.d.ts +2 -2
  596. package/dist/sdk/providers/codex-protocol/generated/v2/TurnEnvironmentParams.d.ts.map +1 -1
  597. package/dist/sdk/providers/codex-protocol/generated/v2/TurnStartParams.d.ts +17 -5
  598. package/dist/sdk/providers/codex-protocol/generated/v2/TurnStartParams.d.ts.map +1 -1
  599. package/dist/sdk/providers/codex-protocol/generated/v2/TurnSteerParams.d.ts +8 -1
  600. package/dist/sdk/providers/codex-protocol/generated/v2/TurnSteerParams.d.ts.map +1 -1
  601. package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.d.ts +7 -0
  602. package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.d.ts.map +1 -0
  603. package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.js +3 -0
  604. package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.js.map +1 -0
  605. package/dist/sdk/providers/codex-protocol/index.d.ts +7 -0
  606. package/dist/sdk/providers/codex-protocol/index.d.ts.map +1 -1
  607. package/dist/sdk/providers/codex-summary-helpers.d.ts +41 -0
  608. package/dist/sdk/providers/codex-summary-helpers.d.ts.map +1 -0
  609. package/dist/sdk/providers/codex-summary-helpers.js +207 -0
  610. package/dist/sdk/providers/codex-summary-helpers.js.map +1 -0
  611. package/dist/sdk/providers/codex.d.ts +23 -26
  612. package/dist/sdk/providers/codex.d.ts.map +1 -1
  613. package/dist/sdk/providers/codex.js +429 -623
  614. package/dist/sdk/providers/codex.js.map +1 -1
  615. package/dist/sdk/providers/env-filter.d.ts.map +1 -1
  616. package/dist/sdk/providers/env-filter.js +19 -1
  617. package/dist/sdk/providers/env-filter.js.map +1 -1
  618. package/dist/sdk/providers/gemini-tools.d.ts +28 -0
  619. package/dist/sdk/providers/gemini-tools.d.ts.map +1 -0
  620. package/dist/sdk/providers/gemini-tools.js +57 -0
  621. package/dist/sdk/providers/gemini-tools.js.map +1 -0
  622. package/dist/sdk/providers/gemini.d.ts.map +1 -1
  623. package/dist/sdk/providers/gemini.js +4 -2
  624. package/dist/sdk/providers/gemini.js.map +1 -1
  625. package/dist/sdk/providers/grok-acp.d.ts +1 -1
  626. package/dist/sdk/providers/grok-acp.d.ts.map +1 -1
  627. package/dist/sdk/providers/grok-acp.js +1 -1
  628. package/dist/sdk/providers/grok-acp.js.map +1 -1
  629. package/dist/sdk/providers/index.d.ts +1 -0
  630. package/dist/sdk/providers/index.d.ts.map +1 -1
  631. package/dist/sdk/providers/index.js +6 -0
  632. package/dist/sdk/providers/index.js.map +1 -1
  633. package/dist/sdk/providers/opencode-models.d.ts +17 -0
  634. package/dist/sdk/providers/opencode-models.d.ts.map +1 -0
  635. package/dist/sdk/providers/opencode-models.js +83 -0
  636. package/dist/sdk/providers/opencode-models.js.map +1 -0
  637. package/dist/sdk/providers/opencode-tools.d.ts +36 -0
  638. package/dist/sdk/providers/opencode-tools.d.ts.map +1 -0
  639. package/dist/sdk/providers/opencode-tools.js +78 -0
  640. package/dist/sdk/providers/opencode-tools.js.map +1 -0
  641. package/dist/sdk/providers/opencode.d.ts +44 -4
  642. package/dist/sdk/providers/opencode.d.ts.map +1 -1
  643. package/dist/sdk/providers/opencode.js +329 -102
  644. package/dist/sdk/providers/opencode.js.map +1 -1
  645. package/dist/sdk/providers/pi-rpc-client.d.ts +90 -0
  646. package/dist/sdk/providers/pi-rpc-client.d.ts.map +1 -0
  647. package/dist/sdk/providers/pi-rpc-client.js +168 -0
  648. package/dist/sdk/providers/pi-rpc-client.js.map +1 -0
  649. package/dist/sdk/providers/pi-tools.d.ts +38 -0
  650. package/dist/sdk/providers/pi-tools.d.ts.map +1 -0
  651. package/dist/sdk/providers/pi-tools.js +214 -0
  652. package/dist/sdk/providers/pi-tools.js.map +1 -0
  653. package/dist/sdk/providers/pi.d.ts +84 -0
  654. package/dist/sdk/providers/pi.d.ts.map +1 -0
  655. package/dist/sdk/providers/pi.js +686 -0
  656. package/dist/sdk/providers/pi.js.map +1 -0
  657. package/dist/sdk/providers/staticSlashCommands.d.ts +4 -0
  658. package/dist/sdk/providers/staticSlashCommands.d.ts.map +1 -0
  659. package/dist/sdk/providers/staticSlashCommands.js +14 -0
  660. package/dist/sdk/providers/staticSlashCommands.js.map +1 -0
  661. package/dist/sdk/providers/types.d.ts +144 -17
  662. package/dist/sdk/providers/types.d.ts.map +1 -1
  663. package/dist/sdk/remote-spawn.d.ts.map +1 -1
  664. package/dist/sdk/remote-spawn.js.map +1 -1
  665. package/dist/sdk/slashCommandEmulation.d.ts +9 -0
  666. package/dist/sdk/slashCommandEmulation.d.ts.map +1 -1
  667. package/dist/sdk/slashCommandEmulation.js +15 -0
  668. package/dist/sdk/slashCommandEmulation.js.map +1 -1
  669. package/dist/sdk/types.d.ts +43 -1
  670. package/dist/sdk/types.d.ts.map +1 -1
  671. package/dist/security/approvalAuditLog.d.ts +3 -2
  672. package/dist/security/approvalAuditLog.d.ts.map +1 -1
  673. package/dist/security/approvalAuditLog.js +62 -2
  674. package/dist/security/approvalAuditLog.js.map +1 -1
  675. package/dist/services/BrowserProfileService.d.ts +21 -0
  676. package/dist/services/BrowserProfileService.d.ts.map +1 -1
  677. package/dist/services/BrowserProfileService.js +74 -1
  678. package/dist/services/BrowserProfileService.js.map +1 -1
  679. package/dist/services/CacheMissBillingMonitor.d.ts +25 -0
  680. package/dist/services/CacheMissBillingMonitor.d.ts.map +1 -0
  681. package/dist/services/CacheMissBillingMonitor.js +179 -0
  682. package/dist/services/CacheMissBillingMonitor.js.map +1 -0
  683. package/dist/services/CodexUpdateChecker.d.ts.map +1 -1
  684. package/dist/services/CodexUpdateChecker.js +3 -2
  685. package/dist/services/CodexUpdateChecker.js.map +1 -1
  686. package/dist/services/ModelInfoService.d.ts +58 -9
  687. package/dist/services/ModelInfoService.d.ts.map +1 -1
  688. package/dist/services/ModelInfoService.js +127 -14
  689. package/dist/services/ModelInfoService.js.map +1 -1
  690. package/dist/services/ProjectQueueScheduler.d.ts +91 -0
  691. package/dist/services/ProjectQueueScheduler.d.ts.map +1 -0
  692. package/dist/services/ProjectQueueScheduler.js +404 -0
  693. package/dist/services/ProjectQueueScheduler.js.map +1 -0
  694. package/dist/services/ProjectQueueService.d.ts +60 -0
  695. package/dist/services/ProjectQueueService.d.ts.map +1 -0
  696. package/dist/services/ProjectQueueService.js +806 -0
  697. package/dist/services/ProjectQueueService.js.map +1 -0
  698. package/dist/services/RelayClientService.d.ts +5 -0
  699. package/dist/services/RelayClientService.d.ts.map +1 -1
  700. package/dist/services/RelayClientService.js +26 -12
  701. package/dist/services/RelayClientService.js.map +1 -1
  702. package/dist/services/SafeRestartService.d.ts +48 -0
  703. package/dist/services/SafeRestartService.d.ts.map +1 -0
  704. package/dist/services/SafeRestartService.js +173 -0
  705. package/dist/services/SafeRestartService.js.map +1 -0
  706. package/dist/services/ServerSettingsService.d.ts +41 -1
  707. package/dist/services/ServerSettingsService.d.ts.map +1 -1
  708. package/dist/services/ServerSettingsService.js +110 -1
  709. package/dist/services/ServerSettingsService.js.map +1 -1
  710. package/dist/services/SessionQueuePersistenceService.d.ts +55 -0
  711. package/dist/services/SessionQueuePersistenceService.d.ts.map +1 -0
  712. package/dist/services/SessionQueuePersistenceService.js +264 -0
  713. package/dist/services/SessionQueuePersistenceService.js.map +1 -0
  714. package/dist/services/WorkstreamService.d.ts +92 -0
  715. package/dist/services/WorkstreamService.d.ts.map +1 -0
  716. package/dist/services/WorkstreamService.js +627 -0
  717. package/dist/services/WorkstreamService.js.map +1 -0
  718. package/dist/services/index.d.ts +4 -0
  719. package/dist/services/index.d.ts.map +1 -1
  720. package/dist/services/index.js +4 -0
  721. package/dist/services/index.js.map +1 -1
  722. package/dist/services/projectWorkIdle.d.ts +42 -0
  723. package/dist/services/projectWorkIdle.d.ts.map +1 -0
  724. package/dist/services/projectWorkIdle.js +50 -0
  725. package/dist/services/projectWorkIdle.js.map +1 -0
  726. package/dist/services/voice/SpeechBackend.d.ts +18 -1
  727. package/dist/services/voice/SpeechBackend.d.ts.map +1 -1
  728. package/dist/services/voice/SpeechBackend.js +3 -0
  729. package/dist/services/voice/SpeechBackend.js.map +1 -1
  730. package/dist/services/voice/audioRetention.d.ts +20 -0
  731. package/dist/services/voice/audioRetention.d.ts.map +1 -1
  732. package/dist/services/voice/audioRetention.js +2 -0
  733. package/dist/services/voice/audioRetention.js.map +1 -1
  734. package/dist/services/voice/deepgramBackend.d.ts.map +1 -1
  735. package/dist/services/voice/deepgramBackend.js +4 -1
  736. package/dist/services/voice/deepgramBackend.js.map +1 -1
  737. package/dist/services/voice/localNemoBackend.d.ts +31 -0
  738. package/dist/services/voice/localNemoBackend.d.ts.map +1 -0
  739. package/dist/services/voice/localNemoBackend.js +181 -0
  740. package/dist/services/voice/localNemoBackend.js.map +1 -0
  741. package/dist/services/voice/localParakeetBackend.d.ts +31 -0
  742. package/dist/services/voice/localParakeetBackend.d.ts.map +1 -0
  743. package/dist/services/voice/localParakeetBackend.js +180 -0
  744. package/dist/services/voice/localParakeetBackend.js.map +1 -0
  745. package/dist/services/voice/localSttRuntime.d.ts +21 -0
  746. package/dist/services/voice/localSttRuntime.d.ts.map +1 -0
  747. package/dist/services/voice/localSttRuntime.js +87 -0
  748. package/dist/services/voice/localSttRuntime.js.map +1 -0
  749. package/dist/services/voice/localWhisperBackend.d.ts +2 -1
  750. package/dist/services/voice/localWhisperBackend.d.ts.map +1 -1
  751. package/dist/services/voice/localWhisperBackend.js +47 -34
  752. package/dist/services/voice/localWhisperBackend.js.map +1 -1
  753. package/dist/services/voice/nemo_worker.py +232 -0
  754. package/dist/services/voice/parakeet_worker.py +151 -0
  755. package/dist/services/voice/registry.d.ts +19 -4
  756. package/dist/services/voice/registry.d.ts.map +1 -1
  757. package/dist/services/voice/registry.js +72 -22
  758. package/dist/services/voice/registry.js.map +1 -1
  759. package/dist/services/voice/serialQueue.d.ts +17 -0
  760. package/dist/services/voice/serialQueue.d.ts.map +1 -0
  761. package/dist/services/voice/serialQueue.js +24 -0
  762. package/dist/services/voice/serialQueue.js.map +1 -0
  763. package/dist/services/voice/whisper_worker.py +94 -0
  764. package/dist/services/voice/xaiSttBackend.d.ts +1 -1
  765. package/dist/services/voice/xaiSttBackend.d.ts.map +1 -1
  766. package/dist/services/voice/xaiSttBackend.js +15 -3
  767. package/dist/services/voice/xaiSttBackend.js.map +1 -1
  768. package/dist/sessions/agent-excerpt.d.ts +29 -0
  769. package/dist/sessions/agent-excerpt.d.ts.map +1 -0
  770. package/dist/sessions/agent-excerpt.js +128 -0
  771. package/dist/sessions/agent-excerpt.js.map +1 -0
  772. package/dist/sessions/claude-messages.d.ts.map +1 -1
  773. package/dist/sessions/claude-messages.js +75 -4
  774. package/dist/sessions/claude-messages.js.map +1 -1
  775. package/dist/sessions/claude-summary.d.ts +33 -0
  776. package/dist/sessions/claude-summary.d.ts.map +1 -0
  777. package/dist/sessions/claude-summary.js +461 -0
  778. package/dist/sessions/claude-summary.js.map +1 -0
  779. package/dist/sessions/codex-discovery.d.ts +46 -0
  780. package/dist/sessions/codex-discovery.d.ts.map +1 -0
  781. package/dist/sessions/codex-discovery.js +269 -0
  782. package/dist/sessions/codex-discovery.js.map +1 -0
  783. package/dist/sessions/codex-reader.d.ts +96 -13
  784. package/dist/sessions/codex-reader.d.ts.map +1 -1
  785. package/dist/sessions/codex-reader.js +1070 -142
  786. package/dist/sessions/codex-reader.js.map +1 -1
  787. package/dist/sessions/dag.d.ts +25 -4
  788. package/dist/sessions/dag.d.ts.map +1 -1
  789. package/dist/sessions/dag.js +37 -4
  790. package/dist/sessions/dag.js.map +1 -1
  791. package/dist/sessions/gemini-reader.d.ts +3 -1
  792. package/dist/sessions/gemini-reader.d.ts.map +1 -1
  793. package/dist/sessions/gemini-reader.js +17 -8
  794. package/dist/sessions/gemini-reader.js.map +1 -1
  795. package/dist/sessions/grok-reader.d.ts +1 -0
  796. package/dist/sessions/grok-reader.d.ts.map +1 -1
  797. package/dist/sessions/grok-reader.js +11 -5
  798. package/dist/sessions/grok-reader.js.map +1 -1
  799. package/dist/sessions/normalization.d.ts +4 -1
  800. package/dist/sessions/normalization.d.ts.map +1 -1
  801. package/dist/sessions/normalization.js +109 -21
  802. package/dist/sessions/normalization.js.map +1 -1
  803. package/dist/sessions/null-reader.d.ts +31 -0
  804. package/dist/sessions/null-reader.d.ts.map +1 -0
  805. package/dist/sessions/null-reader.js +30 -0
  806. package/dist/sessions/null-reader.js.map +1 -0
  807. package/dist/sessions/opencode-db-reader.d.ts +66 -0
  808. package/dist/sessions/opencode-db-reader.d.ts.map +1 -0
  809. package/dist/sessions/opencode-db-reader.js +333 -0
  810. package/dist/sessions/opencode-db-reader.js.map +1 -0
  811. package/dist/sessions/opencode-reader.d.ts +50 -0
  812. package/dist/sessions/opencode-reader.d.ts.map +1 -1
  813. package/dist/sessions/opencode-reader.js +375 -71
  814. package/dist/sessions/opencode-reader.js.map +1 -1
  815. package/dist/sessions/pagination.d.ts +6 -0
  816. package/dist/sessions/pagination.d.ts.map +1 -1
  817. package/dist/sessions/pagination.js +158 -5
  818. package/dist/sessions/pagination.js.map +1 -1
  819. package/dist/sessions/persisted-augments.d.ts +2 -1
  820. package/dist/sessions/persisted-augments.d.ts.map +1 -1
  821. package/dist/sessions/persisted-augments.js +2 -2
  822. package/dist/sessions/persisted-augments.js.map +1 -1
  823. package/dist/sessions/pi-fork.d.ts +12 -0
  824. package/dist/sessions/pi-fork.d.ts.map +1 -0
  825. package/dist/sessions/pi-fork.js +125 -0
  826. package/dist/sessions/pi-fork.js.map +1 -0
  827. package/dist/sessions/pi-reader.d.ts +81 -0
  828. package/dist/sessions/pi-reader.d.ts.map +1 -0
  829. package/dist/sessions/pi-reader.js +413 -0
  830. package/dist/sessions/pi-reader.js.map +1 -0
  831. package/dist/sessions/provider-resolution.d.ts +10 -3
  832. package/dist/sessions/provider-resolution.d.ts.map +1 -1
  833. package/dist/sessions/provider-resolution.js +62 -6
  834. package/dist/sessions/provider-resolution.js.map +1 -1
  835. package/dist/sessions/reader.d.ts +17 -24
  836. package/dist/sessions/reader.d.ts.map +1 -1
  837. package/dist/sessions/reader.js +86 -157
  838. package/dist/sessions/reader.js.map +1 -1
  839. package/dist/sessions/recap-overlays.d.ts +38 -0
  840. package/dist/sessions/recap-overlays.d.ts.map +1 -0
  841. package/dist/sessions/recap-overlays.js +176 -0
  842. package/dist/sessions/recap-overlays.js.map +1 -0
  843. package/dist/sessions/summary-parser-worker-client.d.ts +80 -0
  844. package/dist/sessions/summary-parser-worker-client.d.ts.map +1 -0
  845. package/dist/sessions/summary-parser-worker-client.js +539 -0
  846. package/dist/sessions/summary-parser-worker-client.js.map +1 -0
  847. package/dist/sessions/summary-parser-worker-entry.d.ts +2 -0
  848. package/dist/sessions/summary-parser-worker-entry.d.ts.map +1 -0
  849. package/dist/sessions/summary-parser-worker-entry.js +29 -0
  850. package/dist/sessions/summary-parser-worker-entry.js.map +1 -0
  851. package/dist/sessions/summary-parser-worker-protocol.d.ts +105 -0
  852. package/dist/sessions/summary-parser-worker-protocol.d.ts.map +1 -0
  853. package/dist/sessions/summary-parser-worker-protocol.js +35 -0
  854. package/dist/sessions/summary-parser-worker-protocol.js.map +1 -0
  855. package/dist/sessions/summary-parser-worker-runner.d.ts +3 -0
  856. package/dist/sessions/summary-parser-worker-runner.d.ts.map +1 -0
  857. package/dist/sessions/summary-parser-worker-runner.js +158 -0
  858. package/dist/sessions/summary-parser-worker-runner.js.map +1 -0
  859. package/dist/sessions/types.d.ts +30 -1
  860. package/dist/sessions/types.d.ts.map +1 -1
  861. package/dist/startupEnv.d.ts +2 -0
  862. package/dist/startupEnv.d.ts.map +1 -0
  863. package/dist/startupEnv.js +97 -0
  864. package/dist/startupEnv.js.map +1 -0
  865. package/dist/subscriptions.d.ts.map +1 -1
  866. package/dist/subscriptions.js +28 -18
  867. package/dist/subscriptions.js.map +1 -1
  868. package/dist/supervisor/ExternalSessionTracker.d.ts +5 -1
  869. package/dist/supervisor/ExternalSessionTracker.d.ts.map +1 -1
  870. package/dist/supervisor/ExternalSessionTracker.js +98 -6
  871. package/dist/supervisor/ExternalSessionTracker.js.map +1 -1
  872. package/dist/supervisor/Process.d.ts +259 -30
  873. package/dist/supervisor/Process.d.ts.map +1 -1
  874. package/dist/supervisor/Process.js +1282 -229
  875. package/dist/supervisor/Process.js.map +1 -1
  876. package/dist/supervisor/Supervisor.d.ts +201 -5
  877. package/dist/supervisor/Supervisor.d.ts.map +1 -1
  878. package/dist/supervisor/Supervisor.js +1074 -55
  879. package/dist/supervisor/Supervisor.js.map +1 -1
  880. package/dist/supervisor/WorkerQueue.d.ts +3 -1
  881. package/dist/supervisor/WorkerQueue.d.ts.map +1 -1
  882. package/dist/supervisor/WorkerQueue.js +1 -0
  883. package/dist/supervisor/WorkerQueue.js.map +1 -1
  884. package/dist/supervisor/composeTimeAnchor.d.ts +36 -0
  885. package/dist/supervisor/composeTimeAnchor.d.ts.map +1 -0
  886. package/dist/supervisor/composeTimeAnchor.js +51 -0
  887. package/dist/supervisor/composeTimeAnchor.js.map +1 -0
  888. package/dist/supervisor/deferredDeliverySettings.d.ts +23 -0
  889. package/dist/supervisor/deferredDeliverySettings.d.ts.map +1 -0
  890. package/dist/supervisor/deferredDeliverySettings.js +40 -0
  891. package/dist/supervisor/deferredDeliverySettings.js.map +1 -0
  892. package/dist/supervisor/liveness.d.ts +5 -2
  893. package/dist/supervisor/liveness.d.ts.map +1 -1
  894. package/dist/supervisor/liveness.js +40 -2
  895. package/dist/supervisor/liveness.js.map +1 -1
  896. package/dist/supervisor/types.d.ts +56 -5
  897. package/dist/supervisor/types.d.ts.map +1 -1
  898. package/dist/supervisor/types.js +0 -2
  899. package/dist/supervisor/types.js.map +1 -1
  900. package/dist/uploads/AttachmentStagingService.d.ts +94 -0
  901. package/dist/uploads/AttachmentStagingService.d.ts.map +1 -0
  902. package/dist/uploads/AttachmentStagingService.js +673 -0
  903. package/dist/uploads/AttachmentStagingService.js.map +1 -0
  904. package/dist/uploads/index.d.ts +2 -0
  905. package/dist/uploads/index.d.ts.map +1 -1
  906. package/dist/uploads/index.js +1 -0
  907. package/dist/uploads/index.js.map +1 -1
  908. package/dist/uploads/manager.d.ts +1 -0
  909. package/dist/uploads/manager.d.ts.map +1 -1
  910. package/dist/uploads/manager.js +72 -12
  911. package/dist/uploads/manager.js.map +1 -1
  912. package/dist/utils/codexRolloutFiles.d.ts +16 -0
  913. package/dist/utils/codexRolloutFiles.d.ts.map +1 -0
  914. package/dist/utils/codexRolloutFiles.js +45 -0
  915. package/dist/utils/codexRolloutFiles.js.map +1 -0
  916. package/dist/utils/jsonl.d.ts +8 -0
  917. package/dist/utils/jsonl.d.ts.map +1 -1
  918. package/dist/utils/jsonl.js +158 -5
  919. package/dist/utils/jsonl.js.map +1 -1
  920. package/dist/utils/publicShareViewerUrl.d.ts.map +1 -1
  921. package/dist/utils/publicShareViewerUrl.js +2 -15
  922. package/dist/utils/publicShareViewerUrl.js.map +1 -1
  923. package/dist/watcher/EventBus.d.ts +42 -4
  924. package/dist/watcher/EventBus.d.ts.map +1 -1
  925. package/dist/watcher/EventBus.js.map +1 -1
  926. package/dist/watcher/FileWatcher.d.ts +47 -0
  927. package/dist/watcher/FileWatcher.d.ts.map +1 -1
  928. package/dist/watcher/FileWatcher.js +185 -14
  929. package/dist/watcher/FileWatcher.js.map +1 -1
  930. package/dist/watcher/index.d.ts +2 -2
  931. package/dist/watcher/index.d.ts.map +1 -1
  932. package/dist/watcher/index.js.map +1 -1
  933. package/dist/yaModuleEnv.d.ts +6 -6
  934. package/dist/yaModuleEnv.d.ts.map +1 -1
  935. package/dist/yaModuleEnv.js +12 -12
  936. package/dist/yaModuleEnv.js.map +1 -1
  937. package/package.json +5 -6
  938. package/client-dist/assets/de-BuEb60Yc.js +0 -6
  939. package/client-dist/assets/es-CRlmPKnE.js +0 -6
  940. package/client-dist/assets/fr-Cglgjc2X.js +0 -6
  941. package/client-dist/assets/index-BNj7ibmq.js +0 -524
  942. package/client-dist/assets/index-CAmsUazi.css +0 -1
  943. package/client-dist/assets/ja-DMb9mFPv.js +0 -6
  944. package/client-dist/assets/zh-CN-D1tbfamz.js +0 -6
@@ -0,0 +1,806 @@
1
+ import * as fs from "node:fs/promises";
2
+ import * as path from "node:path";
3
+ import { randomUUID } from "node:crypto";
4
+ import { ALL_PERMISSION_MODES, ALL_PROVIDERS, isUrlProjectId, } from "../../bundled/@yep-anywhere/shared/dist/index.js";
5
+ const CURRENT_VERSION = 2;
6
+ const MAX_MESSAGE_PREVIEW_LENGTH = 180;
7
+ const RUNNING_DISPATCH_STATE = { status: "running" };
8
+ export class ProjectQueueValidationError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = "ProjectQueueValidationError";
12
+ }
13
+ }
14
+ function isRecord(value) {
15
+ return value !== null && typeof value === "object" && !Array.isArray(value);
16
+ }
17
+ function optionalString(value, field) {
18
+ if (value === undefined)
19
+ return undefined;
20
+ if (typeof value !== "string") {
21
+ throw new ProjectQueueValidationError(`${field} must be a string`);
22
+ }
23
+ const trimmed = value.trim();
24
+ return trimmed || undefined;
25
+ }
26
+ function errorMessage(error) {
27
+ return error instanceof Error ? error.message : String(error);
28
+ }
29
+ function dispatchStatesEqual(a, b) {
30
+ return JSON.stringify(a ?? RUNNING_DISPATCH_STATE) === JSON.stringify(b);
31
+ }
32
+ function normalizeDispatchState(raw, hasItems) {
33
+ if (!hasItems)
34
+ return RUNNING_DISPATCH_STATE;
35
+ if (isRecord(raw) && raw.status === "paused") {
36
+ const reason = raw.reason === "manual" || raw.reason === "restart"
37
+ ? raw.reason
38
+ : undefined;
39
+ const pausedAt = typeof raw.pausedAt === "string" && raw.pausedAt.trim()
40
+ ? raw.pausedAt
41
+ : undefined;
42
+ if (reason && pausedAt) {
43
+ return { status: "paused", reason, pausedAt };
44
+ }
45
+ }
46
+ return {
47
+ status: "paused",
48
+ reason: "restart",
49
+ pausedAt: new Date().toISOString(),
50
+ };
51
+ }
52
+ function optionalProvider(value) {
53
+ if (value === undefined)
54
+ return undefined;
55
+ if (typeof value !== "string" ||
56
+ !ALL_PROVIDERS.includes(value)) {
57
+ throw new ProjectQueueValidationError("target.provider is invalid");
58
+ }
59
+ return value;
60
+ }
61
+ function optionalPermissionMode(value) {
62
+ if (value === undefined)
63
+ return undefined;
64
+ if (typeof value !== "string" ||
65
+ !ALL_PERMISSION_MODES.includes(value)) {
66
+ throw new ProjectQueueValidationError("mode is invalid");
67
+ }
68
+ return value;
69
+ }
70
+ function optionalThinking(value) {
71
+ if (value === undefined)
72
+ return undefined;
73
+ if (typeof value !== "string" || !value.trim()) {
74
+ throw new ProjectQueueValidationError("target.thinking is invalid");
75
+ }
76
+ return value.trim();
77
+ }
78
+ function optionalShowThinking(value) {
79
+ if (value === undefined)
80
+ return undefined;
81
+ if (value !== "default" && value !== "on" && value !== "off") {
82
+ throw new ProjectQueueValidationError("target.showThinking is invalid");
83
+ }
84
+ return value;
85
+ }
86
+ function normalizeUploadedFile(value, index) {
87
+ if (!isRecord(value)) {
88
+ throw new ProjectQueueValidationError(`message.attachments[${index}] must be an object`);
89
+ }
90
+ const id = optionalString(value.id, `message.attachments[${index}].id`);
91
+ const originalName = optionalString(value.originalName, `message.attachments[${index}].originalName`);
92
+ const name = optionalString(value.name, `message.attachments[${index}].name`);
93
+ const filePath = optionalString(value.path, `message.attachments[${index}].path`);
94
+ const mimeType = optionalString(value.mimeType, `message.attachments[${index}].mimeType`);
95
+ if (!id || !originalName || !name || !filePath || !mimeType) {
96
+ throw new ProjectQueueValidationError(`message.attachments[${index}] is missing required fields`);
97
+ }
98
+ if (typeof value.size !== "number" || !Number.isFinite(value.size)) {
99
+ throw new ProjectQueueValidationError(`message.attachments[${index}].size must be a number`);
100
+ }
101
+ const width = typeof value.width === "number" && Number.isFinite(value.width)
102
+ ? value.width
103
+ : undefined;
104
+ const height = typeof value.height === "number" && Number.isFinite(value.height)
105
+ ? value.height
106
+ : undefined;
107
+ return {
108
+ id,
109
+ originalName,
110
+ name,
111
+ path: filePath,
112
+ size: value.size,
113
+ mimeType,
114
+ ...(width !== undefined ? { width } : {}),
115
+ ...(height !== undefined ? { height } : {}),
116
+ };
117
+ }
118
+ function normalizeStagedAttachmentRef(value, index, batchId) {
119
+ if (!isRecord(value)) {
120
+ throw new ProjectQueueValidationError(`message.stagedAttachments.refs[${index}] must be an object`);
121
+ }
122
+ const id = optionalString(value.id, `message.stagedAttachments.refs[${index}].id`);
123
+ const refBatchId = optionalString(value.batchId, `message.stagedAttachments.refs[${index}].batchId`);
124
+ const originalName = optionalString(value.originalName, `message.stagedAttachments.refs[${index}].originalName`);
125
+ const name = optionalString(value.name, `message.stagedAttachments.refs[${index}].name`);
126
+ const mimeType = optionalString(value.mimeType, `message.stagedAttachments.refs[${index}].mimeType`);
127
+ const createdAt = optionalString(value.createdAt, `message.stagedAttachments.refs[${index}].createdAt`);
128
+ const updatedAt = optionalString(value.updatedAt, `message.stagedAttachments.refs[${index}].updatedAt`);
129
+ if (!id ||
130
+ !refBatchId ||
131
+ refBatchId !== batchId ||
132
+ !originalName ||
133
+ !name ||
134
+ !mimeType ||
135
+ !createdAt ||
136
+ !updatedAt) {
137
+ throw new ProjectQueueValidationError(`message.stagedAttachments.refs[${index}] is missing required fields`);
138
+ }
139
+ if (typeof value.size !== "number" || !Number.isFinite(value.size)) {
140
+ throw new ProjectQueueValidationError(`message.stagedAttachments.refs[${index}].size must be a number`);
141
+ }
142
+ const width = typeof value.width === "number" && Number.isFinite(value.width)
143
+ ? value.width
144
+ : undefined;
145
+ const height = typeof value.height === "number" && Number.isFinite(value.height)
146
+ ? value.height
147
+ : undefined;
148
+ return {
149
+ id,
150
+ batchId: refBatchId,
151
+ originalName,
152
+ name,
153
+ size: value.size,
154
+ mimeType,
155
+ ...(width !== undefined ? { width } : {}),
156
+ ...(height !== undefined ? { height } : {}),
157
+ createdAt,
158
+ updatedAt,
159
+ };
160
+ }
161
+ function normalizeStagedAttachments(value) {
162
+ if (!isRecord(value)) {
163
+ throw new ProjectQueueValidationError("message.stagedAttachments must be an object");
164
+ }
165
+ const batchId = optionalString(value.batchId, "message.stagedAttachments.batchId");
166
+ const updatedAt = optionalString(value.updatedAt, "message.stagedAttachments.updatedAt");
167
+ if (!batchId || !updatedAt) {
168
+ throw new ProjectQueueValidationError("message.stagedAttachments is missing required fields");
169
+ }
170
+ if (!Array.isArray(value.refs)) {
171
+ throw new ProjectQueueValidationError("message.stagedAttachments.refs must be an array");
172
+ }
173
+ const refs = value.refs.map((ref, index) => normalizeStagedAttachmentRef(ref, index, batchId));
174
+ if (refs.length === 0) {
175
+ throw new ProjectQueueValidationError("message.stagedAttachments.refs must not be empty");
176
+ }
177
+ return { batchId, refs, updatedAt };
178
+ }
179
+ function normalizeMessage(raw) {
180
+ if (!isRecord(raw)) {
181
+ throw new ProjectQueueValidationError("message must be an object");
182
+ }
183
+ if (typeof raw.text !== "string") {
184
+ throw new ProjectQueueValidationError("message.text is required");
185
+ }
186
+ const text = raw.text;
187
+ const mode = optionalPermissionMode(raw.mode);
188
+ const attachments = raw.attachments === undefined
189
+ ? undefined
190
+ : Array.isArray(raw.attachments)
191
+ ? raw.attachments.map(normalizeUploadedFile)
192
+ : (() => {
193
+ throw new ProjectQueueValidationError("message.attachments must be an array");
194
+ })();
195
+ const stagedAttachments = raw.stagedAttachments === undefined
196
+ ? undefined
197
+ : normalizeStagedAttachments(raw.stagedAttachments);
198
+ if (!text.trim() && !attachments?.length && !stagedAttachments?.refs.length) {
199
+ throw new ProjectQueueValidationError("message.text, message.attachments, or message.stagedAttachments is required");
200
+ }
201
+ return {
202
+ text,
203
+ ...(attachments?.length ? { attachments } : {}),
204
+ ...(stagedAttachments ? { stagedAttachments } : {}),
205
+ ...(mode ? { mode } : {}),
206
+ ...(isRecord(raw.metadata) ? { metadata: raw.metadata } : {}),
207
+ };
208
+ }
209
+ function normalizeTarget(raw) {
210
+ if (!isRecord(raw)) {
211
+ throw new ProjectQueueValidationError("target must be an object");
212
+ }
213
+ const common = {
214
+ provider: optionalProvider(raw.provider),
215
+ mode: optionalPermissionMode(raw.mode),
216
+ model: optionalString(raw.model, "target.model"),
217
+ serviceTier: optionalString(raw.serviceTier, "target.serviceTier"),
218
+ executor: optionalString(raw.executor, "target.executor"),
219
+ thinking: optionalThinking(raw.thinking),
220
+ showThinking: optionalShowThinking(raw.showThinking),
221
+ };
222
+ if (raw.type === "existing-session") {
223
+ const sessionId = optionalString(raw.sessionId, "target.sessionId");
224
+ if (!sessionId) {
225
+ throw new ProjectQueueValidationError("target.sessionId is required");
226
+ }
227
+ return {
228
+ type: "existing-session",
229
+ sessionId,
230
+ ...common,
231
+ };
232
+ }
233
+ if (raw.type === "new-session") {
234
+ return {
235
+ type: "new-session",
236
+ title: optionalString(raw.title, "target.title"),
237
+ ...common,
238
+ };
239
+ }
240
+ throw new ProjectQueueValidationError("target.type is invalid");
241
+ }
242
+ function normalizeCreatedFrom(raw) {
243
+ if (raw === undefined)
244
+ return undefined;
245
+ if (!isRecord(raw)) {
246
+ throw new ProjectQueueValidationError("createdFrom must be an object");
247
+ }
248
+ const sessionId = optionalString(raw.sessionId, "createdFrom.sessionId");
249
+ const client = optionalString(raw.client, "createdFrom.client");
250
+ if (client !== undefined &&
251
+ client !== "toolbar" &&
252
+ client !== "projects-page" &&
253
+ client !== "new-session") {
254
+ throw new ProjectQueueValidationError("createdFrom.client is invalid");
255
+ }
256
+ if (!sessionId && !client)
257
+ return undefined;
258
+ return {
259
+ ...(sessionId ? { sessionId } : {}),
260
+ ...(client ? { client } : {}),
261
+ };
262
+ }
263
+ function normalizeProjectQueueItem(raw) {
264
+ if (!isRecord(raw))
265
+ return null;
266
+ try {
267
+ const id = optionalString(raw.id, "id") ?? randomUUID();
268
+ const projectId = optionalString(raw.projectId, "projectId");
269
+ const projectPath = optionalString(raw.projectPath, "projectPath");
270
+ if (!projectId || !isUrlProjectId(projectId) || !projectPath) {
271
+ return null;
272
+ }
273
+ const createdAt = optionalString(raw.createdAt, "createdAt") ?? new Date().toISOString();
274
+ const updatedAt = optionalString(raw.updatedAt, "updatedAt") ?? createdAt;
275
+ const rawStatus = optionalString(raw.status, "status");
276
+ const status = rawStatus === "failed"
277
+ ? "failed"
278
+ : // A restart means no dispatch is in progress anymore.
279
+ "queued";
280
+ return {
281
+ id,
282
+ projectId,
283
+ projectPath,
284
+ target: normalizeTarget(raw.target),
285
+ message: normalizeMessage(raw.message),
286
+ createdAt,
287
+ updatedAt,
288
+ createdFrom: normalizeCreatedFrom(raw.createdFrom),
289
+ status,
290
+ lastError: optionalString(raw.lastError, "lastError"),
291
+ lastAttemptAt: optionalString(raw.lastAttemptAt, "lastAttemptAt"),
292
+ };
293
+ }
294
+ catch {
295
+ return null;
296
+ }
297
+ }
298
+ function summarizeItem(item) {
299
+ const attachmentCount = (item.message.attachments?.length ?? 0) +
300
+ (item.message.stagedAttachments?.refs.length ?? 0);
301
+ const previewText = item.message.text.trim();
302
+ return {
303
+ id: item.id,
304
+ projectId: item.projectId,
305
+ target: item.target,
306
+ messagePreview: previewText.length > MAX_MESSAGE_PREVIEW_LENGTH
307
+ ? `${previewText.slice(0, MAX_MESSAGE_PREVIEW_LENGTH - 3)}...`
308
+ : previewText,
309
+ message: item.message,
310
+ createdAt: item.createdAt,
311
+ updatedAt: item.updatedAt,
312
+ createdFrom: item.createdFrom,
313
+ status: item.status,
314
+ attachmentCount,
315
+ lastError: item.lastError,
316
+ lastAttemptAt: item.lastAttemptAt,
317
+ };
318
+ }
319
+ function cloneItem(item) {
320
+ return {
321
+ ...item,
322
+ target: { ...item.target },
323
+ message: {
324
+ ...item.message,
325
+ ...(item.message.attachments
326
+ ? { attachments: item.message.attachments.map((file) => ({ ...file })) }
327
+ : {}),
328
+ ...(item.message.stagedAttachments
329
+ ? {
330
+ stagedAttachments: {
331
+ ...item.message.stagedAttachments,
332
+ refs: item.message.stagedAttachments.refs.map((ref) => ({
333
+ ...ref,
334
+ })),
335
+ },
336
+ }
337
+ : {}),
338
+ ...(item.message.metadata
339
+ ? { metadata: { ...item.message.metadata } }
340
+ : {}),
341
+ },
342
+ ...(item.createdFrom ? { createdFrom: { ...item.createdFrom } } : {}),
343
+ };
344
+ }
345
+ export class ProjectQueueService {
346
+ options;
347
+ dataDir;
348
+ filePath;
349
+ state = {
350
+ version: CURRENT_VERSION,
351
+ items: [],
352
+ dispatchState: RUNNING_DISPATCH_STATE,
353
+ };
354
+ initialized = false;
355
+ mutationQueue = Promise.resolve();
356
+ attachmentStagingService;
357
+ constructor(options) {
358
+ this.options = options;
359
+ this.dataDir = options.dataDir;
360
+ this.filePath = path.join(this.dataDir, "project-queues.json");
361
+ this.attachmentStagingService = options.attachmentStagingService;
362
+ }
363
+ setAttachmentStagingService(attachmentStagingService) {
364
+ this.attachmentStagingService = attachmentStagingService;
365
+ }
366
+ async initialize() {
367
+ if (this.initialized)
368
+ return;
369
+ await fs.mkdir(this.dataDir, { recursive: true });
370
+ try {
371
+ const content = await fs.readFile(this.filePath, "utf-8");
372
+ const parsed = JSON.parse(content);
373
+ const rawItems = Array.isArray(parsed.items) ? parsed.items : [];
374
+ const items = rawItems
375
+ .map(normalizeProjectQueueItem)
376
+ .filter((item) => item !== null);
377
+ const dispatchState = normalizeDispatchState(parsed.dispatchState, items.length > 0);
378
+ this.state = {
379
+ version: CURRENT_VERSION,
380
+ items,
381
+ dispatchState,
382
+ };
383
+ const needsSave = parsed.version !== CURRENT_VERSION ||
384
+ items.length !== rawItems.length ||
385
+ !dispatchStatesEqual(dispatchState, parsed.dispatchState) ||
386
+ rawItems.some((item) => isRecord(item) &&
387
+ item.status !== undefined &&
388
+ item.status !== "queued" &&
389
+ item.status !== "failed");
390
+ if (needsSave) {
391
+ await this.save();
392
+ }
393
+ }
394
+ catch (error) {
395
+ if (error.code !== "ENOENT") {
396
+ console.warn("[ProjectQueueService] Failed to load project queues, starting fresh:", error);
397
+ }
398
+ this.state = {
399
+ version: CURRENT_VERSION,
400
+ items: [],
401
+ dispatchState: RUNNING_DISPATCH_STATE,
402
+ };
403
+ }
404
+ this.initialized = true;
405
+ }
406
+ listProject(projectId) {
407
+ this.ensureInitialized();
408
+ return {
409
+ projectId,
410
+ items: this.state.items
411
+ .filter((item) => item.projectId === projectId)
412
+ .map(summarizeItem),
413
+ dispatchState: this.state.dispatchState,
414
+ };
415
+ }
416
+ listAll() {
417
+ this.ensureInitialized();
418
+ return this.state.items.map(summarizeItem);
419
+ }
420
+ getDispatchState() {
421
+ this.ensureInitialized();
422
+ return this.state.dispatchState;
423
+ }
424
+ isDispatchPaused() {
425
+ this.ensureInitialized();
426
+ return this.state.dispatchState.status === "paused";
427
+ }
428
+ getProjectIdsWithDispatchableItems() {
429
+ this.ensureInitialized();
430
+ if (this.isDispatchPaused())
431
+ return [];
432
+ const projectIds = new Set();
433
+ for (const item of this.state.items) {
434
+ if (projectIds.has(item.projectId))
435
+ continue;
436
+ const first = this.state.items.find((candidate) => candidate.projectId === item.projectId);
437
+ if (first?.status === "queued") {
438
+ projectIds.add(item.projectId);
439
+ }
440
+ }
441
+ return [...projectIds];
442
+ }
443
+ hasDispatchableItem(projectId) {
444
+ this.ensureInitialized();
445
+ if (this.isDispatchPaused())
446
+ return false;
447
+ return (this.state.items.find((item) => item.projectId === projectId)?.status ===
448
+ "queued");
449
+ }
450
+ async pauseDispatch(reason = "manual") {
451
+ return this.withMutation(async () => {
452
+ this.ensureInitialized();
453
+ if (this.state.items.length === 0) {
454
+ throw new ProjectQueueValidationError("Cannot pause an empty Project Queue");
455
+ }
456
+ this.state.dispatchState = {
457
+ status: "paused",
458
+ reason,
459
+ pausedAt: new Date().toISOString(),
460
+ };
461
+ await this.save();
462
+ this.emitAllProjectChanges("paused");
463
+ return this.state.dispatchState;
464
+ });
465
+ }
466
+ async resumeDispatch() {
467
+ return this.withMutation(async () => {
468
+ this.ensureInitialized();
469
+ this.state.dispatchState = RUNNING_DISPATCH_STATE;
470
+ await this.save();
471
+ this.emitAllProjectChanges("resumed");
472
+ return this.state.dispatchState;
473
+ });
474
+ }
475
+ async createItem(params) {
476
+ return this.withMutation(async () => {
477
+ this.ensureInitialized();
478
+ const now = new Date().toISOString();
479
+ const itemId = randomUUID();
480
+ const message = await this.prepareMessageForItem(itemId, normalizeMessage(params.request.message));
481
+ const item = {
482
+ id: itemId,
483
+ projectId: params.projectId,
484
+ projectPath: params.projectPath,
485
+ target: normalizeTarget(params.request.target),
486
+ message,
487
+ createdAt: now,
488
+ updatedAt: now,
489
+ createdFrom: normalizeCreatedFrom(params.request.createdFrom),
490
+ status: "queued",
491
+ };
492
+ this.state.items.push(item);
493
+ await this.save();
494
+ this.emitChange(params.projectId, "created", item.id);
495
+ return summarizeItem(item);
496
+ });
497
+ }
498
+ async updateItem(projectId, itemId, request) {
499
+ return this.withMutation(async () => {
500
+ this.ensureInitialized();
501
+ const index = this.findProjectItemIndex(projectId, itemId);
502
+ if (index === -1)
503
+ return null;
504
+ const existing = this.state.items[index];
505
+ if (existing.status === "dispatching") {
506
+ throw new ProjectQueueValidationError("Cannot update an item while it is dispatching");
507
+ }
508
+ const updated = {
509
+ ...existing,
510
+ ...(request.target !== undefined
511
+ ? { target: normalizeTarget(request.target) }
512
+ : {}),
513
+ ...(request.message !== undefined
514
+ ? {
515
+ message: await this.prepareMessageForItem(existing.id, normalizeMessage(request.message), existing.message.stagedAttachments),
516
+ }
517
+ : {}),
518
+ status: existing.status === "failed" ? "queued" : existing.status,
519
+ lastError: undefined,
520
+ updatedAt: new Date().toISOString(),
521
+ };
522
+ this.state.items[index] = updated;
523
+ await this.save();
524
+ if (request.message !== undefined) {
525
+ await this.cleanupReplacedQueueAttachments(existing.id, existing.message.stagedAttachments, updated.message.stagedAttachments);
526
+ }
527
+ this.emitChange(projectId, "updated", itemId);
528
+ return summarizeItem(updated);
529
+ });
530
+ }
531
+ async deleteItem(projectId, itemId) {
532
+ return this.withMutation(async () => {
533
+ this.ensureInitialized();
534
+ const index = this.findProjectItemIndex(projectId, itemId);
535
+ if (index === -1)
536
+ return false;
537
+ if (this.state.items[index]?.status === "dispatching") {
538
+ throw new ProjectQueueValidationError("Cannot delete an item while it is dispatching");
539
+ }
540
+ const [deleted] = this.state.items.splice(index, 1);
541
+ this.clearDispatchPauseIfEmpty();
542
+ await this.save();
543
+ await this.cleanupQueueAttachments(deleted);
544
+ this.emitChange(projectId, "deleted", itemId);
545
+ return true;
546
+ });
547
+ }
548
+ async retryItem(projectId, itemId) {
549
+ return this.withMutation(async () => {
550
+ this.ensureInitialized();
551
+ const index = this.findProjectItemIndex(projectId, itemId);
552
+ if (index === -1)
553
+ return null;
554
+ const existing = this.state.items[index];
555
+ if (existing.status === "dispatching") {
556
+ throw new ProjectQueueValidationError("Cannot retry an item while it is dispatching");
557
+ }
558
+ const updated = {
559
+ ...existing,
560
+ status: "queued",
561
+ lastError: undefined,
562
+ updatedAt: new Date().toISOString(),
563
+ };
564
+ this.state.items[index] = updated;
565
+ await this.save();
566
+ this.emitChange(projectId, "retry", itemId);
567
+ return summarizeItem(updated);
568
+ });
569
+ }
570
+ async moveItemToTop(projectId, itemId) {
571
+ return this.withMutation(async () => {
572
+ this.ensureInitialized();
573
+ const index = this.findProjectItemIndex(projectId, itemId);
574
+ if (index === -1)
575
+ return null;
576
+ const existing = this.state.items[index];
577
+ if (existing.status === "dispatching") {
578
+ throw new ProjectQueueValidationError("Cannot reorder an item while it is dispatching");
579
+ }
580
+ const projectIndexes = this.getProjectItemIndexes(projectId);
581
+ const projectItems = projectIndexes.map((projectIndex) => this.state.items[projectIndex]);
582
+ const originalIds = projectItems.map((item) => item.id);
583
+ const projectItemIndex = projectItems.findIndex((item) => item.id === itemId);
584
+ if (projectItemIndex === -1)
585
+ return null;
586
+ const [removed] = projectItems.splice(projectItemIndex, 1);
587
+ const moved = {
588
+ ...removed,
589
+ updatedAt: new Date().toISOString(),
590
+ };
591
+ const firstMovableIndex = projectItems.findIndex((item) => item.status !== "dispatching");
592
+ projectItems.splice(firstMovableIndex === -1 ? projectItems.length : firstMovableIndex, 0, moved);
593
+ const reordered = projectItems.some((item, position) => item.id !== originalIds[position]);
594
+ if (!reordered) {
595
+ return summarizeItem(existing);
596
+ }
597
+ for (const [position, projectIndex] of projectIndexes.entries()) {
598
+ this.state.items[projectIndex] = projectItems[position];
599
+ }
600
+ await this.save();
601
+ this.emitChange(projectId, "reordered", itemId);
602
+ return summarizeItem(moved);
603
+ });
604
+ }
605
+ async claimNextDispatchableItem(projectId) {
606
+ return this.claimDispatchableItem(projectId);
607
+ }
608
+ async claimDispatchableItem(projectId, itemId) {
609
+ return this.withMutation(async () => {
610
+ this.ensureInitialized();
611
+ if (this.isDispatchPaused())
612
+ return null;
613
+ const index = itemId
614
+ ? this.findProjectItemIndex(projectId, itemId)
615
+ : this.state.items.findIndex((item) => item.projectId === projectId);
616
+ if (index === -1)
617
+ return null;
618
+ const existing = this.state.items[index];
619
+ if (existing.status !== "queued")
620
+ return null;
621
+ const now = new Date().toISOString();
622
+ const updated = {
623
+ ...existing,
624
+ status: "dispatching",
625
+ lastError: undefined,
626
+ lastAttemptAt: now,
627
+ updatedAt: now,
628
+ };
629
+ this.state.items[index] = updated;
630
+ await this.save();
631
+ this.emitChange(projectId, "dispatching", updated.id);
632
+ return cloneItem(updated);
633
+ });
634
+ }
635
+ async releaseDispatchingItem(projectId, itemId) {
636
+ return this.withMutation(async () => {
637
+ this.ensureInitialized();
638
+ const index = this.findProjectItemIndex(projectId, itemId);
639
+ if (index === -1)
640
+ return null;
641
+ const existing = this.state.items[index];
642
+ if (existing.status !== "dispatching")
643
+ return null;
644
+ const updated = {
645
+ ...existing,
646
+ status: "queued",
647
+ lastError: undefined,
648
+ updatedAt: new Date().toISOString(),
649
+ };
650
+ this.state.items[index] = updated;
651
+ await this.save();
652
+ this.emitChange(projectId, "released", itemId);
653
+ return summarizeItem(updated);
654
+ });
655
+ }
656
+ async completeDispatch(projectId, itemId) {
657
+ return this.withMutation(async () => {
658
+ this.ensureInitialized();
659
+ const index = this.findProjectItemIndex(projectId, itemId);
660
+ if (index === -1)
661
+ return false;
662
+ const [completed] = this.state.items.splice(index, 1);
663
+ this.clearDispatchPauseIfEmpty();
664
+ await this.save();
665
+ await this.cleanupQueueAttachments(completed);
666
+ this.emitChange(projectId, "promoted", itemId);
667
+ return true;
668
+ });
669
+ }
670
+ async failDispatch(projectId, itemId, error) {
671
+ return this.withMutation(async () => {
672
+ this.ensureInitialized();
673
+ const index = this.findProjectItemIndex(projectId, itemId);
674
+ if (index === -1)
675
+ return null;
676
+ const existing = this.state.items[index];
677
+ const now = new Date().toISOString();
678
+ const updated = {
679
+ ...existing,
680
+ status: "failed",
681
+ lastError: error,
682
+ lastAttemptAt: now,
683
+ updatedAt: now,
684
+ };
685
+ this.state.items[index] = updated;
686
+ await this.save();
687
+ this.emitChange(projectId, "failed", itemId);
688
+ return summarizeItem(updated);
689
+ });
690
+ }
691
+ getFilePath() {
692
+ return this.filePath;
693
+ }
694
+ findProjectItemIndex(projectId, itemId) {
695
+ return this.state.items.findIndex((item) => item.projectId === projectId && item.id === itemId);
696
+ }
697
+ getProjectItemIndexes(projectId) {
698
+ const indexes = [];
699
+ for (const [index, item] of this.state.items.entries()) {
700
+ if (item.projectId === projectId)
701
+ indexes.push(index);
702
+ }
703
+ return indexes;
704
+ }
705
+ clearDispatchPauseIfEmpty() {
706
+ if (this.state.items.length > 0)
707
+ return;
708
+ this.state.dispatchState = RUNNING_DISPATCH_STATE;
709
+ }
710
+ getProjectIdsWithItems() {
711
+ return [...new Set(this.state.items.map((item) => item.projectId))];
712
+ }
713
+ ensureInitialized() {
714
+ if (!this.initialized) {
715
+ throw new Error("ProjectQueueService not initialized. Call initialize() first.");
716
+ }
717
+ }
718
+ async withMutation(fn) {
719
+ const run = this.mutationQueue.then(fn, fn);
720
+ this.mutationQueue = run.then(() => undefined, () => undefined);
721
+ return run;
722
+ }
723
+ async save() {
724
+ const tmpPath = `${this.filePath}.tmp`;
725
+ await fs.mkdir(this.dataDir, { recursive: true });
726
+ await fs.writeFile(tmpPath, JSON.stringify(this.state, null, 2));
727
+ await fs.rename(tmpPath, this.filePath);
728
+ }
729
+ async prepareMessageForItem(itemId, message, existingStagedAttachments) {
730
+ if (!message.stagedAttachments) {
731
+ return message;
732
+ }
733
+ const stagedAttachments = await this.prepareStagedAttachmentsForItem(itemId, message.stagedAttachments, existingStagedAttachments);
734
+ return {
735
+ ...message,
736
+ stagedAttachments,
737
+ };
738
+ }
739
+ async prepareStagedAttachmentsForItem(itemId, stagedAttachments, existingStagedAttachments) {
740
+ const staging = this.attachmentStagingService;
741
+ if (!staging) {
742
+ throw new ProjectQueueValidationError("message.stagedAttachments is not supported");
743
+ }
744
+ const refsMatchExisting = existingStagedAttachments !== undefined &&
745
+ existingStagedAttachments.batchId === stagedAttachments.batchId &&
746
+ existingStagedAttachments.refs.length === stagedAttachments.refs.length &&
747
+ existingStagedAttachments.refs.every((ref, index) => ref.id === stagedAttachments.refs[index]?.id);
748
+ try {
749
+ const refs = refsMatchExisting
750
+ ? await staging.validateQueueRefs(itemId, stagedAttachments.refs)
751
+ : await staging.transferDraftAttachmentsToQueue({
752
+ batchId: stagedAttachments.batchId,
753
+ queueItemId: itemId,
754
+ refs: stagedAttachments.refs,
755
+ });
756
+ const batchId = refs[0]?.batchId ?? stagedAttachments.batchId;
757
+ return {
758
+ batchId,
759
+ refs,
760
+ updatedAt: new Date().toISOString(),
761
+ };
762
+ }
763
+ catch (error) {
764
+ throw new ProjectQueueValidationError(`message.stagedAttachments is invalid: ${errorMessage(error)}`);
765
+ }
766
+ }
767
+ async cleanupQueueAttachments(item) {
768
+ if (!item?.message.stagedAttachments || !this.attachmentStagingService) {
769
+ return;
770
+ }
771
+ await this.attachmentStagingService.deleteQueueAttachments(item.id);
772
+ }
773
+ async cleanupReplacedQueueAttachments(itemId, previous, next) {
774
+ if (!previous || !this.attachmentStagingService) {
775
+ return;
776
+ }
777
+ const keptIds = new Set(next?.refs.map((ref) => ref.id) ?? []);
778
+ for (const ref of previous.refs) {
779
+ if (keptIds.has(ref.id))
780
+ continue;
781
+ const record = this.attachmentStagingService.getRecord(ref.id);
782
+ if (record?.owner.type === "project-queue" &&
783
+ record.owner.queueItemId === itemId) {
784
+ await this.attachmentStagingService.deleteAttachment(ref.id);
785
+ }
786
+ }
787
+ }
788
+ emitChange(projectId, reason, itemId) {
789
+ const event = {
790
+ type: "project-queue-changed",
791
+ projectId,
792
+ items: this.listProject(projectId).items,
793
+ reason,
794
+ ...(itemId ? { itemId } : {}),
795
+ dispatchState: this.state.dispatchState,
796
+ timestamp: new Date().toISOString(),
797
+ };
798
+ this.options.eventBus?.emit(event);
799
+ }
800
+ emitAllProjectChanges(reason) {
801
+ for (const projectId of this.getProjectIdsWithItems()) {
802
+ this.emitChange(projectId, reason);
803
+ }
804
+ }
805
+ }
806
+ //# sourceMappingURL=ProjectQueueService.js.map