@0xmaxma/claude-gateway 2.0.9 β†’ 2.0.11

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 (404) hide show
  1. package/README.md +16 -1
  2. package/config.template.json +6 -4
  3. package/dist/agent/runner.d.ts +126 -11
  4. package/dist/agent/runner.d.ts.map +1 -1
  5. package/dist/agent/runner.js +102 -10
  6. package/dist/agent/runner.js.map +1 -1
  7. package/dist/agent/skill-learning/reviewer.d.ts.map +1 -1
  8. package/dist/agent/skill-learning/reviewer.js +1 -2
  9. package/dist/agent/skill-learning/reviewer.js.map +1 -1
  10. package/dist/api/browser-bindings-router.d.ts +6 -0
  11. package/dist/api/browser-bindings-router.d.ts.map +1 -0
  12. package/dist/api/browser-bindings-router.js +150 -0
  13. package/dist/api/browser-bindings-router.js.map +1 -0
  14. package/dist/api/capabilities.d.ts +53 -0
  15. package/dist/api/capabilities.d.ts.map +1 -0
  16. package/dist/api/capabilities.js +66 -0
  17. package/dist/api/capabilities.js.map +1 -0
  18. package/dist/api/connectors-router.js +1 -1
  19. package/dist/api/connectors-router.js.map +1 -1
  20. package/dist/api/gateway-router.d.ts.map +1 -1
  21. package/dist/api/gateway-router.js +38 -14
  22. package/dist/api/gateway-router.js.map +1 -1
  23. package/dist/api/gateway-version.d.ts +9 -0
  24. package/dist/api/gateway-version.d.ts.map +1 -0
  25. package/dist/api/gateway-version.js +57 -0
  26. package/dist/api/gateway-version.js.map +1 -0
  27. package/dist/api/jev-router.d.ts +8 -0
  28. package/dist/api/jev-router.d.ts.map +1 -0
  29. package/dist/api/jev-router.js +128 -0
  30. package/dist/api/jev-router.js.map +1 -0
  31. package/dist/api/router.d.ts.map +1 -1
  32. package/dist/api/router.js +53 -6
  33. package/dist/api/router.js.map +1 -1
  34. package/dist/api/voice-router.d.ts.map +1 -1
  35. package/dist/api/voice-router.js +42 -3
  36. package/dist/api/voice-router.js.map +1 -1
  37. package/dist/automation/browser-command.d.ts +79 -0
  38. package/dist/automation/browser-command.d.ts.map +1 -0
  39. package/dist/automation/browser-command.js +118 -0
  40. package/dist/automation/browser-command.js.map +1 -0
  41. package/dist/automation/browser-outcome.d.ts +3 -0
  42. package/dist/automation/browser-outcome.d.ts.map +1 -0
  43. package/dist/automation/browser-outcome.js +78 -0
  44. package/dist/automation/browser-outcome.js.map +1 -0
  45. package/dist/automation/browser-steps.d.ts +33 -0
  46. package/dist/automation/browser-steps.d.ts.map +1 -0
  47. package/dist/automation/browser-steps.js +293 -0
  48. package/dist/automation/browser-steps.js.map +1 -0
  49. package/dist/automation/browser-trace.d.ts +60 -0
  50. package/dist/automation/browser-trace.d.ts.map +1 -0
  51. package/dist/automation/browser-trace.js +24 -0
  52. package/dist/automation/browser-trace.js.map +1 -0
  53. package/dist/automation/browser-use.d.ts +210 -0
  54. package/dist/automation/browser-use.d.ts.map +1 -0
  55. package/dist/automation/browser-use.js +1271 -0
  56. package/dist/automation/browser-use.js.map +1 -0
  57. package/dist/automation/command-speech.d.ts +33 -0
  58. package/dist/automation/command-speech.d.ts.map +1 -0
  59. package/dist/automation/command-speech.js +117 -0
  60. package/dist/automation/command-speech.js.map +1 -0
  61. package/dist/automation/command-steps.d.ts +35 -0
  62. package/dist/automation/command-steps.d.ts.map +1 -0
  63. package/dist/automation/command-steps.js +155 -0
  64. package/dist/automation/command-steps.js.map +1 -0
  65. package/dist/automation/computer-choice-ids.d.ts +7 -0
  66. package/dist/automation/computer-choice-ids.d.ts.map +1 -0
  67. package/dist/automation/computer-choice-ids.js +24 -0
  68. package/dist/automation/computer-choice-ids.js.map +1 -0
  69. package/dist/automation/computer-command.d.ts +126 -0
  70. package/dist/automation/computer-command.d.ts.map +1 -0
  71. package/dist/automation/computer-command.js +313 -0
  72. package/dist/automation/computer-command.js.map +1 -0
  73. package/dist/automation/computer-outcome.d.ts +8 -0
  74. package/dist/automation/computer-outcome.d.ts.map +1 -0
  75. package/dist/automation/computer-outcome.js +82 -0
  76. package/dist/automation/computer-outcome.js.map +1 -0
  77. package/dist/automation/computer-policy.d.ts +84 -0
  78. package/dist/automation/computer-policy.d.ts.map +1 -0
  79. package/dist/automation/computer-policy.js +56 -0
  80. package/dist/automation/computer-policy.js.map +1 -0
  81. package/dist/automation/computer-safety.d.ts +27 -0
  82. package/dist/automation/computer-safety.d.ts.map +1 -0
  83. package/dist/automation/computer-safety.js +47 -0
  84. package/dist/automation/computer-safety.js.map +1 -0
  85. package/dist/automation/computer-steps.d.ts +20 -0
  86. package/dist/automation/computer-steps.d.ts.map +1 -0
  87. package/dist/automation/computer-steps.js +251 -0
  88. package/dist/automation/computer-steps.js.map +1 -0
  89. package/dist/automation/computer-use.d.ts +315 -0
  90. package/dist/automation/computer-use.d.ts.map +1 -0
  91. package/dist/automation/computer-use.js +864 -0
  92. package/dist/automation/computer-use.js.map +1 -0
  93. package/dist/automation/direct-command.d.ts +51 -0
  94. package/dist/automation/direct-command.d.ts.map +1 -0
  95. package/dist/automation/direct-command.js +152 -0
  96. package/dist/automation/direct-command.js.map +1 -0
  97. package/dist/automation/interrupt.d.ts +4 -0
  98. package/dist/automation/interrupt.d.ts.map +1 -0
  99. package/dist/automation/interrupt.js +26 -0
  100. package/dist/automation/interrupt.js.map +1 -0
  101. package/dist/build-provenance.json +4 -4
  102. package/dist/child-env-exclusions.d.ts +4 -0
  103. package/dist/child-env-exclusions.d.ts.map +1 -0
  104. package/dist/child-env-exclusions.js +23 -0
  105. package/dist/child-env-exclusions.js.map +1 -0
  106. package/dist/cli/startup-diagnostics.d.ts.map +1 -1
  107. package/dist/cli/startup-diagnostics.js +19 -0
  108. package/dist/cli/startup-diagnostics.js.map +1 -1
  109. package/dist/config/loader.d.ts.map +1 -1
  110. package/dist/config/loader.js +4 -0
  111. package/dist/config/loader.js.map +1 -1
  112. package/dist/config/reload-policy.d.ts.map +1 -1
  113. package/dist/config/reload-policy.js +2 -1
  114. package/dist/config/reload-policy.js.map +1 -1
  115. package/dist/jev/automatic-browser-bindings.d.ts +15 -0
  116. package/dist/jev/automatic-browser-bindings.d.ts.map +1 -0
  117. package/dist/jev/automatic-browser-bindings.js +115 -0
  118. package/dist/jev/automatic-browser-bindings.js.map +1 -0
  119. package/dist/jev/browser-connector.d.ts +29 -0
  120. package/dist/jev/browser-connector.d.ts.map +1 -0
  121. package/dist/jev/browser-connector.js +347 -0
  122. package/dist/jev/browser-connector.js.map +1 -0
  123. package/dist/jev/browser-consent.d.ts +6 -0
  124. package/dist/jev/browser-consent.d.ts.map +1 -0
  125. package/dist/jev/browser-consent.js +50 -0
  126. package/dist/jev/browser-consent.js.map +1 -0
  127. package/dist/jev/browser-contract.d.ts +215 -0
  128. package/dist/jev/browser-contract.d.ts.map +1 -0
  129. package/dist/jev/browser-contract.js +10 -0
  130. package/dist/jev/browser-contract.js.map +1 -0
  131. package/dist/jev/browser-evidence-summary.d.ts +73 -0
  132. package/dist/jev/browser-evidence-summary.d.ts.map +1 -0
  133. package/dist/jev/browser-evidence-summary.js +22 -0
  134. package/dist/jev/browser-evidence-summary.js.map +1 -0
  135. package/dist/jev/browser-module-import.d.ts +3 -0
  136. package/dist/jev/browser-module-import.d.ts.map +1 -0
  137. package/dist/jev/browser-module-import.js +6 -0
  138. package/dist/jev/browser-module-import.js.map +1 -0
  139. package/dist/jev/child-env.d.ts +11 -0
  140. package/dist/jev/child-env.d.ts.map +1 -0
  141. package/dist/jev/child-env.js +60 -0
  142. package/dist/jev/child-env.js.map +1 -0
  143. package/dist/jev/computer-connector.d.ts +34 -0
  144. package/dist/jev/computer-connector.d.ts.map +1 -0
  145. package/dist/jev/computer-connector.js +82 -0
  146. package/dist/jev/computer-connector.js.map +1 -0
  147. package/dist/jev/computer-inputs.d.ts +41 -0
  148. package/dist/jev/computer-inputs.d.ts.map +1 -0
  149. package/dist/jev/computer-inputs.js +7 -0
  150. package/dist/jev/computer-inputs.js.map +1 -0
  151. package/dist/jev/index.d.ts +6 -0
  152. package/dist/jev/index.d.ts.map +1 -0
  153. package/dist/jev/index.js +25 -0
  154. package/dist/jev/index.js.map +1 -0
  155. package/dist/jev/relay-grants.d.ts +9 -0
  156. package/dist/jev/relay-grants.d.ts.map +1 -0
  157. package/dist/jev/relay-grants.js +49 -0
  158. package/dist/jev/relay-grants.js.map +1 -0
  159. package/dist/jev/service.d.ts +27 -0
  160. package/dist/jev/service.d.ts.map +1 -0
  161. package/dist/jev/service.js +264 -0
  162. package/dist/jev/service.js.map +1 -0
  163. package/dist/jev/thinking-provider.d.ts +7 -0
  164. package/dist/jev/thinking-provider.d.ts.map +1 -0
  165. package/dist/jev/thinking-provider.js +25 -0
  166. package/dist/jev/thinking-provider.js.map +1 -0
  167. package/dist/jev/types.d.ts +124 -0
  168. package/dist/jev/types.d.ts.map +1 -0
  169. package/dist/jev/types.js +13 -0
  170. package/dist/jev/types.js.map +1 -0
  171. package/dist/jev/validation.d.ts +45 -0
  172. package/dist/jev/validation.d.ts.map +1 -0
  173. package/dist/jev/validation.js +179 -0
  174. package/dist/jev/validation.js.map +1 -0
  175. package/dist/load-dotenv.d.ts.map +1 -1
  176. package/dist/load-dotenv.js +5 -1
  177. package/dist/load-dotenv.js.map +1 -1
  178. package/dist/orchestration/agent-tool-schemas.d.ts.map +1 -1
  179. package/dist/orchestration/agent-tool-schemas.js +12 -7
  180. package/dist/orchestration/agent-tool-schemas.js.map +1 -1
  181. package/dist/orchestration/background-work.d.ts +1 -0
  182. package/dist/orchestration/background-work.d.ts.map +1 -1
  183. package/dist/orchestration/background-work.js +1 -0
  184. package/dist/orchestration/background-work.js.map +1 -1
  185. package/dist/orchestration/bridge.d.ts +4 -0
  186. package/dist/orchestration/bridge.d.ts.map +1 -1
  187. package/dist/orchestration/bridge.js +227 -41
  188. package/dist/orchestration/bridge.js.map +1 -1
  189. package/dist/orchestration/browser-fields.d.ts +25 -0
  190. package/dist/orchestration/browser-fields.d.ts.map +1 -0
  191. package/dist/orchestration/browser-fields.js +23 -0
  192. package/dist/orchestration/browser-fields.js.map +1 -0
  193. package/dist/orchestration/browser-routing.d.ts +1 -1
  194. package/dist/orchestration/browser-routing.d.ts.map +1 -1
  195. package/dist/orchestration/browser-routing.js +7 -3
  196. package/dist/orchestration/browser-routing.js.map +1 -1
  197. package/dist/orchestration/capabilities.d.ts +5 -2
  198. package/dist/orchestration/capabilities.d.ts.map +1 -1
  199. package/dist/orchestration/capabilities.js +24 -24
  200. package/dist/orchestration/capabilities.js.map +1 -1
  201. package/dist/orchestration/channel-controls.js +1 -1
  202. package/dist/orchestration/channel-controls.js.map +1 -1
  203. package/dist/orchestration/cli-skills.d.ts +1 -1
  204. package/dist/orchestration/cli-skills.d.ts.map +1 -1
  205. package/dist/orchestration/cli-skills.js +16 -10
  206. package/dist/orchestration/cli-skills.js.map +1 -1
  207. package/dist/orchestration/computer-end-screenshot.d.ts +11 -0
  208. package/dist/orchestration/computer-end-screenshot.d.ts.map +1 -0
  209. package/dist/orchestration/computer-end-screenshot.js +37 -0
  210. package/dist/orchestration/computer-end-screenshot.js.map +1 -0
  211. package/dist/orchestration/computer-prompt.d.ts +6 -0
  212. package/dist/orchestration/computer-prompt.d.ts.map +1 -0
  213. package/dist/orchestration/computer-prompt.js +24 -0
  214. package/dist/orchestration/computer-prompt.js.map +1 -0
  215. package/dist/orchestration/config.d.ts +17 -0
  216. package/dist/orchestration/config.d.ts.map +1 -1
  217. package/dist/orchestration/config.js +10 -4
  218. package/dist/orchestration/config.js.map +1 -1
  219. package/dist/orchestration/container-tool-schemas.d.ts +47 -3
  220. package/dist/orchestration/container-tool-schemas.d.ts.map +1 -1
  221. package/dist/orchestration/container-tool-schemas.js +41 -6
  222. package/dist/orchestration/container-tool-schemas.js.map +1 -1
  223. package/dist/orchestration/container.d.ts +4 -1
  224. package/dist/orchestration/container.d.ts.map +1 -1
  225. package/dist/orchestration/container.js +48 -29
  226. package/dist/orchestration/container.js.map +1 -1
  227. package/dist/orchestration/context-footprint.d.ts +1 -1
  228. package/dist/orchestration/context-footprint.d.ts.map +1 -1
  229. package/dist/orchestration/context-footprint.js +5 -5
  230. package/dist/orchestration/context-footprint.js.map +1 -1
  231. package/dist/orchestration/control-notification.d.ts +6 -0
  232. package/dist/orchestration/control-notification.d.ts.map +1 -0
  233. package/dist/orchestration/control-notification.js +23 -0
  234. package/dist/orchestration/control-notification.js.map +1 -0
  235. package/dist/orchestration/dashboard-reader-worker.js +2 -2
  236. package/dist/orchestration/dashboard-reader-worker.js.map +1 -1
  237. package/dist/orchestration/execution-observation.d.ts +3 -0
  238. package/dist/orchestration/execution-observation.d.ts.map +1 -1
  239. package/dist/orchestration/execution-observation.js.map +1 -1
  240. package/dist/orchestration/gateway-tasks/browser.d.ts +59 -0
  241. package/dist/orchestration/gateway-tasks/browser.d.ts.map +1 -0
  242. package/dist/orchestration/gateway-tasks/browser.js +426 -0
  243. package/dist/orchestration/gateway-tasks/browser.js.map +1 -0
  244. package/dist/orchestration/gateway-tasks/computer-context.d.ts +6 -0
  245. package/dist/orchestration/gateway-tasks/computer-context.d.ts.map +1 -0
  246. package/dist/orchestration/gateway-tasks/computer-context.js +19 -0
  247. package/dist/orchestration/gateway-tasks/computer-context.js.map +1 -0
  248. package/dist/orchestration/gateway-tasks/computer.d.ts +123 -0
  249. package/dist/orchestration/gateway-tasks/computer.d.ts.map +1 -0
  250. package/dist/orchestration/gateway-tasks/computer.js +519 -0
  251. package/dist/orchestration/gateway-tasks/computer.js.map +1 -0
  252. package/dist/orchestration/gateway-tasks/controller.d.ts +40 -6
  253. package/dist/orchestration/gateway-tasks/controller.d.ts.map +1 -1
  254. package/dist/orchestration/gateway-tasks/controller.js +118 -12
  255. package/dist/orchestration/gateway-tasks/controller.js.map +1 -1
  256. package/dist/orchestration/gateway-tasks/safemode.d.ts.map +1 -1
  257. package/dist/orchestration/gateway-tasks/safemode.js +2 -1
  258. package/dist/orchestration/gateway-tasks/safemode.js.map +1 -1
  259. package/dist/orchestration/jev-gateway.d.ts +25 -0
  260. package/dist/orchestration/jev-gateway.d.ts.map +1 -0
  261. package/dist/orchestration/jev-gateway.js +103 -0
  262. package/dist/orchestration/jev-gateway.js.map +1 -0
  263. package/dist/orchestration/jev-tool.d.ts +45 -0
  264. package/dist/orchestration/jev-tool.d.ts.map +1 -0
  265. package/dist/orchestration/jev-tool.js +10 -0
  266. package/dist/orchestration/jev-tool.js.map +1 -0
  267. package/dist/orchestration/live-execution-input.d.ts +26 -0
  268. package/dist/orchestration/live-execution-input.d.ts.map +1 -0
  269. package/dist/orchestration/live-execution-input.js +70 -0
  270. package/dist/orchestration/live-execution-input.js.map +1 -0
  271. package/dist/orchestration/notification-mailbox.d.ts.map +1 -1
  272. package/dist/orchestration/notification-mailbox.js +5 -2
  273. package/dist/orchestration/notification-mailbox.js.map +1 -1
  274. package/dist/orchestration/process-activity.d.ts +4 -2
  275. package/dist/orchestration/process-activity.d.ts.map +1 -1
  276. package/dist/orchestration/process-activity.js +31 -42
  277. package/dist/orchestration/process-activity.js.map +1 -1
  278. package/dist/orchestration/process-platform.d.ts +72 -0
  279. package/dist/orchestration/process-platform.d.ts.map +1 -0
  280. package/dist/orchestration/process-platform.js +396 -0
  281. package/dist/orchestration/process-platform.js.map +1 -0
  282. package/dist/orchestration/process-supervisor.d.ts +31 -7
  283. package/dist/orchestration/process-supervisor.d.ts.map +1 -1
  284. package/dist/orchestration/process-supervisor.js +89 -61
  285. package/dist/orchestration/process-supervisor.js.map +1 -1
  286. package/dist/orchestration/process-turn.d.ts +8 -0
  287. package/dist/orchestration/process-turn.d.ts.map +1 -1
  288. package/dist/orchestration/process-turn.js +97 -13
  289. package/dist/orchestration/process-turn.js.map +1 -1
  290. package/dist/orchestration/progress-review.d.ts +1 -1
  291. package/dist/orchestration/progress-review.d.ts.map +1 -1
  292. package/dist/orchestration/progress-review.js +5 -1
  293. package/dist/orchestration/progress-review.js.map +1 -1
  294. package/dist/orchestration/report-fidelity.d.ts +31 -0
  295. package/dist/orchestration/report-fidelity.d.ts.map +1 -0
  296. package/dist/orchestration/report-fidelity.js +34 -0
  297. package/dist/orchestration/report-fidelity.js.map +1 -0
  298. package/dist/orchestration/response-errors.d.ts.map +1 -1
  299. package/dist/orchestration/response-errors.js +1 -0
  300. package/dist/orchestration/response-errors.js.map +1 -1
  301. package/dist/orchestration/runtime.d.ts +51 -1
  302. package/dist/orchestration/runtime.d.ts.map +1 -1
  303. package/dist/orchestration/runtime.js +404 -33
  304. package/dist/orchestration/runtime.js.map +1 -1
  305. package/dist/orchestration/skill-catalog-budget.d.ts +6 -0
  306. package/dist/orchestration/skill-catalog-budget.d.ts.map +1 -0
  307. package/dist/orchestration/skill-catalog-budget.js +9 -0
  308. package/dist/orchestration/skill-catalog-budget.js.map +1 -0
  309. package/dist/orchestration/skills.d.ts +4 -2
  310. package/dist/orchestration/skills.d.ts.map +1 -1
  311. package/dist/orchestration/skills.js +44 -3
  312. package/dist/orchestration/skills.js.map +1 -1
  313. package/dist/orchestration/speech.d.ts +1 -1
  314. package/dist/orchestration/speech.d.ts.map +1 -1
  315. package/dist/orchestration/speech.js +1 -1
  316. package/dist/orchestration/store.d.ts +1 -0
  317. package/dist/orchestration/store.d.ts.map +1 -1
  318. package/dist/orchestration/store.js +2 -0
  319. package/dist/orchestration/store.js.map +1 -1
  320. package/dist/orchestration/task-controls.d.ts +78 -8
  321. package/dist/orchestration/task-controls.d.ts.map +1 -1
  322. package/dist/orchestration/task-controls.js +6 -1
  323. package/dist/orchestration/task-controls.js.map +1 -1
  324. package/dist/orchestration/task-questions.js +2 -2
  325. package/dist/orchestration/task-questions.js.map +1 -1
  326. package/dist/orchestration/tasks/automation-session.d.ts +25 -0
  327. package/dist/orchestration/tasks/automation-session.d.ts.map +1 -0
  328. package/dist/orchestration/tasks/automation-session.js +68 -0
  329. package/dist/orchestration/tasks/automation-session.js.map +1 -0
  330. package/dist/orchestration/tasks/driver.d.ts.map +1 -1
  331. package/dist/orchestration/tasks/driver.js +7 -5
  332. package/dist/orchestration/tasks/driver.js.map +1 -1
  333. package/dist/orchestration/tasks/failure.d.ts +6 -0
  334. package/dist/orchestration/tasks/failure.d.ts.map +1 -1
  335. package/dist/orchestration/tasks/failure.js +26 -2
  336. package/dist/orchestration/tasks/failure.js.map +1 -1
  337. package/dist/orchestration/tasks/scheduler.d.ts +1 -1
  338. package/dist/orchestration/tasks/scheduler.d.ts.map +1 -1
  339. package/dist/orchestration/tasks/scheduler.js +3 -1
  340. package/dist/orchestration/tasks/scheduler.js.map +1 -1
  341. package/dist/orchestration/tasks/service.d.ts +68 -7
  342. package/dist/orchestration/tasks/service.d.ts.map +1 -1
  343. package/dist/orchestration/tasks/service.js +647 -45
  344. package/dist/orchestration/tasks/service.js.map +1 -1
  345. package/dist/orchestration/types.d.ts +90 -3
  346. package/dist/orchestration/types.d.ts.map +1 -1
  347. package/dist/orchestration/types.js.map +1 -1
  348. package/dist/safemode/native.d.ts.map +1 -1
  349. package/dist/safemode/native.js +8 -3
  350. package/dist/safemode/native.js.map +1 -1
  351. package/dist/session/claude-bin.d.ts +29 -0
  352. package/dist/session/claude-bin.d.ts.map +1 -1
  353. package/dist/session/claude-bin.js +63 -12
  354. package/dist/session/claude-bin.js.map +1 -1
  355. package/dist/session/codex-extension-discovery.d.ts.map +1 -1
  356. package/dist/session/codex-extension-discovery.js +4 -2
  357. package/dist/session/codex-extension-discovery.js.map +1 -1
  358. package/dist/session/codex-native-mcp-client.d.ts.map +1 -1
  359. package/dist/session/codex-native-mcp-client.js +2 -1
  360. package/dist/session/codex-native-mcp-client.js.map +1 -1
  361. package/dist/session/codex-process.d.ts +4 -0
  362. package/dist/session/codex-process.d.ts.map +1 -1
  363. package/dist/session/codex-process.js +16 -6
  364. package/dist/session/codex-process.js.map +1 -1
  365. package/dist/session/compactor.d.ts.map +1 -1
  366. package/dist/session/compactor.js +1 -2
  367. package/dist/session/compactor.js.map +1 -1
  368. package/dist/session/process.d.ts +18 -0
  369. package/dist/session/process.d.ts.map +1 -1
  370. package/dist/session/process.js +175 -67
  371. package/dist/session/process.js.map +1 -1
  372. package/dist/session/runtime-profile.d.ts +18 -0
  373. package/dist/session/runtime-profile.d.ts.map +1 -1
  374. package/dist/session/runtime-profile.js +23 -0
  375. package/dist/session/runtime-profile.js.map +1 -1
  376. package/dist/session/worker-extensions.d.ts.map +1 -1
  377. package/dist/session/worker-extensions.js +4 -3
  378. package/dist/session/worker-extensions.js.map +1 -1
  379. package/dist/shell/claude-pty-shell.js +5 -4
  380. package/dist/shell/claude-pty-shell.js.map +1 -1
  381. package/dist/types.d.ts +5 -0
  382. package/dist/types.d.ts.map +1 -1
  383. package/dist/ui/dashboard-client.d.ts.map +1 -1
  384. package/dist/ui/dashboard-client.js +33 -3
  385. package/dist/ui/dashboard-client.js.map +1 -1
  386. package/dist/ui/web-ui.js +1 -1
  387. package/dist/utils/paths.d.ts +8 -0
  388. package/dist/utils/paths.d.ts.map +1 -1
  389. package/dist/utils/paths.js +11 -0
  390. package/dist/utils/paths.js.map +1 -1
  391. package/lib/automation/browser-thinking.cjs +9 -0
  392. package/lib/automation/browser-thinking.d.cts +2 -0
  393. package/lib/automation/computer-thinking.cjs +10 -0
  394. package/lib/automation/computer-thinking.d.cts +2 -0
  395. package/lib/automation/index.cjs +47 -0
  396. package/lib/automation/index.d.cts +3 -0
  397. package/lib/automation/reasoning-instructions.cjs +5 -0
  398. package/lib/automation/thinking.cjs +35 -0
  399. package/lib/automation/thinking.d.cts +2 -0
  400. package/mcp/capability-catalog.ts +2 -2
  401. package/mcp/server.ts +1 -1
  402. package/mcp/tools/tasks/module.ts +9 -0
  403. package/mcp/tools/telegram/receiver-server.ts +4 -2
  404. package/package.json +6 -4
