@esankhan3/anvil-agent-core 0.1.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 (459) hide show
  1. package/README.md +142 -0
  2. package/dist/__tests__/adapter-enrichment.test.d.ts +12 -0
  3. package/dist/__tests__/adapter-enrichment.test.d.ts.map +1 -0
  4. package/dist/__tests__/adapter-enrichment.test.js +199 -0
  5. package/dist/__tests__/adapter-enrichment.test.js.map +1 -0
  6. package/dist/__tests__/adk-anthropic-llm.test.d.ts +18 -0
  7. package/dist/__tests__/adk-anthropic-llm.test.d.ts.map +1 -0
  8. package/dist/__tests__/adk-anthropic-llm.test.js +124 -0
  9. package/dist/__tests__/adk-anthropic-llm.test.js.map +1 -0
  10. package/dist/__tests__/cost-breakdown.test.d.ts +11 -0
  11. package/dist/__tests__/cost-breakdown.test.d.ts.map +1 -0
  12. package/dist/__tests__/cost-breakdown.test.js +163 -0
  13. package/dist/__tests__/cost-breakdown.test.js.map +1 -0
  14. package/dist/__tests__/mcp.test.d.ts +13 -0
  15. package/dist/__tests__/mcp.test.d.ts.map +1 -0
  16. package/dist/__tests__/mcp.test.js +413 -0
  17. package/dist/__tests__/mcp.test.js.map +1 -0
  18. package/dist/__tests__/ollama-adapter-agentic.test.d.ts +15 -0
  19. package/dist/__tests__/ollama-adapter-agentic.test.d.ts.map +1 -0
  20. package/dist/__tests__/ollama-adapter-agentic.test.js +268 -0
  21. package/dist/__tests__/ollama-adapter-agentic.test.js.map +1 -0
  22. package/dist/__tests__/ollama-adapter-executor.test.d.ts +10 -0
  23. package/dist/__tests__/ollama-adapter-executor.test.d.ts.map +1 -0
  24. package/dist/__tests__/ollama-adapter-executor.test.js +95 -0
  25. package/dist/__tests__/ollama-adapter-executor.test.js.map +1 -0
  26. package/dist/__tests__/openai-adapter-output.test.d.ts +17 -0
  27. package/dist/__tests__/openai-adapter-output.test.d.ts.map +1 -0
  28. package/dist/__tests__/openai-adapter-output.test.js +127 -0
  29. package/dist/__tests__/openai-adapter-output.test.js.map +1 -0
  30. package/dist/__tests__/opencode-adapter.test.d.ts +7 -0
  31. package/dist/__tests__/opencode-adapter.test.d.ts.map +1 -0
  32. package/dist/__tests__/opencode-adapter.test.js +141 -0
  33. package/dist/__tests__/opencode-adapter.test.js.map +1 -0
  34. package/dist/__tests__/openrouter-adapter-agentic.test.d.ts +11 -0
  35. package/dist/__tests__/openrouter-adapter-agentic.test.d.ts.map +1 -0
  36. package/dist/__tests__/openrouter-adapter-agentic.test.js +297 -0
  37. package/dist/__tests__/openrouter-adapter-agentic.test.js.map +1 -0
  38. package/dist/__tests__/router-circuit-breaker.test.d.ts +6 -0
  39. package/dist/__tests__/router-circuit-breaker.test.d.ts.map +1 -0
  40. package/dist/__tests__/router-circuit-breaker.test.js +253 -0
  41. package/dist/__tests__/router-circuit-breaker.test.js.map +1 -0
  42. package/dist/__tests__/router-config-loader.test.d.ts +8 -0
  43. package/dist/__tests__/router-config-loader.test.d.ts.map +1 -0
  44. package/dist/__tests__/router-config-loader.test.js +172 -0
  45. package/dist/__tests__/router-config-loader.test.js.map +1 -0
  46. package/dist/__tests__/router-discovery.test.d.ts +5 -0
  47. package/dist/__tests__/router-discovery.test.d.ts.map +1 -0
  48. package/dist/__tests__/router-discovery.test.js +129 -0
  49. package/dist/__tests__/router-discovery.test.js.map +1 -0
  50. package/dist/__tests__/router-fallback.test.d.ts +9 -0
  51. package/dist/__tests__/router-fallback.test.d.ts.map +1 -0
  52. package/dist/__tests__/router-fallback.test.js +283 -0
  53. package/dist/__tests__/router-fallback.test.js.map +1 -0
  54. package/dist/__tests__/router-local-executor.test.d.ts +6 -0
  55. package/dist/__tests__/router-local-executor.test.d.ts.map +1 -0
  56. package/dist/__tests__/router-local-executor.test.js +193 -0
  57. package/dist/__tests__/router-local-executor.test.js.map +1 -0
  58. package/dist/__tests__/router-model-registry.test.d.ts +8 -0
  59. package/dist/__tests__/router-model-registry.test.d.ts.map +1 -0
  60. package/dist/__tests__/router-model-registry.test.js +389 -0
  61. package/dist/__tests__/router-model-registry.test.js.map +1 -0
  62. package/dist/__tests__/router-rate-limiter.test.d.ts +8 -0
  63. package/dist/__tests__/router-rate-limiter.test.d.ts.map +1 -0
  64. package/dist/__tests__/router-rate-limiter.test.js +128 -0
  65. package/dist/__tests__/router-rate-limiter.test.js.map +1 -0
  66. package/dist/__tests__/router-resolver.test.d.ts +7 -0
  67. package/dist/__tests__/router-resolver.test.d.ts.map +1 -0
  68. package/dist/__tests__/router-resolver.test.js +110 -0
  69. package/dist/__tests__/router-resolver.test.js.map +1 -0
  70. package/dist/__tests__/router-retry.test.d.ts +7 -0
  71. package/dist/__tests__/router-retry.test.d.ts.map +1 -0
  72. package/dist/__tests__/router-retry.test.js +302 -0
  73. package/dist/__tests__/router-retry.test.js.map +1 -0
  74. package/dist/__tests__/router-scaffold.test.d.ts +11 -0
  75. package/dist/__tests__/router-scaffold.test.d.ts.map +1 -0
  76. package/dist/__tests__/router-scaffold.test.js +103 -0
  77. package/dist/__tests__/router-scaffold.test.js.map +1 -0
  78. package/dist/__tests__/router-spend-ledger.test.d.ts +8 -0
  79. package/dist/__tests__/router-spend-ledger.test.d.ts.map +1 -0
  80. package/dist/__tests__/router-spend-ledger.test.js +227 -0
  81. package/dist/__tests__/router-spend-ledger.test.js.map +1 -0
  82. package/dist/__tests__/router-telemetry.test.d.ts +11 -0
  83. package/dist/__tests__/router-telemetry.test.d.ts.map +1 -0
  84. package/dist/__tests__/router-telemetry.test.js +173 -0
  85. package/dist/__tests__/router-telemetry.test.js.map +1 -0
  86. package/dist/__tests__/single-shot.test.d.ts +12 -0
  87. package/dist/__tests__/single-shot.test.d.ts.map +1 -0
  88. package/dist/__tests__/single-shot.test.js +204 -0
  89. package/dist/__tests__/single-shot.test.js.map +1 -0
  90. package/dist/__tests__/skills-prompt.test.d.ts +11 -0
  91. package/dist/__tests__/skills-prompt.test.d.ts.map +1 -0
  92. package/dist/__tests__/skills-prompt.test.js +208 -0
  93. package/dist/__tests__/skills-prompt.test.js.map +1 -0
  94. package/dist/__tests__/skills.test.d.ts +11 -0
  95. package/dist/__tests__/skills.test.d.ts.map +1 -0
  96. package/dist/__tests__/skills.test.js +161 -0
  97. package/dist/__tests__/skills.test.js.map +1 -0
  98. package/dist/__tests__/telemetry-integration.test.d.ts +12 -0
  99. package/dist/__tests__/telemetry-integration.test.d.ts.map +1 -0
  100. package/dist/__tests__/telemetry-integration.test.js +153 -0
  101. package/dist/__tests__/telemetry-integration.test.js.map +1 -0
  102. package/dist/__tests__/telemetry.test.d.ts +13 -0
  103. package/dist/__tests__/telemetry.test.d.ts.map +1 -0
  104. package/dist/__tests__/telemetry.test.js +161 -0
  105. package/dist/__tests__/telemetry.test.js.map +1 -0
  106. package/dist/__tests__/upstream-error.test.d.ts +8 -0
  107. package/dist/__tests__/upstream-error.test.d.ts.map +1 -0
  108. package/dist/__tests__/upstream-error.test.js +186 -0
  109. package/dist/__tests__/upstream-error.test.js.map +1 -0
  110. package/dist/adk-adapter.d.ts +45 -0
  111. package/dist/adk-adapter.d.ts.map +1 -0
  112. package/dist/adk-adapter.js +403 -0
  113. package/dist/adk-adapter.js.map +1 -0
  114. package/dist/adk-anthropic-llm.d.ts +59 -0
  115. package/dist/adk-anthropic-llm.d.ts.map +1 -0
  116. package/dist/adk-anthropic-llm.js +397 -0
  117. package/dist/adk-anthropic-llm.js.map +1 -0
  118. package/dist/agent/index.d.ts +14 -0
  119. package/dist/agent/index.d.ts.map +1 -0
  120. package/dist/agent/index.js +14 -0
  121. package/dist/agent/index.js.map +1 -0
  122. package/dist/agent/session/__tests__/bridge-tool-executor.test.d.ts +10 -0
  123. package/dist/agent/session/__tests__/bridge-tool-executor.test.d.ts.map +1 -0
  124. package/dist/agent/session/__tests__/bridge-tool-executor.test.js +152 -0
  125. package/dist/agent/session/__tests__/bridge-tool-executor.test.js.map +1 -0
  126. package/dist/agent/session/__tests__/collect-trajectory.test.d.ts +18 -0
  127. package/dist/agent/session/__tests__/collect-trajectory.test.d.ts.map +1 -0
  128. package/dist/agent/session/__tests__/collect-trajectory.test.js +208 -0
  129. package/dist/agent/session/__tests__/collect-trajectory.test.js.map +1 -0
  130. package/dist/agent/session/__tests__/run-with-agent.test.d.ts +8 -0
  131. package/dist/agent/session/__tests__/run-with-agent.test.d.ts.map +1 -0
  132. package/dist/agent/session/__tests__/run-with-agent.test.js +98 -0
  133. package/dist/agent/session/__tests__/run-with-agent.test.js.map +1 -0
  134. package/dist/agent/session/__tests__/runtime.test.d.ts +7 -0
  135. package/dist/agent/session/__tests__/runtime.test.d.ts.map +1 -0
  136. package/dist/agent/session/__tests__/runtime.test.js +361 -0
  137. package/dist/agent/session/__tests__/runtime.test.js.map +1 -0
  138. package/dist/agent/session/__tests__/skills-mcp-spawn.test.d.ts +15 -0
  139. package/dist/agent/session/__tests__/skills-mcp-spawn.test.d.ts.map +1 -0
  140. package/dist/agent/session/__tests__/skills-mcp-spawn.test.js +160 -0
  141. package/dist/agent/session/__tests__/skills-mcp-spawn.test.js.map +1 -0
  142. package/dist/agent/session/__tests__/spawn-telemetry.test.d.ts +13 -0
  143. package/dist/agent/session/__tests__/spawn-telemetry.test.d.ts.map +1 -0
  144. package/dist/agent/session/__tests__/spawn-telemetry.test.js +135 -0
  145. package/dist/agent/session/__tests__/spawn-telemetry.test.js.map +1 -0
  146. package/dist/agent/session/__tests__/types.test.d.ts +9 -0
  147. package/dist/agent/session/__tests__/types.test.d.ts.map +1 -0
  148. package/dist/agent/session/__tests__/types.test.js +220 -0
  149. package/dist/agent/session/__tests__/types.test.js.map +1 -0
  150. package/dist/agent/session/adapter.d.ts +108 -0
  151. package/dist/agent/session/adapter.d.ts.map +1 -0
  152. package/dist/agent/session/adapter.js +39 -0
  153. package/dist/agent/session/adapter.js.map +1 -0
  154. package/dist/agent/session/collect-trajectory.d.ts +36 -0
  155. package/dist/agent/session/collect-trajectory.d.ts.map +1 -0
  156. package/dist/agent/session/collect-trajectory.js +193 -0
  157. package/dist/agent/session/collect-trajectory.js.map +1 -0
  158. package/dist/agent/session/default-adapter-factory.d.ts +48 -0
  159. package/dist/agent/session/default-adapter-factory.d.ts.map +1 -0
  160. package/dist/agent/session/default-adapter-factory.js +227 -0
  161. package/dist/agent/session/default-adapter-factory.js.map +1 -0
  162. package/dist/agent/session/headless-types.d.ts +85 -0
  163. package/dist/agent/session/headless-types.d.ts.map +1 -0
  164. package/dist/agent/session/headless-types.js +16 -0
  165. package/dist/agent/session/headless-types.js.map +1 -0
  166. package/dist/agent/session/index.d.ts +18 -0
  167. package/dist/agent/session/index.d.ts.map +1 -0
  168. package/dist/agent/session/index.js +20 -0
  169. package/dist/agent/session/index.js.map +1 -0
  170. package/dist/agent/session/language-model-bridge.d.ts +84 -0
  171. package/dist/agent/session/language-model-bridge.d.ts.map +1 -0
  172. package/dist/agent/session/language-model-bridge.js +454 -0
  173. package/dist/agent/session/language-model-bridge.js.map +1 -0
  174. package/dist/agent/session/legacy-adapter-types.d.ts +63 -0
  175. package/dist/agent/session/legacy-adapter-types.d.ts.map +1 -0
  176. package/dist/agent/session/legacy-adapter-types.js +11 -0
  177. package/dist/agent/session/legacy-adapter-types.js.map +1 -0
  178. package/dist/agent/session/run-with-agent.d.ts +36 -0
  179. package/dist/agent/session/run-with-agent.d.ts.map +1 -0
  180. package/dist/agent/session/run-with-agent.js +81 -0
  181. package/dist/agent/session/run-with-agent.js.map +1 -0
  182. package/dist/agent/session/session-registry.d.ts +71 -0
  183. package/dist/agent/session/session-registry.d.ts.map +1 -0
  184. package/dist/agent/session/session-registry.js +209 -0
  185. package/dist/agent/session/session-registry.js.map +1 -0
  186. package/dist/agent/session/session.d.ts +76 -0
  187. package/dist/agent/session/session.d.ts.map +1 -0
  188. package/dist/agent/session/session.js +327 -0
  189. package/dist/agent/session/session.js.map +1 -0
  190. package/dist/agent/session/types.d.ts +230 -0
  191. package/dist/agent/session/types.d.ts.map +1 -0
  192. package/dist/agent/session/types.js +44 -0
  193. package/dist/agent/session/types.js.map +1 -0
  194. package/dist/checkpoint/__tests__/blob-store.test.d.ts +5 -0
  195. package/dist/checkpoint/__tests__/blob-store.test.d.ts.map +1 -0
  196. package/dist/checkpoint/__tests__/blob-store.test.js +82 -0
  197. package/dist/checkpoint/__tests__/blob-store.test.js.map +1 -0
  198. package/dist/checkpoint/__tests__/key.test.d.ts +7 -0
  199. package/dist/checkpoint/__tests__/key.test.d.ts.map +1 -0
  200. package/dist/checkpoint/__tests__/key.test.js +130 -0
  201. package/dist/checkpoint/__tests__/key.test.js.map +1 -0
  202. package/dist/checkpoint/__tests__/runner.test.d.ts +12 -0
  203. package/dist/checkpoint/__tests__/runner.test.d.ts.map +1 -0
  204. package/dist/checkpoint/__tests__/runner.test.js +201 -0
  205. package/dist/checkpoint/__tests__/runner.test.js.map +1 -0
  206. package/dist/checkpoint/__tests__/store.test.d.ts +6 -0
  207. package/dist/checkpoint/__tests__/store.test.d.ts.map +1 -0
  208. package/dist/checkpoint/__tests__/store.test.js +150 -0
  209. package/dist/checkpoint/__tests__/store.test.js.map +1 -0
  210. package/dist/checkpoint/blob-store.d.ts +41 -0
  211. package/dist/checkpoint/blob-store.d.ts.map +1 -0
  212. package/dist/checkpoint/blob-store.js +119 -0
  213. package/dist/checkpoint/blob-store.js.map +1 -0
  214. package/dist/checkpoint/index.d.ts +15 -0
  215. package/dist/checkpoint/index.d.ts.map +1 -0
  216. package/dist/checkpoint/index.js +14 -0
  217. package/dist/checkpoint/index.js.map +1 -0
  218. package/dist/checkpoint/key.d.ts +39 -0
  219. package/dist/checkpoint/key.d.ts.map +1 -0
  220. package/dist/checkpoint/key.js +112 -0
  221. package/dist/checkpoint/key.js.map +1 -0
  222. package/dist/checkpoint/runner.d.ts +83 -0
  223. package/dist/checkpoint/runner.d.ts.map +1 -0
  224. package/dist/checkpoint/runner.js +146 -0
  225. package/dist/checkpoint/runner.js.map +1 -0
  226. package/dist/checkpoint/store.d.ts +91 -0
  227. package/dist/checkpoint/store.d.ts.map +1 -0
  228. package/dist/checkpoint/store.js +292 -0
  229. package/dist/checkpoint/store.js.map +1 -0
  230. package/dist/checkpoint/types.d.ts +74 -0
  231. package/dist/checkpoint/types.d.ts.map +1 -0
  232. package/dist/checkpoint/types.js +16 -0
  233. package/dist/checkpoint/types.js.map +1 -0
  234. package/dist/claude-adapter.d.ts +23 -0
  235. package/dist/claude-adapter.d.ts.map +1 -0
  236. package/dist/claude-adapter.js +233 -0
  237. package/dist/claude-adapter.js.map +1 -0
  238. package/dist/cost.d.ts +67 -0
  239. package/dist/cost.d.ts.map +1 -0
  240. package/dist/cost.js +148 -0
  241. package/dist/cost.js.map +1 -0
  242. package/dist/data/model-prices.json +39681 -0
  243. package/dist/fallback-adapter.d.ts +51 -0
  244. package/dist/fallback-adapter.d.ts.map +1 -0
  245. package/dist/fallback-adapter.js +116 -0
  246. package/dist/fallback-adapter.js.map +1 -0
  247. package/dist/gemini-adapter.d.ts +22 -0
  248. package/dist/gemini-adapter.d.ts.map +1 -0
  249. package/dist/gemini-adapter.js +185 -0
  250. package/dist/gemini-adapter.js.map +1 -0
  251. package/dist/gemini-cli-adapter.d.ts +24 -0
  252. package/dist/gemini-cli-adapter.d.ts.map +1 -0
  253. package/dist/gemini-cli-adapter.js +169 -0
  254. package/dist/gemini-cli-adapter.js.map +1 -0
  255. package/dist/index.d.ts +39 -0
  256. package/dist/index.d.ts.map +1 -0
  257. package/dist/index.js +39 -0
  258. package/dist/index.js.map +1 -0
  259. package/dist/mcp/client.d.ts +32 -0
  260. package/dist/mcp/client.d.ts.map +1 -0
  261. package/dist/mcp/client.js +92 -0
  262. package/dist/mcp/client.js.map +1 -0
  263. package/dist/mcp/config-loader.d.ts +36 -0
  264. package/dist/mcp/config-loader.d.ts.map +1 -0
  265. package/dist/mcp/config-loader.js +129 -0
  266. package/dist/mcp/config-loader.js.map +1 -0
  267. package/dist/mcp/index.d.ts +12 -0
  268. package/dist/mcp/index.d.ts.map +1 -0
  269. package/dist/mcp/index.js +11 -0
  270. package/dist/mcp/index.js.map +1 -0
  271. package/dist/mcp/tool-merger.d.ts +18 -0
  272. package/dist/mcp/tool-merger.d.ts.map +1 -0
  273. package/dist/mcp/tool-merger.js +34 -0
  274. package/dist/mcp/tool-merger.js.map +1 -0
  275. package/dist/mcp/types.d.ts +35 -0
  276. package/dist/mcp/types.d.ts.map +1 -0
  277. package/dist/mcp/types.js +10 -0
  278. package/dist/mcp/types.js.map +1 -0
  279. package/dist/ollama-adapter.d.ts +95 -0
  280. package/dist/ollama-adapter.d.ts.map +1 -0
  281. package/dist/ollama-adapter.js +404 -0
  282. package/dist/ollama-adapter.js.map +1 -0
  283. package/dist/openai-adapter.d.ts +40 -0
  284. package/dist/openai-adapter.d.ts.map +1 -0
  285. package/dist/openai-adapter.js +81 -0
  286. package/dist/openai-adapter.js.map +1 -0
  287. package/dist/opencode-adapter.d.ts +39 -0
  288. package/dist/opencode-adapter.d.ts.map +1 -0
  289. package/dist/opencode-adapter.js +105 -0
  290. package/dist/opencode-adapter.js.map +1 -0
  291. package/dist/openrouter-adapter.d.ts +69 -0
  292. package/dist/openrouter-adapter.d.ts.map +1 -0
  293. package/dist/openrouter-adapter.js +481 -0
  294. package/dist/openrouter-adapter.js.map +1 -0
  295. package/dist/registry.d.ts +55 -0
  296. package/dist/registry.d.ts.map +1 -0
  297. package/dist/registry.js +191 -0
  298. package/dist/registry.js.map +1 -0
  299. package/dist/router/circuit-breaker.d.ts +57 -0
  300. package/dist/router/circuit-breaker.d.ts.map +1 -0
  301. package/dist/router/circuit-breaker.js +110 -0
  302. package/dist/router/circuit-breaker.js.map +1 -0
  303. package/dist/router/config-loader.d.ts +43 -0
  304. package/dist/router/config-loader.d.ts.map +1 -0
  305. package/dist/router/config-loader.js +155 -0
  306. package/dist/router/config-loader.js.map +1 -0
  307. package/dist/router/discovery.d.ts +37 -0
  308. package/dist/router/discovery.d.ts.map +1 -0
  309. package/dist/router/discovery.js +54 -0
  310. package/dist/router/discovery.js.map +1 -0
  311. package/dist/router/errors.d.ts +39 -0
  312. package/dist/router/errors.d.ts.map +1 -0
  313. package/dist/router/errors.js +103 -0
  314. package/dist/router/errors.js.map +1 -0
  315. package/dist/router/index.d.ts +31 -0
  316. package/dist/router/index.d.ts.map +1 -0
  317. package/dist/router/index.js +20 -0
  318. package/dist/router/index.js.map +1 -0
  319. package/dist/router/local-executor.d.ts +62 -0
  320. package/dist/router/local-executor.d.ts.map +1 -0
  321. package/dist/router/local-executor.js +161 -0
  322. package/dist/router/local-executor.js.map +1 -0
  323. package/dist/router/model-registry.d.ts +90 -0
  324. package/dist/router/model-registry.d.ts.map +1 -0
  325. package/dist/router/model-registry.js +242 -0
  326. package/dist/router/model-registry.js.map +1 -0
  327. package/dist/router/rate-limiter.d.ts +63 -0
  328. package/dist/router/rate-limiter.d.ts.map +1 -0
  329. package/dist/router/rate-limiter.js +136 -0
  330. package/dist/router/rate-limiter.js.map +1 -0
  331. package/dist/router/resolver.d.ts +45 -0
  332. package/dist/router/resolver.d.ts.map +1 -0
  333. package/dist/router/resolver.js +71 -0
  334. package/dist/router/resolver.js.map +1 -0
  335. package/dist/router/retry.d.ts +58 -0
  336. package/dist/router/retry.d.ts.map +1 -0
  337. package/dist/router/retry.js +119 -0
  338. package/dist/router/retry.js.map +1 -0
  339. package/dist/router/router.d.ts +100 -0
  340. package/dist/router/router.d.ts.map +1 -0
  341. package/dist/router/router.js +306 -0
  342. package/dist/router/router.js.map +1 -0
  343. package/dist/router/spend-ledger.d.ts +69 -0
  344. package/dist/router/spend-ledger.d.ts.map +1 -0
  345. package/dist/router/spend-ledger.js +191 -0
  346. package/dist/router/spend-ledger.js.map +1 -0
  347. package/dist/router/telemetry.d.ts +48 -0
  348. package/dist/router/telemetry.d.ts.map +1 -0
  349. package/dist/router/telemetry.js +112 -0
  350. package/dist/router/telemetry.js.map +1 -0
  351. package/dist/router/types.d.ts +95 -0
  352. package/dist/router/types.d.ts.map +1 -0
  353. package/dist/router/types.js +16 -0
  354. package/dist/router/types.js.map +1 -0
  355. package/dist/single-shot.d.ts +60 -0
  356. package/dist/single-shot.d.ts.map +1 -0
  357. package/dist/single-shot.js +385 -0
  358. package/dist/single-shot.js.map +1 -0
  359. package/dist/skills/activator.d.ts +17 -0
  360. package/dist/skills/activator.d.ts.map +1 -0
  361. package/dist/skills/activator.js +24 -0
  362. package/dist/skills/activator.js.map +1 -0
  363. package/dist/skills/compose.d.ts +43 -0
  364. package/dist/skills/compose.d.ts.map +1 -0
  365. package/dist/skills/compose.js +53 -0
  366. package/dist/skills/compose.js.map +1 -0
  367. package/dist/skills/index.d.ts +17 -0
  368. package/dist/skills/index.d.ts.map +1 -0
  369. package/dist/skills/index.js +16 -0
  370. package/dist/skills/index.js.map +1 -0
  371. package/dist/skills/loader.d.ts +9 -0
  372. package/dist/skills/loader.d.ts.map +1 -0
  373. package/dist/skills/loader.js +49 -0
  374. package/dist/skills/loader.js.map +1 -0
  375. package/dist/skills/parser.d.ts +13 -0
  376. package/dist/skills/parser.d.ts.map +1 -0
  377. package/dist/skills/parser.js +60 -0
  378. package/dist/skills/parser.js.map +1 -0
  379. package/dist/skills/render.d.ts +11 -0
  380. package/dist/skills/render.d.ts.map +1 -0
  381. package/dist/skills/render.js +21 -0
  382. package/dist/skills/render.js.map +1 -0
  383. package/dist/skills/resolve-dir.d.ts +20 -0
  384. package/dist/skills/resolve-dir.d.ts.map +1 -0
  385. package/dist/skills/resolve-dir.js +30 -0
  386. package/dist/skills/resolve-dir.js.map +1 -0
  387. package/dist/skills/tool-policy.d.ts +26 -0
  388. package/dist/skills/tool-policy.d.ts.map +1 -0
  389. package/dist/skills/tool-policy.js +33 -0
  390. package/dist/skills/tool-policy.js.map +1 -0
  391. package/dist/skills/types.d.ts +42 -0
  392. package/dist/skills/types.d.ts.map +1 -0
  393. package/dist/skills/types.js +8 -0
  394. package/dist/skills/types.js.map +1 -0
  395. package/dist/stream-format.d.ts +100 -0
  396. package/dist/stream-format.d.ts.map +1 -0
  397. package/dist/stream-format.js +90 -0
  398. package/dist/stream-format.js.map +1 -0
  399. package/dist/telemetry/attributes.d.ts +38 -0
  400. package/dist/telemetry/attributes.d.ts.map +1 -0
  401. package/dist/telemetry/attributes.js +39 -0
  402. package/dist/telemetry/attributes.js.map +1 -0
  403. package/dist/telemetry/config.d.ts +30 -0
  404. package/dist/telemetry/config.d.ts.map +1 -0
  405. package/dist/telemetry/config.js +54 -0
  406. package/dist/telemetry/config.js.map +1 -0
  407. package/dist/telemetry/exporters.d.ts +10 -0
  408. package/dist/telemetry/exporters.d.ts.map +1 -0
  409. package/dist/telemetry/exporters.js +46 -0
  410. package/dist/telemetry/exporters.js.map +1 -0
  411. package/dist/telemetry/index.d.ts +15 -0
  412. package/dist/telemetry/index.d.ts.map +1 -0
  413. package/dist/telemetry/index.js +12 -0
  414. package/dist/telemetry/index.js.map +1 -0
  415. package/dist/telemetry/instrument.d.ts +36 -0
  416. package/dist/telemetry/instrument.d.ts.map +1 -0
  417. package/dist/telemetry/instrument.js +215 -0
  418. package/dist/telemetry/instrument.js.map +1 -0
  419. package/dist/telemetry/metrics.d.ts +45 -0
  420. package/dist/telemetry/metrics.d.ts.map +1 -0
  421. package/dist/telemetry/metrics.js +186 -0
  422. package/dist/telemetry/metrics.js.map +1 -0
  423. package/dist/telemetry/tracer.d.ts +33 -0
  424. package/dist/telemetry/tracer.d.ts.map +1 -0
  425. package/dist/telemetry/tracer.js +162 -0
  426. package/dist/telemetry/tracer.js.map +1 -0
  427. package/dist/tools/__tests__/builtin.test.d.ts +7 -0
  428. package/dist/tools/__tests__/builtin.test.d.ts.map +1 -0
  429. package/dist/tools/__tests__/builtin.test.js +242 -0
  430. package/dist/tools/__tests__/builtin.test.js.map +1 -0
  431. package/dist/tools/builtin.d.ts +29 -0
  432. package/dist/tools/builtin.d.ts.map +1 -0
  433. package/dist/tools/builtin.js +367 -0
  434. package/dist/tools/builtin.js.map +1 -0
  435. package/dist/tools/index.d.ts +4 -0
  436. package/dist/tools/index.d.ts.map +1 -0
  437. package/dist/tools/index.js +3 -0
  438. package/dist/tools/index.js.map +1 -0
  439. package/dist/tools/path-guard.d.ts +23 -0
  440. package/dist/tools/path-guard.d.ts.map +1 -0
  441. package/dist/tools/path-guard.js +66 -0
  442. package/dist/tools/path-guard.js.map +1 -0
  443. package/dist/tools/types.d.ts +45 -0
  444. package/dist/tools/types.d.ts.map +1 -0
  445. package/dist/tools/types.js +11 -0
  446. package/dist/tools/types.js.map +1 -0
  447. package/dist/types.d.ts +249 -0
  448. package/dist/types.d.ts.map +1 -0
  449. package/dist/types.js +22 -0
  450. package/dist/types.js.map +1 -0
  451. package/dist/upstream-error.d.ts +64 -0
  452. package/dist/upstream-error.d.ts.map +1 -0
  453. package/dist/upstream-error.js +105 -0
  454. package/dist/upstream-error.js.map +1 -0
  455. package/dist/version.d.ts +2 -0
  456. package/dist/version.d.ts.map +1 -0
  457. package/dist/version.js +2 -0
  458. package/dist/version.js.map +1 -0
  459. package/package.json +49 -0
