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
@@ -1,17 +1,19 @@
1
1
  import { execFile, spawn } from "node:child_process";
2
- import { accessSync, constants, existsSync, readFileSync } from "node:fs";
2
+ import { accessSync, constants, existsSync, readdirSync, readFileSync, statSync, } from "node:fs";
3
3
  import { createRequire } from "node:module";
4
4
  import { homedir } from "node:os";
5
5
  import { delimiter, join } from "node:path";
6
6
  import { promisify } from "node:util";
7
- import { query, } from "@anthropic-ai/claude-agent-sdk";
8
- import { HELPER_SIDE_MODEL_CHEAPEST, getModelContextWindow, } from "../../../bundled/@yep-anywhere/shared/dist/index.js";
7
+ import { forkSession as sdkForkSession, query, } from "@anthropic-ai/claude-agent-sdk";
8
+ import { DEFAULT_PROMPT_CACHE_KEEPALIVE_INACTIVITY_MINUTES, HELPER_SIDE_MODEL_CHEAPEST, getModelContextWindow, } from "../../../bundled/@yep-anywhere/shared/dist/index.js";
9
9
  import { getLogger } from "../../logging/logger.js";
10
10
  import { detectClaudeCli } from "../cli-detection.js";
11
11
  import { logSDKMessage } from "../messageLogger.js";
12
12
  import { MessageQueue } from "../messageQueue.js";
13
+ import { ClaudeProviderRetentionTracker } from "./claude-retention.js";
13
14
  import { checkRemotePath, createRemoteSpawn, getRemoteHome, testSSHConnection, translateHomePath, } from "../remote-spawn.js";
14
15
  import { getProjectDirFromCwd, syncSessionFile } from "../session-sync.js";
16
+ import { createAgentctlSessionEnvBridge } from "./agentctl-session-env.js";
15
17
  import { filterEnvForChildProcess } from "./env-filter.js";