@@ -134,20 +134,27 @@ exports.MAX_IMAGE_SIZE_BYTES = 10 * 1024 * 1024;
134
134
  // the Opus 5 -> Opus 4.8 demotion above and the Fable 5.1 -> Fable 5 one.
135
135
  // Selection still stores the resolved id, so an agent already on Opus 5 stays
136
136
  // on claude-opus-5 β€” only `/model opus` from now on resolves to 5.5.
137
+ //
138
+ // Sonnet 5.5 (`claude-sonnet-5-5`) does the same on the Sonnet family: it takes
139
+ // `sonnet` / `sonnet[1m]` and Sonnet 5 is demoted to `sonnet5` / `sonnet5[1m]`;
140
+ // Sonnet 4.6 keeps `sonnet46`. An agent already on Sonnet 5 stays on
141
+ // claude-sonnet-5.
137
142
  exports.DEFAULT_MODELS = [
138
143
  { id: 'claude-fable-5-1[1m]', label: 'Fable 5.1 (1M)', alias: 'fable[1m]', contextWindow: 1000000 },
139
144
  { id: 'claude-fable-5[1m]', label: 'Fable 5 (1M)', alias: 'fable5[1m]', contextWindow: 1000000 },
140
145
  { id: 'claude-opus-5-5[1m]', label: 'Opus 5.5 (1M)', alias: 'opus[1m]', contextWindow: 1000000 },
141
146
  { id: 'claude-opus-5[1m]', label: 'Opus 5 (1M)', alias: 'opus5[1m]', contextWindow: 1000000 },
142
147
  { id: 'claude-opus-4-8[1m]', label: 'Opus 4.8 (1M)', alias: 'opus48[1m]', contextWindow: 1000000 },
143
- { id: 'claude-sonnet-5[1m]', label: 'Sonnet 5 (1M)', alias: 'sonnet[1m]', contextWindow: 1000000 },
148
+ { id: 'claude-sonnet-5-5[1m]', label: 'Sonnet 5.5 (1M)', alias: 'sonnet[1m]', contextWindow: 1000000 },
149
+ { id: 'claude-sonnet-5[1m]', label: 'Sonnet 5 (1M)', alias: 'sonnet5[1m]', contextWindow: 1000000 },
144
150
  { id: 'claude-fable-5-1', label: 'Fable 5.1', alias: 'fable', contextWindow: 200000 },
145
151
  { id: 'claude-fable-5', label: 'Fable 5', alias: 'fable5', contextWindow: 200000 },
146
152
  { id: 'claude-opus-5-5', label: 'Opus 5.5', alias: 'opus', contextWindow: 200000 },
147
153
  { id: 'claude-opus-5', label: 'Opus 5', alias: 'opus5', contextWindow: 200000 },
148
154
  { id: 'claude-opus-4-8', label: 'Opus 4.8', alias: 'opus48', contextWindow: 200000 },
149
155
  { id: 'claude-opus-4-6', label: 'Opus 4.6', alias: 'opus46', contextWindow: 200000 },
150
- { id: 'claude-sonnet-5', label: 'Sonnet 5', alias: 'sonnet', contextWindow: 200000 },
156
+ { id: 'claude-sonnet-5-5', label: 'Sonnet 5.5', alias: 'sonnet', contextWindow: 200000 },
157
+ { id: 'claude-sonnet-5', label: 'Sonnet 5', alias: 'sonnet5', contextWindow: 200000 },
151
158
  { id: 'claude-sonnet-4-6', label: 'Sonnet 4.6', alias: 'sonnet46', contextWindow: 200000 },
152
159
  { id: 'claude-haiku-4-5-20251001', label: 'Haiku 4.5', alias: 'haiku', contextWindow: 200000 },
153
160
  { id: 'gpt-6-sol[1m]', label: 'GPT 6 Sol', alias: 'gpt6sol', contextWindow: 1050000 },
@@ -419,18 +426,28 @@ class AgentRunner extends events_1.EventEmitter {
419
426
  recordVoicePlayback(responseId, principalId, progress, state) {
420
427
  this.orchestration?.recordPlayback(responseId, principalId, progress, state);
421
428
  }
422
- async submitVoiceUtterance(sessionId, chatId, principalId, text, utteranceId, allowTools, model) {
429
+ async submitVoiceUtterance(sessionId, chatId, principalId, text, utteranceId, allowTools, model, executionTaskId) {
423
430
  if (!this.agentConfig.orchestration?.enabled || !this.agentConfig.voice?.enabled)
424
431
  throw new Error('Voice is disabled');
425
432
  if (!(await this.apiSessionExists(chatId, sessionId)))
426
433
  throw new Error('Session not found');
427
434
  const orchestration = await this.getOrchestration();
428
435
  const accepted = orchestration.submitInput({ scope: { agentId: this.agentConfig.id, agentSessionId: sessionId, source: 'api', accountId: principalId,
429
- chatId, threadKey: '', principalId }, text, model, modality: 'live_voice', ingressKey: `utterance:${utteranceId}` }, { execute: allowTools, writeMemory: false });
436
+ chatId, threadKey: '', principalId }, text, model, metadata: { executionTaskId }, modality: 'live_voice', ingressKey: `utterance:${utteranceId}` }, { execute: allowTools, writeMemory: false });
430
437
  // The browser refreshes history on utterance.accepted, before inference finishes.
431
438
  await orchestration.flushHistory();
432
439
  return { ...accepted, responseId: () => orchestration.responseIdForInput(accepted.inputId) };
433
440
  }
