@elie-laloum/outpost 7.0.0 → 9.0.0

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 (963) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +95 -35
  3. package/SECURITY.md +4 -2
  4. package/dist/adapters/agents/agent-descriptor.types.d.ts +56 -0
  5. package/dist/adapters/agents/agent-descriptor.types.js +2 -0
  6. package/dist/adapters/agents/agent-descriptor.types.js.map +1 -0
  7. package/dist/adapters/agents/antigravity/antigravity-adapter.d.ts +3 -0
  8. package/dist/adapters/agents/antigravity/antigravity-adapter.js +48 -0
  9. package/dist/adapters/agents/antigravity/antigravity-adapter.js.map +1 -0
  10. package/dist/adapters/agents/antigravity/antigravity-authentication.d.ts +2 -0
  11. package/dist/adapters/agents/{antigravity-authentication.js → antigravity/antigravity-authentication.js} +5 -5
  12. package/dist/adapters/agents/antigravity/antigravity-authentication.js.map +1 -0
  13. package/dist/adapters/agents/antigravity/antigravity-descriptor.d.ts +37 -0
  14. package/dist/adapters/agents/antigravity/antigravity-descriptor.js +38 -0
  15. package/dist/adapters/agents/antigravity/antigravity-descriptor.js.map +1 -0
  16. package/dist/adapters/agents/{antigravity-diagnostics.d.ts → antigravity/antigravity-diagnostics.d.ts} +1 -1
  17. package/dist/adapters/agents/{antigravity-diagnostics.js → antigravity/antigravity-diagnostics.js} +1 -1
  18. package/dist/adapters/agents/antigravity/antigravity-diagnostics.js.map +1 -0
  19. package/dist/adapters/agents/{antigravity-events.d.ts → antigravity/antigravity-events.d.ts} +1 -1
  20. package/dist/adapters/agents/{antigravity-events.js → antigravity/antigravity-events.js} +3 -3
  21. package/dist/adapters/agents/antigravity/antigravity-events.js.map +1 -0
  22. package/dist/adapters/agents/antigravity/antigravity-install.constants.js.map +1 -0
  23. package/dist/{providers → adapters/agents/antigravity}/antigravity-install.js +1 -1
  24. package/dist/adapters/agents/antigravity/antigravity-install.js.map +1 -0
  25. package/dist/adapters/agents/antigravity/antigravity-install.types.js.map +1 -0
  26. package/dist/adapters/agents/antigravity/antigravity-mcp.d.ts +3 -0
  27. package/dist/adapters/agents/antigravity/antigravity-mcp.js +27 -0
  28. package/dist/adapters/agents/antigravity/antigravity-mcp.js.map +1 -0
  29. package/dist/adapters/agents/antigravity/antigravity-protocol.constants.d.ts +2 -0
  30. package/dist/adapters/agents/antigravity/antigravity-protocol.constants.js +56 -0
  31. package/dist/adapters/agents/antigravity/antigravity-protocol.constants.js.map +1 -0
  32. package/dist/adapters/agents/antigravity/antigravity-request.d.ts +5 -0
  33. package/dist/adapters/agents/{antigravity-request.js → antigravity/antigravity-request.js} +2 -2
  34. package/dist/adapters/agents/antigravity/antigravity-request.js.map +1 -0
  35. package/dist/adapters/agents/antigravity/antigravity.constants.d.ts +14 -0
  36. package/dist/adapters/agents/antigravity/antigravity.constants.js +31 -0
  37. package/dist/adapters/agents/antigravity/antigravity.constants.js.map +1 -0
  38. package/dist/adapters/agents/antigravity/antigravity.types.d.ts +9 -0
  39. package/dist/adapters/agents/antigravity/antigravity.types.js.map +1 -0
  40. package/dist/adapters/agents/authentication.constants.d.ts +0 -20
  41. package/dist/adapters/agents/authentication.constants.js +0 -9
  42. package/dist/adapters/agents/authentication.constants.js.map +1 -1
  43. package/dist/adapters/agents/catalog.d.ts +160 -0
  44. package/dist/adapters/agents/catalog.js +30 -0
  45. package/dist/adapters/agents/catalog.js.map +1 -0
  46. package/dist/adapters/agents/catalog.types.d.ts +8 -0
  47. package/dist/adapters/agents/catalog.types.js +2 -0
  48. package/dist/adapters/agents/catalog.types.js.map +1 -0
  49. package/dist/adapters/agents/claude/claude-adapter.d.ts +3 -0
  50. package/dist/adapters/agents/claude/claude-adapter.js +63 -0
  51. package/dist/adapters/agents/claude/claude-adapter.js.map +1 -0
  52. package/dist/adapters/agents/claude/claude-authentication.d.ts +2 -0
  53. package/dist/adapters/agents/{claude-authentication.js → claude/claude-authentication.js} +6 -9
  54. package/dist/adapters/agents/claude/claude-authentication.js.map +1 -0
  55. package/dist/adapters/agents/claude/claude-conversations.d.ts +5 -0
  56. package/dist/adapters/agents/claude/claude-conversations.js +22 -0
  57. package/dist/adapters/agents/claude/claude-conversations.js.map +1 -0
  58. package/dist/adapters/agents/claude/claude-descriptor.d.ts +36 -0
  59. package/dist/adapters/agents/claude/claude-descriptor.js +41 -0
  60. package/dist/adapters/agents/claude/claude-descriptor.js.map +1 -0
  61. package/dist/adapters/agents/claude/claude-diagnostics.d.ts +1 -0
  62. package/dist/adapters/agents/{claude-diagnostics.js → claude/claude-diagnostics.js} +2 -2
  63. package/dist/adapters/agents/claude/claude-diagnostics.js.map +1 -0
  64. package/dist/adapters/agents/{claude-events.d.ts → claude/claude-events.d.ts} +1 -1
  65. package/dist/adapters/agents/{claude-events.js → claude/claude-events.js} +29 -5
  66. package/dist/adapters/agents/claude/claude-events.js.map +1 -0
  67. package/dist/adapters/agents/claude/claude-input.d.ts +5 -0
  68. package/dist/adapters/agents/claude/claude-input.js +21 -0
  69. package/dist/adapters/agents/claude/claude-input.js.map +1 -0
  70. package/dist/adapters/agents/claude/claude-mcp.d.ts +4 -0
  71. package/dist/adapters/agents/claude/claude-mcp.js +44 -0
  72. package/dist/adapters/agents/claude/claude-mcp.js.map +1 -0
  73. package/dist/adapters/agents/claude/claude-protocol.constants.d.ts +2 -0
  74. package/dist/adapters/agents/claude/claude-protocol.constants.js +35 -0
  75. package/dist/adapters/agents/claude/claude-protocol.constants.js.map +1 -0
  76. package/dist/adapters/agents/claude/claude-request.d.ts +4 -0
  77. package/dist/adapters/agents/{claude-request.js → claude/claude-request.js} +11 -3
  78. package/dist/adapters/agents/claude/claude-request.js.map +1 -0
  79. package/dist/adapters/agents/claude/claude.constants.d.ts +26 -0
  80. package/dist/adapters/agents/claude/claude.constants.js +42 -0
  81. package/dist/adapters/agents/claude/claude.constants.js.map +1 -0
  82. package/dist/adapters/agents/cli-diagnostics.constants.d.ts +0 -10
  83. package/dist/adapters/agents/cli-diagnostics.constants.js +0 -10
  84. package/dist/adapters/agents/cli-diagnostics.constants.js.map +1 -1
  85. package/dist/adapters/agents/codex/codex-adapter.d.ts +3 -0
  86. package/dist/adapters/agents/codex/codex-adapter.js +48 -0
  87. package/dist/adapters/agents/codex/codex-adapter.js.map +1 -0
  88. package/dist/adapters/agents/codex/codex-app-events.d.ts +4 -0
  89. package/dist/adapters/agents/codex/codex-app-events.js +105 -0
  90. package/dist/adapters/agents/codex/codex-app-events.js.map +1 -0
  91. package/dist/adapters/agents/codex/codex-app-session.d.ts +6 -0
  92. package/dist/adapters/agents/codex/codex-app-session.js +136 -0
  93. package/dist/adapters/agents/codex/codex-app-session.js.map +1 -0
  94. package/dist/adapters/agents/codex/codex-app.constants.d.ts +17 -0
  95. package/dist/adapters/agents/codex/codex-app.constants.js +18 -0
  96. package/dist/adapters/agents/codex/codex-app.constants.js.map +1 -0
  97. package/dist/adapters/agents/codex/codex-authentication.d.ts +3 -0
  98. package/dist/adapters/agents/{codex-authentication.js → codex/codex-authentication.js} +7 -7
  99. package/dist/adapters/agents/codex/codex-authentication.js.map +1 -0
  100. package/dist/adapters/agents/codex/codex-conversations.d.ts +5 -0
  101. package/dist/adapters/agents/codex/codex-conversations.js +21 -0
  102. package/dist/adapters/agents/codex/codex-conversations.js.map +1 -0
  103. package/dist/adapters/agents/codex/codex-descriptor.d.ts +31 -0
  104. package/dist/adapters/agents/codex/codex-descriptor.js +32 -0
  105. package/dist/adapters/agents/codex/codex-descriptor.js.map +1 -0
  106. package/dist/adapters/agents/codex/codex-diagnostics.d.ts +1 -0
  107. package/dist/adapters/agents/{codex-diagnostics.js → codex/codex-diagnostics.js} +2 -2
  108. package/dist/adapters/agents/codex/codex-diagnostics.js.map +1 -0
  109. package/dist/adapters/agents/codex/codex-events.d.ts +2 -0
  110. package/dist/adapters/agents/{codex-events.js → codex/codex-events.js} +18 -5
  111. package/dist/adapters/agents/codex/codex-events.js.map +1 -0
  112. package/dist/adapters/agents/codex/codex-mcp.d.ts +4 -0
  113. package/dist/adapters/agents/codex/codex-mcp.js +72 -0
  114. package/dist/adapters/agents/codex/codex-mcp.js.map +1 -0
  115. package/dist/adapters/agents/codex/codex-protocol.constants.d.ts +2 -0
  116. package/dist/adapters/agents/codex/codex-protocol.constants.js +32 -0
  117. package/dist/adapters/agents/codex/codex-protocol.constants.js.map +1 -0
  118. package/dist/adapters/agents/{codex-provider.d.ts → codex/codex-provider.d.ts} +1 -1
  119. package/dist/adapters/agents/{codex-provider.js → codex/codex-provider.js} +1 -1
  120. package/dist/adapters/agents/codex/codex-provider.js.map +1 -0
  121. package/dist/adapters/agents/codex/codex-request.d.ts +4 -0
  122. package/dist/adapters/agents/{codex-request.js → codex/codex-request.js} +11 -2
  123. package/dist/adapters/agents/codex/codex-request.js.map +1 -0
  124. package/dist/adapters/agents/codex/codex.constants.d.ts +22 -0
  125. package/dist/adapters/agents/codex/codex.constants.js +38 -0
  126. package/dist/adapters/agents/codex/codex.constants.js.map +1 -0
  127. package/dist/adapters/agents/conversation-settings.d.ts +5 -0
  128. package/dist/adapters/agents/conversation-settings.js +13 -0
  129. package/dist/adapters/agents/conversation-settings.js.map +1 -0
  130. package/dist/adapters/agents/copilot/copilot-adapter.d.ts +3 -0
  131. package/dist/adapters/agents/copilot/copilot-adapter.js +53 -0
  132. package/dist/adapters/agents/copilot/copilot-adapter.js.map +1 -0
  133. package/dist/adapters/agents/copilot/copilot-authentication.d.ts +2 -0
  134. package/dist/adapters/agents/{copilot-authentication.js → copilot/copilot-authentication.js} +6 -6
  135. package/dist/adapters/agents/copilot/copilot-authentication.js.map +1 -0
  136. package/dist/adapters/agents/copilot/copilot-conversations.d.ts +5 -0
  137. package/dist/adapters/agents/copilot/copilot-conversations.js +32 -0
  138. package/dist/adapters/agents/copilot/copilot-conversations.js.map +1 -0
  139. package/dist/adapters/agents/copilot/copilot-descriptor.d.ts +36 -0
  140. package/dist/adapters/agents/copilot/copilot-descriptor.js +35 -0
  141. package/dist/adapters/agents/copilot/copilot-descriptor.js.map +1 -0
  142. package/dist/adapters/agents/{copilot-diagnostics.d.ts → copilot/copilot-diagnostics.d.ts} +1 -1
  143. package/dist/adapters/agents/{copilot-diagnostics.js → copilot/copilot-diagnostics.js} +1 -1
  144. package/dist/adapters/agents/copilot/copilot-diagnostics.js.map +1 -0
  145. package/dist/adapters/agents/{copilot-events.d.ts → copilot/copilot-events.d.ts} +1 -1
  146. package/dist/adapters/agents/{copilot-events.js → copilot/copilot-events.js} +10 -6
  147. package/dist/adapters/agents/copilot/copilot-events.js.map +1 -0
  148. package/dist/adapters/agents/copilot/copilot-mcp.d.ts +2 -0
  149. package/dist/adapters/agents/copilot/copilot-mcp.js +30 -0
  150. package/dist/adapters/agents/copilot/copilot-mcp.js.map +1 -0
  151. package/dist/adapters/agents/copilot/copilot-protocol.constants.d.ts +2 -0
  152. package/dist/adapters/agents/copilot/copilot-protocol.constants.js +56 -0
  153. package/dist/adapters/agents/copilot/copilot-protocol.constants.js.map +1 -0
  154. package/dist/adapters/agents/copilot/copilot-request.d.ts +5 -0
  155. package/dist/adapters/agents/{copilot-request.js → copilot/copilot-request.js} +4 -3
  156. package/dist/adapters/agents/copilot/copilot-request.js.map +1 -0
  157. package/dist/adapters/agents/{copilot-usage.d.ts → copilot/copilot-usage.d.ts} +1 -1
  158. package/dist/adapters/agents/{copilot-usage.js → copilot/copilot-usage.js} +3 -3
  159. package/dist/adapters/agents/copilot/copilot-usage.js.map +1 -0
  160. package/dist/adapters/agents/copilot/copilot.constants.d.ts +11 -0
  161. package/dist/adapters/agents/copilot/copilot.constants.js +29 -0
  162. package/dist/adapters/agents/copilot/copilot.constants.js.map +1 -0
  163. package/dist/adapters/agents/copilot/copilot.types.d.ts +10 -0
  164. package/dist/adapters/agents/copilot/copilot.types.js.map +1 -0
  165. package/dist/adapters/agents/kimi/kimi-adapter.d.ts +3 -0
  166. package/dist/adapters/agents/kimi/kimi-adapter.js +59 -0
  167. package/dist/adapters/agents/kimi/kimi-adapter.js.map +1 -0
  168. package/dist/adapters/agents/{kimi-authentication.d.ts → kimi/kimi-authentication.d.ts} +1 -1
  169. package/dist/adapters/agents/{kimi-authentication.js → kimi/kimi-authentication.js} +6 -7
  170. package/dist/adapters/agents/kimi/kimi-authentication.js.map +1 -0
  171. package/dist/adapters/agents/kimi/kimi-conversations.d.ts +5 -0
  172. package/dist/adapters/agents/kimi/kimi-conversations.js +49 -0
  173. package/dist/adapters/agents/kimi/kimi-conversations.js.map +1 -0
  174. package/dist/adapters/agents/kimi/kimi-descriptor.d.ts +30 -0
  175. package/dist/adapters/agents/kimi/kimi-descriptor.js +31 -0
  176. package/dist/adapters/agents/kimi/kimi-descriptor.js.map +1 -0
  177. package/dist/adapters/agents/{kimi-diagnostics.d.ts → kimi/kimi-diagnostics.d.ts} +1 -1
  178. package/dist/adapters/agents/{kimi-diagnostics.js → kimi/kimi-diagnostics.js} +1 -1
  179. package/dist/adapters/agents/kimi/kimi-diagnostics.js.map +1 -0
  180. package/dist/adapters/agents/kimi/kimi-events.d.ts +2 -0
  181. package/dist/adapters/agents/{kimi-events.js → kimi/kimi-events.js} +3 -3
  182. package/dist/adapters/agents/kimi/kimi-events.js.map +1 -0
  183. package/dist/adapters/agents/kimi/kimi-fork.d.ts +2 -0
  184. package/dist/adapters/agents/{kimi-fork.js → kimi/kimi-fork.js} +3 -3
  185. package/dist/adapters/agents/kimi/kimi-fork.js.map +1 -0
  186. package/dist/adapters/agents/kimi/kimi-mcp.d.ts +6 -0
  187. package/dist/adapters/agents/kimi/kimi-mcp.js +65 -0
  188. package/dist/adapters/agents/kimi/kimi-mcp.js.map +1 -0
  189. package/dist/adapters/agents/kimi/kimi-protocol.constants.d.ts +2 -0
  190. package/dist/adapters/agents/kimi/kimi-protocol.constants.js +50 -0
  191. package/dist/adapters/agents/kimi/kimi-protocol.constants.js.map +1 -0
  192. package/dist/adapters/agents/kimi/kimi-request.d.ts +5 -0
  193. package/dist/adapters/agents/{kimi-request.js → kimi/kimi-request.js} +3 -3
  194. package/dist/adapters/agents/kimi/kimi-request.js.map +1 -0
  195. package/dist/adapters/agents/kimi/kimi-usage.d.ts +2 -0
  196. package/dist/adapters/agents/{kimi-usage.js → kimi/kimi-usage.js} +2 -2
  197. package/dist/adapters/agents/kimi/kimi-usage.js.map +1 -0
  198. package/dist/adapters/agents/kimi/kimi.constants.d.ts +28 -0
  199. package/dist/adapters/agents/kimi/kimi.constants.js +51 -0
  200. package/dist/adapters/agents/kimi/kimi.constants.js.map +1 -0
  201. package/dist/adapters/agents/kimi/kimi.types.d.ts +11 -0
  202. package/dist/adapters/agents/kimi/kimi.types.js.map +1 -0
  203. package/dist/adapters/agents/mcp-configuration.d.ts +12 -0
  204. package/dist/adapters/agents/mcp-configuration.js +57 -0
  205. package/dist/adapters/agents/mcp-configuration.js.map +1 -0
  206. package/dist/adapters/agents/mcp-support.types.d.ts +7 -0
  207. package/dist/adapters/agents/mcp-support.types.js +2 -0
  208. package/dist/adapters/agents/mcp-support.types.js.map +1 -0
  209. package/dist/adapters/agents/model-support.constants.d.ts +0 -7
  210. package/dist/adapters/agents/model-support.constants.js +0 -26
  211. package/dist/adapters/agents/model-support.constants.js.map +1 -1
  212. package/dist/adapters/agents/model-support.d.ts +2 -1
  213. package/dist/adapters/agents/model-support.js +12 -1
  214. package/dist/adapters/agents/model-support.js.map +1 -1
  215. package/dist/adapters/agents/protocol-fixtures.types.d.ts +0 -1
  216. package/dist/adapters/agents/protocol-fixtures.types.js.map +1 -1
  217. package/dist/adapters/agents/settings.types.d.ts +12 -0
  218. package/dist/adapters/agents/settings.types.js.map +1 -1
  219. package/dist/adapters/agents/text-matcher.d.ts +1 -0
  220. package/dist/adapters/agents/text-matcher.js +5 -0
  221. package/dist/adapters/agents/text-matcher.js.map +1 -0
  222. package/dist/adapters/agents/unavailable.constants.d.ts +3 -0
  223. package/dist/adapters/agents/unavailable.constants.js +13 -0
  224. package/dist/adapters/agents/unavailable.constants.js.map +1 -0
  225. package/dist/adapters/models/anthropic-model-provider.d.ts +1 -1
  226. package/dist/adapters/models/anthropic-model-provider.js +1 -1
  227. package/dist/adapters/models/anthropic-model-provider.js.map +1 -1
  228. package/dist/adapters/models/http-provider.js +12 -3
  229. package/dist/adapters/models/http-provider.js.map +1 -1
  230. package/dist/adapters/models/model.constants.d.ts +5 -0
  231. package/dist/adapters/models/model.constants.js +15 -0
  232. package/dist/adapters/models/model.constants.js.map +1 -1
  233. package/dist/adapters/models/openai-model-provider.d.ts +1 -1
  234. package/dist/adapters/models/openai-model-provider.js +1 -1
  235. package/dist/adapters/models/openai-model-provider.js.map +1 -1
  236. package/dist/adapters/models/stream-events.js +14 -5
  237. package/dist/adapters/models/stream-events.js.map +1 -1
  238. package/dist/adapters/tools/edit-tools.d.ts +1 -1
  239. package/dist/adapters/tools/edit-tools.js +1 -1
  240. package/dist/adapters/tools/edit-tools.js.map +1 -1
  241. package/dist/adapters/tools/file-tools.d.ts +1 -1
  242. package/dist/adapters/tools/file-tools.js +1 -1
  243. package/dist/adapters/tools/file-tools.js.map +1 -1
  244. package/dist/adapters/tools/git-tools.d.ts +1 -1
  245. package/dist/adapters/tools/git-tools.js +1 -1
  246. package/dist/adapters/tools/git-tools.js.map +1 -1
  247. package/dist/adapters/tools/mcp-connection.d.ts +2 -0
  248. package/dist/adapters/tools/mcp-connection.js +93 -0
  249. package/dist/adapters/tools/mcp-connection.js.map +1 -0
  250. package/dist/adapters/tools/mcp-content.d.ts +4 -0
  251. package/dist/adapters/tools/mcp-content.js +24 -0
  252. package/dist/adapters/tools/mcp-content.js.map +1 -0
  253. package/dist/adapters/tools/mcp-launcher.constants.d.ts +1 -0
  254. package/dist/adapters/tools/mcp-launcher.constants.js +210 -0
  255. package/dist/adapters/tools/mcp-launcher.constants.js.map +1 -0
  256. package/dist/adapters/tools/mcp-process.d.ts +4 -0
  257. package/dist/adapters/tools/mcp-process.js +65 -0
  258. package/dist/adapters/tools/mcp-process.js.map +1 -0
  259. package/dist/adapters/tools/mcp-resources.d.ts +5 -0
  260. package/dist/adapters/tools/mcp-resources.js +157 -0
  261. package/dist/adapters/tools/mcp-resources.js.map +1 -0
  262. package/dist/adapters/tools/mcp-tools.d.ts +6 -0
  263. package/dist/adapters/tools/mcp-tools.js +98 -0
  264. package/dist/adapters/tools/mcp-tools.js.map +1 -0
  265. package/dist/adapters/tools/mcp.constants.d.ts +22 -0
  266. package/dist/adapters/tools/mcp.constants.js +24 -0
  267. package/dist/adapters/tools/mcp.constants.js.map +1 -0
  268. package/dist/adapters/tools/mcp.d.ts +4 -0
  269. package/dist/adapters/tools/mcp.js +88 -0
  270. package/dist/adapters/tools/mcp.js.map +1 -0
  271. package/dist/adapters/tools/mcp.types.d.ts +55 -0
  272. package/dist/adapters/tools/mcp.types.js +2 -0
  273. package/dist/adapters/tools/mcp.types.js.map +1 -0
  274. package/dist/adapters/tools/search-tools.d.ts +1 -1
  275. package/dist/adapters/tools/search-tools.js +1 -1
  276. package/dist/adapters/tools/search-tools.js.map +1 -1
  277. package/dist/adapters/tools/shell-tools.d.ts +1 -1
  278. package/dist/adapters/tools/shell-tools.js +1 -1
  279. package/dist/adapters/tools/shell-tools.js.map +1 -1
  280. package/dist/adapters/triggers/github-webhook.d.ts +4 -0
  281. package/dist/adapters/triggers/github-webhook.js +41 -0
  282. package/dist/adapters/triggers/github-webhook.js.map +1 -0
  283. package/dist/adapters/triggers/gitlab-webhook.d.ts +4 -0
  284. package/dist/adapters/triggers/gitlab-webhook.js +48 -0
  285. package/dist/adapters/triggers/gitlab-webhook.js.map +1 -0
  286. package/dist/adapters/triggers/slack-request.d.ts +4 -0
  287. package/dist/adapters/triggers/slack-request.js +55 -0
  288. package/dist/adapters/triggers/slack-request.js.map +1 -0
  289. package/dist/adapters/triggers/standard-webhook.d.ts +6 -0
  290. package/dist/adapters/triggers/standard-webhook.js +50 -0
  291. package/dist/adapters/triggers/standard-webhook.js.map +1 -0
  292. package/dist/adapters/triggers/trigger-body.d.ts +5 -0
  293. package/dist/adapters/triggers/trigger-body.js +16 -0
  294. package/dist/adapters/triggers/trigger-body.js.map +1 -0
  295. package/dist/adapters/triggers/trigger-events.d.ts +6 -0
  296. package/dist/adapters/triggers/trigger-events.js +91 -0
  297. package/dist/adapters/triggers/trigger-events.js.map +1 -0
  298. package/dist/adapters/triggers/triggers.types.d.ts +47 -0
  299. package/dist/adapters/triggers/triggers.types.js +2 -0
  300. package/dist/adapters/triggers/triggers.types.js.map +1 -0
  301. package/dist/application/agent-bootstrap.js +16 -19
  302. package/dist/application/agent-bootstrap.js.map +1 -1
  303. package/dist/application/agent-bootstrap.types.d.ts +2 -11
  304. package/dist/application/agent-bootstrap.types.js.map +1 -1
  305. package/dist/application/agent-configuration.d.ts +4 -0
  306. package/dist/application/agent-configuration.js +50 -0
  307. package/dist/application/agent-configuration.js.map +1 -0
  308. package/dist/application/agent-failure.d.ts +11 -0
  309. package/dist/application/agent-failure.js +48 -0
  310. package/dist/application/agent-failure.js.map +1 -0
  311. package/dist/application/agent-fallback.d.ts +5 -0
  312. package/dist/application/agent-fallback.js +90 -0
  313. package/dist/application/agent-fallback.js.map +1 -0
  314. package/dist/application/agent-fallback.types.d.ts +9 -0
  315. package/dist/application/agent-fallback.types.js +2 -0
  316. package/dist/application/agent-fallback.types.js.map +1 -0
  317. package/dist/application/agent-output.js +19 -2
  318. package/dist/application/agent-output.js.map +1 -1
  319. package/dist/application/agent-storage.js +5 -10
  320. package/dist/application/agent-storage.js.map +1 -1
  321. package/dist/application/agent-turn.js +54 -22
  322. package/dist/application/agent-turn.js.map +1 -1
  323. package/dist/application/artifact-tasks.d.ts +1 -1
  324. package/dist/application/artifact-tasks.js +3 -3
  325. package/dist/application/artifact-tasks.js.map +1 -1
  326. package/dist/application/cli-steering.d.ts +6 -0
  327. package/dist/application/cli-steering.js +107 -0
  328. package/dist/application/cli-steering.js.map +1 -0
  329. package/dist/application/cli-steering.types.d.ts +15 -0
  330. package/dist/application/cli-steering.types.js +2 -0
  331. package/dist/application/cli-steering.types.js.map +1 -0
  332. package/dist/application/configuration-installer.constants.d.ts +1 -0
  333. package/dist/application/configuration-installer.constants.js +37 -0
  334. package/dist/application/configuration-installer.constants.js.map +1 -0
  335. package/dist/application/conversation-stores.d.ts +13 -0
  336. package/dist/application/conversation-stores.js +15 -0
  337. package/dist/application/conversation-stores.js.map +1 -0
  338. package/dist/application/custom-turn.js +11 -4
  339. package/dist/application/custom-turn.js.map +1 -1
  340. package/dist/application/dispatch-observation.js +14 -1
  341. package/dist/application/dispatch-observation.js.map +1 -1
  342. package/dist/application/dispatch-validation.js +10 -1
  343. package/dist/application/dispatch-validation.js.map +1 -1
  344. package/dist/application/dispatch.d.ts +2 -4
  345. package/dist/application/dispatch.js +20 -5
  346. package/dist/application/dispatch.js.map +1 -1
  347. package/dist/application/doctor-agent.constants.d.ts +2 -2
  348. package/dist/application/doctor-agent.constants.js +11 -45
  349. package/dist/application/doctor-agent.constants.js.map +1 -1
  350. package/dist/application/doctor-protocol.js +1 -2
  351. package/dist/application/doctor-protocol.js.map +1 -1
  352. package/dist/application/doctor.types.d.ts +4 -1
  353. package/dist/application/doctor.types.js.map +1 -1
  354. package/dist/application/execution.constants.d.ts +2 -0
  355. package/dist/application/execution.constants.js +2 -0
  356. package/dist/application/execution.constants.js.map +1 -1
  357. package/dist/application/execution.js +13 -5
  358. package/dist/application/execution.js.map +1 -1
  359. package/dist/application/execution.types.d.ts +11 -2
  360. package/dist/application/execution.types.js.map +1 -1
  361. package/dist/application/harness-loop.js +20 -5
  362. package/dist/application/harness-loop.js.map +1 -1
  363. package/dist/application/harness-mcp.d.ts +4 -0
  364. package/dist/application/harness-mcp.js +16 -0
  365. package/dist/application/harness-mcp.js.map +1 -0
  366. package/dist/application/harness-steering.d.ts +4 -0
  367. package/dist/application/harness-steering.js +16 -0
  368. package/dist/application/harness-steering.js.map +1 -0
  369. package/dist/application/harness-subagent.js +9 -4
  370. package/dist/application/harness-subagent.js.map +1 -1
  371. package/dist/application/harness.types.d.ts +12 -0
  372. package/dist/application/harness.types.js.map +1 -1
  373. package/dist/application/interactive-task-execution.d.ts +3 -0
  374. package/dist/application/interactive-task-execution.js +76 -0
  375. package/dist/application/interactive-task-execution.js.map +1 -0
  376. package/dist/application/interactive-task-protocol.d.ts +4 -0
  377. package/dist/application/interactive-task-protocol.js +56 -0
  378. package/dist/application/interactive-task-protocol.js.map +1 -0
  379. package/dist/application/interactive-task.constants.d.ts +4 -0
  380. package/dist/application/interactive-task.constants.js +7 -0
  381. package/dist/application/interactive-task.constants.js.map +1 -0
  382. package/dist/application/interactive-task.d.ts +3 -0
  383. package/dist/application/interactive-task.js +84 -0
  384. package/dist/application/interactive-task.js.map +1 -0
  385. package/dist/application/interactive-task.types.d.ts +44 -0
  386. package/dist/application/interactive-task.types.js +2 -0
  387. package/dist/application/interactive-task.types.js.map +1 -0
  388. package/dist/application/outpost.types.d.ts +8 -2
  389. package/dist/application/outpost.types.js.map +1 -1
  390. package/dist/application/queue-worker.js +19 -1
  391. package/dist/application/queue-worker.js.map +1 -1
  392. package/dist/application/queued-task.d.ts +1 -1
  393. package/dist/application/queued-task.js +20 -5
  394. package/dist/application/queued-task.js.map +1 -1
  395. package/dist/application/quota-resume.constants.d.ts +1 -0
  396. package/dist/application/quota-resume.constants.js +2 -0
  397. package/dist/application/quota-resume.constants.js.map +1 -0
  398. package/dist/application/quota-resume.d.ts +9 -0
  399. package/dist/application/quota-resume.js +38 -0
  400. package/dist/application/quota-resume.js.map +1 -0
  401. package/dist/application/quota-resume.types.d.ts +1 -0
  402. package/dist/application/quota-resume.types.js +2 -0
  403. package/dist/application/quota-resume.types.js.map +1 -0
  404. package/dist/application/recovery-retention-policy.js +1 -1
  405. package/dist/application/recovery-retention-policy.js.map +1 -1
  406. package/dist/application/recovery-retention.js +3 -3
  407. package/dist/application/recovery-retention.js.map +1 -1
  408. package/dist/application/recovery-retention.types.d.ts +1 -1
  409. package/dist/application/recovery-retention.types.js.map +1 -1
  410. package/dist/application/remote-workspace.js +2 -1
  411. package/dist/application/remote-workspace.js.map +1 -1
  412. package/dist/application/replay-recording.d.ts +2 -0
  413. package/dist/application/replay-recording.js +22 -0
  414. package/dist/application/replay-recording.js.map +1 -0
  415. package/dist/application/replay-turn.d.ts +4 -0
  416. package/dist/application/replay-turn.js +67 -0
  417. package/dist/application/replay-turn.js.map +1 -0
  418. package/dist/application/replay-workspace.d.ts +4 -0
  419. package/dist/application/replay-workspace.js +71 -0
  420. package/dist/application/replay-workspace.js.map +1 -0
  421. package/dist/application/replay-workspace.types.d.ts +6 -0
  422. package/dist/application/replay-workspace.types.js +2 -0
  423. package/dist/application/replay-workspace.types.js.map +1 -0
  424. package/dist/application/repository-fingerprint.d.ts +1 -0
  425. package/dist/application/repository-fingerprint.js +18 -0
  426. package/dist/application/repository-fingerprint.js.map +1 -0
  427. package/dist/application/sandbox-agents.js +8 -6
  428. package/dist/application/sandbox-agents.js.map +1 -1
  429. package/dist/application/sandbox-attach.js +6 -6
  430. package/dist/application/sandbox-attach.js.map +1 -1
  431. package/dist/application/sandbox-dispatch.js +86 -42
  432. package/dist/application/sandbox-dispatch.js.map +1 -1
  433. package/dist/application/sandbox-provision.js +6 -4
  434. package/dist/application/sandbox-provision.js.map +1 -1
  435. package/dist/application/sandbox-session.types.d.ts +20 -0
  436. package/dist/application/sandbox-session.types.js.map +1 -1
  437. package/dist/application/sandbox.js +3 -2
  438. package/dist/application/sandbox.js.map +1 -1
  439. package/dist/application/schedules.constants.d.ts +3 -0
  440. package/dist/application/schedules.constants.js +4 -0
  441. package/dist/application/schedules.constants.js.map +1 -0
  442. package/dist/application/schedules.d.ts +5 -0
  443. package/dist/application/schedules.js +80 -0
  444. package/dist/application/schedules.js.map +1 -0
  445. package/dist/application/schedules.types.d.ts +30 -0
  446. package/dist/application/schedules.types.js +2 -0
  447. package/dist/application/schedules.types.js.map +1 -0
  448. package/dist/application/speculation-checkpoint.js +19 -2
  449. package/dist/application/speculation-checkpoint.js.map +1 -1
  450. package/dist/application/speculation-checkpoint.types.d.ts +1 -1
  451. package/dist/application/speculation-checkpoint.types.js.map +1 -1
  452. package/dist/application/speculation-resume.js +21 -0
  453. package/dist/application/speculation-resume.js.map +1 -1
  454. package/dist/application/speculation-run.js +18 -1
  455. package/dist/application/speculation-run.js.map +1 -1
  456. package/dist/application/speculation.types.d.ts +9 -4
  457. package/dist/application/speculation.types.js.map +1 -1
  458. package/dist/application/steering-scope.d.ts +7 -0
  459. package/dist/application/steering-scope.js +33 -0
  460. package/dist/application/steering-scope.js.map +1 -0
  461. package/dist/application/steering-turns.d.ts +4 -0
  462. package/dist/application/steering-turns.js +47 -0
  463. package/dist/application/steering-turns.js.map +1 -0
  464. package/dist/application/steering-turns.types.d.ts +7 -0
  465. package/dist/application/steering-turns.types.js +2 -0
  466. package/dist/application/steering-turns.types.js.map +1 -0
  467. package/dist/application/stop-reason.js +3 -0
  468. package/dist/application/stop-reason.js.map +1 -1
  469. package/dist/application/tasks.d.ts +3 -3
  470. package/dist/application/tasks.js +18 -11
  471. package/dist/application/tasks.js.map +1 -1
  472. package/dist/application/tasks.types.d.ts +7 -2
  473. package/dist/application/tasks.types.js.map +1 -1
  474. package/dist/application/tool-execution.js +1 -0
  475. package/dist/application/tool-execution.js.map +1 -1
  476. package/dist/application/transport-inspection.constants.js +1 -0
  477. package/dist/application/transport-inspection.constants.js.map +1 -1
  478. package/dist/application/transport-retention.js +33 -1
  479. package/dist/application/transport-retention.js.map +1 -1
  480. package/dist/application/workflow-job.d.ts +4 -0
  481. package/dist/application/workflow-job.js +83 -0
  482. package/dist/application/workflow-job.js.map +1 -0
  483. package/dist/application/workflow-job.types.d.ts +21 -0
  484. package/dist/application/workflow-job.types.js +2 -0
  485. package/dist/application/workflow-job.types.js.map +1 -0
  486. package/dist/cli/image-recipe.d.ts +4 -0
  487. package/dist/cli/image-recipe.js +28 -0
  488. package/dist/cli/image-recipe.js.map +1 -0
  489. package/dist/cli/init-authentication.d.ts +2 -1
  490. package/dist/cli/init-authentication.js +2 -4
  491. package/dist/cli/init-authentication.js.map +1 -1
  492. package/dist/cli/init-command.js +4 -3
  493. package/dist/cli/init-command.js.map +1 -1
  494. package/dist/cli/main.constants.d.ts +2 -59
  495. package/dist/cli/main.constants.js +3 -75
  496. package/dist/cli/main.constants.js.map +1 -1
  497. package/dist/cli/main.js +0 -0
  498. package/dist/cli/scaffold-validation.js +7 -13
  499. package/dist/cli/scaffold-validation.js.map +1 -1
  500. package/dist/cli/scaffold.constants.js +3 -7
  501. package/dist/cli/scaffold.constants.js.map +1 -1
  502. package/dist/cli/scaffold.types.d.ts +4 -8
  503. package/dist/cli/scaffold.types.js.map +1 -1
  504. package/dist/cli/starters.js +13 -5
  505. package/dist/cli/starters.js.map +1 -1
  506. package/dist/domain/agent-observation.js +1 -0
  507. package/dist/domain/agent-observation.js.map +1 -1
  508. package/dist/domain/agent.d.ts +3 -3
  509. package/dist/domain/agent.js +2 -2
  510. package/dist/domain/agent.js.map +1 -1
  511. package/dist/domain/agent.types.d.ts +61 -3
  512. package/dist/domain/agent.types.js.map +1 -1
  513. package/dist/domain/artifact.d.ts +2 -4
  514. package/dist/domain/artifact.js +38 -40
  515. package/dist/domain/artifact.js.map +1 -1
  516. package/dist/domain/command.types.d.ts +2 -0
  517. package/dist/domain/command.types.js.map +1 -1
  518. package/dist/domain/conversation.d.ts +3 -0
  519. package/dist/domain/conversation.js +18 -0
  520. package/dist/domain/conversation.js.map +1 -0
  521. package/dist/domain/conversation.types.d.ts +9 -0
  522. package/dist/domain/conversation.types.js.map +1 -1
  523. package/dist/domain/cron.constants.d.ts +10 -0
  524. package/dist/domain/cron.constants.js +47 -0
  525. package/dist/domain/cron.constants.js.map +1 -0
  526. package/dist/domain/cron.d.ts +2 -0
  527. package/dist/domain/cron.js +169 -0
  528. package/dist/domain/cron.js.map +1 -0
  529. package/dist/domain/cron.types.d.ts +27 -0
  530. package/dist/domain/cron.types.js +2 -0
  531. package/dist/domain/cron.types.js.map +1 -0
  532. package/dist/domain/errors.constants.d.ts +1 -0
  533. package/dist/domain/errors.constants.js +2 -0
  534. package/dist/domain/errors.constants.js.map +1 -0
  535. package/dist/domain/errors.d.ts +2 -0
  536. package/dist/domain/errors.js +13 -0
  537. package/dist/domain/errors.js.map +1 -1
  538. package/dist/domain/errors.types.d.ts +1 -1
  539. package/dist/domain/errors.types.js.map +1 -1
  540. package/dist/domain/fallback-agent.constants.d.ts +3 -0
  541. package/dist/domain/fallback-agent.constants.js +10 -0
  542. package/dist/domain/fallback-agent.constants.js.map +1 -0
  543. package/dist/domain/fallback-agent.d.ts +7 -0
  544. package/dist/domain/fallback-agent.js +46 -0
  545. package/dist/domain/fallback-agent.js.map +1 -0
  546. package/dist/domain/fallback-agent.types.d.ts +37 -0
  547. package/dist/domain/fallback-agent.types.js +2 -0
  548. package/dist/domain/fallback-agent.types.js.map +1 -0
  549. package/dist/domain/harness.constants.js +1 -0
  550. package/dist/domain/harness.constants.js.map +1 -1
  551. package/dist/domain/harness.d.ts +1 -1
  552. package/dist/domain/harness.js +15 -9
  553. package/dist/domain/harness.js.map +1 -1
  554. package/dist/domain/harness.types.d.ts +7 -0
  555. package/dist/domain/harness.types.js.map +1 -1
  556. package/dist/domain/mcp-prompt.d.ts +3 -0
  557. package/dist/domain/mcp-prompt.js +21 -0
  558. package/dist/domain/mcp-prompt.js.map +1 -0
  559. package/dist/domain/mcp-prompt.types.d.ts +5 -0
  560. package/dist/domain/mcp-prompt.types.js +2 -0
  561. package/dist/domain/mcp-prompt.types.js.map +1 -0
  562. package/dist/domain/mcp-server.constants.d.ts +11 -0
  563. package/dist/domain/mcp-server.constants.js +37 -0
  564. package/dist/domain/mcp-server.constants.js.map +1 -0
  565. package/dist/domain/mcp-server.d.ts +7 -0
  566. package/dist/domain/mcp-server.js +186 -0
  567. package/dist/domain/mcp-server.js.map +1 -0
  568. package/dist/domain/mcp-server.types.d.ts +29 -0
  569. package/dist/domain/mcp-server.types.js +2 -0
  570. package/dist/domain/mcp-server.types.js.map +1 -0
  571. package/dist/domain/observation.types.d.ts +6 -1
  572. package/dist/domain/observation.types.js.map +1 -1
  573. package/dist/domain/ports.d.ts +2 -2
  574. package/dist/domain/ports.js.map +1 -1
  575. package/dist/domain/quota.d.ts +4 -0
  576. package/dist/domain/quota.js +21 -0
  577. package/dist/domain/quota.js.map +1 -0
  578. package/dist/domain/quota.types.d.ts +7 -0
  579. package/dist/domain/quota.types.js +2 -0
  580. package/dist/domain/quota.types.js.map +1 -0
  581. package/dist/domain/replay.constants.d.ts +11 -0
  582. package/dist/domain/replay.constants.js +44 -0
  583. package/dist/domain/replay.constants.js.map +1 -0
  584. package/dist/domain/replay.d.ts +11 -0
  585. package/dist/domain/replay.js +308 -0
  586. package/dist/domain/replay.js.map +1 -0
  587. package/dist/domain/replay.types.d.ts +103 -0
  588. package/dist/domain/replay.types.js +2 -0
  589. package/dist/domain/replay.types.js.map +1 -0
  590. package/dist/domain/response.d.ts +2 -4
  591. package/dist/domain/response.js +7 -5
  592. package/dist/domain/response.js.map +1 -1
  593. package/dist/domain/sandbox.types.d.ts +2 -0
  594. package/dist/domain/sandbox.types.js.map +1 -1
  595. package/dist/domain/steering.d.ts +10 -0
  596. package/dist/domain/steering.js +88 -0
  597. package/dist/domain/steering.js.map +1 -0
  598. package/dist/domain/steering.types.d.ts +42 -0
  599. package/dist/domain/steering.types.js +2 -0
  600. package/dist/domain/steering.types.js.map +1 -0
  601. package/dist/domain/subagent.js +2 -2
  602. package/dist/domain/subagent.js.map +1 -1
  603. package/dist/domain/task-queue.js +18 -0
  604. package/dist/domain/task-queue.js.map +1 -1
  605. package/dist/domain/task-queue.types.d.ts +9 -0
  606. package/dist/domain/task-queue.types.js.map +1 -1
  607. package/dist/domain/trigger-job.constants.d.ts +2 -0
  608. package/dist/domain/trigger-job.constants.js +3 -0
  609. package/dist/domain/trigger-job.constants.js.map +1 -0
  610. package/dist/domain/trigger-job.d.ts +5 -0
  611. package/dist/domain/trigger-job.js +22 -0
  612. package/dist/domain/trigger-job.js.map +1 -0
  613. package/dist/domain/trigger-job.types.d.ts +14 -0
  614. package/dist/domain/trigger-job.types.js +2 -0
  615. package/dist/domain/trigger-job.types.js.map +1 -0
  616. package/dist/domain/trigger.constants.d.ts +5 -0
  617. package/dist/domain/trigger.constants.js +6 -0
  618. package/dist/domain/trigger.constants.js.map +1 -0
  619. package/dist/domain/trigger.d.ts +8 -0
  620. package/dist/domain/trigger.js +32 -0
  621. package/dist/domain/trigger.js.map +1 -0
  622. package/dist/domain/trigger.types.d.ts +35 -0
  623. package/dist/domain/trigger.types.js +2 -0
  624. package/dist/domain/trigger.types.js.map +1 -0
  625. package/dist/domain/unavailable.d.ts +3 -0
  626. package/dist/domain/unavailable.js +9 -0
  627. package/dist/domain/unavailable.js.map +1 -0
  628. package/dist/domain/unavailable.types.d.ts +4 -0
  629. package/dist/domain/unavailable.types.js +2 -0
  630. package/dist/domain/unavailable.types.js.map +1 -0
  631. package/dist/domain/workflow/canonical-json.d.ts +3 -0
  632. package/dist/domain/workflow/canonical-json.js +13 -0
  633. package/dist/domain/workflow/canonical-json.js.map +1 -0
  634. package/dist/domain/workflow/checkpoint-validation.js +14 -1
  635. package/dist/domain/workflow/checkpoint-validation.js.map +1 -1
  636. package/dist/domain/workflow/checkpoint.js +13 -2
  637. package/dist/domain/workflow/checkpoint.js.map +1 -1
  638. package/dist/domain/workflow/gate-validation.js +2 -1
  639. package/dist/domain/workflow/gate-validation.js.map +1 -1
  640. package/dist/domain/workflow/gates.d.ts +2 -2
  641. package/dist/domain/workflow/gates.js +4 -4
  642. package/dist/domain/workflow/gates.js.map +1 -1
  643. package/dist/domain/workflow/input-validation.d.ts +7 -0
  644. package/dist/domain/workflow/input-validation.js +82 -0
  645. package/dist/domain/workflow/input-validation.js.map +1 -0
  646. package/dist/domain/workflow/input.d.ts +10 -0
  647. package/dist/domain/workflow/input.js +93 -0
  648. package/dist/domain/workflow/input.js.map +1 -0
  649. package/dist/domain/workflow/input.types.d.ts +37 -0
  650. package/dist/domain/workflow/input.types.js +2 -0
  651. package/dist/domain/workflow/input.types.js.map +1 -0
  652. package/dist/domain/workflow/loop-runner.d.ts +3 -0
  653. package/dist/domain/workflow/loop-runner.js +91 -0
  654. package/dist/domain/workflow/loop-runner.js.map +1 -0
  655. package/dist/domain/workflow/loop-task.d.ts +10 -0
  656. package/dist/domain/workflow/loop-task.js +39 -0
  657. package/dist/domain/workflow/loop-task.js.map +1 -0
  658. package/dist/domain/workflow/loop-task.types.d.ts +28 -0
  659. package/dist/domain/workflow/loop-task.types.js +2 -0
  660. package/dist/domain/workflow/loop-task.types.js.map +1 -0
  661. package/dist/domain/workflow/loop-validation.d.ts +4 -0
  662. package/dist/domain/workflow/loop-validation.js +62 -0
  663. package/dist/domain/workflow/loop-validation.js.map +1 -0
  664. package/dist/domain/workflow/quota-pause.d.ts +7 -0
  665. package/dist/domain/workflow/quota-pause.js +83 -0
  666. package/dist/domain/workflow/quota-pause.js.map +1 -0
  667. package/dist/domain/workflow/quota-pause.types.d.ts +14 -0
  668. package/dist/domain/workflow/quota-pause.types.js +2 -0
  669. package/dist/domain/workflow/quota-pause.types.js.map +1 -0
  670. package/dist/domain/workflow/quota-validation.d.ts +2 -0
  671. package/dist/domain/workflow/quota-validation.js +30 -0
  672. package/dist/domain/workflow/quota-validation.js.map +1 -0
  673. package/dist/domain/workflow/task-cache-entry.d.ts +3 -0
  674. package/dist/domain/workflow/task-cache-entry.js +47 -0
  675. package/dist/domain/workflow/task-cache-entry.js.map +1 -0
  676. package/dist/domain/workflow/task-cache.constants.d.ts +3 -0
  677. package/dist/domain/workflow/task-cache.constants.js +3 -0
  678. package/dist/domain/workflow/task-cache.constants.js.map +1 -0
  679. package/dist/domain/workflow/task-cache.d.ts +6 -0
  680. package/dist/domain/workflow/task-cache.js +92 -0
  681. package/dist/domain/workflow/task-cache.js.map +1 -0
  682. package/dist/domain/workflow/task-cache.types.d.ts +35 -0
  683. package/dist/domain/workflow/task-cache.types.js +2 -0
  684. package/dist/domain/workflow/task-cache.types.js.map +1 -0
  685. package/dist/domain/workflow/task-runner.js +100 -34
  686. package/dist/domain/workflow/task-runner.js.map +1 -1
  687. package/dist/domain/workflow/task.d.ts +1 -1
  688. package/dist/domain/workflow/task.js +22 -1
  689. package/dist/domain/workflow/task.js.map +1 -1
  690. package/dist/domain/workflow/validation.js +13 -2
  691. package/dist/domain/workflow/validation.js.map +1 -1
  692. package/dist/domain/workflow/workflow-scheduler.js +27 -2
  693. package/dist/domain/workflow/workflow-scheduler.js.map +1 -1
  694. package/dist/domain/workflow/workflow-state.js +20 -3
  695. package/dist/domain/workflow/workflow-state.js.map +1 -1
  696. package/dist/domain/workflow.d.ts +2 -2
  697. package/dist/domain/workflow.js +2 -2
  698. package/dist/domain/workflow.js.map +1 -1
  699. package/dist/domain/workflow.types.d.ts +26 -3
  700. package/dist/domain/workflow.types.js.map +1 -1
  701. package/dist/index.d.ts +78 -32
  702. package/dist/index.js +51 -28
  703. package/dist/index.js.map +1 -1
  704. package/dist/infrastructure/conversations/harness-store.d.ts +1 -1
  705. package/dist/infrastructure/conversations/harness-store.js +2 -1
  706. package/dist/infrastructure/conversations/harness-store.js.map +1 -1
  707. package/dist/infrastructure/conversations/layout.types.d.ts +6 -1
  708. package/dist/infrastructure/conversations/layout.types.js.map +1 -1
  709. package/dist/infrastructure/conversations/session-bundle.constants.js +36 -62
  710. package/dist/infrastructure/conversations/session-bundle.constants.js.map +1 -1
  711. package/dist/infrastructure/conversations/session-bundle.d.ts +8 -5
  712. package/dist/infrastructure/conversations/session-bundle.js +64 -7
  713. package/dist/infrastructure/conversations/session-bundle.js.map +1 -1
  714. package/dist/infrastructure/conversations/session-bundle.types.d.ts +48 -1
  715. package/dist/infrastructure/conversations/session-bundle.types.js.map +1 -1
  716. package/dist/infrastructure/conversations/transcript-store.d.ts +4 -0
  717. package/dist/infrastructure/conversations/transcript-store.js +134 -0
  718. package/dist/infrastructure/conversations/transcript-store.js.map +1 -0
  719. package/dist/infrastructure/conversations.d.ts +6 -29
  720. package/dist/infrastructure/conversations.js +5 -37
  721. package/dist/infrastructure/conversations.js.map +1 -1
  722. package/dist/infrastructure/conversations.types.d.ts +2 -2
  723. package/dist/infrastructure/conversations.types.js.map +1 -1
  724. package/dist/infrastructure/custom-reporter.d.ts +1 -1
  725. package/dist/infrastructure/custom-reporter.js +1 -1
  726. package/dist/infrastructure/custom-reporter.js.map +1 -1
  727. package/dist/infrastructure/git/command.d.ts +2 -1
  728. package/dist/infrastructure/git/command.js +2 -2
  729. package/dist/infrastructure/git/command.js.map +1 -1
  730. package/dist/infrastructure/git/lock.constants.d.ts +4 -0
  731. package/dist/infrastructure/git/lock.constants.js +5 -0
  732. package/dist/infrastructure/git/lock.constants.js.map +1 -0
  733. package/dist/infrastructure/git/lock.js +19 -2
  734. package/dist/infrastructure/git/lock.js.map +1 -1
  735. package/dist/infrastructure/git/replay-commits.constants.d.ts +5 -0
  736. package/dist/infrastructure/git/replay-commits.constants.js +6 -0
  737. package/dist/infrastructure/git/replay-commits.constants.js.map +1 -0
  738. package/dist/infrastructure/git/replay-commits.d.ts +2 -0
  739. package/dist/infrastructure/git/replay-commits.js +92 -0
  740. package/dist/infrastructure/git/replay-commits.js.map +1 -0
  741. package/dist/infrastructure/inspection-file.d.ts +4 -0
  742. package/dist/infrastructure/inspection-file.js +9 -2
  743. package/dist/infrastructure/inspection-file.js.map +1 -1
  744. package/dist/infrastructure/journal.js +2 -2
  745. package/dist/infrastructure/journal.js.map +1 -1
  746. package/dist/infrastructure/journal.types.d.ts +1 -0
  747. package/dist/infrastructure/journal.types.js.map +1 -1
  748. package/dist/infrastructure/local-transport.d.ts +1 -1
  749. package/dist/infrastructure/local-transport.js +33 -7
  750. package/dist/infrastructure/local-transport.js.map +1 -1
  751. package/dist/infrastructure/opentelemetry.d.ts +1 -1
  752. package/dist/infrastructure/opentelemetry.js +1 -1
  753. package/dist/infrastructure/opentelemetry.js.map +1 -1
  754. package/dist/infrastructure/process.js +19 -5
  755. package/dist/infrastructure/process.js.map +1 -1
  756. package/dist/infrastructure/reporter.d.ts +1 -1
  757. package/dist/infrastructure/reporter.js +15 -1
  758. package/dist/infrastructure/reporter.js.map +1 -1
  759. package/dist/infrastructure/repository-transport.js +2 -2
  760. package/dist/infrastructure/repository-transport.js.map +1 -1
  761. package/dist/infrastructure/s3-transport.d.ts +1 -1
  762. package/dist/infrastructure/s3-transport.js +1 -1
  763. package/dist/infrastructure/s3-transport.js.map +1 -1
  764. package/dist/infrastructure/storage-inventory.types.d.ts +1 -1
  765. package/dist/infrastructure/storage-inventory.types.js.map +1 -1
  766. package/dist/infrastructure/task-queue-bullmq.d.ts +1 -1
  767. package/dist/infrastructure/task-queue-bullmq.js +1 -1
  768. package/dist/infrastructure/task-queue-bullmq.js.map +1 -1
  769. package/dist/infrastructure/task-queue-http.d.ts +1 -1
  770. package/dist/infrastructure/task-queue-http.js +1 -1
  771. package/dist/infrastructure/task-queue-http.js.map +1 -1
  772. package/dist/infrastructure/task-queue.d.ts +1 -1
  773. package/dist/infrastructure/task-queue.js +1 -1
  774. package/dist/infrastructure/task-queue.js.map +1 -1
  775. package/dist/infrastructure/transport-artifact-store.d.ts +1 -1
  776. package/dist/infrastructure/transport-artifact-store.js +1 -1
  777. package/dist/infrastructure/transport-artifact-store.js.map +1 -1
  778. package/dist/infrastructure/transport-checkpoint.d.ts +1 -1
  779. package/dist/infrastructure/transport-checkpoint.js +1 -1
  780. package/dist/infrastructure/transport-checkpoint.js.map +1 -1
  781. package/dist/infrastructure/transport-conversations.d.ts +2 -2
  782. package/dist/infrastructure/transport-conversations.js +11 -15
  783. package/dist/infrastructure/transport-conversations.js.map +1 -1
  784. package/dist/infrastructure/transport-task-cache.constants.d.ts +2 -0
  785. package/dist/infrastructure/transport-task-cache.constants.js +3 -0
  786. package/dist/infrastructure/transport-task-cache.constants.js.map +1 -0
  787. package/dist/infrastructure/transport-task-cache.d.ts +3 -0
  788. package/dist/infrastructure/transport-task-cache.js +56 -0
  789. package/dist/infrastructure/transport-task-cache.js.map +1 -0
  790. package/dist/infrastructure/transport-task-cache.types.d.ts +4 -0
  791. package/dist/infrastructure/transport-task-cache.types.js +2 -0
  792. package/dist/infrastructure/transport-task-cache.types.js.map +1 -0
  793. package/dist/infrastructure/transport.constants.d.ts +2 -0
  794. package/dist/infrastructure/transport.constants.js +2 -0
  795. package/dist/infrastructure/transport.constants.js.map +1 -1
  796. package/dist/infrastructure/trigger-server.constants.d.ts +2 -0
  797. package/dist/infrastructure/trigger-server.constants.js +3 -0
  798. package/dist/infrastructure/trigger-server.constants.js.map +1 -0
  799. package/dist/infrastructure/trigger-server.d.ts +3 -0
  800. package/dist/infrastructure/trigger-server.js +153 -0
  801. package/dist/infrastructure/trigger-server.js.map +1 -0
  802. package/dist/infrastructure/trigger-server.types.d.ts +30 -0
  803. package/dist/infrastructure/trigger-server.types.js +2 -0
  804. package/dist/infrastructure/trigger-server.types.js.map +1 -0
  805. package/dist/infrastructure/webhook-signature.d.ts +8 -0
  806. package/dist/infrastructure/webhook-signature.js +43 -0
  807. package/dist/infrastructure/webhook-signature.js.map +1 -0
  808. package/dist/infrastructure/workflow-decision-signature.d.ts +1 -1
  809. package/dist/infrastructure/workflow-decision-signature.js +1 -1
  810. package/dist/infrastructure/workflow-decision-signature.js.map +1 -1
  811. package/dist/providers/agents.d.ts +8 -8
  812. package/dist/providers/agents.js +5 -5
  813. package/dist/providers/agents.js.map +1 -1
  814. package/dist/providers/cloud-input.constants.d.ts +2 -0
  815. package/dist/providers/cloud-input.constants.js +24 -0
  816. package/dist/providers/cloud-input.constants.js.map +1 -0
  817. package/dist/providers/cloud-input.d.ts +8 -0
  818. package/dist/providers/cloud-input.js +42 -0
  819. package/dist/providers/cloud-input.js.map +1 -0
  820. package/dist/providers/cloud-input.types.d.ts +4 -0
  821. package/dist/providers/cloud-input.types.js +2 -0
  822. package/dist/providers/cloud-input.types.js.map +1 -0
  823. package/dist/providers/container.js +1 -0
  824. package/dist/providers/container.js.map +1 -1
  825. package/dist/providers/daytona-command.js +31 -13
  826. package/dist/providers/daytona-command.js.map +1 -1
  827. package/dist/providers/daytona.d.ts +1 -1
  828. package/dist/providers/daytona.js +2 -2
  829. package/dist/providers/daytona.js.map +1 -1
  830. package/dist/providers/docker.d.ts +1 -1
  831. package/dist/providers/docker.js +1 -1
  832. package/dist/providers/docker.js.map +1 -1
  833. package/dist/providers/factories.d.ts +2 -2
  834. package/dist/providers/factories.js +2 -2
  835. package/dist/providers/factories.js.map +1 -1
  836. package/dist/providers/firecracker.d.ts +1 -1
  837. package/dist/providers/firecracker.js +2 -1
  838. package/dist/providers/firecracker.js.map +1 -1
  839. package/dist/providers/local.d.ts +1 -1
  840. package/dist/providers/local.js +2 -1
  841. package/dist/providers/local.js.map +1 -1
  842. package/dist/providers/podman.d.ts +1 -1
  843. package/dist/providers/podman.js +1 -1
  844. package/dist/providers/podman.js.map +1 -1
  845. package/dist/providers/vercel-command.js +51 -14
  846. package/dist/providers/vercel-command.js.map +1 -1
  847. package/dist/providers/vercel.d.ts +1 -1
  848. package/dist/providers/vercel.js +2 -2
  849. package/dist/providers/vercel.js.map +1 -1
  850. package/dist/providers/versions.constants.d.ts +1 -7
  851. package/dist/providers/versions.constants.js +2 -7
  852. package/dist/providers/versions.constants.js.map +1 -1
  853. package/package.json +17 -16
  854. package/dist/adapters/agents/antigravity-adapter.d.ts +0 -3
  855. package/dist/adapters/agents/antigravity-adapter.js +0 -41
  856. package/dist/adapters/agents/antigravity-adapter.js.map +0 -1
  857. package/dist/adapters/agents/antigravity-authentication.d.ts +0 -2
  858. package/dist/adapters/agents/antigravity-authentication.js.map +0 -1
  859. package/dist/adapters/agents/antigravity-diagnostics.js.map +0 -1
  860. package/dist/adapters/agents/antigravity-events.js.map +0 -1
  861. package/dist/adapters/agents/antigravity-request.d.ts +0 -5
  862. package/dist/adapters/agents/antigravity-request.js.map +0 -1
  863. package/dist/adapters/agents/antigravity.constants.d.ts +0 -3
  864. package/dist/adapters/agents/antigravity.constants.js +0 -4
  865. package/dist/adapters/agents/antigravity.constants.js.map +0 -1
  866. package/dist/adapters/agents/antigravity.types.d.ts +0 -7
  867. package/dist/adapters/agents/antigravity.types.js.map +0 -1
  868. package/dist/adapters/agents/claude-adapter.d.ts +0 -3
  869. package/dist/adapters/agents/claude-adapter.js +0 -45
  870. package/dist/adapters/agents/claude-adapter.js.map +0 -1
  871. package/dist/adapters/agents/claude-authentication.d.ts +0 -2
  872. package/dist/adapters/agents/claude-authentication.js.map +0 -1
  873. package/dist/adapters/agents/claude-diagnostics.d.ts +0 -1
  874. package/dist/adapters/agents/claude-diagnostics.js.map +0 -1
  875. package/dist/adapters/agents/claude-events.js.map +0 -1
  876. package/dist/adapters/agents/claude-request.d.ts +0 -4
  877. package/dist/adapters/agents/claude-request.js.map +0 -1
  878. package/dist/adapters/agents/codex-adapter.d.ts +0 -3
  879. package/dist/adapters/agents/codex-adapter.js +0 -34
  880. package/dist/adapters/agents/codex-adapter.js.map +0 -1
  881. package/dist/adapters/agents/codex-authentication.d.ts +0 -3
  882. package/dist/adapters/agents/codex-authentication.js.map +0 -1
  883. package/dist/adapters/agents/codex-diagnostics.d.ts +0 -1
  884. package/dist/adapters/agents/codex-diagnostics.js.map +0 -1
  885. package/dist/adapters/agents/codex-events.d.ts +0 -2
  886. package/dist/adapters/agents/codex-events.js.map +0 -1
  887. package/dist/adapters/agents/codex-provider.js.map +0 -1
  888. package/dist/adapters/agents/codex-request.d.ts +0 -4
  889. package/dist/adapters/agents/codex-request.js.map +0 -1
  890. package/dist/adapters/agents/copilot-adapter.d.ts +0 -3
  891. package/dist/adapters/agents/copilot-adapter.js +0 -45
  892. package/dist/adapters/agents/copilot-adapter.js.map +0 -1
  893. package/dist/adapters/agents/copilot-authentication.d.ts +0 -2
  894. package/dist/adapters/agents/copilot-authentication.js.map +0 -1
  895. package/dist/adapters/agents/copilot-diagnostics.js.map +0 -1
  896. package/dist/adapters/agents/copilot-events.js.map +0 -1
  897. package/dist/adapters/agents/copilot-request.d.ts +0 -5
  898. package/dist/adapters/agents/copilot-request.js.map +0 -1
  899. package/dist/adapters/agents/copilot-usage.js.map +0 -1
  900. package/dist/adapters/agents/copilot.types.d.ts +0 -6
  901. package/dist/adapters/agents/copilot.types.js.map +0 -1
  902. package/dist/adapters/agents/kimi-adapter.d.ts +0 -3
  903. package/dist/adapters/agents/kimi-adapter.js +0 -51
  904. package/dist/adapters/agents/kimi-adapter.js.map +0 -1
  905. package/dist/adapters/agents/kimi-authentication.js.map +0 -1
  906. package/dist/adapters/agents/kimi-diagnostics.js.map +0 -1
  907. package/dist/adapters/agents/kimi-events.d.ts +0 -2
  908. package/dist/adapters/agents/kimi-events.js.map +0 -1
  909. package/dist/adapters/agents/kimi-fork.d.ts +0 -2
  910. package/dist/adapters/agents/kimi-fork.js.map +0 -1
  911. package/dist/adapters/agents/kimi-request.d.ts +0 -5
  912. package/dist/adapters/agents/kimi-request.js.map +0 -1
  913. package/dist/adapters/agents/kimi-usage.d.ts +0 -2
  914. package/dist/adapters/agents/kimi-usage.js.map +0 -1
  915. package/dist/adapters/agents/kimi.constants.d.ts +0 -13
  916. package/dist/adapters/agents/kimi.constants.js +0 -14
  917. package/dist/adapters/agents/kimi.constants.js.map +0 -1
  918. package/dist/adapters/agents/kimi.types.d.ts +0 -7
  919. package/dist/adapters/agents/kimi.types.js.map +0 -1
  920. package/dist/adapters/agents/protocol-fixtures.constants.d.ts +0 -2
  921. package/dist/adapters/agents/protocol-fixtures.constants.js +0 -227
  922. package/dist/adapters/agents/protocol-fixtures.constants.js.map +0 -1
  923. package/dist/application/agent-bootstrap.constants.d.ts +0 -2
  924. package/dist/application/agent-bootstrap.constants.js +0 -30
  925. package/dist/application/agent-bootstrap.constants.js.map +0 -1
  926. package/dist/infrastructure/conversations/capture.d.ts +0 -4
  927. package/dist/infrastructure/conversations/capture.js +0 -87
  928. package/dist/infrastructure/conversations/capture.js.map +0 -1
  929. package/dist/infrastructure/conversations/capture.types.d.ts +0 -5
  930. package/dist/infrastructure/conversations/capture.types.js +0 -2
  931. package/dist/infrastructure/conversations/capture.types.js.map +0 -1
  932. package/dist/infrastructure/conversations/claude-layout.d.ts +0 -2
  933. package/dist/infrastructure/conversations/claude-layout.js +0 -18
  934. package/dist/infrastructure/conversations/claude-layout.js.map +0 -1
  935. package/dist/infrastructure/conversations/codex-layout.d.ts +0 -2
  936. package/dist/infrastructure/conversations/codex-layout.js +0 -17
  937. package/dist/infrastructure/conversations/codex-layout.js.map +0 -1
  938. package/dist/infrastructure/conversations/layout.d.ts +0 -3
  939. package/dist/infrastructure/conversations/layout.js +0 -9
  940. package/dist/infrastructure/conversations/layout.js.map +0 -1
  941. package/dist/infrastructure/conversations/locate.d.ts +0 -2
  942. package/dist/infrastructure/conversations/locate.js +0 -24
  943. package/dist/infrastructure/conversations/locate.js.map +0 -1
  944. package/dist/infrastructure/conversations/native-store.d.ts +0 -3
  945. package/dist/infrastructure/conversations/native-store.js +0 -27
  946. package/dist/infrastructure/conversations/native-store.js.map +0 -1
  947. package/dist/infrastructure/conversations/paths.d.ts +0 -4
  948. package/dist/infrastructure/conversations/paths.js +0 -11
  949. package/dist/infrastructure/conversations/paths.js.map +0 -1
  950. package/dist/infrastructure/conversations/restore.d.ts +0 -3
  951. package/dist/infrastructure/conversations/restore.js +0 -42
  952. package/dist/infrastructure/conversations/restore.js.map +0 -1
  953. package/dist/providers/antigravity-install.constants.js.map +0 -1
  954. package/dist/providers/antigravity-install.js.map +0 -1
  955. package/dist/providers/antigravity-install.types.js.map +0 -1
  956. /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.constants.d.ts +0 -0
  957. /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.constants.js +0 -0
  958. /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.d.ts +0 -0
  959. /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.types.d.ts +0 -0
  960. /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.types.js +0 -0
  961. /package/dist/adapters/agents/{antigravity.types.js → antigravity/antigravity.types.js} +0 -0
  962. /package/dist/adapters/agents/{copilot.types.js → copilot/copilot.types.js} +0 -0
  963. /package/dist/adapters/agents/{kimi.types.js → kimi/kimi.types.js} +0 -0