16
18
  /**
17
19
  * Use a spawn wrapper to capture the child process reference for liveness checks.
@@ -22,6 +24,9 @@ import { filterEnvForChildProcess } from "./env-filter.js";
22
24
  const USE_SPAWN_WRAPPER = true;
23
25
  const CLAUDE_LIVENESS_PROBE_TIMEOUT_MS = 5000;
24
26
  const CLAUDE_LIVENESS_PROBE_SOURCE = "claude:control/mcp_status";
27
+ const CLAUDE_PROMPT_CACHE_KEEPALIVE_TIMEOUT_MS = 60_000;
28
+ const CLAUDE_PROMPT_CACHE_KEEPALIVE_MAX_BUDGET_USD = 0.02;
29
+ const DEFAULT_CLAUDE_LOGIN_COMMAND = "claude auth login --claudeai";
25
30
  const CLAUDE_EFFORT_LEVELS = [
26
31
  "low",
27
32
  "medium",
@@ -33,6 +38,22 @@ const execFileAsync = promisify(execFile);
33
38
  const requireFromHere = createRequire(import.meta.url);
34
39
  const requireFromClaudeSdk = createRequire(requireFromHere.resolve("@anthropic-ai/claude-agent-sdk"));
35
40
  let cachedLocalClaudeCodeExecutable;
41
+ function extractClaudeAssistantText(content) {
42
+ if (typeof content === "string")
43
+ return content;
44
+ if (!Array.isArray(content))
45
+ return "";
46
+ let text = "";
47
+ for (const block of content) {
48
+ if (block &&
49
+ typeof block === "object" &&
50
+ block.type === "text" &&
51
+ typeof block.text === "string") {
52
+ text += block.text;
53
+ }
54
+ }
55
+ return text;
56
+ }
36
57
  function isExecutableFile(filePath) {
37
58
  if (!filePath)
38
59
  return false;
@@ -103,42 +124,233 @@ function resolveLocalClaudeCodeExecutable() {
103
124
  cachedLocalClaudeCodeExecutable = executable ?? null;
104
125
  return executable;
105
126
  }
127
+ function parseCommandLines(stdout) {
128
+ return stdout
129
+ .split(/\r?\n/)
130
+ .map((line) => line.trim())
131
+ .filter(Boolean);
132
+ }
133
+ function numericField(source, field) {
134
+ if (!source || typeof source !== "object") {
135
+ return undefined;
136
+ }
137
+ const value = source[field];
138
+ return typeof value === "number" && Number.isFinite(value)
139
+ ? value
140
+ : undefined;
141
+ }
142
+ function extractPromptCacheRefreshUsage(message) {
143
+ const record = message;
144
+ const usage = record.usage ?? record.modelUsage ?? record.message?.usage ?? null;
145
+ if (!usage) {
146
+ return undefined;
147
+ }
148
+ const result = {};
149
+ const inputTokens = numericField(usage, "input_tokens") ?? numericField(usage, "inputTokens");
150
+ const outputTokens = numericField(usage, "output_tokens") ?? numericField(usage, "outputTokens");
151
+ const cacheReadTokens = numericField(usage, "cache_read_input_tokens") ??
152
+ numericField(usage, "cached_input_tokens") ??
153
+ numericField(usage, "cacheReadTokens");
154
+ const cacheCreationTokens = numericField(usage, "cache_creation_input_tokens") ??
155
+ numericField(usage, "cacheCreationTokens");
156
+ if (inputTokens !== undefined)
157
+ result.inputTokens = inputTokens;
158
+ if (outputTokens !== undefined)
159
+ result.outputTokens = outputTokens;
160
+ if (cacheReadTokens !== undefined)
161
+ result.cacheReadTokens = cacheReadTokens;
162
+ if (cacheCreationTokens !== undefined) {
163
+ result.cacheCreationTokens = cacheCreationTokens;
164
+ }
165
+ return Object.keys(result).length > 0 ? result : undefined;
166
+ }
167
+ function safeMtimeMs(path) {
168
+ try {
169
+ return statSync(path).mtimeMs;
170
+ }
171
+ catch {
172
+ return 0;
173
+ }
174
+ }
175
+ function quotePowerShellDoubleQuoted(value) {
176
+ return `"${value
177
+ .replace(/`/g, "``")
178
+ .replace(/\$/g, "`$")
179
+ .replace(/"/g, '`"')}"`;
180
+ }
181
+ function quotePosixSingleQuoted(value) {
182
+ return `'${value.replace(/'/g, "'\\''")}'`;
183
+ }
184
+ export function formatClaudeLoginCommand(executablePath, platform = process.platform) {
185
+ const trimmedPath = executablePath?.trim();
186
+ if (!trimmedPath || trimmedPath === "claude") {
187
+ return DEFAULT_CLAUDE_LOGIN_COMMAND;
188
+ }
189
+ const executable = platform === "win32"
190
+ ? quotePowerShellDoubleQuoted(trimmedPath)
191
+ : quotePosixSingleQuoted(trimmedPath);
192
+ const invocation = platform === "win32" ? `& ${executable}` : executable;
193
+ return `${invocation} auth login --claudeai`;
194
+ }
195
+ function getClaudeDesktopCodeRoots() {
196
+ if (process.platform !== "win32")
197
+ return [];
198
+ const localAppData = process.env.LOCALAPPDATA ?? join(homedir(), "AppData", "Local");
199
+ const appData = process.env.APPDATA ?? join(homedir(), "AppData", "Roaming");
200
+ const roots = [];
201
+ try {
202
+ for (const entry of readdirSync(join(localAppData, "Packages"), {
203
+ withFileTypes: true,
204
+ })) {
205
+ if (entry.isDirectory() && entry.name.startsWith("Claude_")) {
206
+ roots.push(join(localAppData, "Packages", entry.name, "LocalCache", "Roaming", "Claude", "claude-code"));
207
+ }
208
+ }
209
+ }
210
+ catch {
211
+ // Claude Desktop may not be installed through the Store package.
212
+ }
213
+ roots.push(join(appData, "Claude", "claude-code"));
214
+ return roots;
215
+ }
216
+ function findClaudeDesktopExecutables() {
217
+ const candidates = [];
218
+ for (const root of getClaudeDesktopCodeRoots()) {
219
+ try {
220
+ for (const entry of readdirSync(root, { withFileTypes: true })) {
221
+ if (!entry.isDirectory())
222
+ continue;
223
+ const candidateDir = join(root, entry.name);
224
+ const candidate = join(candidateDir, "claude.exe");
225
+ if (existsSync(candidate)) {
226
+ candidates.push({
227
+ path: candidate,
228
+ mtimeMs: safeMtimeMs(candidateDir),
229
+ });
230
+ }
231
+ }
232
+ }
233
+ catch {
234
+ // This Claude Desktop layout is optional and version-dependent.
235
+ }
236
+ }
237
+ return candidates
238
+ .sort((a, b) => b.mtimeMs - a.mtimeMs)
239
+ .map((candidate) => candidate.path);
240
+ }
241
+ async function hasShellClaudeCommand() {
242
+ if (process.platform !== "win32")
243
+ return true;
244
+ try {
245
+ const { stdout } = await execFileAsync("where.exe", ["claude"], {
246
+ encoding: "utf-8",
247
+ timeout: 5000,
248
+ });
249
+ return parseCommandLines(stdout).length > 0;
250
+ }
251
+ catch {
252
+ return false;
253
+ }
254
+ }
255
+ async function isUsableClaudeExecutable(path) {
256
+ try {
257
+ await execFileAsync(path, ["--version"], {
258
+ encoding: "utf-8",
259
+ timeout: 5000,
260
+ });
261
+ return true;
262
+ }
263
+ catch {
264
+ return false;
265
+ }
266
+ }
267
+ async function findPreferredClaudeLoginExecutable() {
268
+ if (process.platform !== "win32" || (await hasShellClaudeCommand())) {
269
+ return undefined;
270
+ }
271
+ for (const executable of findClaudeDesktopExecutables()) {
272
+ if (await isUsableClaudeExecutable(executable)) {
273
+ return executable;
274
+ }
275
+ }
276
+ return undefined;
277
+ }
278
+ export async function getClaudeLoginCommand() {
279
+ return formatClaudeLoginCommand(await findPreferredClaudeLoginExecutable());
280
+ }
281
+ async function* withCleanup(iterator, cleanup) {
282
+ try {
283
+ yield* iterator;
284
+ }
285
+ finally {
286
+ cleanup();
287
+ }
288
+ }
289
+ /**
290
+ * Opus and Sonnet both run with the 1M-token context window: their 1M is
291
+ * standard-priced (no per-token premium), so bare `opus`/`sonnet` are
292
+ * normalized to the extended-context alias at every launch/setModel chokepoint
293
+ * and surfaced with the 1M window in the exposed model list.
294
+ *
295
+ * Sonnet's 1M was previously credit-gated (launching `sonnet[1m]` errored with
296
+ * "Usage credits required for 1M context"), so it once kept a separate 200K
297
+ * entry. Sonnet 5 lifted that gate: a live probe on this account runs
298
+ * `--model sonnet` as `claude-sonnet-5[1m]` at a 1,000,000 window on the
299
+ * standard tier with no error. The "Sonnet 5" label is pinned in the
300
+ * description (the name stays the generic "Sonnet") rather than taken from the
301
+ * SDK, because `supportedModels()` still reports the `sonnet` alias as
302
+ * "Sonnet 4.6" even though it routes to Sonnet 5 at runtime; that pin will
303
+ * drift once the SDK catalog catches up, and we accept it. See
304
+ * topics/claude-1m-context.md.
305
+ */
306
+ const ALWAYS_EXTENDED_CONTEXT_ALIASES = {
307
+ opus: "opus[1m]",
308
+ sonnet: "sonnet[1m]",
309
+ };
310
+ const ALWAYS_EXTENDED_DESCRIPTIONS = {
311
+ opus: "Opus 4.8 with the full 1M-token context window",
312
+ sonnet: "Sonnet 5 with the full 1M-token context window · newer tokenizer bills ~30% more tokens",
313
+ };
314
+ /** Normalize the opus alias to its always-on 1M variant at launch. */
315
+ export function withExtendedClaudeContext(model) {
316
+ return (model && ALWAYS_EXTENDED_CONTEXT_ALIASES[model]) || model;
317
+ }
106
318
  /** Static fallback list of Claude models (used if probe fails) */