441
+ async browserSessionScope(sessionId, principalId) {
442
+ if (!this.agentConfig.orchestration?.enabled)
443
+ throw new Error('ORCHESTRATION_DISABLED');
444
+ return (await this.getOrchestration()).browserSessionScope(sessionId, principalId);
445
+ }
446
+ async browserEvidence(sessionId, principalId, taskId, refresh = false) {
447
+ if (!this.agentConfig.orchestration?.enabled)
448
+ throw new Error('ORCHESTRATION_DISABLED');
449
+ return (await this.getOrchestration()).browserEvidence(sessionId, principalId, taskId, refresh);
450
+ }
434
451
  async listApiTasks(sessionId, principalId, page = 0, pageSize = 10, includeFinished = false) {
435
452
  if (!this.agentConfig.orchestration?.enabled)
436
453
  throw new Error('ORCHESTRATION_DISABLED');
@@ -447,6 +464,35 @@ class AgentRunner extends events_1.EventEmitter {
447
464
  // Full retained result, with worker-only skill context removed by status().
448
465
  return { ...runtime.tasks.status(task.conversationId, principalId, taskId)[0], ...detail };
449
466
  }
467
+ /** Provisional: returns the pause id so releaseVoicePause can undo it if the speech yields no command. */
468
+ async pauseVoiceExecution(sessionId, principalId, taskId) {
469
+ const runtime = await this.getOrchestration();
470
+ const detail = runtime.taskControls.detail(sessionId, principalId, taskId);
471
+ const task = runtime.store.task(taskId);
472
+ if (task.executionControl?.action === 'pause' && ['pending', 'paused'].includes(task.executionControl.phase))
473
+ return;
474
+ if (!['queued', 'starting', 'running', 'interrupting'].includes(task.state))
475
+ return;
476
+ if (!runtime.tasks.voicePauseApplies(detail.taskId))
477
+ return;
478
+ const id = (0, crypto_1.randomUUID)();
479
+ runtime.controlTask(sessionId, principalId, detail.taskId, { id, action: 'pause', expectedRevision: task.revision });
480
+ return id;
481
+ }
482
+ /** Speech that produced no command (empty, muted or lost) resumes the task,
483
+ * but only if this voice pause is still the latest control. */
484
+ async releaseVoicePause(sessionId, principalId, taskId, pauseId) {
485
+ const runtime = await this.getOrchestration();
486
+ const task = runtime.store.task(taskId);
487
+ if (task?.executionControl?.id !== pauseId || task.executionControl.action !== 'pause')
488
+ return;
489
+ runtime.controlTask(sessionId, principalId, taskId, { id: (0, crypto_1.randomUUID)(), action: 'resume', expectedRevision: task.revision });
490
+ }
491
+ async controlApiTask(sessionId, principalId, taskId, command) {
492
+ if (!this.agentConfig.orchestration?.enabled)
493
+ throw new Error('ORCHESTRATION_DISABLED');
494
+ return (await this.getOrchestration()).controlTask(sessionId, principalId, taskId, command);
495
+ }
450
496
  async cancelApiTask(sessionId, principalId, taskId) {
451
497
  if (!this.agentConfig.orchestration?.enabled)
452
498
  throw new Error('ORCHESTRATION_DISABLED');
@@ -474,12 +520,12 @@ class AgentRunner extends events_1.EventEmitter {
474
520
  }
475
521
  async sendOrchestratedApi(sessionId, chatId, message, opts, onText, onTool) {
476
522
  const semantic = this.agentConfig.orchestration?.conversation?.semanticIntake === true;
477
- if (!semantic && !opts.acceptOnly && this.pendingApiSessions.has(sessionId))
523
+ if (!opts.executionTaskId && !semantic && !opts.acceptOnly && this.pendingApiSessions.has(sessionId))
478
524
  throw Object.assign(new Error('Session already has a pending request'), { code: 'CONFLICT' });
479
525
  if (!opts.principalId)
480
526
  throw new Error('Authenticated principal required for conversation orchestration');
481
527
  const deadline = Date.now() + opts.timeoutMs;
482
- if (!semantic && !opts.acceptOnly)
528
+ if (!opts.executionTaskId && !semantic && !opts.acceptOnly)
483
529
  this.pendingApiSessions.add(sessionId); // reserve before the first await
484
530
  const preparationDir = opts.acceptOnly ? `api-${sessionId}/admission-${(0, crypto_1.randomUUID)()}` : undefined;
485
531
  let keepPreparedMedia = false;
@@ -490,7 +536,7 @@ class AgentRunner extends events_1.EventEmitter {
490
536
  source: 'api', accountId: opts.principalId, chatId, threadKey: '', principalId: opts.principalId };
491
537
  const ingressKey = opts.clientMessageId ? `web:${sessionId}:${opts.clientMessageId}` : undefined;
492
538
  const requestFingerprint = opts.clientMessageId ? (0, store_1.payloadHash)({ scope, message,
493
- mediaFiles: opts.mediaFiles ?? [], model: opts.model, imageParams: opts.imageParams,
539
+ executionTaskId: opts.executionTaskId, mediaFiles: opts.mediaFiles ?? [], model: opts.model, imageParams: opts.imageParams,
494
540
  videoParams: opts.videoParams, storeUserMessage: !opts.skipUserMessage, allowTools: opts.allowTools ?? false }) : undefined;
495
541
  if (opts.acceptOnly && requestFingerprint) {
496
542
  const prior = orchestration.store.apiReceipt(scope, ingressKey, requestFingerprint);
@@ -517,7 +563,7 @@ class AgentRunner extends events_1.EventEmitter {
517
563
  const requestId = opts.requestId ?? (0, crypto_1.randomUUID)();
518
564
  const scopedInput = { scope, text: message || '[Attachment inspection requested]', attachmentIds: media,
519
565
  requestId, ingressKey, requestFingerprint, storeUserMessage: !opts.skipUserMessage,
520
- metadata: { clientMessageId: opts.clientMessageId, promptContext: (imageParams ? AgentRunner.buildImageParamsNote(imageParams) : '') + (videoParams ? AgentRunner.buildVideoParamsNote(videoParams) : ''), imageRefs: imageParams?.image_refs } };
566
+ metadata: { executionTaskId: opts.executionTaskId, clientMessageId: opts.clientMessageId, promptContext: (imageParams ? AgentRunner.buildImageParamsNote(imageParams) : '') + (videoParams ? AgentRunner.buildVideoParamsNote(videoParams) : ''), imageRefs: imageParams?.image_refs } };
521
567
  if (opts.acceptOnly) {
522
568
  const accepted = orchestration.submitInput({ ...scopedInput, model: opts.model }, { execute: opts.allowTools ?? false, writeMemory: false });
523
569
  // Concurrent retries can prepare separate copies; only the winning
@@ -531,7 +577,7 @@ class AgentRunner extends events_1.EventEmitter {
531
577
  return { text: '', attachments: [], inputId: accepted.inputId };
532
578
  }
533
579
  let text;
534
- if (semantic) {
580
+ if (semantic || opts.executionTaskId) {
535
581
  const accepted = orchestration.submitInput({ ...scopedInput, model: opts.model }, { execute: opts.allowTools ?? false, writeMemory: false }, onTool);
536
582
  const lengths = new Map();
537
583
  const unsubscribe = orchestration.subscribeText(sessionId, opts.principalId, event => {
@@ -565,7 +611,7 @@ class AgentRunner extends events_1.EventEmitter {
565
611
  this.logger.warn('Unused admission media cleanup failed', { error: String(error) });
566
612
  }
567
613
  }
568
- if (!semantic && !opts.acceptOnly)
614
+ if (!opts.executionTaskId && !semantic && !opts.acceptOnly)
569
615
  this.pendingApiSessions.delete(sessionId);
570
616
  }
571
617
  }
@@ -3603,6 +3649,15 @@ class AgentRunner extends events_1.EventEmitter {
3603
3649
  }
3604
3650
  this.pendingRestarts.add(chatId);
3605
3651
  }
3652
+ /**
3653
+ * Format the web→channel echo. Attribute it to the sender when known so
3654
+ * multi-user web messages are distinguishable in the channel; fall back to the
3655
+ * bare prefix when no sender name is available (senderName is persisted to
3656
+ * history on the adjacent line either way).
3657
+ */
3658
+ webEchoText(message, senderName) {
3659
+ return senderName ? `πŸ“± Web (${senderName}): ${message}` : 'πŸ“± Web: ' + message;
3660
+ }
3606
3661
  writeAutoForward(chatId, text, format = 'text', forceDeliver = false) {
3607
3662
  // LINE has no .forward consumer β€” route through LineReplyManager's push path.
3608
3663
  if (this.channelFor(chatId) === 'line') {
@@ -4758,6 +4813,17 @@ class AgentRunner extends events_1.EventEmitter {
4758
4813
  */
4759
4814
  async sendApiMessageStream(sessionId, chatId, message, callbacks, opts) {
4760
4815
  if (this.orchestrationForApi(sessionId)) {
4816
+ if (opts.executionTaskId) {
4817
+ // A task control applies immediately, then its scoped agent reply streams independently.
4818
+ let detached = false;
4819
+ void this.sendOrchestratedApi(sessionId, chatId, message, opts, text => { if (!detached)
4820
+ callbacks.onChunk({ type: 'text_delta', text }); })
4821
+ .then(result => { if (!detached)
4822
+ callbacks.onDone(result.text, result.attachments); })
4823
+ .catch(error => { if (!detached)
4824
+ callbacks.onError((0, response_errors_1.presentedResponseError)(error)); });
4825
+ return () => { detached = true; };
4826
+ }
4761
4827
  if (this.pendingApiSessions.has(sessionId))
4762
4828
  throw Object.assign(new Error('Session already has a pending request'), { code: 'CONFLICT' });
4763
4829
  const turn = this.turnStreams.start((0, turn_stream_1.turnStreamKey)('api', sessionId), opts.requestId ?? (0, crypto_1.randomUUID)());
@@ -5585,6 +5651,23 @@ class AgentRunner extends events_1.EventEmitter {
5585
5651
  source: channel, accountId: String(rows[0]?.account_id ?? this.agentConfig.id), chatId: rawChatId,
5586
5652
  threadKey: String(rows[0]?.thread_key ?? ''), principalId: opts.principalId },
5587
5653
  text: message, requestId, trustedChannelMember: true, metadata: { senderName, senderId: opts.principalId } }, { execute: opts.allowTools ?? false, writeMemory: false });
5654
+ // Echo the web-UI message back to the originating channel so its users see
5655
+ // what was typed from the web (fixes the one-sided conversation on every
5656
+ // channel the endpoint serves, not just Telegram). Placed after the
5657
+ // validation above AND after submitInput has accepted the input into the
5658
+ // store, so a rejected request β€” whether from validation (Authenticated
5659
+ // principal, Ambiguous/mismatched session, Session not found) or from
5660
+ // admission (QUEUE_FULL, ORCHESTRATION_CLOSING thrown by submitInput) β€”
5661
+ // sends no phantom echo. channelSourceMap is set first so writeAutoForward
5662
+ // routes to the right channel receiver β€” the orchestrated path never
5663
+ // reaches the legacy set. forceDeliver=true (null turnId) because the echo
5664
+ // is standalone text no `.replied` marker covers: without it the entry
5665
+ // carries readCurrentTurnId(), which a concurrent channel turn's marker (or
5666
+ // a stale one) with the same turn id would dedup-swallow β€” defeating the
5667
+ // one-sided-conversation fix. Same convention as the socket-drop notice
5668
+ // (2706) and the reply-failure fallback (3738-3742).
5669
+ this.channelSourceMap.set(rawChatId, channel);
5670
+ this.writeAutoForward(rawChatId, this.webEchoText(message, senderName), 'text', true);
5588
5671
  const turn = this.turnStreams.start((0, turn_stream_1.turnStreamKey)(channel, sessionId), requestId);
5589
5672
  const sink = (0, turn_stream_1.callbackSink)(callbacks);
5590
5673
  turn.attach(sink, 0);
@@ -5678,6 +5761,15 @@ class AgentRunner extends events_1.EventEmitter {
5678
5761
  this.channelSourceMap.set(rawChatId, channel);
5679
5762
  // Channel sessions use agent-level model (not per-session)
5680
5763
  const session = await this.getOrSpawnSession(rawChatId, channel, sessionId);
5764
+ // Echo the web-UI message back to the originating channel so its users see
5765
+ // what was typed from the web (fixes the one-sided conversation on every
5766
+ // channel the endpoint serves, not just Telegram). Placed after
5767
+ // getOrSpawnSession so a rejected request or a failed spawn sends no phantom
5768
+ // echo. channelSourceMap was set just above, so writeAutoForward routes to
5769
+ // the right channel receiver. forceDeliver=true (null turnId): see the
5770
+ // orchestrated path above β€” the echo is standalone text no `.replied` marker
5771
+ // covers, so a same-turn-id marker must not dedup it away.
5772
+ this.writeAutoForward(rawChatId, this.webEchoText(message, senderName), 'text', true);
5681
5773
  // Persist user message (Layer 1 session JSON + Layer 2 history DB)
5682
5774
  const uiUserTs = Date.now();
5683
5775
  await this.sessionStore.appendTelegramMessage(this.agentConfig.id, rawChatId, sessionId, {