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
@@ -19,6 +19,8 @@ import { parseOpenCodeSSEEvent } from "../../../bundled/@yep-anywhere/shared/dis
19
19
  import { getLogger } from "../../logging/logger.js";
20
20
  import { whichCommand } from "../cli-detection.js";
21
21
  import { MessageQueue } from "../messageQueue.js";
22
+ import { mapOpenCodeQuestionAnswers, normalizeOpenCodeTool, } from "./opencode-tools.js";
23
+ import { getLocalGlmModelDescription, LOCAL_GLM_MODEL_PREFIX, parseOpenCodeModelSelection, parseOpenCodeModelVariants, } from "./opencode-models.js";
22
24
  const execAsync = promisify(exec);
23
25
  function execFileUtf8(file, args, options) {
24
26
  return new Promise((resolve, reject) => {
@@ -33,47 +35,14 @@ function execFileUtf8(file, args, options) {
33
35
  }
34
36
  /** Port counter for unique port assignment */
35
37
  let nextPort = 14100;
36
- const LOCAL_GLM_MODEL_PREFIX = "local-glm/";
37
- function getLocalGlmModelDescription(modelId) {
38
- const servedModelName = modelId.slice(LOCAL_GLM_MODEL_PREFIX.length);
39
- const vllmModelArg = servedModelName === "Qwen/Qwen3.6-27B"
40
- ? "Qwen/Qwen3.6-27B-FP8"
41
- : servedModelName;
42
- const command = [
43
- "pixi run vllm serve",
44
- vllmModelArg,
45
- "--served-model-name",
46
- servedModelName,
47
- "--tool-call-parser qwen3_coder",
48
- "--reasoning-parser qwen3",
49
- "--enable-auto-tool-choice",
50
- "--port 8001",
51
- ].join(" ");
52
- return `Start matching vLLM server: ${command}`;
53
- }
54
38
  /**
55
39
  * Get next available port for OpenCode server.
56
40
  */
57
41
  function getNextPort() {
58
42
  return nextPort++;
59
43
  }
60
- function parseOpenCodeModelSelection(model) {
61
- if (!model || model === "default" || model === "auto") {
62
- return undefined;
63
- }
64
- const slashIndex = model.indexOf("/");
65
- if (slashIndex <= 0 || slashIndex === model.length - 1) {
66
- throw new Error(`OpenCode model must use provider/model format, got "${model}"`);
67
- }
68
- return {
69
- providerID: model.slice(0, slashIndex),
70
- modelID: model.slice(slashIndex + 1),
71
- };
72
- }
73
44
  function isProcessStillAlive(process) {
74
- return (!process.killed &&
75
- process.exitCode === null &&
76
- process.signalCode === null);
45
+ return (!process.killed && process.exitCode === null && process.signalCode === null);
77
46
  }
78
47
  function updateOpenCodeRuntimeEvent(runtime, event) {
79
48
  const now = new Date();
@@ -103,6 +72,9 @@ function getOpenCodeEventSessionId(event) {
103
72
  return event.properties.part.sessionID;
104
73
  case "message.part.delta":
105
74
  return event.properties.sessionID;
75
+ case "permission.asked":
76
+ case "question.asked":
77
+ return event.properties.sessionID;
106
78
  default:
107
79
  return undefined;
108
80
  }
@@ -116,14 +88,15 @@ export class OpenCodeProvider {
116
88
  name = "opencode";
117
89
  displayName = "OpenCode";
118
90
  supportsPermissionMode = false; // OpenCode has its own permission model
119
- supportsThinkingToggle = false;
91
+ // OpenCode exposes per-model reasoning effort via model "variants"
92
+ // (low/medium/high/xhigh/max); the effort selector is gated per-model by
93
+ // ModelInfo.supportsEffort/supportedEffortLevels from getAvailableModels.
94
+ supportsThinkingToggle = true;
120
95
  supportsSlashCommands = false;
121
96
  supportsSteering = false;
122
97
  opencodePath;
123
- timeout;
124
98
  constructor(config = {}) {
125
99
  this.opencodePath = config.opencodePath;
126
- this.timeout = config.timeout ?? 300000; // 5 minutes default
127
100
  }
128
101
  /**
129
102
  * Check if the OpenCode CLI is installed.
@@ -173,14 +146,20 @@ export class OpenCodeProvider {
173
146
  encoding: "utf-8",
174
147
  timeout: 10000,
175
148
  });
149
+ // Best-effort: learn each model's reasoning-effort variants so the UI can
150
+ // offer an effort selector for models that support it (e.g. copilot opus).
151
+ const variantMap = await this.getModelVariantMap(opencodePath);
176
152
  const discoveredModels = [];
177
153
  for (const line of result.split("\n")) {
178
154
  const trimmed = line.trim();
179
155
  if (trimmed && !trimmed.startsWith("─")) {
180
- discoveredModels.push({
181
- id: trimmed,
182
- name: trimmed,
183
- });
156
+ const model = { id: trimmed, name: trimmed };
157
+ const effortLevels = variantMap.get(trimmed);
158
+ if (effortLevels && effortLevels.length > 0) {
159
+ model.supportsEffort = true;
160
+ model.supportedEffortLevels = effortLevels;
161
+ }
162
+ discoveredModels.push(model);
184
163
  }
185
164
  }
186
165
  const localGlmModels = discoveredModels
@@ -208,6 +187,20 @@ export class OpenCodeProvider {
208
187
  ];
209
188
  }
210
189
  }
190
+ /**
191
+ * Best-effort fetch of per-model reasoning-effort variants from
192
+ * `opencode models --verbose`. Returns an empty map on any failure so model
193
+ * discovery still works without effort metadata.
194
+ */
195
+ async getModelVariantMap(opencodePath) {
196
+ try {
197
+ const { stdout } = await execFileUtf8(opencodePath, ["models", "--verbose"], { encoding: "utf-8", timeout: 15000 });
198
+ return parseOpenCodeModelVariants(stdout);
199
+ }
200
+ catch {
201
+ return new Map();
202
+ }
203
+ }
211
204
  /**
212
205
  * Start a new OpenCode session.
213
206
  *
@@ -260,7 +253,10 @@ export class OpenCodeProvider {
260
253
  try {
261
254
  const sessionResponse = await fetch(`${baseUrl}/session`, {
262
255
  method: "POST",
263
- headers: { Accept: "application/json", "Content-Type": "application/json" },
256
+ headers: {
257
+ Accept: "application/json",
258
+ "Content-Type": "application/json",
259
+ },
264
260
  body: JSON.stringify({ title: "Yep Anywhere Session" }),
265
261
  });
266
262
  if (!sessionResponse.ok) {
@@ -296,6 +292,12 @@ export class OpenCodeProvider {
296
292
  iterator,
297
293
  queue,
298
294
  abort: () => abortController.abort(),
295
+ // Graceful turn interrupt: stop the in-flight turn via the server's own
296
+ // abort endpoint and keep the per-session `opencode serve` alive so the
297
+ // session can continue. (abort(), by contrast, ends the session by
298
+ // killing the server.) The SSE loop already treats the resulting
299
+ // session.idle as turn-complete.
300
+ interrupt: () => this.interruptTurn(runtime),
299
301
  isProcessAlive: () => isProcessStillAlive(serverProcess),
300
302
  probeLiveness: () => this.probeLiveness(runtime),
301
303
  getProviderActivity: () => this.getProviderActivity(runtime),
@@ -304,6 +306,29 @@ export class OpenCodeProvider {
304
306
  },
305
307
  };
306
308
  }
309
+ /**
310
+ * Stop the current OpenCode turn without killing the per-session server,
311
+ * via POST /session/:id/abort. Returns true when the request succeeds.
312
+ */
313
+ async interruptTurn(runtime) {
314
+ const log = getLogger();
315
+ try {
316
+ const response = await fetch(`${runtime.baseUrl}/session/${runtime.opencodeSessionId}/abort`, {
317
+ method: "POST",
318
+ headers: { Accept: "application/json" },
319
+ signal: AbortSignal.timeout(5000),
320
+ });
321
+ if (!response.ok) {
322
+ log.warn({ status: response.status, sessionId: runtime.opencodeSessionId }, "OpenCode turn abort request failed");
323
+ return false;
324
+ }
325
+ return true;
326
+ }
327
+ catch (error) {
328
+ log.warn({ error, sessionId: runtime.opencodeSessionId }, "OpenCode turn abort request errored");
329
+ return false;
330
+ }
331
+ }
307
332
  /**
308
333
  * Return a minimal AgentSession whose iterator immediately yields one error message.
309
334
  */
@@ -461,6 +486,7 @@ export class OpenCodeProvider {
461
486
  if (signal.aborted)
462
487
  break;
463
488
  let userPrompt = this.extractTextFromMessage(message);
489
+ const imageParts = this.extractImageFileParts(message);
464
490
  if (isFirstNewMessage && options.globalInstructions) {
465
491
  userPrompt = `[Global context]\n${options.globalInstructions}\n\n---\n\n${userPrompt}`;
466
492
  }
@@ -474,7 +500,7 @@ export class OpenCodeProvider {
474
500
  content: userPrompt,
475
501
  },
476
502
  };
477
- yield* this.sendMessageAndStream(runtime, sessionId, userPrompt, options.model, signal);
503
+ yield* this.sendMessageAndStream(runtime, sessionId, userPrompt, options.model, signal, options.onToolApproval, options.effort, imageParts);
478
504
  }
479
505
  }
480
506
  finally {
@@ -488,7 +514,7 @@ export class OpenCodeProvider {
488
514
  /**
489
515
  * Send a message to OpenCode and stream the response via SSE.
490
516
  */
491
- async *sendMessageAndStream(runtime, sessionId, text, model, signal) {
517
+ async *sendMessageAndStream(runtime, sessionId, text, model, signal, onToolApproval, effort, imageParts = []) {
492
518
  const log = getLogger();
493
519
  let modelSelection;
494
520
  try {
@@ -505,12 +531,13 @@ export class OpenCodeProvider {
505
531
  const sseUrl = `${runtime.baseUrl}/event?directory=${encodeURIComponent(runtime.cwd)}`;
506
532
  const sseController = new AbortController();
507
533
  const streamState = {
508
- currentAssistantMessageId: null,
509
534
  messageRolesById: new Map(),
510
535
  partMessageIdsById: new Map(),
511
536
  partTypesById: new Map(),
512
537
  partTextById: new Map(),
513
538
  partSentLengthsById: new Map(),
539
+ toolUseEmitted: new Set(),
540
+ toolResultEmitted: new Set(),
514
541
  sawAssistantContent: false,
515
542
  usedPostBodyFallback: false,
516
543
  };
@@ -564,17 +591,26 @@ export class OpenCodeProvider {
564
591
  const messageEvent = event;
565
592
  streamState.messageRolesById.set(messageEvent.properties.info.id, messageEvent.properties.info.role);
566
593
  }
567
- // Convert to SDK message
568
- const sdkMessage = this.convertSSEEventToSDKMessage(event, sessionId, streamState);
569
- if (sdkMessage) {
594
+ // Interactive prompts: route to YA's approval/question UI and POST
595
+ // the reply back to opencode. Fire-and-forget so the SSE read loop
596
+ // keeps draining (the tool's own progress/result events follow the
597
+ // reply). The handlers never throw into the loop.
598
+ if (event.type === "permission.asked") {
599
+ void this.handlePermissionAsked(runtime, event, onToolApproval, signal);
600
+ continue;
601
+ }
602
+ if (event.type === "question.asked") {
603
+ void this.handleQuestionAsked(runtime, event, onToolApproval, signal);
604
+ continue;
605
+ }
606
+ // Convert to SDK messages (a single unified tool part can yield
607
+ // both a tool_use and a tool_result, so this is an array).
608
+ const sdkMessages = this.convertSSEEventToSDKMessage(event, sessionId, streamState);
609
+ for (const sdkMessage of sdkMessages) {
570
610
  if (sdkMessage.type === "assistant") {
571
611
  if (streamState.usedPostBodyFallback) {
572
612
  continue;
573
613
  }
574
- if ("uuid" in sdkMessage && sdkMessage.uuid) {
575
- streamState.currentAssistantMessageId =
576
- sdkMessage.uuid;
577
- }
578
614
  streamState.sawAssistantContent = true;
579
615
  }
580
616
  state.eventBuffer.push(sdkMessage);
@@ -618,7 +654,12 @@ export class OpenCodeProvider {
618
654
  },
619
655
  body: JSON.stringify({
620
656
  ...(modelSelection ? { model: modelSelection } : {}),
621
- parts: [{ type: "text", text }],
657
+ // OpenCode selects reasoning effort by naming a model variant; the
658
+ // variant keys (low/medium/high/xhigh/max) coincide with YA's
659
+ // EffortLevel. Only sent when YA provides an effort (the UI gates
660
+ // this to models advertised with supportedEffortLevels).
661
+ ...(effort ? { variant: effort } : {}),
662
+ parts: [{ type: "text", text }, ...imageParts],
622
663
  }),
623
664
  signal,
624
665
  });
@@ -626,7 +667,9 @@ export class OpenCodeProvider {
626
667
  const errorText = await response.text();
627
668
  throw new Error(`Failed to send message: ${response.status} ${errorText}`);
628
669
  }
629
- const responsePayload = (await response.json().catch(() => null));
670
+ const responsePayload = (await response
671
+ .json()
672
+ .catch(() => null));
630
673
  if (!streamState.sawAssistantContent) {
631
674
  const fallbackMessages = this.convertOpenCodeMessageResponseToSDKMessages(responsePayload, sessionId);
632
675
  if (fallbackMessages.length > 0) {
@@ -690,6 +733,81 @@ export class OpenCodeProvider {
690
733
  session_id: sessionId,
691
734
  };
692
735
  }
736
+ /**
737
+ * Bridge an opencode permission request to YA's approval UI, then reply.
738
+ * allow -> "once", deny -> "reject". Never throws; on any failure or missing
739
+ * approver, reject so the gated tool does not hang.
740
+ */
741
+ async handlePermissionAsked(runtime, event, onToolApproval, signal) {
742
+ const log = getLogger();
743
+ const { id: requestId, permission, metadata } = event.properties;
744
+ let reply = "reject";
745
+ try {
746
+ if (onToolApproval) {
747
+ const { name, input } = normalizeOpenCodeTool(permission, metadata);
748
+ const result = await onToolApproval(name, input, { signal });
749
+ reply = result.behavior === "allow" ? "once" : "reject";
750
+ }
751
+ }
752
+ catch (error) {
753
+ log.warn({ error, requestId }, "OpenCode permission approval failed; rejecting");
754
+ }
755
+ await this.postOpenCodeReply(runtime, `/permission/${requestId}/reply`, { reply }, requestId);
756
+ }
757
+ /**
758
+ * Bridge an opencode interactive question to YA's AskUserQuestion UI, then
759
+ * reply with the selected option labels per question (or reject). The
760
+ * opencode question shape matches YA's AskUserQuestion input, so the existing
761
+ * pending-input UI handles it. Never throws.
762
+ */
763
+ async handleQuestionAsked(runtime, event, onToolApproval, signal) {
764
+ const log = getLogger();
765
+ const { id: requestId, questions } = event.properties;
766
+ try {
767
+ if (onToolApproval) {
768
+ const result = await onToolApproval("AskUserQuestion", { questions }, { signal });
769
+ if (result.behavior === "allow") {
770
+ const answers = mapOpenCodeQuestionAnswers(questions, this.extractQuestionAnswers(result.updatedInput));
771
+ await this.postOpenCodeReply(runtime, `/question/${requestId}/reply`, { answers }, requestId);
772
+ return;
773
+ }
774
+ }
775
+ }
776
+ catch (error) {
777
+ log.warn({ error, requestId }, "OpenCode question handling failed; rejecting");
778
+ }
779
+ await this.postOpenCodeReply(runtime, `/question/${requestId}/reject`, {}, requestId);
780
+ }
781
+ extractQuestionAnswers(updatedInput) {
782
+ if (updatedInput &&
783
+ typeof updatedInput === "object" &&
784
+ "answers" in updatedInput) {
785
+ const answers = updatedInput.answers;
786
+ if (answers && typeof answers === "object" && !Array.isArray(answers)) {
787
+ return answers;
788
+ }
789
+ }
790
+ return undefined;
791
+ }
792
+ async postOpenCodeReply(runtime, path, body, requestId) {
793
+ const log = getLogger();
794
+ try {
795
+ const response = await fetch(`${runtime.baseUrl}${path}`, {
796
+ method: "POST",
797
+ headers: {
798
+ Accept: "application/json",
799
+ "Content-Type": "application/json",
800
+ },
801
+ body: JSON.stringify(body),
802
+ });
803
+ if (!response.ok) {
804
+ log.warn({ requestId, status: response.status, path }, "OpenCode interactive reply failed");
805
+ }
806
+ }
807
+ catch (error) {
808
+ log.warn({ error, requestId, path }, "OpenCode interactive reply request errored");
809
+ }
810
+ }
693
811
  /**
694
812
  * Convert an OpenCode SSE event to an SDK message.
695
813
  */
@@ -709,14 +827,15 @@ export class OpenCodeProvider {
709
827
  streamState.partMessageIdsById.get(deltaEvent.properties.partID);
710
828
  const partType = streamState.partTypesById.get(deltaEvent.properties.partID);
711
829
  if (!messageId || !partType || deltaEvent.properties.field !== "text") {
712
- return null;
830
+ return [];
713
831
  }
714
- return this.convertTextLikePartToSDKMessage({
832
+ const message = this.convertTextLikePartToSDKMessage({
715
833
  partId: deltaEvent.properties.partID,
716
834
  messageId,
717
835
  partType,
718
836
  delta: deltaEvent.properties.delta,
719
837
  }, sessionId, streamState, streamState.messageRolesById.get(messageId));
838
+ return message ? [message] : [];
720
839
  }
721
840
  case "session.idle":
722
841
  case "session.status":
@@ -725,9 +844,9 @@ export class OpenCodeProvider {
725
844
  case "message.updated":
726
845
  case "server.connected":
727
846
  // These are status events, not content - skip
728
- return null;
847
+ return [];
729
848
  default:
730
- return null;
849
+ return [];
731
850
  }
732
851
  }
733
852
  convertTextLikePartToSDKMessage(part, sessionId, streamState, messageRole) {
@@ -750,7 +869,12 @@ export class OpenCodeProvider {
750
869
  return {
751
870
  type: "assistant",
752
871
  session_id: sessionId,
753
- uuid: streamState.currentAssistantMessageId ?? part.messageId,
872
+ // Use the part's own OpenCode message id (== the durable message.id), so
873
+ // the streamed assistant uuid matches the persisted row and the client
874
+ // dedups by id instead of re-appending the backfilled copy. (Previously a
875
+ // carried-over "current" id could attribute a later message's parts to an
876
+ // earlier message, diverging from the durable id.)
877
+ uuid: part.messageId,
754
878
  message: {
755
879
  role: "assistant",
756
880
  content,
@@ -759,7 +883,7 @@ export class OpenCodeProvider {
759
883
  }
760
884
  convertOpenCodeMessageResponseToSDKMessages(response, sessionId) {
761
885
  const info = response?.info ?? response?.message;
762
- if (!info || info.role !== "assistant" || !Array.isArray(response?.parts)) {
886
+ if (info?.role !== "assistant" || !Array.isArray(response?.parts)) {
763
887
  return [];
764
888
  }
765
889
  const contentBlocks = [];
@@ -797,70 +921,145 @@ export class OpenCodeProvider {
797
921
  convertPartToSDKMessage(part, sessionId, delta, streamState, messageRole) {
798
922
  switch (part.type) {
799
923
  case "text":
800
- case "reasoning":
801
- return this.convertTextLikePartToSDKMessage({
924
+ case "reasoning": {
925
+ const message = this.convertTextLikePartToSDKMessage({
802
926
  partId: part.id,
803
927
  messageId: part.messageID,
804
928
  partType: part.type,
805
929
  fullText: part.text,
806
930
  delta,
807
931
  }, sessionId, streamState, messageRole);
932
+ return message ? [message] : [];
933
+ }
808
934
  case "step-start":
809
935
  // Start of a processing step - no content to emit
810
- return null;
936
+ return [];
811
937
  case "step-finish": {
812
938
  // End of processing step - emit usage info if available
813
939
  if (part.tokens) {
814
- return {
815
- type: "result",
816
- session_id: sessionId,
817
- usage: {
818
- input_tokens: part.tokens.input ?? 0,
819
- output_tokens: part.tokens.output ?? 0,
940
+ return [
941
+ {
942
+ type: "result",
943
+ session_id: sessionId,
944
+ usage: {
945
+ input_tokens: part.tokens.input ?? 0,
946
+ output_tokens: part.tokens.output ?? 0,
947
+ },
820
948
  },
821
- };
949
+ ];
822
950
  }
823
- return null;
951
+ return [];
824
952
  }
953
+ // Unified tool part (opencode 1.16+): one type:"tool" part streams
954
+ // pending -> running -> completed/error. Emit the tool_use once the call
955
+ // is underway, then the tool_result once it settles, deduped by callID.
956
+ case "tool":
957
+ return this.convertUnifiedToolPart(part, sessionId, streamState);
825
958
  case "tool-use": {
826
- // Tool invocation
827
- return {
828
- type: "assistant",
829
- session_id: sessionId,
830
- message: {
831
- role: "assistant",
832
- content: [
833
- {
834
- type: "tool_use",
835
- id: part.id,
836
- name: part.tool ?? "unknown",
837
- input: part.input ?? {},
838
- },
839
- ],
959
+ // Legacy split tool invocation (older opencode)
960
+ const normalized = normalizeOpenCodeTool(part.tool, part.input);
961
+ return [
962
+ {
963
+ type: "assistant",
964
+ session_id: sessionId,
965
+ message: {
966
+ role: "assistant",
967
+ content: [
968
+ {
969
+ type: "tool_use",
970
+ id: part.id,
971
+ name: normalized.name,
972
+ input: normalized.input,
973
+ },
974
+ ],
975
+ },
840
976
  },
841
- };
977
+ ];
842
978
  }
843
979
  case "tool-result": {
844
- // Tool result
845
- return {
846
- type: "user",
847
- session_id: sessionId,
848
- message: {
849
- role: "user",
850
- content: [
851
- {
852
- type: "tool_result",
853
- tool_use_id: part.id,
854
- content: part.error ?? String(part.output ?? ""),
855
- },
856
- ],
980
+ // Legacy split tool result (older opencode)
981
+ return [
982
+ {
983
+ type: "user",
984
+ session_id: sessionId,
985
+ message: {
986
+ role: "user",
987
+ content: [
988
+ {
989
+ type: "tool_result",
990
+ tool_use_id: part.id,
991
+ content: part.error ?? String(part.output ?? ""),
992
+ },
993
+ ],
994
+ },
857
995
  },
858
- };
996
+ ];
859
997
  }
860
998
  default:
861
- return null;
999
+ return [];
862
1000
  }
863
1001
  }
1002
+ /**
1003
+ * Convert a unified `type:"tool"` part into YA tool_use/tool_result messages.
1004
+ *
1005
+ * The same part is delivered repeatedly as its `state.status` advances
1006
+ * (pending -> running -> completed/error) and `state.input`/`state.output`
1007
+ * fill in. Emit the tool_use once the call is underway (running or settled)
1008
+ * and the tool_result once it settles, each deduped by callID so a streamed
1009
+ * tool appears exactly once. A fast tool whose first update is already
1010
+ * completed yields both messages at once.
1011
+ */
1012
+ convertUnifiedToolPart(part, sessionId, streamState) {
1013
+ const callId = part.callID;
1014
+ if (!callId)
1015
+ return [];
1016
+ const status = part.state?.status;
1017
+ const settled = status === "completed" || status === "error";
1018
+ const underway = status === "running" || settled;
1019
+ const messages = [];
1020
+ if (underway && !streamState.toolUseEmitted.has(callId)) {
1021
+ streamState.toolUseEmitted.add(callId);
1022
+ const normalized = normalizeOpenCodeTool(part.tool, part.state?.input);
1023
+ messages.push({
1024
+ type: "assistant",
1025
+ session_id: sessionId,
1026
+ message: {
1027
+ role: "assistant",
1028
+ content: [
1029
+ {
1030
+ type: "tool_use",
1031
+ id: callId,
1032
+ name: normalized.name,
1033
+ input: normalized.input,
1034
+ },
1035
+ ],
1036
+ },
1037
+ });
1038
+ }
1039
+ if (settled && !streamState.toolResultEmitted.has(callId)) {
1040
+ streamState.toolResultEmitted.add(callId);
1041
+ const error = part.state?.error;
1042
+ const output = part.state?.output;
1043
+ const content = error ??
1044
+ (typeof output === "string" ? output : JSON.stringify(output ?? ""));
1045
+ messages.push({
1046
+ type: "user",
1047
+ session_id: sessionId,
1048
+ message: {
1049
+ role: "user",
1050
+ content: [
1051
+ {
1052
+ type: "tool_result",
1053
+ tool_use_id: callId,
1054
+ content,
1055
+ is_error: status === "error" || Boolean(error),
1056
+ },
1057
+ ],
1058
+ },
1059
+ });
1060
+ }
1061
+ return messages;
1062
+ }
864
1063
  /**
865
1064
  * Wait for server to be ready.
866
1065
  */
@@ -900,6 +1099,31 @@ export class OpenCodeProvider {
900
1099
  }
901
1100
  return "";
902
1101
  }
1102
+ /**
1103
+ * Convert any base64 image content blocks on a user message into OpenCode
1104
+ * file parts (a data-URL `url` + mime), so pasted/uploaded images are sent to
1105
+ * OpenCode instead of being dropped. Non-image content is untouched.
1106
+ */
1107
+ extractImageFileParts(message) {
1108
+ const content = message.message?.content;
1109
+ if (!Array.isArray(content))
1110
+ return [];
1111
+ const parts = [];
1112
+ for (const block of content) {
1113
+ if (typeof block !== "object" || block === null)
1114
+ continue;
1115
+ const b = block;
1116
+ if (b.type === "image" && b.source?.type === "base64" && b.source.data) {
1117
+ const mime = b.source.media_type || "image/png";
1118
+ parts.push({
1119
+ type: "file",
1120
+ mime,
1121
+ url: `data:${mime};base64,${b.source.data}`,
1122
+ });
1123
+ }
1124
+ }
1125
+ return parts;
1126
+ }
903
1127
  /**
904
1128
  * Find the OpenCode CLI path.
905
1129
  */
@@ -908,8 +1132,11 @@ export class OpenCodeProvider {
908
1132
  if (this.opencodePath && existsSync(this.opencodePath)) {
909
1133
  return this.opencodePath;
910
1134
  }
911
- // Check common locations
1135
+ // Check common locations. `~/.opencode/bin` is the official installer
1136
+ // location (curl opencode.ai/install); it is on PATH for login shells but
1137
+ // a server not launched through one may miss it, so check it explicitly.
912
1138
  const commonPaths = [
1139
+ join(homedir(), ".opencode", "bin", "opencode"),
913
1140
  join(homedir(), ".local", "bin", "opencode"),
914
1141
  "/usr/local/bin/opencode",
915
1142
  join(homedir(), "bin", "opencode"),