107
319
  const CLAUDE_MODELS_FALLBACK = [
108
320
  {
109
321
  id: "default",
110
- name: "Default (recommended)",
111
- description: "Claude Code chooses the recommended model for your account",
322
+ name: "Default",
323
+ description: "Claude Code chooses the recommended model for your account (probably Sonnet)",
112
324
  contextWindow: getModelContextWindow("default", "claude"),
113
325
  },
114
326
  {
115
327
  id: "best",
116
328
  name: "Best",
117
- description: "Highest-capability Claude Code alias for complex work",
118
- contextWindow: getModelContextWindow("best", "claude"),
329
+ description: "Highest-capability Claude Code alias (probably Opus 4.8, full 1M context)",
330
+ contextWindow: getModelContextWindow("opus[1m]", "claude"),
119
331
  },
120
332
  {
121
- id: "sonnet",
122
- name: "Sonnet",
123
- description: "Standard-context Sonnet for everyday coding tasks",
124
- contextWindow: getModelContextWindow("sonnet", "claude"),
333
+ id: "fable",
334
+ name: "Fable",
335
+ description: "Most capable Claude model for demanding reasoning and long-horizon agentic work",
336
+ contextWindow: getModelContextWindow("fable", "claude"),
337
+ supportsAdaptiveThinking: true,
338
+ supportsAutoMode: true,
339
+ supportsEffort: true,
340
+ supportsFastMode: false,
341
+ supportedEffortLevels: CLAUDE_EFFORT_LEVELS,
342
+ defaultEffortLevel: "high",
125
343
  },
126
344
  {
127
- id: "sonnet[1m]",
128
- name: "Sonnet 1M",
129
- description: "Sonnet with 1M context for long sessions and large codebases",
345
+ id: "sonnet",
346
+ name: "Sonnet",
347
+ description: ALWAYS_EXTENDED_DESCRIPTIONS.sonnet,
130
348
  contextWindow: getModelContextWindow("sonnet[1m]", "claude"),
131
349
  },
132
350
  {
133
351
  id: "opus",
134
352
  name: "Opus",
135
- description: "Standard-context Opus for the most demanding reasoning",
136
- contextWindow: getModelContextWindow("opus", "claude"),
137
- },
138
- {
139
- id: "opus[1m]",
140
- name: "Opus 1M",
141
- description: "Opus with 1M context for the largest working sets",
353
+ description: ALWAYS_EXTENDED_DESCRIPTIONS.opus,
142
354
  contextWindow: getModelContextWindow("opus[1m]", "claude"),
143
355
  },
144
356
  {
@@ -190,6 +402,18 @@ function enrichClaudeModel(model) {
190
402
  supportedEffortLevels: model.supportedEffortLevels ?? CLAUDE_EFFORT_LEVELS,
191
403
  };
192
404
  }
405
+ function mapClaudeSdkModel(model) {
406
+ return {
407
+ id: model.value,
408
+ name: model.displayName,
409
+ description: model.description,
410
+ supportsEffort: model.supportsEffort,
411
+ supportedEffortLevels: mapClaudeSupportedEffortLevels(model.supportedEffortLevels),
412
+ supportsAdaptiveThinking: model.supportsAdaptiveThinking,
413
+ supportsFastMode: model.supportsFastMode,
414
+ supportsAutoMode: model.supportsAutoMode,
415
+ };
416
+ }
193
417
  export function mergeClaudeModels(models) {
194
418
  const byId = new Map();
195
419
  for (const model of CLAUDE_MODELS_FALLBACK) {
@@ -205,9 +429,34 @@ export function mergeClaudeModels(models) {
205
429
  ...CLAUDE_MODELS_FALLBACK.map((model) => model.id),
206
430
  ...models.map((model) => model.id),
207
431
  ];
208
- return [...new Set(orderedIds)]
432
+ const merged = [...new Set(orderedIds)]
209
433
  .map((id) => byId.get(id))
210
434
  .filter((model) => model !== undefined);
435
+ // Opus and Sonnet always use the 1M window (withExtendedClaudeContext), so
436
+ // drop the redundant "opus[1m]"/"sonnet[1m]" entries and surface the 1M
437
+ // window + label on the base alias — including when the SDK probe supplies a
438
+ // 200K window. Sonnet also forces its description (not its name) because the
439
+ // SDK catalog still reports the alias as "Sonnet 4.6" while it routes to
440
+ // Sonnet 5.
441
+ return merged
442
+ .filter((model) => model.id !== "opus[1m]" && model.id !== "sonnet[1m]")
443
+ .map((model) => {
444
+ if (model.id === "opus") {
445
+ return {
446
+ ...model,
447
+ contextWindow: getModelContextWindow("opus[1m]", "claude"),
448
+ description: ALWAYS_EXTENDED_DESCRIPTIONS.opus,
449
+ };
450
+ }
451
+ if (model.id === "sonnet") {
452
+ return {
453
+ ...model,
454
+ contextWindow: getModelContextWindow("sonnet[1m]", "claude"),
455
+ description: ALWAYS_EXTENDED_DESCRIPTIONS.sonnet,
456
+ };
457
+ }
458
+ return model;
459
+ });
211
460
  }
212
461
  /** Cached models from SDK probe */
213
462
  let cachedModels = null;
@@ -273,9 +522,23 @@ export class ClaudeProvider {
273
522
  supportsPermissionMode = true;
274
523
  supportsThinkingToggle = true;
275
524
  supportsSlashCommands = true;
276
- supportsSteering = false;
525
+ supportsSteering = true;
526
+ supportsSteerNow = true;
277
527
  supportsRecaps = true;
528
+ // Intentionally false. Claude emits native away_summary recaps only in the
529
+ // interactive TUI (entrypoint:cli), which writes them to the session JSONL
530
+ // after idle; YA reads and shows those regardless of recap mode. YA drives
531
+ // Claude via the TS SDK (entrypoint:sdk-ts), and there is no known way to
532
+ // make an SDK/YA-owned session emit native recaps, so a "native" choice here
533
+ // is a no-op (and would make fork/tailed wait a pointless native grace
534
+ // window). Do not re-enable on the basis of seeing CLI recaps in the JSONL.
535
+ supportsNativeRecaps = false;
278
536
  supportsNativePromptSuggestions = true;
537
+ promptCacheKeepalive = {
538
+ supportsNoContextPollutionNudge: true,
539
+ defaultMode: "auto",
540
+ defaultInactivityMinutes: DEFAULT_PROMPT_CACHE_KEEPALIVE_INACTIVITY_MINUTES,
541
+ };
279
542
  /**
280
543
  * Check if Claude SDK is available.
281
544
  * Since we bundle the SDK, this is always true.
@@ -299,11 +562,11 @@ export class ClaudeProvider {
299
562
  async getAuthStatus() {
300
563
  const installed = await this.isClaudeCliInstalled();
301
564
  if (!installed) {
302
- return {
565
+ return this.withLoginCommand({
303
566
  installed: false,
304
567
  authenticated: false,
305
568
  enabled: false,
306
- };
569
+ });
307
570
  }
308
571
  const apiKey = process.env.ANTHROPIC_API_KEY?.trim();
309
572
  if (apiKey) {
@@ -315,45 +578,54 @@ export class ClaudeProvider {
315
578
  }
316
579
  const cliAuthStatus = await this.getCliAuthStatus();
317
580
  if (cliAuthStatus) {
318
- return cliAuthStatus;
581
+ return this.withLoginCommand(cliAuthStatus);
319
582
  }
320
583
  const credentialsPath = join(homedir(), ".claude", ".credentials.json");
321
584
  if (!existsSync(credentialsPath)) {
322
- return {
585
+ return this.withLoginCommand({
323
586
  installed: true,
324
587
  authenticated: false,
325
588
  enabled: false,
326
- };
589
+ });
327
590
  }
328
591
  try {
329
592
  const parsed = JSON.parse(readFileSync(credentialsPath, "utf-8"));
330
593
  const oauth = parsed.claudeAiOauth;
331
594
  const hasTokens = Boolean(oauth?.accessToken || oauth?.refreshToken);
332
595
  if (!hasTokens) {
333
- return {
596
+ return this.withLoginCommand({
334
597
  installed: true,
335
598
  authenticated: false,
336
599
  enabled: false,
337
- };
600
+ });
338
601
  }
339
602
  const expiresAt = typeof oauth?.expiresAt === "number"
340
603
  ? new Date(oauth.expiresAt)
341
604
  : undefined;
342
605
  const authenticated = !expiresAt || expiresAt >= new Date() || Boolean(oauth?.refreshToken);
343
- return {
606
+ return this.withLoginCommand({
344
607
  installed: true,
345
608
  authenticated,
346
609
  enabled: authenticated,
347
610
  expiresAt,
348
- };
611
+ });
349
612
  }
350
613
  catch {
351
- return {
614
+ return this.withLoginCommand({
352
615
  installed: true,
353
616
  authenticated: false,
354
617
  enabled: false,
355
- };
618
+ });
619
+ }
620
+ }
621
+ async withLoginCommand(status) {
622
+ if (status.authenticated || status.loginCommand) {
623
+ return status;
356
624
  }
625
+ return {
626
+ ...status,
627
+ loginCommand: await getClaudeLoginCommand(),
628
+ };
357
629
  }
358
630
  async getCliAuthStatus() {
359
631
  try {
@@ -386,6 +658,26 @@ export class ClaudeProvider {
386
658
  const cliInfo = detectClaudeCli();
387
659
  return cliInfo.found;
388
660
  }
661
+ /**
662
+ * Reported Claude model id → canonical YA alias, matched by family component.
663
+ * Anthropic has shipped both "{family}-{version}" (claude-opus-4-8) and
664
+ * "{version}-{family}" (claude-3-5-sonnet), so we look for the family anywhere
665
+ * in the name. One-to-(zero or more): we return the plain alias ("sonnet",
666
+ * not "sonnet[1m]"/"best") because the reported id can't say which the user
667
+ * actually launched. Used only to recover a keying id for non-YA-started
668
+ * sessions. See topics/provider-abstraction.md § Per-model settings keying.
669
+ */
670
+ yaModelIdForReported(reported) {
671
+ if (!reported)
672
+ return undefined;
673
+ const name = reported.toLowerCase();
674
+ for (const family of ["opus", "sonnet", "haiku", "fable"]) {
675
+ if (new RegExp(`(?:^|[-/])${family}(?:[-/]|$)`).test(name)) {
676
+ return family;
677
+ }
678
+ }
679
+ return undefined;
680
+ }
389
681
  /**
390
682
  * Get available Claude models.
391
683
  * Fetches dynamically from SDK via a probe session, with caching.
@@ -488,13 +780,7 @@ export class ClaudeProvider {
488
780
  sdkQuery.supportedModels(),
489
781
  new Promise((_, reject) => setTimeout(() => reject(new Error("Model probe timed out")), 15000)),
490
782
  ]);
491
- return mergeClaudeModels(models.map((m) => ({
492
- id: m.value,
493
- name: m.displayName,
494
- description: m.description,
495
- supportsEffort: m.supportsEffort,
496
- supportedEffortLevels: mapClaudeSupportedEffortLevels(m.supportedEffortLevels),
497
- })));
783
+ return mergeClaudeModels(models.map((model) => mapClaudeSdkModel(model)));
498
784
  }
499
785
  finally {
500
786
  abortController.abort();
@@ -515,7 +801,17 @@ export class ClaudeProvider {
515
801
  * recaps; the renderer should still strip defensively in case the SDK
516
802
  * later forwards a TUI-shaped recap unchanged.
517
803
  */
518
- async generateRecap(recentAssistantText, options) {
804
+ async generateSummary(request) {
805
+ switch (request.strategy) {
806
+ case "side-session":
807
+ return {
808
+ text: await this.generateSideSessionRecap(request.recentAssistantText, request.model),
809
+ };
810
+ case "fork":
811
+ return await this.generateForkBackedSummary(request);
812
+ }
813
+ }
814
+ async generateSideSessionRecap(recentAssistantText, model) {
519
815
  const trimmed = recentAssistantText
520
816
  .map((text) => text.trim())
521
817
  .filter((text) => text.length > 0);
@@ -565,7 +861,7 @@ export class ClaudeProvider {
565
861
  session_id: "",
566
862
  };
567
863
  }
568
- const helperModel = options?.model === HELPER_SIDE_MODEL_CHEAPEST ? "haiku" : options?.model;
864
+ const helperModel = model === HELPER_SIDE_MODEL_CHEAPEST ? "haiku" : model;
569
865
  try {
570
866
  const sdkQuery = query({
571
867
  prompt: singlePrompt(),
@@ -585,20 +881,7 @@ export class ClaudeProvider {
585
881
  for await (const message of sdkQuery) {
586
882
  if (message.type === "assistant" &&
587
883
  typeof message.message?.content !== "undefined") {
588
- const content = message.message.content;
589
- if (typeof content === "string") {
590
- text += content;
591
- }
592
- else if (Array.isArray(content)) {
593
- for (const block of content) {
594
- if (block &&
595
- typeof block === "object" &&
596
- block.type === "text" &&
597
- typeof block.text === "string") {
598
- text += block.text;
599
- }
600
- }
601
- }
884
+ text += extractClaudeAssistantText(message.message.content);
602
885
  }
603
886
  if (message.type === "result") {
604
887
  break;
@@ -617,6 +900,196 @@ export class ClaudeProvider {
617
900
  abortController.abort();
618
901
  }
619
902
  }
903
+ async generateForkBackedSummary(request) {
904
+ const userPrompt = request.purpose === "session-retitle"
905
+ ? this.createSessionRetitlePrompt(request)
906
+ : request.purpose === "recap"
907
+ ? this.createForkedRecapPrompt()
908
+ : this.createForkAfterSummaryPrompt(request);
909
+ const abortController = new AbortController();
910
+ const abortFromJob = () => abortController.abort();
911
+ if (request.signal?.aborted) {
912
+ abortController.abort();
913
+ }
914
+ else {
915
+ request.signal?.addEventListener("abort", abortFromJob, { once: true });
916
+ }
917
+ const SUMMARY_TIMEOUT_MS = 60_000;
918
+ const timeout = setTimeout(() => abortController.abort(), SUMMARY_TIMEOUT_MS);
919
+ timeout.unref?.();
920
+ async function* singlePrompt() {
921
+ yield {
922
+ type: "user",
923
+ message: { role: "user", content: userPrompt },
924
+ parent_tool_use_id: null,
925
+ session_id: request.generatorSessionId,
926
+ };
927
+ }
928
+ try {
929
+ const sdkQuery = query({
930
+ prompt: singlePrompt(),
931
+ options: {
932
+ cwd: request.cwd,
933
+ abortController,
934
+ permissionMode: "default",
935
+ pathToClaudeCodeExecutable: resolveLocalClaudeCodeExecutable(),
936
+ env: this.getEnv(),
937
+ resume: request.generatorSessionId,
938
+ maxTurns: 1,
939
+ systemPrompt: request.purpose === "session-retitle"
940
+ ? "You are a title helper. Reply with the session title only, no preamble."
941
+ : request.purpose === "recap"
942
+ ? "You are a recap helper. Reply with the recap text only, no preamble."
943
+ : "You are a handoff summary helper. Reply with the summary text only, no preamble.",
944
+ },
945
+ });
946
+ let text = "";
947
+ for await (const message of sdkQuery) {
948
+ if (message.type === "assistant" &&
949
+ typeof message.message?.content !== "undefined") {
950
+ text += extractClaudeAssistantText(message.message.content);
951
+ }
952
+ if (message.type === "result") {
953
+ break;
954
+ }
955
+ }
956
+ const cleaned = text.trim();
957
+ if (!cleaned) {
958
+ throw new Error("Summary generation returned empty text");
959
+ }
960
+ return { text: cleaned };
961
+ }
962
+ finally {
963
+ clearTimeout(timeout);
964
+ request.signal?.removeEventListener("abort", abortFromJob);
965
+ abortController.abort();
966
+ }
967
+ }
968
+ createForkAfterSummaryPrompt(request) {
969
+ const instructions = request.instructions?.trim();
970
+ const boundaryContext = request.afterTurnContext?.trim();
971
+ return [
972
+ "The first non-empty line must be a concise title of at most 120 characters, with no trailing period.",
973
+ "Write it as: Title: <title>",
974
+ "Then leave one blank line before the handoff summary.",
975
+ "",
976
+ "Summarize the useful state after the retained fork boundary for a peer-agent handoff.",
977
+ `The target fork retains the conversation through completed-turn message id ${request.afterTurnMessageId}.`,
978
+ boundaryContext
979
+ ? `The retained boundary is the completed turn ending with this excerpt:\n${boundaryContext}`
980
+ : undefined,
981
+ "The target fork already includes the original request and the assistant/tool work through that selected completed turn.",
982
+ "Do not repeat setup, instruction loading, initial repository orientation, or investigation already present in that retained prefix.",
983
+ "Preserve decisions, constraints, current state, changed files, verification evidence, open risks, and the next useful action.",
984
+ "Do not continue the task. Write text that can be submitted as the next user turn in the target fork.",
985
+ instructions ? "" : undefined,
986
+ instructions ? "Additional user instructions:" : undefined,
987
+ instructions || undefined,
988
+ ]
989
+ .filter((part) => part !== undefined)
990
+ .join("\n");
991
+ }
992
+ createForkedRecapPrompt() {
993
+ return [
994
+ "The user stepped away and is coming back.",
995
+ "Recap the current session state in under 40 words, 1-2 plain sentences, no markdown.",
996
+ "Lead with what the assistant did or is doing; mention any pending next action.",
997
+ "Do not greet, do not ask a question, do not add a sign-off.",
998
+ ].join("\n");
999
+ }
1000
+ createSessionRetitlePrompt(request) {
1001
+ const lengthTarget = request.lengthTarget ?? 80;
1002
+ const currentTitle = request.currentTitle?.trim();
1003
+ return [
1004
+ "What is a good new title for this session?",
1005
+ "",
1006
+ `Target length: under ${lengthTarget} characters.`,
1007
+ currentTitle ? `Current title: ${currentTitle}` : undefined,
1008
+ "Prefer a concrete task/result phrase over a generic chat title.",
1009
+ "Return only the title. Do not quote it. Do not add a trailing period.",
1010
+ ]
1011
+ .filter((part) => part !== undefined)
1012
+ .join("\n");
1013
+ }
1014
+ async refreshPromptCache(options) {
1015
+ const abortController = new AbortController();
1016
+ const timeout = setTimeout(() => abortController.abort(), CLAUDE_PROMPT_CACHE_KEEPALIVE_TIMEOUT_MS);
1017
+ timeout.unref?.();
1018
+ async function* singlePrompt() {
1019
+ yield {
1020
+ type: "user",
1021
+ message: {
1022
+ role: "user",
1023
+ content: "Prompt-cache keepalive only. Reply exactly: OK.",
1024
+ },
1025
+ parent_tool_use_id: null,
1026
+ session_id: options.sessionId,
1027
+ };
1028
+ }
1029
+ const spawnClaudeCodeProcess = options.executor
1030
+ ? createRemoteSpawn({
1031
+ host: options.executor,
1032
+ remoteEnv: options.remoteEnv,
1033
+ })
1034
+ : undefined;
1035
+ try {
1036
+ const sdkQuery = query({
1037
+ prompt: singlePrompt(),
1038
+ options: {
1039
+ cwd: options.cwd,
1040
+ resume: options.sessionId,
1041
+ abortController,
1042
+ permissionMode: "default",
1043
+ canUseTool: async () => ({
1044
+ behavior: "deny",
1045
+ message: "Prompt-cache keepalive does not run tools",
1046
+ interrupt: true,
1047
+ }),
1048
+ systemPrompt: this.getSystemPrompt(options.globalInstructions),
1049
+ settingSources: ["user", "project", "local"],
1050
+ includePartialMessages: false,
1051
+ persistSession: false,
1052
+ maxTurns: 1,
1053
+ maxBudgetUsd: CLAUDE_PROMPT_CACHE_KEEPALIVE_MAX_BUDGET_USD,
1054
+ model: withExtendedClaudeContext(options.model),
1055
+ thinking: options.thinking,
1056
+ effort: options.effort,
1057
+ pathToClaudeCodeExecutable: options.pathToClaudeCodeExecutable,
1058
+ env: options.env,
1059
+ spawnClaudeCodeProcess,
1060
+ },
1061
+ });
1062
+ let usage;
1063
+ for await (const message of sdkQuery) {
1064
+ usage = extractPromptCacheRefreshUsage(message) ?? usage;
1065
+ if (message.type === "result") {
1066
+ break;
1067
+ }
1068
+ }
1069
+ return {
1070
+ mode: "no-context-pollution-nudge",
1071
+ refreshed: true,
1072
+ usage,
1073
+ };
1074
+ }
1075
+ finally {
1076
+ clearTimeout(timeout);
1077
+ abortController.abort();
1078
+ }
1079
+ }
1080
+ /**
1081
+ * Fork a session's transcript into a new resumable session via the Agent
1082
+ * SDK (`forkSession`): copies the jsonl with remapped UUIDs, optionally
1083
+ * sliced at `upToMessageId`. The kept prefix is byte-identical to the
1084
+ * source, so provider prompt-cache warmth carries over on resume.
1085
+ */
1086
+ async forkSession(options) {
1087
+ return sdkForkSession(options.sessionId, {
1088
+ dir: options.cwd,
1089
+ upToMessageId: options.upToMessageId,
1090
+ title: options.title,
1091
+ });
1092
+ }
620
1093
  /**
621
1094
  * Start a new Claude session.
622
1095
  */
@@ -624,6 +1097,18 @@ export class ClaudeProvider {
624
1097
  const log = getLogger();
625
1098
  const queue = new MessageQueue();
626
1099
  const abortController = new AbortController();
1100
+ const agentctlSessionEnvBridge = options.executor
1101
+ ? null
1102
+ : createAgentctlSessionEnvBridge(options.resumeSessionId);
1103
+ const claudeEnv = agentctlSessionEnvBridge
1104
+ ? agentctlSessionEnvBridge.extendEnv(this.getEnv())
1105
+ : this.getEnv();
1106
+ const remoteEnv = options.executor && options.resumeSessionId
1107
+ ? {
1108
+ ...options.remoteEnv,
1109
+ AGENTCTL_SESSION_ID: options.resumeSessionId,
1110
+ }
1111
+ : options.remoteEnv;
627
1112
  // Effective cwd for the session (may be translated for remote executors)
628
1113
  let effectiveCwd = options.cwd;
629
1114
  // If remote executor specified, test connection first
@@ -700,7 +1185,7 @@ export class ClaudeProvider {
700
1185
  if (options.executor) {
701
1186
  spawnClaudeCodeProcess = createRemoteSpawn({
702
1187
  host: options.executor,
703
- remoteEnv: options.remoteEnv,
1188
+ remoteEnv,
704
1189
  });
705
1190
  }
706
1191
  else if (USE_SPAWN_WRAPPER) {
@@ -790,6 +1275,7 @@ export class ClaudeProvider {
790
1275
  return proc;
791
1276
  };
792
1277
  }
1278
+ const providerRetention = new ClaudeProviderRetentionTracker(options.onProviderRetentionChange);
793
1279
  // Create the SDK query with our message generator
794
1280
  let sdkQuery;
795
1281
  try {
@@ -798,6 +1284,7 @@ export class ClaudeProvider {
798
1284
  options: {
799
1285
  cwd: effectiveCwd,
800
1286
  resume: options.resumeSessionId,
1287
+ resumeSessionAt: options.resumeSessionAt,
801
1288
  abortController,
802
1289
  // Pass permission mode to SDK for system prompt configuration.
803
1290
  // However, for "bypassPermissions" we pass "default" to the SDK so it always
@@ -812,18 +1299,31 @@ export class ClaudeProvider {
812
1299
  includePartialMessages: true,
813
1300
  promptSuggestions: options.promptSuggestions === true,
814
1301
  // Model, thinking, and effort options
815
- model: options.model,
1302
+ model: withExtendedClaudeContext(options.model),
816
1303
  thinking: options.thinking,
817
1304
  effort: options.effort,
818
1305
  pathToClaudeCodeExecutable,
819
1306
  // Filter env to exclude npm_*, yep-anywhere specific, and other irrelevant vars
820
- env: this.getEnv(),
1307
+ env: claudeEnv,
1308
+ hooks: {
1309
+ Stop: [
1310
+ {
1311
+ hooks: [
1312
+ async (input) => {
1313
+ providerRetention.observeStopHook(input);
1314
+ return { continue: true };
1315
+ },
1316
+ ],
1317
+ },
1318
+ ],
1319
+ },
821
1320
  // Remote execution via SSH
822
1321
  spawnClaudeCodeProcess,
823
1322
  },
824
1323
  });
825
1324
  }
826
1325
  catch (error) {
1326
+ agentctlSessionEnvBridge?.cleanup();
827
1327
  // Handle common SDK initialization errors
828
1328
  if (error instanceof Error) {
829
1329
  if (error.message.includes("Claude Code executable not found")) {
@@ -842,17 +1342,28 @@ export class ClaudeProvider {
842
1342
  const wrappedIterator = this.wrapIterator(sdkQuery, {
843
1343
  executor: options.executor,
844
1344
  cwd: effectiveCwd,
845
- remoteEnv: options.remoteEnv,
1345
+ remoteEnv,
1346
+ providerRetention,
846
1347
  });
1348
+ const iterator = agentctlSessionEnvBridge
1349
+ ? withCleanup(wrappedIterator, () => agentctlSessionEnvBridge.cleanup())
1350
+ : wrappedIterator;
847
1351
  const isCapturedProcessAlive = USE_SPAWN_WRAPPER && !options.executor
848
1352
  ? () => capturedProcess !== null &&
849
1353
  capturedProcess.exitCode === null &&
850
1354
  !capturedProcess.killed
851
1355
  : undefined;
852
1356
  return {
853
- iterator: wrappedIterator,
1357
+ iterator,
854
1358
  queue,
855
- abort: () => abortController.abort(),
1359
+ abort: () => {
1360
+ abortController.abort();
1361
+ agentctlSessionEnvBridge?.cleanup();
1362
+ },
1363
+ steer: async (message) => {
1364
+ queue.push(message);
1365
+ return true;
1366
+ },
856
1367
  isProcessAlive: isCapturedProcessAlive,
857
1368
  probeLiveness: () => probeClaudeControlLiveness(sdkQuery, {
858
1369
  isProcessAlive: isCapturedProcessAlive,
@@ -860,6 +1371,22 @@ export class ClaudeProvider {
860
1371
  get pid() {
861
1372
  return capturedProcess?.pid;
862
1373
  },
1374
+ getProviderRetention: () => providerRetention.getSnapshot(),
1375
+ refreshPromptCache: ({ sessionId }) => this.refreshPromptCache({
1376
+ sessionId,
1377
+ cwd: effectiveCwd,
1378
+ model: withExtendedClaudeContext(options.model),
1379
+ thinking: options.thinking,
1380
+ effort: options.effort,
1381
+ globalInstructions: options.globalInstructions,
1382
+ executor: options.executor,
1383
+ remoteEnv,
1384
+ pathToClaudeCodeExecutable,
1385
+ env: claudeEnv,
1386
+ }),
1387
+ publishAgentctlSessionId: (sessionId) => {
1388
+ agentctlSessionEnvBridge?.publishSessionId(sessionId);
1389
+ },
863
1390
  setMaxThinkingTokens: (tokens) => sdkQuery.setMaxThinkingTokens(tokens),
864
1391
  interrupt: async () => {
865
1392
  await sdkQuery.interrupt();
@@ -868,13 +1395,7 @@ export class ClaudeProvider {
868
1395
  supportedModels: async () => {
869
1396
  const models = await sdkQuery.supportedModels();
870
1397
  // Map SDK ModelInfo (value, displayName, description) to our ModelInfo (id, name, description)
871
- const mappedModels = mergeClaudeModels(models.map((m) => ({
872
- id: m.value,
873
- name: m.displayName,
874
- description: m.description,
875
- supportsEffort: m.supportsEffort,
876
- supportedEffortLevels: mapClaudeSupportedEffortLevels(m.supportedEffortLevels),
877
- })));
1398
+ const mappedModels = mergeClaudeModels(models.map((model) => mapClaudeSdkModel(model)));
878
1399
  // Update cache for future getAvailableModels() calls
879
1400
  cachedModels = mappedModels;
880
1401
  return mappedModels;
@@ -888,7 +1409,7 @@ export class ClaudeProvider {
888
1409
  argumentHint: c.argumentHint || undefined,
889
1410
  })));
890
1411
  },
891
- setModel: (model) => sdkQuery.setModel(model),
1412
+ setModel: (model) => sdkQuery.setModel(withExtendedClaudeContext(model)),
892
1413
  };
893
1414
  }
894
1415
  /**
@@ -907,6 +1428,7 @@ export class ClaudeProvider {
907
1428
  message.session_id ?? sessionId;
908
1429
  logSDKMessage(sessionId, message, { provider: "claude" });
909
1430
  const converted = this.convertMessage(message);
1431
+ remoteOptions?.providerRetention?.observeMessage(converted);
910
1432
  yield converted;
911
1433
  // For remote sessions, sync session files after result messages
912
1434
  // This keeps the local UI up-to-date with remote progress