@@ -1,8 +1,8 @@
1
- import { invariant } from "../../domain/errors.js";
2
- import { credentialVariables } from "./authentication.constants.js";
3
- import { excluding, hostFile, variableCredential } from "./authentication.js";
4
- import { asRecord, parseCredential } from "./protocol.js";
5
- const { account: tokenVariable, usage: keyVariable } = credentialVariables.claude;
1
+ import { invariant } from "../../../domain/errors.js";
2
+ import { claudeCredentialVariables, claudeHostCredentials, } from "./claude.constants.js";
3
+ import { excluding, hostFile, variableCredential } from "../authentication.js";
4
+ import { asRecord, parseCredential } from "../protocol.js";
5
+ const { account: tokenVariable, usage: keyVariable } = claudeCredentialVariables;
6
6
  const token = variableCredential({ variable: tokenVariable });
7
7
  const key = variableCredential({ variable: keyVariable });
8
8
  function subscription(content) {
@@ -11,10 +11,7 @@ function subscription(content) {
11
11
  return JSON.stringify({ claudeAiOauth: login });
12
12
  }
13
13
  const file = hostFile({
14
- source: {
15
- path: "~/.claude/.credentials.json",
16
- home: { variable: "CLAUDE_CONFIG_DIR", path: ".credentials.json" },
17
- },
14
+ source: claudeHostCredentials,
18
15
  destination: { file: ".claude/.credentials.json" },
19
16
  login: "claude and /login",
20
17
  alternative: `{ account: { variable: "${tokenVariable}" } } with a token from claude setup-token`,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-authentication.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-authentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK/E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,GAClD,yBAAyB,CAAC;AAC5B,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;AAC9D,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;AAE1D,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;IACzE,SAAS,CACP,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAClC,oEAAoE,CACrE,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,IAAI,GAAG,QAAQ,CAAC;IACpB,MAAM,EAAE,qBAAqB;IAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;IAClD,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,2BAA2B,aAAa,4CAA4C;IACjG,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,CAAC,MAAwB,EAAE,EAAE,CAC3C,SAAS,CACP,MAAM,EACN,WAAW,EACX,sCAAsC,WAAW,uFAAuF,CACzI,CAAC;AACJ,MAAM,KAAK,GAAG,CAAC,MAAwB,EAAE,EAAE,CACzC,SAAS,CACP,MAAM,EACN,aAAa,EACb,6CAA6C,aAAa,oCAAoC,CAC/F,CAAC;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAuB,MAAM,CAAC,MAAM,CAAC;IACjE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC3C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;IACxB,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3B,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;CACtC,CAAC,CAAC","sourcesContent":["import { invariant } from \"../../../domain/errors.ts\";\nimport {\n claudeCredentialVariables,\n claudeHostCredentials,\n} from \"./claude.constants.ts\";\nimport { excluding, hostFile, variableCredential } from \"../authentication.ts\";\nimport type {\n CredentialRecipe,\n CredentialStrategy,\n} from \"../authentication.types.ts\";\nimport { asRecord, parseCredential } from \"../protocol.ts\";\n\nconst { account: tokenVariable, usage: keyVariable } =\n claudeCredentialVariables;\nconst token = variableCredential({ variable: tokenVariable });\nconst key = variableCredential({ variable: keyVariable });\n\nfunction subscription(content: string): string {\n const login = asRecord(parseCredential(content, \"Claude\")).claudeAiOauth;\n invariant(\n login && typeof login === \"object\",\n \"The Claude credential file has no claudeAiOauth subscription login\",\n );\n return JSON.stringify({ claudeAiOauth: login });\n}\n\nconst file = hostFile({\n source: claudeHostCredentials,\n destination: { file: \".claude/.credentials.json\" },\n login: \"claude and /login\",\n alternative: `{ account: { variable: \"${tokenVariable}\" } } with a token from claude setup-token`,\n select: subscription,\n});\n\nconst account = (recipe: CredentialRecipe) =>\n excluding(\n recipe,\n keyVariable,\n `Conflicting Claude authentication: ${keyVariable} takes precedence over account credentials. Remove it or select usage authentication.`,\n );\nconst usage = (recipe: CredentialRecipe) =>\n excluding(\n recipe,\n tokenVariable,\n `Conflicting Claude authentication: remove ${tokenVariable} or select account authentication.`,\n );\n\nexport const claudeCredentials: CredentialStrategy = Object.freeze({\n account: account(file.preset),\n \"account.file\": account(file.file),\n \"account.key\": account(token.key),\n \"account.variable\": account(token.variable),\n usage: usage(key.preset),\n \"usage.key\": usage(key.key),\n \"usage.variable\": usage(key.variable),\n});\n"]}
@@ -0,0 +1,5 @@
1
+ import type { NativeConversationStore } from "../../../domain/conversation.types.ts";
2
+ import type { TranscriptConversationLayout } from "../../../infrastructure/conversations/layout.types.ts";
3
+ export declare const claudeConversationLayout: TranscriptConversationLayout;
4
+ /** Creates the native store for Claude Code transcripts under ~/.claude/projects. */
5
+ export declare function createClaudeConversations(): NativeConversationStore;
@@ -0,0 +1,22 @@
1
+ import { basename, join, posix, resolve } from "node:path";
2
+ import { projectKey } from "../../../infrastructure/conversations/identity.js";
3
+ import { createTranscriptConversations } from "../../../infrastructure/conversations/transcript-store.js";
4
+ const directory = (repository, home) => join(home, ".claude", "projects", projectKey(resolve(repository)));
5
+ const location = (id, repository, home) => join(directory(repository, home), `${id}.jsonl`);
6
+ export const claudeConversationLayout = {
7
+ format: "claude",
8
+ sidecars: true,
9
+ directory,
10
+ searchRoot: (home) => join(home, ".claude", "projects"),
11
+ remoteSearchRoot: (home) => posix.join(home, ".claude", "projects"),
12
+ pattern: (id) => `${id}.jsonl`,
13
+ matches: (file, id) => basename(file) === `${id}.jsonl`,
14
+ preferredPath: location,
15
+ capturePath: location,
16
+ remotePath: (id, lease) => posix.join(lease.home, ".claude", "projects", projectKey(lease.root), `${id}.jsonl`),
17
+ };
18
+ /** Creates the native store for Claude Code transcripts under ~/.claude/projects. */
19
+ export function createClaudeConversations() {
20
+ return createTranscriptConversations(claudeConversationLayout);
21
+ }
22
+ //# sourceMappingURL=claude-conversations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-conversations.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,mDAAmD,CAAC;AAE/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,2DAA2D,CAAC;AAE1G,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,IAAY,EAAE,EAAE,CACrD,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrE,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,UAAkB,EAAE,IAAY,EAAE,EAAE,CAChE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAiC;IACpE,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,IAAI;IACd,SAAS;IACT,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;IACvD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;IACnE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ;IACvD,aAAa,EAAE,QAAQ;IACvB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CACxB,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,IAAI,EACV,SAAS,EACT,UAAU,EACV,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EACtB,GAAG,EAAE,QAAQ,CACd;CACJ,CAAC;AAEF,qFAAqF;AACrF,MAAM,UAAU,yBAAyB;IACvC,OAAO,6BAA6B,CAAC,wBAAwB,CAAC,CAAC;AACjE,CAAC","sourcesContent":["import { basename, join, posix, resolve } from \"node:path\";\nimport type { NativeConversationStore } from \"../../../domain/conversation.types.ts\";\nimport { projectKey } from \"../../../infrastructure/conversations/identity.ts\";\nimport type { TranscriptConversationLayout } from \"../../../infrastructure/conversations/layout.types.ts\";\nimport { createTranscriptConversations } from \"../../../infrastructure/conversations/transcript-store.ts\";\n\nconst directory = (repository: string, home: string) =>\n join(home, \".claude\", \"projects\", projectKey(resolve(repository)));\nconst location = (id: string, repository: string, home: string) =>\n join(directory(repository, home), `${id}.jsonl`);\n\nexport const claudeConversationLayout: TranscriptConversationLayout = {\n format: \"claude\",\n sidecars: true,\n directory,\n searchRoot: (home) => join(home, \".claude\", \"projects\"),\n remoteSearchRoot: (home) => posix.join(home, \".claude\", \"projects\"),\n pattern: (id) => `${id}.jsonl`,\n matches: (file, id) => basename(file) === `${id}.jsonl`,\n preferredPath: location,\n capturePath: location,\n remotePath: (id, lease) =>\n posix.join(\n lease.home,\n \".claude\",\n \"projects\",\n projectKey(lease.root),\n `${id}.jsonl`,\n ),\n};\n\n/** Creates the native store for Claude Code transcripts under ~/.claude/projects. */\nexport function createClaudeConversations(): NativeConversationStore {\n return createTranscriptConversations(claudeConversationLayout);\n}\n"]}
@@ -0,0 +1,36 @@
1
+ import { createClaudeHarness } from "./claude-adapter.ts";
2
+ import { createClaudeConversations } from "./claude-conversations.ts";
3
+ import { claudeDiagnostics } from "./claude-diagnostics.ts";
4
+ export declare const claudeAgent: {
5
+ readonly name: "claude";
6
+ readonly label: "Claude Code";
7
+ readonly executable: "claude";
8
+ readonly version: "2.1.280";
9
+ readonly harnessExport: "createClaudeHarness";
10
+ readonly harness: typeof createClaudeHarness;
11
+ readonly install: {
12
+ readonly kind: "npm";
13
+ readonly package: "@anthropic-ai/claude-code";
14
+ readonly allowScripts: true;
15
+ };
16
+ readonly doctor: {
17
+ readonly diagnostics: typeof claudeDiagnostics;
18
+ };
19
+ readonly protocol: readonly import("../protocol-fixtures.types.ts").AgentProtocolFixture[];
20
+ readonly conversations: typeof createClaudeConversations;
21
+ readonly authentication: readonly [{
22
+ readonly value: "account";
23
+ readonly label: "Claude subscription login (claude /login)";
24
+ readonly instructions: "Run claude and /login on the host. Isolated sandboxes receive only the subscription entry of .credentials.json. Logins stored in the macOS keychain are never read: choose account-token there.";
25
+ }, {
26
+ readonly value: "account-token";
27
+ readonly label: "Claude subscription token (claude setup-token)";
28
+ readonly variable: "CLAUDE_CODE_OAUTH_TOKEN";
29
+ readonly instructions: "Run claude setup-token on the host, then set CLAUDE_CODE_OAUTH_TOKEN in the workflow .env or parent environment. This uses your Claude subscription.";
30
+ }, {
31
+ readonly value: "usage";
32
+ readonly label: "Anthropic API key (API billing)";
33
+ readonly variable: "ANTHROPIC_API_KEY";
34
+ readonly instructions: "Set ANTHROPIC_API_KEY in the workflow .env or parent environment. API usage is billed separately from subscriptions.";
35
+ }];
36
+ };
@@ -0,0 +1,41 @@
1
+ import { createClaudeHarness } from "./claude-adapter.js";
2
+ import { claudeCredentialVariables, claudeLabel } from "./claude.constants.js";
3
+ import { createClaudeConversations } from "./claude-conversations.js";
4
+ import { claudeDiagnostics } from "./claude-diagnostics.js";
5
+ import { claudeProtocolFixtures } from "./claude-protocol.constants.js";
6
+ export const claudeAgent = {
7
+ name: "claude",
8
+ label: claudeLabel,
9
+ executable: "claude",
10
+ version: "2.1.280",
11
+ harnessExport: "createClaudeHarness",
12
+ harness: createClaudeHarness,
13
+ install: {
14
+ kind: "npm",
15
+ package: "@anthropic-ai/claude-code",
16
+ allowScripts: true,
17
+ },
18
+ doctor: { diagnostics: claudeDiagnostics },
19
+ protocol: claudeProtocolFixtures,
20
+ conversations: createClaudeConversations,
21
+ authentication: [
22
+ {
23
+ value: "account",
24
+ label: "Claude subscription login (claude /login)",
25
+ instructions: "Run claude and /login on the host. Isolated sandboxes receive only the subscription entry of .credentials.json. Logins stored in the macOS keychain are never read: choose account-token there.",
26
+ },
27
+ {
28
+ value: "account-token",
29
+ label: "Claude subscription token (claude setup-token)",
30
+ variable: claudeCredentialVariables.account,
31
+ instructions: `Run claude setup-token on the host, then set ${claudeCredentialVariables.account} in the workflow .env or parent environment. This uses your Claude subscription.`,
32
+ },
33
+ {
34
+ value: "usage",
35
+ label: "Anthropic API key (API billing)",
36
+ variable: claudeCredentialVariables.usage,
37
+ instructions: `Set ${claudeCredentialVariables.usage} in the workflow .env or parent environment. API usage is billed separately from subscriptions.`,
38
+ },
39
+ ],
40
+ };
41
+ //# sourceMappingURL=claude-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-descriptor.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-descriptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,WAAW;IAClB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,qBAAqB;IACpC,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE;QACP,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,2BAA2B;QACpC,YAAY,EAAE,IAAI;KACnB;IACD,MAAM,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC1C,QAAQ,EAAE,sBAAsB;IAChC,aAAa,EAAE,yBAAyB;IACxC,cAAc,EAAE;QACd;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,2CAA2C;YAClD,YAAY,EACV,iMAAiM;SACpM;QACD;YACE,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,gDAAgD;YACvD,QAAQ,EAAE,yBAAyB,CAAC,OAAO;YAC3C,YAAY,EAAE,gDAAgD,yBAAyB,CAAC,OAAO,kFAAkF;SAClL;QACD;YACE,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,iCAAiC;YACxC,QAAQ,EAAE,yBAAyB,CAAC,KAAK;YACzC,YAAY,EAAE,OAAO,yBAAyB,CAAC,KAAK,iGAAiG;SACtJ;KACF;CACiC,CAAC","sourcesContent":["import type { AgentDescriptor } from \"../agent-descriptor.types.ts\";\nimport { createClaudeHarness } from \"./claude-adapter.ts\";\nimport { claudeCredentialVariables, claudeLabel } from \"./claude.constants.ts\";\nimport { createClaudeConversations } from \"./claude-conversations.ts\";\nimport { claudeDiagnostics } from \"./claude-diagnostics.ts\";\nimport { claudeProtocolFixtures } from \"./claude-protocol.constants.ts\";\n\nexport const claudeAgent = {\n name: \"claude\",\n label: claudeLabel,\n executable: \"claude\",\n version: \"2.1.280\",\n harnessExport: \"createClaudeHarness\",\n harness: createClaudeHarness,\n install: {\n kind: \"npm\",\n package: \"@anthropic-ai/claude-code\",\n allowScripts: true,\n },\n doctor: { diagnostics: claudeDiagnostics },\n protocol: claudeProtocolFixtures,\n conversations: createClaudeConversations,\n authentication: [\n {\n value: \"account\",\n label: \"Claude subscription login (claude /login)\",\n instructions:\n \"Run claude and /login on the host. Isolated sandboxes receive only the subscription entry of .credentials.json. Logins stored in the macOS keychain are never read: choose account-token there.\",\n },\n {\n value: \"account-token\",\n label: \"Claude subscription token (claude setup-token)\",\n variable: claudeCredentialVariables.account,\n instructions: `Run claude setup-token on the host, then set ${claudeCredentialVariables.account} in the workflow .env or parent environment. This uses your Claude subscription.`,\n },\n {\n value: \"usage\",\n label: \"Anthropic API key (API billing)\",\n variable: claudeCredentialVariables.usage,\n instructions: `Set ${claudeCredentialVariables.usage} in the workflow .env or parent environment. API usage is billed separately from subscriptions.`,\n },\n ],\n} as const satisfies AgentDescriptor;\n"]}
@@ -0,0 +1 @@
1
+ export declare function claudeDiagnostics(): readonly import("../cli-diagnostics.types.ts").AgentCliDiagnostic[];
@@ -1,5 +1,5 @@
1
- import { claudeDiagnosticUsage } from "./cli-diagnostics.constants.js";
2
- import { cliDiagnostics } from "./cli-diagnostics.js";
1
+ import { claudeDiagnosticUsage } from "./claude.constants.js";
2
+ import { cliDiagnostics } from "../cli-diagnostics.js";
3
3
  import { claudeRequest } from "./claude-request.js";
4
4
  export function claudeDiagnostics() {
5
5
  return cliDiagnostics((input) => claudeRequest({}, input), claudeDiagnosticUsage);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-diagnostics.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CACnB,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,EACnC,qBAAqB,CACtB,CAAC;AACJ,CAAC","sourcesContent":["import { claudeDiagnosticUsage } from \"./claude.constants.ts\";\nimport { cliDiagnostics } from \"../cli-diagnostics.ts\";\nimport { claudeRequest } from \"./claude-request.ts\";\n\nexport function claudeDiagnostics() {\n return cliDiagnostics(\n (input) => claudeRequest({}, input),\n claudeDiagnosticUsage,\n );\n}\n"]}