@@ -0,0 +1,403 @@
1
+ /**
2
+ * Google ADK adapter — agentic, provider-agnostic.
3
+ *
4
+ * Drives `@google/adk` (≥ 1.1.0) end-to-end:
5
+ * 1. Builds an `LlmAgent` with the requested model.
6
+ * 2. Wraps `BuiltinToolExecutor`'s schemas as ADK `FunctionTool`s.
7
+ * 3. Runs the agent through ADK's `Runner` + `InMemorySessionService`.
8
+ * 4. Translates each emitted ADK `Event` into Anvil Stream Format
9
+ * lines (text → emitContent, FunctionCall → emitToolUse,
10
+ * FunctionResponse → emitToolResult).
11
+ *
12
+ * Provider routing:
13
+ * - Model ids prefixed `adk:` (e.g. `adk:claude-sonnet-4-6`,
14
+ * `adk:gemini-2.5-flash`) route to this adapter via the
15
+ * `default-adapter-factory` resolver. Claude models go through the
16
+ * custom `AnthropicLlm` (registered idempotently here); Gemini
17
+ * models flow through ADK's built-in `Gemini` Llm.
18
+ * - The prefix is stripped before being handed to ADK's
19
+ * `LLMRegistry`, which matches against the model id directly
20
+ * (e.g. `^claude-/`).
21
+ *
22
+ * Capabilities are `tier: 'agentic'` because the Runner drives a real
23
+ * tool loop. Per-call `AbortController` + buffered emitContent match
24
+ * the patterns in `OllamaAdapter` / `OpenRouterAdapter` so concurrent
25
+ * spawns (per-repo backend + frontend) don't trample each other.
26
+ *
27
+ * Auth: `ANTHROPIC_API_KEY` for Claude models, `GOOGLE_API_KEY` /
28
+ * `GEMINI_API_KEY` for Gemini.
29
+ */
30
+ import { randomUUID } from 'node:crypto';
31
+ import { emitContent as emitContentRaw, emitResult, emitToolResult, emitToolUse, } from './stream-format.js';
32
+ import { registerAnthropicLlm } from './adk-anthropic-llm.js';
33
+ import { UpstreamError, bodyLooksRetryable } from './upstream-error.js';
34
+ const PREFIX = 'adk:';
35
+ /**
36
+ * Defuse ADK's prompt template engine for source code we inject.
37
+ *
38
+ * ADK (`@google/adk`'s `instructions.js`) scans the prompt with
39
+ * `/\{+[^{}]*\}+/g`, strips ALL leading `{` and trailing `}`, trims,
40
+ * then if the residue matches `^[a-zA-Z_][a-zA-Z0-9_]*$` (a valid
41
+ * identifier) it tries to resolve it against the session state — and
42
+ * throws `Context variable not found: \`<name>\`` if it isn't there.
43
+ *
44
+ * Doubling braces does NOT help — `{{modalOpen}}` → strip `{+` / `}+`
45
+ * → `modalOpen` → still throws. Anvil doesn't use ADK's templating;
46
+ * we substitute our own `{{...}}` in `prompt-builders.ts:injectTemplateVars`
47
+ * before this call. By the time content lands here, every remaining
48
+ * `{name}` comes from KB-injected source code (TypeScript template
49
+ * literals, JSX expressions, Go struct literals).
50
+ *
51
+ * Insert a zero-width space (U+200B) right after every `{`. ADK still
52
+ * matches the regex but the resulting key starts with ZWSP, which
53
+ * fails the identifier check, so ADK returns `match[0]` unchanged
54
+ * instead of looking up state. ZWSP is invisible to the model — the
55
+ * source code reads identically.
56
+ *
57
+ * Provider-local: only ADK has this templating layer. Other adapters
58
+ * receive the raw prompt unchanged.
59
+ */
60
+ function escapeAdkBraces(text) {
61
+ return text.replace(/\{/g, '{\u200B');
62
+ }
63
+ const ADK_PRICING = {
64
+ // Claude (Anthropic API)
65
+ 'claude-haiku-4-5': [1.0, 5.0],
66
+ 'claude-sonnet-4-6': [3.0, 15.0],
67
+ 'claude-sonnet-4-7': [3.0, 15.0],
68
+ 'claude-opus-4-7': [15.0, 75.0],
69
+ // Gemini
70
+ 'gemini-2.5-flash': [0.075, 0.30],
71
+ 'gemini-2.5-pro': [1.25, 5.00],
72
+ };
73
+ export class AdkAdapter {
74
+ provider = 'adk';
75
+ capabilities = {
76
+ tier: 'agentic',
77
+ streaming: true,
78
+ toolUse: true,
79
+ fileSystem: true,
80
+ shellExecution: true,
81
+ sessionResume: false,
82
+ cache: 'explicit',
83
+ cacheTtlSeconds: 300,
84
+ structuredOutput: 'tool-shim',
85
+ maxOutputTokens: true,
86
+ };
87
+ abortControllers = new Set();
88
+ supportsModel(modelId) {
89
+ return modelId.startsWith(PREFIX);
90
+ }
91
+ getModelPricing(modelId) {
92
+ const stripped = modelId.startsWith(PREFIX) ? modelId.slice(PREFIX.length) : modelId;
93
+ return ADK_PRICING[stripped] ?? null;
94
+ }
95
+ async checkAvailability() {
96
+ try {
97
+ const adk = await loadAdk();
98
+ const hasAnthropic = !!process.env.ANTHROPIC_API_KEY;
99
+ const hasGemini = !!(process.env.GOOGLE_API_KEY || process.env.GEMINI_API_KEY || process.env.GOOGLE_GENAI_API_KEY);
100
+ if (!hasAnthropic && !hasGemini) {
101
+ return {
102
+ available: false,
103
+ error: 'Set ANTHROPIC_API_KEY (for adk:claude-*) or GOOGLE_API_KEY / GEMINI_API_KEY (for adk:gemini-*).',
104
+ };
105
+ }
106
+ // Touch the registry so we can confirm the package's surface is wired.
107
+ // Throws cleanly if the install is broken.
108
+ void adk.LLMRegistry;
109
+ return { available: true, version: '@google/adk' };
110
+ }
111
+ catch (err) {
112
+ return {
113
+ available: false,
114
+ error: `@google/adk is not installed or failed to load: ${err.message}`,
115
+ };
116
+ }
117
+ }
118
+ async run(config, output) {
119
+ const startedAt = Date.now();
120
+ const upstreamModel = config.model.startsWith(PREFIX) ? config.model.slice(PREFIX.length) : config.model;
121
+ const adk = await loadAdk();
122
+ // Register Anthropic Llm exactly once per process — idempotent.
123
+ registerAnthropicLlm();
124
+ // Bridge `GOOGLE_API_KEY` → `GEMINI_API_KEY` for users who set the
125
+ // generic Google key. ADK's Gemini class only reads
126
+ // `GEMINI_API_KEY` / `GOOGLE_GENAI_API_KEY`. Don't overwrite if
127
+ // already set.
128
+ if (upstreamModel.startsWith('gemini-') &&
129
+ !process.env.GEMINI_API_KEY &&
130
+ !process.env.GOOGLE_GENAI_API_KEY &&
131
+ process.env.GOOGLE_API_KEY) {
132
+ process.env.GEMINI_API_KEY = process.env.GOOGLE_API_KEY;
133
+ }
134
+ // Per-call AbortController so concurrent spawns can't trample each other.
135
+ const ac = new AbortController();
136
+ this.abortControllers.add(ac);
137
+ const buffered = makeBufferedEmitter(output);
138
+ let totalInputTokens = 0;
139
+ let totalOutputTokens = 0;
140
+ let cacheReadTokens = 0;
141
+ let cacheWriteTokens = 0;
142
+ let toolCallCount = 0;
143
+ let stopReason = 'end_turn';
144
+ let finalText = '';
145
+ try {
146
+ const tools = buildAdkTools(adk, config.toolExecutor, {
147
+ workingDir: config.workingDir,
148
+ abortSignal: ac.signal,
149
+ });
150
+ const agent = new adk.LlmAgent({
151
+ name: 'anvil_adk_agent',
152
+ description: `Anvil agent (${config.persona ?? 'engineer'} stage=${config.stage ?? 'unknown'})`,
153
+ model: upstreamModel,
154
+ // ADK's prompt template engine treats `{varname}` as a context
155
+ // variable lookup and 500s on unresolved vars. Real source code
156
+ // injected via the KB / file reads naturally contains `{...}`
157
+ // (TypeScript template literals like `${adoptionId}`, JSON object
158
+ // literals, JSX expressions). We don't use ADK's templating —
159
+ // our own `injectTemplateVars` already substitutes `{{...}}`
160
+ // before this call. So escape every brace by doubling it; ADK
161
+ // unescapes `{{` → `{` and `}}` → `}` when rendering. Provider-
162
+ // local because no other adapter parses braces this way.
163
+ instruction: escapeAdkBraces(config.projectPrompt ?? ''),
164
+ tools,
165
+ });
166
+ const sessionService = new adk.InMemorySessionService();
167
+ const runner = new adk.Runner({
168
+ appName: 'anvil',
169
+ agent,
170
+ sessionService,
171
+ });
172
+ const userId = config.sessionId ?? `anvil-${randomUUID()}`;
173
+ const events = runner.runEphemeral({
174
+ userId,
175
+ newMessage: { role: 'user', parts: [{ text: escapeAdkBraces(config.userPrompt) }] },
176
+ });
177
+ // Wrap the iteration so plain Errors thrown by the underlying
178
+ // LLM (ADK's stock Gemini class throws plain Error on 429 /
179
+ // quota; our AnthropicLlm already throws UpstreamError directly)
180
+ // can be classified for the dashboard's chain-fallback duck-type
181
+ // check after the loop exits.
182
+ let iterError = null;
183
+ const wrapped = wrapIteratorErrors(events, (e) => { iterError = e; });
184
+ for await (const evt of wrapped) {
185
+ if (ac.signal.aborted)
186
+ break;
187
+ const usage = evt.usageMetadata;
188
+ if (usage) {
189
+ totalInputTokens += usage.promptTokenCount ?? 0;
190
+ totalOutputTokens += usage.candidatesTokenCount ?? 0;
191
+ if (typeof usage.cachedContentTokenCount === 'number') {
192
+ cacheReadTokens += usage.cachedContentTokenCount;
193
+ }
194
+ }
195
+ if (evt.finishReason)
196
+ stopReason = String(evt.finishReason).toLowerCase();
197
+ // Translate parts → Anvil Stream Format. ADK fires content,
198
+ // function_call, and function_response in separate events so
199
+ // the partitioning is easy.
200
+ const parts = evt.content?.parts ?? [];
201
+ for (const part of parts) {
202
+ if (typeof part.text === 'string' && part.text.length > 0) {
203
+ buffered.push(part.text);
204
+ // Track for the final result line — last text wins as the
205
+ // canonical "answer".
206
+ finalText = part.text;
207
+ }
208
+ else if (part.functionCall) {
209
+ buffered.flush();
210
+ const id = part.functionCall.id ?? randomUUID();
211
+ emitToolUse(output, part.functionCall.name ?? '', (part.functionCall.args ?? {}), id);
212
+ toolCallCount += 1;
213
+ }
214
+ else if (part.functionResponse) {
215
+ buffered.flush();
216
+ const resp = part.functionResponse.response ?? {};
217
+ emitToolResult(output, {
218
+ toolUseId: part.functionResponse.id ?? '',
219
+ content: typeof resp === 'string' ? resp : JSON.stringify(resp),
220
+ isError: typeof resp === 'object' && resp != null && 'error' in resp,
221
+ });
222
+ }
223
+ }
224
+ if (evt.errorMessage) {
225
+ // Classify the in-band error so the dashboard's chain-fallback
226
+ // can hop to another provider when an LLM hits quota/rate
227
+ // limit but ADK chose to surface it via `errorMessage`
228
+ // instead of throwing.
229
+ const retryable = bodyLooksRetryable(evt.errorMessage);
230
+ throw new UpstreamError(retryable ? 503 : 500, evt.errorMessage, {
231
+ provider: upstreamModel.startsWith('claude-') ? 'anthropic' : 'gemini',
232
+ retryable,
233
+ });
234
+ }
235
+ }
236
+ // Surface any error the AsyncGenerator threw mid-stream. If the
237
+ // underlying LLM was our AnthropicLlm, it's already an UpstreamError
238
+ // (with `retryable` set correctly). For ADK's stock Gemini path
239
+ // we get a plain Error — classify by message body so we don't
240
+ // lose chain-fallback on 429/quota.
241
+ if (iterError) {
242
+ if (iterError instanceof UpstreamError)
243
+ throw iterError;
244
+ const e = iterError;
245
+ const msg = e?.message ?? String(iterError);
246
+ const retryable = bodyLooksRetryable(msg);
247
+ throw new UpstreamError(retryable ? 429 : 500, msg, {
248
+ provider: upstreamModel.startsWith('claude-') ? 'anthropic' : 'gemini',
249
+ retryable,
250
+ });
251
+ }
252
+ buffered.flush();
253
+ const pricing = this.getModelPricing(config.model);
254
+ const costUsd = pricing
255
+ ? (totalInputTokens * pricing[0] + totalOutputTokens * pricing[1]) / 1_000_000
256
+ : 0;
257
+ emitResult(output, {
258
+ text: finalText,
259
+ costUsd,
260
+ inputTokens: totalInputTokens,
261
+ outputTokens: totalOutputTokens,
262
+ durationMs: Date.now() - startedAt,
263
+ sessionId: userId,
264
+ cacheReadTokens,
265
+ cacheWriteTokens,
266
+ });
267
+ return {
268
+ output: finalText,
269
+ inputTokens: totalInputTokens,
270
+ outputTokens: totalOutputTokens,
271
+ costUsd,
272
+ durationMs: Date.now() - startedAt,
273
+ sessionId: userId,
274
+ provider: this.provider,
275
+ model: config.model,
276
+ cacheReadTokens,
277
+ cacheWriteTokens,
278
+ toolCallCount,
279
+ stopReason,
280
+ };
281
+ }
282
+ finally {
283
+ this.abortControllers.delete(ac);
284
+ }
285
+ }
286
+ kill() {
287
+ for (const ac of this.abortControllers) {
288
+ try {
289
+ ac.abort();
290
+ }
291
+ catch { /* ignore */ }
292
+ }
293
+ this.abortControllers.clear();
294
+ }
295
+ }
296
+ // ───────────────────────────────────────────────────────────────────────
297
+ // AsyncGenerator error capture
298
+ // ───────────────────────────────────────────────────────────────────────
299
+ /**
300
+ * Iterates an async iterable and captures any thrown error in `onError`
301
+ * instead of re-throwing it through the loop. The wrapped generator
302
+ * stops yielding on the first throw; the caller checks `iterError`
303
+ * after the for-await exits and re-throws (with classification) so
304
+ * the dashboard's chain-fallback duck-type check sees an UpstreamError.
305
+ */
306
+ async function* wrapIteratorErrors(src, onError) {
307
+ try {
308
+ for await (const v of src)
309
+ yield v;
310
+ }
311
+ catch (e) {
312
+ onError(e);
313
+ }
314
+ }
315
+ let cachedAdk = null;
316
+ async function loadAdk() {
317
+ if (cachedAdk)
318
+ return cachedAdk;
319
+ // Variable-form import so a TS environment without the package can
320
+ // still type-check this file (the static `import type` above is
321
+ // erased; this dynamic import resolves at runtime).
322
+ const pkg = '@google/adk';
323
+ const mod = (await import(pkg));
324
+ // Silence ADK's default INFO-level logger — it dumps every Runner
325
+ // event (including the full request prompt) to stderr, which floods
326
+ // the dashboard's terminal once ADK is in the chain. Drop to ERROR
327
+ // so genuine failures still surface. Set `ANVIL_ADK_LOG=info|debug`
328
+ // to opt back in when debugging the adapter itself.
329
+ try {
330
+ const m = mod;
331
+ const wantedRaw = (process.env.ANVIL_ADK_LOG ?? 'error').toLowerCase();
332
+ const wanted = wantedRaw === 'debug' ? m.LogLevel?.DEBUG
333
+ : wantedRaw === 'info' ? m.LogLevel?.INFO
334
+ : wantedRaw === 'warn' ? m.LogLevel?.WARN
335
+ : m.LogLevel?.ERROR;
336
+ if (typeof wanted === 'number' && typeof m.setLogLevel === 'function') {
337
+ m.setLogLevel(wanted);
338
+ }
339
+ }
340
+ catch { /* non-fatal — just keeps ADK noisy */ }
341
+ cachedAdk = mod;
342
+ return mod;
343
+ }
344
+ // ───────────────────────────────────────────────────────────────────────
345
+ // Tool translation: BuiltinToolExecutor schemas → ADK FunctionTool[]
346
+ // ───────────────────────────────────────────────────────────────────────
347
+ function buildAdkTools(adk, executor, ctx) {
348
+ if (!executor)
349
+ return [];
350
+ const out = [];
351
+ for (const schema of executor.listSchemas()) {
352
+ out.push(new adk.FunctionTool({
353
+ name: schema.name,
354
+ description: schema.description,
355
+ // ADK's FunctionTool accepts a JSON Schema in `parameters`; ADK
356
+ // forwards it as `parametersJsonSchema` to the underlying LLM
357
+ // (so AnthropicLlm picks it up via collectTools).
358
+ parameters: schema.inputSchema,
359
+ execute: async (input) => {
360
+ const args = (input ?? {});
361
+ const result = await executor.execute({ id: randomUUID(), name: schema.name, arguments: args }, { workingDir: ctx.workingDir, abortSignal: ctx.abortSignal });
362
+ // Anthropic's FunctionResponse expects a JSON-serializable
363
+ // object. We package error / output uniformly so AnthropicLlm
364
+ // can detect failures via the `error` key.
365
+ if (result.isError) {
366
+ return { error: result.content };
367
+ }
368
+ return { output: result.content };
369
+ },
370
+ }));
371
+ }
372
+ return out;
373
+ }
374
+ // ───────────────────────────────────────────────────────────────────────
375
+ // Buffered emitContent — flush on '\n' OR ~80 chars so the dashboard
376
+ // activity log reads as prose, not vertical tokens. Same convention as
377
+ // OpenRouter / Ollama adapters.
378
+ // ───────────────────────────────────────────────────────────────────────
379
+ function makeBufferedEmitter(output) {
380
+ let buf = '';
381
+ const FLUSH_AT = 80;
382
+ function flushNow() {
383
+ if (buf.length === 0)
384
+ return;
385
+ emitContentRaw(output, buf);
386
+ buf = '';
387
+ }
388
+ return {
389
+ push(s) {
390
+ buf += s;
391
+ let nl;
392
+ while ((nl = buf.indexOf('\n')) !== -1) {
393
+ const line = buf.slice(0, nl + 1);
394
+ emitContentRaw(output, line);
395
+ buf = buf.slice(nl + 1);
396
+ }
397
+ if (buf.length >= FLUSH_AT)
398
+ flushNow();
399
+ },
400
+ flush: flushNow,
401
+ };
402
+ }
403
+ //# sourceMappingURL=adk-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adk-adapter.js","sourceRoot":"","sources":["../src/adk-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Anthropic-backed `BaseLlm` for Google ADK (`@google/adk` ≥ 1.1.0).
3
+ *
4
+ * ADK's TypeScript SDK ships only Gemini / Apigee adapters out of the
5
+ * box; Python/Java ADK have native multi-provider support. This file
6
+ * plugs Anthropic into ADK's `LLMRegistry` so
7
+ * `new LlmAgent({ model: 'claude-sonnet-4-6', ... })`
8
+ * works inside an ADK `Runner`.
9
+ *
10
+ * Translation map (ADK / @google/genai shape ↔ Anthropic Messages API):
11
+ *
12
+ * Content[] (role='user'|'model') ↔ messages[] (role='user'|'assistant')
13
+ * Part.text ↔ text content block
14
+ * Part.functionCall {id,name,args} ↔ tool_use {id,name,input}
15
+ * Part.functionResponse {id,name,response} ↔ tool_result {tool_use_id,content}
16
+ * FunctionDeclaration ↔ tools[].input_schema
17
+ *
18
+ * Streaming uses Anthropic's SSE event format (`message_start` →
19
+ * `content_block_start/_delta/_stop` → `message_delta` → `message_stop`).
20
+ * We yield one `LlmResponse` per turn-completed assistant message —
21
+ * ADK's `Runner` then dispatches any tool_use parts to the registered
22
+ * `FunctionTool` instances and re-invokes us with the function
23
+ * responses appended.
24
+ *
25
+ * Registration is idempotent — `registerAnthropicLlm()` no-ops on
26
+ * subsequent calls. Call it once before constructing an `LlmAgent`
27
+ * with a `claude-*` model id.
28
+ */
29
+ import { BaseLlm } from '@google/adk';
30
+ import type { LlmRequest, LlmResponse, BaseLlmConnection } from '@google/adk';
31
+ export declare class AnthropicLlm extends BaseLlm {
32
+ /**
33
+ * Patterns that route to this Llm via `LLMRegistry.resolve(model)`.
34
+ * Matches `claude-sonnet-4-6`, `claude-opus-4-7`, `claude-haiku-4-5`,
35
+ * `claude-3-5-haiku-latest`, etc. Does NOT match OpenRouter slugs
36
+ * (`anthropic/claude-...`) — those go through `OpenRouterAdapter`.
37
+ *
38
+ * Typed as the (mutable) array shape ADK's `LLMRegistry.register`
39
+ * expects — the registry uses `Array<string | RegExp>` for its key,
40
+ * so a `ReadonlyArray` here is rejected at the static side.
41
+ *
42
+ * NOTE: ADK's registry wraps each pattern with `^...$` at resolve
43
+ * time. Our regex MUST cover the full id (no `^` anchor of our own,
44
+ * and a trailing `.*` so the wrapped regex stays well-formed). The
45
+ * source pattern is `claude-` followed by `.*`.
46
+ */
47
+ static readonly supportedModels: Array<string | RegExp>;
48
+ constructor(params: {
49
+ model: string;
50
+ });
51
+ generateContentAsync(llmRequest: LlmRequest, stream?: boolean, abortSignal?: AbortSignal): AsyncGenerator<LlmResponse, void>;
52
+ connect(_llmRequest: LlmRequest): Promise<BaseLlmConnection>;
53
+ }
54
+ /**
55
+ * Register `AnthropicLlm` with ADK's `LLMRegistry`. Safe to call
56
+ * multiple times — only the first call registers.
57
+ */
58
+ export declare function registerAnthropicLlm(): void;
59
+ //# sourceMappingURL=adk-anthropic-llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adk-anthropic-llm.d.ts","sourceRoot":"","sources":["../src/adk-anthropic-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAwE9E,qBAAa,YAAa,SAAQ,OAAO;IACvC;;;;;;;;;;;;;;OAcG;IACH,gBAAyB,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAiB;gBAErE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAIrB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,OAAO,EAChB,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC;IA+CrB,OAAO,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAK5E;AAQD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C"}