@@ -1,3 +1,3 @@
1
- import type { AgentEvent, Usage } from "../../domain/agent.types.ts";
1
+ import type { AgentEvent, Usage } from "../../../domain/agent.types.ts";
2
2
  export declare function claudeEvents(line: string): AgentEvent[];
3
3
  export declare function claudeTranscriptUsage(text: string): Usage | undefined;
@@ -1,6 +1,7 @@
1
- import { toolResult } from "./tool-result.js";
2
- import { decodeEvent, decodeLine } from "./event-decoder.js";
3
- import { asRecord, decodeRecord, numberOrZero } from "./protocol.js";
1
+ import { toolResult } from "../tool-result.js";
2
+ import { decodeEvent, decodeLine } from "../event-decoder.js";
3
+ import { asRecord, decodeRecord, numberOrZero } from "../protocol.js";
4
+ import { claudeQuotaErrors } from "./claude.constants.js";
4
5
  function tokens(value) {
5
6
  const usage = asRecord(value);
6
7
  return {
@@ -15,11 +16,32 @@ function system(event) {
15
16
  ? [{ kind: "conversation", id: event.session_id }]
16
17
  : [];
17
18
  }
19
+ function rateLimit(event) {
20
+ const info = asRecord(event.rate_limit_info);
21
+ if (info.status !== "rejected")
22
+ return [];
23
+ const reset = typeof info.resetsAt === "number" && Number.isSafeInteger(info.resetsAt)
24
+ ? new Date(info.resetsAt * 1000)
25
+ : undefined;
26
+ const limit = typeof info.rateLimitType === "string" ? info.rateLimitType : "usage";
27
+ return [
28
+ {
29
+ kind: "quota",
30
+ message: `Claude Code ${limit} limit reached`,
31
+ ...(reset && Number.isFinite(reset.getTime())
32
+ ? { resetAt: reset.toISOString() }
33
+ : {}),
34
+ },
35
+ ];
36
+ }
18
37
  function assistant(event) {
38
+ const quota = typeof event.error === "string" && claudeQuotaErrors.has(event.error)
39
+ ? [{ kind: "quota", message: `Claude Code reported ${event.error}` }]
40
+ : [];
19
41
  const message = asRecord(event.message);
20
42
  const content = message.content;
21
43
  if (!Array.isArray(content))
22
- return [];
44
+ return quota;
23
45
  const usage = message.usage
24
46
  ? [
25
47
  {
@@ -33,6 +55,7 @@ function assistant(event) {
33
55
  ]
34
56
  : [];
35
57
  return [
58
+ ...quota,
36
59
  ...usage,
37
60
  ...content.flatMap((part) => decodeEvent(asRecord(part), {
38
61
  text: (block) => typeof block.text === "string"
@@ -79,7 +102,7 @@ export function claudeEvents(line) {
79
102
  return decodeLine(line, {
80
103
  system,
81
104
  assistant,
82
- user: assistant,
105
+ user: (event) => (event.isReplay === true ? [] : assistant(event)),
83
106
  stream_event: (event) => {
84
107
  const delta = asRecord(asRecord(event.event).delta);
85
108
  if (delta.type === "text_delta" && typeof delta.text === "string")
@@ -89,6 +112,7 @@ export function claudeEvents(line) {
89
112
  return [];
90
113
  },
91
114
  result,
115
+ rate_limit_event: rateLimit,
92
116
  });
93
117
  }
94
118
  export function claudeTranscriptUsage(text) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-events.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,SAAS,MAAM,CAAC,KAAc;IAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO;QACL,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;QACvC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,2BAA2B,CAAC;QAC7D,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACnD,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAAqB;IACnC,OAAO,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACzC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IAC1C,MAAM,KAAK,GACT,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,KAAK,GACT,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;IACxE,OAAO;QACL;YACE,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,eAAe,KAAK,gBAAgB;YAC7C,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3C,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE;gBAClC,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB;IACtC,MAAM,KAAK,GACT,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACnE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACrE,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,KAAK,GAAiB,OAAO,CAAC,KAAK;QACvC,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,GAAG,CAAC,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ;oBAC9C,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE;oBAC5C,CAAC,CAAC,EAAE,CAAC;aACR;SACF;QACH,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,GAAG,KAAK;QACR,GAAG,KAAK;QACR,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1B,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CACd,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtC,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAChC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC/C,CAAC,CAAC,EAAE;YACR,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CACrB,UAAU,CACR,KAAK,CAAC,WAAW,EACjB,SAAS,EACT,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,KAAK,IAAI,CACxB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChB,GAAG,KAAK;gBACR,GAAG,CAAC,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ;oBAC9C,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE;oBAC5C,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YACL,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;gBACnB;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ;wBAC9C,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE;wBAC5C,CAAC,CAAC,EAAE,CAAC;iBACR;aACF;SACF,CAAC,CACH;KACF,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAAqB;IACnC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QACrD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,QAAQ;QACZ,CAAC,CAAC;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,MAAM,CACb,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,cAAc,CAC/D;SACF;QACH,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CACzB,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,UAAU,CAAC,IAAI,EAAE;QACtB,MAAM;QACN,SAAS;QACT,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC/D,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBACvE,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM;QACN,gBAAgB,EAAE,SAAS;KACJ,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,KAAwB,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW;YAAE,SAAS;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,KAAK;YAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { toolResult } from \"../tool-result.ts\";\nimport type { AgentEvent, Usage } from \"../../../domain/agent.types.ts\";\nimport { decodeEvent, decodeLine } from \"../event-decoder.ts\";\nimport { asRecord, decodeRecord, numberOrZero } from \"../protocol.ts\";\nimport type { EventDecoders, ProtocolRecord } from \"../protocol.types.ts\";\nimport { claudeQuotaErrors } from \"./claude.constants.ts\";\n\nfunction tokens(value: unknown): Usage {\n const usage = asRecord(value);\n return {\n input: numberOrZero(usage.input_tokens),\n cacheCreated: numberOrZero(usage.cache_creation_input_tokens),\n cached: numberOrZero(usage.cache_read_input_tokens),\n output: numberOrZero(usage.output_tokens),\n };\n}\n\nfunction system(event: ProtocolRecord): AgentEvent[] {\n return typeof event.session_id === \"string\"\n ? [{ kind: \"conversation\", id: event.session_id }]\n : [];\n}\n\nfunction rateLimit(event: ProtocolRecord): AgentEvent[] {\n const info = asRecord(event.rate_limit_info);\n if (info.status !== \"rejected\") return [];\n const reset =\n typeof info.resetsAt === \"number\" && Number.isSafeInteger(info.resetsAt)\n ? new Date(info.resetsAt * 1000)\n : undefined;\n const limit =\n typeof info.rateLimitType === \"string\" ? info.rateLimitType : \"usage\";\n return [\n {\n kind: \"quota\",\n message: `Claude Code ${limit} limit reached`,\n ...(reset && Number.isFinite(reset.getTime())\n ? { resetAt: reset.toISOString() }\n : {}),\n },\n ];\n}\n\nfunction assistant(event: ProtocolRecord): AgentEvent[] {\n const quota: AgentEvent[] =\n typeof event.error === \"string\" && claudeQuotaErrors.has(event.error)\n ? [{ kind: \"quota\", message: `Claude Code reported ${event.error}` }]\n : [];\n const message = asRecord(event.message);\n const content = message.content;\n if (!Array.isArray(content)) return quota;\n const usage: AgentEvent[] = message.usage\n ? [\n {\n kind: \"message-usage\",\n tokens: tokens(message.usage),\n ...(typeof message.id === \"string\" ? { messageId: message.id } : {}),\n ...(typeof event.parent_tool_use_id === \"string\"\n ? { parentCallId: event.parent_tool_use_id }\n : {}),\n },\n ]\n : [];\n return [\n ...quota,\n ...usage,\n ...content.flatMap((part) =>\n decodeEvent(asRecord(part), {\n text: (block) =>\n typeof block.text === \"string\"\n ? [{ kind: \"text\", text: block.text }]\n : [],\n thinking: (block) =>\n typeof block.thinking === \"string\"\n ? [{ kind: \"reasoning\", text: block.thinking }]\n : [],\n tool_result: (block) =>\n toolResult(\n block.tool_use_id,\n undefined,\n block.content,\n block.is_error === true,\n ).map((value) => ({\n ...value,\n ...(typeof event.parent_tool_use_id === \"string\"\n ? { parentCallId: event.parent_tool_use_id }\n : {}),\n })),\n tool_use: (block) => [\n {\n kind: \"tool\",\n name: String(block.name),\n input: block.input,\n ...(typeof block.id === \"string\" ? { callId: block.id } : {}),\n ...(typeof event.parent_tool_use_id === \"string\"\n ? { parentCallId: event.parent_tool_use_id }\n : {}),\n },\n ],\n }),\n ),\n ];\n}\n\nfunction result(event: ProtocolRecord): AgentEvent[] {\n const events: AgentEvent[] = [];\n if (!event.is_error && typeof event.result === \"string\")\n events.push({ kind: \"result\", text: event.result });\n if (event.usage) events.push({ kind: \"usage\", tokens: tokens(event.usage) });\n events.push(\n event.is_error\n ? {\n kind: \"failure\",\n message: String(\n event.result ?? JSON.stringify(event.errors) ?? \"Agent failed\",\n ),\n }\n : { kind: \"finished\" },\n );\n return events;\n}\n\nexport function claudeEvents(line: string): AgentEvent[] {\n return decodeLine(line, {\n system,\n assistant,\n user: (event) => (event.isReplay === true ? [] : assistant(event)),\n stream_event: (event) => {\n const delta = asRecord(asRecord(event.event).delta);\n if (delta.type === \"text_delta\" && typeof delta.text === \"string\")\n return [{ kind: \"text-delta\", text: delta.text }];\n if (delta.type === \"thinking_delta\" && typeof delta.thinking === \"string\")\n return [{ kind: \"reasoning\", text: delta.thinking }];\n return [];\n },\n result,\n rate_limit_event: rateLimit,\n } satisfies EventDecoders);\n}\n\nexport function claudeTranscriptUsage(text: string): Usage | undefined {\n let usage: Usage | undefined;\n for (const line of text.split(/\\r?\\n/)) {\n const event = decodeRecord(line);\n if (event?.type !== \"assistant\") continue;\n const message = asRecord(event.message);\n if (message.usage) usage = tokens(message.usage);\n }\n return usage;\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { AgentLiveInput } from "../../../domain/agent.types.ts";
2
+ /** Encodes one Claude Code stream-json user message. */
3
+ export declare function claudeUserMessage(text: string): string;
4
+ /** Claude Code stream-json input acknowledged by --replay-user-messages. */
5
+ export declare const claudeLiveInput: AgentLiveInput;
@@ -0,0 +1,21 @@
1
+ import { decodeRecord } from "../protocol.js";
2
+ /** Encodes one Claude Code stream-json user message. */
3
+ export function claudeUserMessage(text) {
4
+ return `${JSON.stringify({
5
+ type: "user",
6
+ message: { role: "user", content: [{ type: "text", text }] },
7
+ parent_tool_use_id: null,
8
+ })}\n`;
9
+ }
10
+ /** Claude Code stream-json input acknowledged by --replay-user-messages. */
11
+ export const claudeLiveInput = Object.freeze({
12
+ open: () => ({
13
+ encode: claudeUserMessage,
14
+ read(line) {
15
+ const event = decodeRecord(line);
16
+ const replayed = event?.type === "user" && event.isReplay === true;
17
+ return { consumed: replayed ? 1 : 0, replies: [] };
18
+ },
19
+ }),
20
+ });
21
+ //# sourceMappingURL=claude-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-input.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wDAAwD;AACxD,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QACvB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;QAC5D,kBAAkB,EAAE,IAAI;KACzB,CAAC,IAAI,CAAC;AACT,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAmB,MAAM,CAAC,MAAM,CAAC;IAC3D,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACX,MAAM,EAAE,iBAAiB;QACzB,IAAI,CAAC,IAAY;YACf,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC;YACnE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACrD,CAAC;KACF,CAAC;CACH,CAAC,CAAC","sourcesContent":["import type { AgentLiveInput } from \"../../../domain/agent.types.ts\";\nimport { decodeRecord } from \"../protocol.ts\";\n\n/** Encodes one Claude Code stream-json user message. */\nexport function claudeUserMessage(text: string): string {\n return `${JSON.stringify({\n type: \"user\",\n message: { role: \"user\", content: [{ type: \"text\", text }] },\n parent_tool_use_id: null,\n })}\\n`;\n}\n\n/** Claude Code stream-json input acknowledged by --replay-user-messages. */\nexport const claudeLiveInput: AgentLiveInput = Object.freeze({\n open: () => ({\n encode: claudeUserMessage,\n read(line: string) {\n const event = decodeRecord(line);\n const replayed = event?.type === \"user\" && event.isReplay === true;\n return { consumed: replayed ? 1 : 0, replies: [] };\n },\n }),\n});\n"]}
@@ -0,0 +1,4 @@
1
+ import type { HostConfiguration } from "../../../domain/agent.types.ts";
2
+ import type { McpServers } from "../../../domain/mcp-server.types.ts";
3
+ export declare function claudeMcpArguments(servers: McpServers | undefined): readonly string[];
4
+ export declare function claudeMcpLogins(servers: McpServers): readonly HostConfiguration[];
@@ -0,0 +1,44 @@
1
+ import { isMcpStdioServer, mcpLoginServers, } from "../../../domain/mcp-server.js";
2
+ import { claudeHostCredentials, claudeLabel } from "./claude.constants.js";
3
+ import { asRecord, parseCredential } from "../protocol.js";
4
+ import { bearerHeaders, excludedTools, loginEntries, mapServers, variableReferences, } from "../mcp-configuration.js";
5
+ // Inline forms keep the variadic --mcp-config and --disallowedTools from consuming later arguments.
6
+ export function claudeMcpArguments(servers) {
7
+ if (!servers || Object.keys(servers).length === 0)
8
+ return [];
9
+ const mcpServers = mapServers(servers, (server) => isMcpStdioServer(server)
10
+ ? {
11
+ type: "stdio",
12
+ command: server.command,
13
+ args: server.arguments ?? [],
14
+ env: {
15
+ ...server.environment,
16
+ ...variableReferences(server.variables),
17
+ },
18
+ }
19
+ : {
20
+ type: "http",
21
+ url: server.url,
22
+ headers: bearerHeaders(server.headers, server.bearerTokenVariable),
23
+ });
24
+ const excluded = excludedTools(servers).map(([server, tool]) => `mcp__${server}__${tool}`);
25
+ return [
26
+ `--mcp-config=${JSON.stringify({ mcpServers })}`,
27
+ ...(excluded.length ? [`--disallowedTools=${excluded.join(",")}`] : []),
28
+ ];
29
+ }
30
+ export function claudeMcpLogins(servers) {
31
+ const logins = mcpLoginServers(servers);
32
+ if (!logins.length)
33
+ return [];
34
+ return [
35
+ {
36
+ source: claudeHostCredentials,
37
+ path: ".claude/.credentials.json",
38
+ section: "mcpOAuth",
39
+ login: "claude mcp login",
40
+ select: (content) => loginEntries(claudeLabel, asRecord(asRecord(parseCredential(content, "Claude")).mcpOAuth), logins, (entry, name, url) => entry.serverName === name && entry.serverUrl === url, (name) => `claude mcp login ${name}`),
41
+ },
42
+ ];
43
+ }
44
+ //# sourceMappingURL=claude-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-mcp.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,oGAAoG;AACpG,MAAM,UAAU,kBAAkB,CAChC,OAA+B;IAE/B,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAChD,gBAAgB,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC;YACE,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YAC5B,GAAG,EAAE;gBACH,GAAG,MAAM,CAAC,WAAW;gBACrB,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;aACxC;SACF;QACH,CAAC,CAAC;YACE,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC;SACnE,CACN,CAAC;IACF,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CACzC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,MAAM,KAAK,IAAI,EAAE,CAC9C,CAAC;IACF,OAAO;QACL,gBAAgB,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;QAChD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAmB;IAEnB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO;QACL;YACE,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,YAAY,CACV,WAAW,EACX,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC/D,MAAM,EACN,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CACnB,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,EACtD,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,IAAI,EAAE,CACrC;SACJ;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { HostConfiguration } from \"../../../domain/agent.types.ts\";\nimport {\n isMcpStdioServer,\n mcpLoginServers,\n} from \"../../../domain/mcp-server.ts\";\nimport { claudeHostCredentials, claudeLabel } from \"./claude.constants.ts\";\nimport { asRecord, parseCredential } from \"../protocol.ts\";\nimport type { McpServers } from \"../../../domain/mcp-server.types.ts\";\nimport {\n bearerHeaders,\n excludedTools,\n loginEntries,\n mapServers,\n variableReferences,\n} from \"../mcp-configuration.ts\";\n\n// Inline forms keep the variadic --mcp-config and --disallowedTools from consuming later arguments.\nexport function claudeMcpArguments(\n servers: McpServers | undefined,\n): readonly string[] {\n if (!servers || Object.keys(servers).length === 0) return [];\n const mcpServers = mapServers(servers, (server) =>\n isMcpStdioServer(server)\n ? {\n type: \"stdio\",\n command: server.command,\n args: server.arguments ?? [],\n env: {\n ...server.environment,\n ...variableReferences(server.variables),\n },\n }\n : {\n type: \"http\",\n url: server.url,\n headers: bearerHeaders(server.headers, server.bearerTokenVariable),\n },\n );\n const excluded = excludedTools(servers).map(\n ([server, tool]) => `mcp__${server}__${tool}`,\n );\n return [\n `--mcp-config=${JSON.stringify({ mcpServers })}`,\n ...(excluded.length ? [`--disallowedTools=${excluded.join(\",\")}`] : []),\n ];\n}\n\nexport function claudeMcpLogins(\n servers: McpServers,\n): readonly HostConfiguration[] {\n const logins = mcpLoginServers(servers);\n if (!logins.length) return [];\n return [\n {\n source: claudeHostCredentials,\n path: \".claude/.credentials.json\",\n section: \"mcpOAuth\",\n login: \"claude mcp login\",\n select: (content) =>\n loginEntries(\n claudeLabel,\n asRecord(asRecord(parseCredential(content, \"Claude\")).mcpOAuth),\n logins,\n (entry, name, url) =>\n entry.serverName === name && entry.serverUrl === url,\n (name) => `claude mcp login ${name}`,\n ),\n },\n ];\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type { AgentProtocolFixture } from "../protocol-fixtures.types.ts";
2
+ export declare const claudeProtocolFixtures: readonly AgentProtocolFixture[];
@@ -0,0 +1,35 @@
1
+ export const claudeProtocolFixtures = [
2
+ {
3
+ name: "turn",
4
+ lines: [
5
+ '{"type":"system","session_id":"fixture-conversation"}',
6
+ '{"type":"assistant","message":{"content":[{"type":"tool_use","name":"command","input":"fixture-command"},{"type":"text","text":"fixture-result"}]}}',
7
+ '{"type":"result","result":"fixture-result","usage":{"input_tokens":10,"cache_creation_input_tokens":1,"cache_read_input_tokens":2,"output_tokens":3}}',
8
+ ],
9
+ expected: [
10
+ { kind: "conversation", id: "fixture-conversation" },
11
+ { kind: "tool", name: "command", input: "fixture-command" },
12
+ { kind: "text", text: "fixture-result" },
13
+ { kind: "result", text: "fixture-result" },
14
+ {
15
+ kind: "usage",
16
+ tokens: { input: 10, cached: 2, cacheCreated: 1, output: 3 },
17
+ },
18
+ { kind: "finished" },
19
+ ],
20
+ },
21
+ {
22
+ name: "failure",
23
+ lines: ['{"type":"result","is_error":true,"result":"fixture-failure"}'],
24
+ expected: [{ kind: "failure", message: "fixture-failure" }],
25
+ },
26
+ {
27
+ name: "unknown",
28
+ lines: ['{"type":"future.event"}', "invalid-json"],
29
+ expected: [
30
+ { kind: "raw", value: { type: "future.event" } },
31
+ { kind: "raw", value: "invalid-json" },
32
+ ],
33
+ },
34
+ ];
35
+ //# sourceMappingURL=claude-protocol.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-protocol.constants.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-protocol.constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAoC;IACrE;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,uDAAuD;YACvD,qJAAqJ;YACrJ,uJAAuJ;SACxJ;QACD,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,sBAAsB,EAAE;YACpD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;YAC3D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAC1C;gBACE,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;aAC7D;YACD,EAAE,IAAI,EAAE,UAAU,EAAE;SACrB;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC,8DAA8D,CAAC;QACvE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC5D;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC,yBAAyB,EAAE,cAAc,CAAC;QAClD,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;YAChD,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE;SACvC;KACF;CACF,CAAC","sourcesContent":["import type { AgentProtocolFixture } from \"../protocol-fixtures.types.ts\";\n\nexport const claudeProtocolFixtures: readonly AgentProtocolFixture[] = [\n {\n name: \"turn\",\n lines: [\n '{\"type\":\"system\",\"session_id\":\"fixture-conversation\"}',\n '{\"type\":\"assistant\",\"message\":{\"content\":[{\"type\":\"tool_use\",\"name\":\"command\",\"input\":\"fixture-command\"},{\"type\":\"text\",\"text\":\"fixture-result\"}]}}',\n '{\"type\":\"result\",\"result\":\"fixture-result\",\"usage\":{\"input_tokens\":10,\"cache_creation_input_tokens\":1,\"cache_read_input_tokens\":2,\"output_tokens\":3}}',\n ],\n expected: [\n { kind: \"conversation\", id: \"fixture-conversation\" },\n { kind: \"tool\", name: \"command\", input: \"fixture-command\" },\n { kind: \"text\", text: \"fixture-result\" },\n { kind: \"result\", text: \"fixture-result\" },\n {\n kind: \"usage\",\n tokens: { input: 10, cached: 2, cacheCreated: 1, output: 3 },\n },\n { kind: \"finished\" },\n ],\n },\n {\n name: \"failure\",\n lines: ['{\"type\":\"result\",\"is_error\":true,\"result\":\"fixture-failure\"}'],\n expected: [{ kind: \"failure\", message: \"fixture-failure\" }],\n },\n {\n name: \"unknown\",\n lines: ['{\"type\":\"future.event\"}', \"invalid-json\"],\n expected: [\n { kind: \"raw\", value: { type: \"future.event\" } },\n { kind: \"raw\", value: \"invalid-json\" },\n ],\n },\n];\n"]}
@@ -0,0 +1,4 @@
1
+ import type { AgentInput } from "../../../domain/agent.types.ts";
2
+ import type { Command } from "../../../domain/command.types.ts";
3
+ import type { Bound, ClaudeSettings } from "../settings.types.ts";
4
+ export declare function claudeRequest(settings: Bound<ClaudeSettings>, input: AgentInput): Command;
@@ -1,9 +1,13 @@
1
- import { validateContinuation } from "./continuation.js";
1
+ import { claudeUserMessage } from "./claude-input.js";
2
+ import { claudeMcpArguments } from "./claude-mcp.js";
3
+ import { validateContinuation } from "../continuation.js";
2
4
  export function claudeRequest(settings, input) {
3
5
  validateContinuation(input);
4
- const args = [];
6
+ const args = [...claudeMcpArguments(settings.mcpServers)];
5
7
  if (!input.interactive)
6
8
  args.push("--print", "--verbose", "--output-format", "stream-json");
9
+ if (!input.interactive && input.liveInput)
10
+ args.push("--input-format", "stream-json", "--replay-user-messages");
7
11
  if (!input.interactive && settings.partialMessages)
8
12
  args.push("--include-partial-messages");
9
13
  if (settings.model)
@@ -26,7 +30,11 @@ export function claudeRequest(settings, input) {
26
30
  arguments: args,
27
31
  ...(input.interactive
28
32
  ? { interactive: true }
29
- : { stdin: input.text ?? "" }),
33
+ : {
34
+ stdin: input.liveInput
35
+ ? claudeUserMessage(input.text ?? "")
36
+ : (input.text ?? ""),
37
+ }),
30
38
  };
31
39
  }
32
40
  //# sourceMappingURL=claude-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-request.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude-request.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,UAAU,aAAa,CAC3B,QAA+B,EAC/B,KAAiB;IAEjB,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAa,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK,CAAC,WAAW;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS;QACvC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE,wBAAwB,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe;QAChD,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW;QAC7C,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO;QACL,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,KAAK,CAAC,WAAW;YACnB,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE;YACvB,CAAC,CAAC;gBACE,KAAK,EAAE,KAAK,CAAC,SAAS;oBACpB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;aACvB,CAAC;KACP,CAAC;AACJ,CAAC","sourcesContent":["import type { AgentInput } from \"../../../domain/agent.types.ts\";\nimport type { Command } from \"../../../domain/command.types.ts\";\nimport { claudeUserMessage } from \"./claude-input.ts\";\nimport { claudeMcpArguments } from \"./claude-mcp.ts\";\nimport { validateContinuation } from \"../continuation.ts\";\nimport type { Bound, ClaudeSettings } from \"../settings.types.ts\";\n\nexport function claudeRequest(\n settings: Bound<ClaudeSettings>,\n input: AgentInput,\n): Command {\n validateContinuation(input);\n const args: string[] = [...claudeMcpArguments(settings.mcpServers)];\n if (!input.interactive)\n args.push(\"--print\", \"--verbose\", \"--output-format\", \"stream-json\");\n if (!input.interactive && input.liveInput)\n args.push(\"--input-format\", \"stream-json\", \"--replay-user-messages\");\n if (!input.interactive && settings.partialMessages)\n args.push(\"--include-partial-messages\");\n if (settings.model) args.push(\"--model\", settings.model.name);\n if (settings.model?.reasoning)\n args.push(\"--effort\", settings.model.reasoning);\n if (settings.permissions)\n args.push(\"--permission-mode\", settings.permissions);\n if (!settings.permissions && !input.interactive)\n args.push(\"--dangerously-skip-permissions\");\n if (input.continuation) {\n args.push(\"--resume\", input.continuation.id);\n if (input.continuation.fork) args.push(\"--fork-session\");\n }\n if (input.interactive && input.text !== undefined)\n args.push(\"--\", input.text);\n return {\n executable: \"claude\",\n arguments: args,\n ...(input.interactive\n ? { interactive: true }\n : {\n stdin: input.liveInput\n ? claudeUserMessage(input.text ?? \"\")\n : (input.text ?? \"\"),\n }),\n };\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import type { McpCliSupport } from "../mcp-support.types.ts";
2
+ import type { CliModelSupport } from "../settings.types.ts";
3
+ export declare const claudeLabel = "Claude Code";
4
+ export declare const claudeCredentialVariables: Readonly<{
5
+ readonly account: "CLAUDE_CODE_OAUTH_TOKEN";
6
+ readonly usage: "ANTHROPIC_API_KEY";
7
+ }>;
8
+ export declare const claudeHostCredentials: Readonly<{
9
+ path: "~/.claude/.credentials.json";
10
+ home: {
11
+ variable: string;
12
+ path: string;
13
+ };
14
+ }>;
15
+ export declare const CLAUDE_MAX_OUTPUT_VARIABLE = "CLAUDE_CODE_MAX_OUTPUT_TOKENS";
16
+ export declare const CLAUDE_MCP_TIMEOUT_VARIABLE = "MCP_TIMEOUT";
17
+ export declare const claudeModelSupport: CliModelSupport;
18
+ export declare const claudeMcpSupport: McpCliSupport;
19
+ export declare const claudeQuotaPatterns: readonly RegExp[];
20
+ export declare const claudeQuotaErrors: Set<string>;
21
+ export declare const claudeUnavailablePatterns: readonly RegExp[];
22
+ export declare const claudeDiagnosticUsage: {
23
+ readonly start: "Usage: claude [";
24
+ readonly resume: "Usage: claude [";
25
+ readonly fork: "Usage: claude [";
26
+ };
@@ -0,0 +1,42 @@
1
+ import { connectionPatterns } from "../unavailable.constants.js";
2
+ export const claudeLabel = "Claude Code";
3
+ export const claudeCredentialVariables = Object.freeze({
4
+ account: "CLAUDE_CODE_OAUTH_TOKEN",
5
+ usage: "ANTHROPIC_API_KEY",
6
+ });
7
+ export const claudeHostCredentials = Object.freeze({
8
+ path: "~/.claude/.credentials.json",
9
+ home: { variable: "CLAUDE_CONFIG_DIR", path: ".credentials.json" },
10
+ });
11
+ export const CLAUDE_MAX_OUTPUT_VARIABLE = "CLAUDE_CODE_MAX_OUTPUT_TOKENS";
12
+ export const CLAUDE_MCP_TIMEOUT_VARIABLE = "MCP_TIMEOUT";
13
+ export const claudeModelSupport = {
14
+ agent: claudeLabel,
15
+ reasoning: new Set(["low", "medium", "high", "xhigh", "max"]),
16
+ maxOutputTokens: true,
17
+ };
18
+ export const claudeMcpSupport = Object.freeze({
19
+ agent: claudeLabel,
20
+ includeTools: false,
21
+ excludeTools: true,
22
+ startupTimeout: "shared",
23
+ oauthLogin: true,
24
+ });
25
+ export const claudeQuotaPatterns = Object.freeze([
26
+ /You['’]ve hit your (?:session |weekly |Opus |Sonnet |usage credit )?limit/i,
27
+ /usage limit reached/i,
28
+ /Request rejected \(429\)/i,
29
+ ]);
30
+ export const claudeQuotaErrors = new Set(["rate_limit", "billing_error"]);
31
+ export const claudeUnavailablePatterns = Object.freeze([
32
+ ...connectionPatterns,
33
+ /\bAPI Error:? \(?(?:5\d\d)\b/i,
34
+ /\bAPI Error:? \(?Connection error/i,
35
+ /\boverloaded_error\b/,
36
+ ]);
37
+ export const claudeDiagnosticUsage = {
38
+ start: "Usage: claude [",
39
+ resume: "Usage: claude [",
40
+ fork: "Usage: claude [",
41
+ };
42
+ //# sourceMappingURL=claude.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.constants.js","sourceRoot":"","sources":["../../../../src/adapters/agents/claude/claude.constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,yBAAyB;IAClC,KAAK,EAAE,mBAAmB;CAClB,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE;CACnE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,CAAC;AAE1E,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAkB,MAAM,CAAC,MAAM,CAAC;IAC3D,KAAK,EAAE,WAAW;IAClB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,4EAA4E;IAC5E,sBAAsB;IACtB,2BAA2B;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,GAAG,kBAAkB;IACrB,+BAA+B;IAC/B,oCAAoC;IACpC,sBAAsB;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,iBAAiB;IACzB,IAAI,EAAE,iBAAiB;CACf,CAAC","sourcesContent":["import type { McpCliSupport } from \"../mcp-support.types.ts\";\nimport type { CliModelSupport } from \"../settings.types.ts\";\nimport { connectionPatterns } from \"../unavailable.constants.ts\";\n\nexport const claudeLabel = \"Claude Code\";\n\nexport const claudeCredentialVariables = Object.freeze({\n account: \"CLAUDE_CODE_OAUTH_TOKEN\",\n usage: \"ANTHROPIC_API_KEY\",\n} as const);\n\nexport const claudeHostCredentials = Object.freeze({\n path: \"~/.claude/.credentials.json\",\n home: { variable: \"CLAUDE_CONFIG_DIR\", path: \".credentials.json\" },\n});\n\nexport const CLAUDE_MAX_OUTPUT_VARIABLE = \"CLAUDE_CODE_MAX_OUTPUT_TOKENS\";\n\nexport const CLAUDE_MCP_TIMEOUT_VARIABLE = \"MCP_TIMEOUT\";\n\nexport const claudeModelSupport: CliModelSupport = {\n agent: claudeLabel,\n reasoning: new Set([\"low\", \"medium\", \"high\", \"xhigh\", \"max\"]),\n maxOutputTokens: true,\n};\n\nexport const claudeMcpSupport: McpCliSupport = Object.freeze({\n agent: claudeLabel,\n includeTools: false,\n excludeTools: true,\n startupTimeout: \"shared\",\n oauthLogin: true,\n});\n\nexport const claudeQuotaPatterns = Object.freeze([\n /You['’]ve hit your (?:session |weekly |Opus |Sonnet |usage credit )?limit/i,\n /usage limit reached/i,\n /Request rejected \\(429\\)/i,\n]);\n\nexport const claudeQuotaErrors = new Set([\"rate_limit\", \"billing_error\"]);\n\nexport const claudeUnavailablePatterns = Object.freeze([\n ...connectionPatterns,\n /\\bAPI Error:? \\(?(?:5\\d\\d)\\b/i,\n /\\bAPI Error:? \\(?Connection error/i,\n /\\boverloaded_error\\b/,\n]);\n\nexport const claudeDiagnosticUsage = {\n start: \"Usage: claude [\",\n resume: \"Usage: claude [\",\n fork: \"Usage: claude [\",\n} as const;\n"]}
@@ -1,12 +1,2 @@
1
1
  import type { AgentCliScenario } from "./cli-diagnostics.types.ts";
2
2
  export declare const cliDiagnosticScenarios: readonly AgentCliScenario[];
3
- export declare const codexDiagnosticUsage: {
4
- readonly start: "Usage: codex exec [";
5
- readonly resume: "Usage: codex exec resume [";
6
- readonly fork: "Usage: codex exec fork [";
7
- };
8
- export declare const claudeDiagnosticUsage: {
9
- readonly start: "Usage: claude [";
10
- readonly resume: "Usage: claude [";
11
- readonly fork: "Usage: claude [";
12
- };
@@ -11,14 +11,4 @@ export const cliDiagnosticScenarios = [
11
11
  },
12
12
  },
13
13
  ];
14
- export const codexDiagnosticUsage = {
15
- start: "Usage: codex exec [",
16
- resume: "Usage: codex exec resume [",
17
- fork: "Usage: codex exec fork [",
18
- };
19
- export const claudeDiagnosticUsage = {
20
- start: "Usage: claude [",
21
- resume: "Usage: claude [",
22
- fork: "Usage: claude [",
23
- };
24
14
  //# sourceMappingURL=cli-diagnostics.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-diagnostics.constants.js","sourceRoot":"","sources":["../../../src/adapters/agents/cli-diagnostics.constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAgC;IACjE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5B;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE,EAAE;KACxE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,YAAY,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE;SACzE;KACF;CACF,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,qBAAqB;IAC5B,MAAM,EAAE,4BAA4B;IACpC,IAAI,EAAE,0BAA0B;CACxB,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,iBAAiB;IACzB,IAAI,EAAE,iBAAiB;CACf,CAAC","sourcesContent":["import type { AgentCliScenario } from \"./cli-diagnostics.types.ts\";\n\nexport const cliDiagnosticScenarios: readonly AgentCliScenario[] = [\n { mode: \"start\", input: {} },\n {\n mode: \"resume\",\n input: { continuation: { id: \"00000000-0000-0000-0000-000000000000\" } },\n },\n {\n mode: \"fork\",\n input: {\n continuation: { id: \"00000000-0000-0000-0000-000000000000\", fork: true },\n },\n },\n];\nexport const codexDiagnosticUsage = {\n start: \"Usage: codex exec [\",\n resume: \"Usage: codex exec resume [\",\n fork: \"Usage: codex exec fork [\",\n} as const;\nexport const claudeDiagnosticUsage = {\n start: \"Usage: claude [\",\n resume: \"Usage: claude [\",\n fork: \"Usage: claude [\",\n} as const;\n"]}
1
+ {"version":3,"file":"cli-diagnostics.constants.js","sourceRoot":"","sources":["../../../src/adapters/agents/cli-diagnostics.constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAgC;IACjE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5B;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE,EAAE;KACxE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,YAAY,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE;SACzE;KACF;CACF,CAAC","sourcesContent":["import type { AgentCliScenario } from \"./cli-diagnostics.types.ts\";\n\nexport const cliDiagnosticScenarios: readonly AgentCliScenario[] = [\n { mode: \"start\", input: {} },\n {\n mode: \"resume\",\n input: { continuation: { id: \"00000000-0000-0000-0000-000000000000\" } },\n },\n {\n mode: \"fork\",\n input: {\n continuation: { id: \"00000000-0000-0000-0000-000000000000\", fork: true },\n },\n },\n];\n"]}
@@ -0,0 +1,3 @@
1
+ import type { CliHarness } from "../../../domain/agent.types.ts";
2
+ import type { CodexSettings } from "../settings.types.ts";
3
+ export declare function createCodexHarness(settings?: CodexSettings): CliHarness;