overai 1.4.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 (442) hide show
  1. package/README.md +248 -0
  2. package/dist/agent/context.d.ts +74 -0
  3. package/dist/agent/context.js +140 -0
  4. package/dist/agent/enhanced.d.ts +98 -0
  5. package/dist/agent/enhanced.js +293 -0
  6. package/dist/agent/handoff.d.ts +82 -0
  7. package/dist/agent/handoff.js +124 -0
  8. package/dist/agent/image.d.ts +57 -0
  9. package/dist/agent/image.js +116 -0
  10. package/dist/agent/index.d.ts +19 -0
  11. package/dist/agent/index.js +38 -0
  12. package/dist/agent/prompt-expander.d.ts +43 -0
  13. package/dist/agent/prompt-expander.js +99 -0
  14. package/dist/agent/proxy.d.ts +26 -0
  15. package/dist/agent/proxy.js +173 -0
  16. package/dist/agent/query-rewriter.d.ts +41 -0
  17. package/dist/agent/query-rewriter.js +94 -0
  18. package/dist/agent/research.d.ts +55 -0
  19. package/dist/agent/research.js +134 -0
  20. package/dist/agent/router.d.ts +141 -0
  21. package/dist/agent/router.js +209 -0
  22. package/dist/agent/simple.d.ts +289 -0
  23. package/dist/agent/simple.js +696 -0
  24. package/dist/agent/types.d.ts +56 -0
  25. package/dist/agent/types.js +165 -0
  26. package/dist/ai/agent-loop.d.ts +177 -0
  27. package/dist/ai/agent-loop.js +313 -0
  28. package/dist/ai/devtools.d.ts +74 -0
  29. package/dist/ai/devtools.js +216 -0
  30. package/dist/ai/embed.d.ts +71 -0
  31. package/dist/ai/embed.js +154 -0
  32. package/dist/ai/generate-image.d.ts +66 -0
  33. package/dist/ai/generate-image.js +138 -0
  34. package/dist/ai/generate-object.d.ts +132 -0
  35. package/dist/ai/generate-object.js +206 -0
  36. package/dist/ai/generate-text.d.ts +201 -0
  37. package/dist/ai/generate-text.js +253 -0
  38. package/dist/ai/index.d.ts +27 -0
  39. package/dist/ai/index.js +140 -0
  40. package/dist/ai/mcp.d.ts +181 -0
  41. package/dist/ai/mcp.js +234 -0
  42. package/dist/ai/middleware.d.ts +110 -0
  43. package/dist/ai/middleware.js +186 -0
  44. package/dist/ai/models.d.ts +67 -0
  45. package/dist/ai/models.js +249 -0
  46. package/dist/ai/multimodal.d.ts +125 -0
  47. package/dist/ai/multimodal.js +270 -0
  48. package/dist/ai/nextjs.d.ts +122 -0
  49. package/dist/ai/nextjs.js +218 -0
  50. package/dist/ai/server.d.ts +126 -0
  51. package/dist/ai/server.js +336 -0
  52. package/dist/ai/speech.d.ts +135 -0
  53. package/dist/ai/speech.js +296 -0
  54. package/dist/ai/telemetry.d.ts +162 -0
  55. package/dist/ai/telemetry.js +311 -0
  56. package/dist/ai/tool-approval.d.ts +225 -0
  57. package/dist/ai/tool-approval.js +407 -0
  58. package/dist/ai/tools.d.ts +93 -0
  59. package/dist/ai/tools.js +89 -0
  60. package/dist/ai/types.d.ts +47 -0
  61. package/dist/ai/types.js +5 -0
  62. package/dist/ai/ui-message.d.ts +218 -0
  63. package/dist/ai/ui-message.js +291 -0
  64. package/dist/auto/index.d.ts +62 -0
  65. package/dist/auto/index.js +163 -0
  66. package/dist/cache/index.d.ts +78 -0
  67. package/dist/cache/index.js +235 -0
  68. package/dist/cli/commands/agent.d.ts +30 -0
  69. package/dist/cli/commands/agent.js +151 -0
  70. package/dist/cli/commands/agents.d.ts +24 -0
  71. package/dist/cli/commands/agents.js +166 -0
  72. package/dist/cli/commands/approval.d.ts +10 -0
  73. package/dist/cli/commands/approval.js +253 -0
  74. package/dist/cli/commands/auto.d.ts +12 -0
  75. package/dist/cli/commands/auto.js +109 -0
  76. package/dist/cli/commands/autonomy.d.ts +5 -0
  77. package/dist/cli/commands/autonomy.js +152 -0
  78. package/dist/cli/commands/benchmark.d.ts +19 -0
  79. package/dist/cli/commands/benchmark.js +484 -0
  80. package/dist/cli/commands/cache.d.ts +9 -0
  81. package/dist/cli/commands/cache.js +143 -0
  82. package/dist/cli/commands/chat.d.ts +14 -0
  83. package/dist/cli/commands/chat.js +127 -0
  84. package/dist/cli/commands/checkpoints.d.ts +5 -0
  85. package/dist/cli/commands/checkpoints.js +236 -0
  86. package/dist/cli/commands/context.d.ts +11 -0
  87. package/dist/cli/commands/context.js +182 -0
  88. package/dist/cli/commands/cost.d.ts +5 -0
  89. package/dist/cli/commands/cost.js +146 -0
  90. package/dist/cli/commands/db.d.ts +9 -0
  91. package/dist/cli/commands/db.js +149 -0
  92. package/dist/cli/commands/embed.d.ts +20 -0
  93. package/dist/cli/commands/embed.js +375 -0
  94. package/dist/cli/commands/eval.d.ts +17 -0
  95. package/dist/cli/commands/eval.js +247 -0
  96. package/dist/cli/commands/external-agents.d.ts +5 -0
  97. package/dist/cli/commands/external-agents.js +170 -0
  98. package/dist/cli/commands/fast-context.d.ts +5 -0
  99. package/dist/cli/commands/fast-context.js +126 -0
  100. package/dist/cli/commands/flow.d.ts +5 -0
  101. package/dist/cli/commands/flow.js +141 -0
  102. package/dist/cli/commands/git.d.ts +5 -0
  103. package/dist/cli/commands/git.js +178 -0
  104. package/dist/cli/commands/graph-rag.d.ts +9 -0
  105. package/dist/cli/commands/graph-rag.js +131 -0
  106. package/dist/cli/commands/guardrail.d.ts +11 -0
  107. package/dist/cli/commands/guardrail.js +156 -0
  108. package/dist/cli/commands/handoff.d.ts +9 -0
  109. package/dist/cli/commands/handoff.js +133 -0
  110. package/dist/cli/commands/help.d.ts +8 -0
  111. package/dist/cli/commands/help.js +139 -0
  112. package/dist/cli/commands/image.d.ts +13 -0
  113. package/dist/cli/commands/image.js +192 -0
  114. package/dist/cli/commands/interactive.d.ts +6 -0
  115. package/dist/cli/commands/interactive.js +79 -0
  116. package/dist/cli/commands/jobs.d.ts +5 -0
  117. package/dist/cli/commands/jobs.js +282 -0
  118. package/dist/cli/commands/knowledge.d.ts +9 -0
  119. package/dist/cli/commands/knowledge.js +226 -0
  120. package/dist/cli/commands/llm.d.ts +21 -0
  121. package/dist/cli/commands/llm.js +748 -0
  122. package/dist/cli/commands/mcp.d.ts +9 -0
  123. package/dist/cli/commands/mcp.js +243 -0
  124. package/dist/cli/commands/memory.d.ts +10 -0
  125. package/dist/cli/commands/memory.js +198 -0
  126. package/dist/cli/commands/n8n.d.ts +5 -0
  127. package/dist/cli/commands/n8n.js +137 -0
  128. package/dist/cli/commands/observability.d.ts +16 -0
  129. package/dist/cli/commands/observability.js +335 -0
  130. package/dist/cli/commands/planning.d.ts +9 -0
  131. package/dist/cli/commands/planning.js +167 -0
  132. package/dist/cli/commands/prompt-expand.d.ts +11 -0
  133. package/dist/cli/commands/prompt-expand.js +100 -0
  134. package/dist/cli/commands/providers.d.ts +17 -0
  135. package/dist/cli/commands/providers.js +386 -0
  136. package/dist/cli/commands/query-rewrite.d.ts +12 -0
  137. package/dist/cli/commands/query-rewrite.js +102 -0
  138. package/dist/cli/commands/repo-map.d.ts +5 -0
  139. package/dist/cli/commands/repo-map.js +151 -0
  140. package/dist/cli/commands/reranker.d.ts +10 -0
  141. package/dist/cli/commands/reranker.js +144 -0
  142. package/dist/cli/commands/research.d.ts +12 -0
  143. package/dist/cli/commands/research.js +108 -0
  144. package/dist/cli/commands/router.d.ts +11 -0
  145. package/dist/cli/commands/router.js +142 -0
  146. package/dist/cli/commands/run.d.ts +14 -0
  147. package/dist/cli/commands/run.js +111 -0
  148. package/dist/cli/commands/sandbox.d.ts +5 -0
  149. package/dist/cli/commands/sandbox.js +135 -0
  150. package/dist/cli/commands/scheduler.d.ts +5 -0
  151. package/dist/cli/commands/scheduler.js +260 -0
  152. package/dist/cli/commands/session.d.ts +9 -0
  153. package/dist/cli/commands/session.js +238 -0
  154. package/dist/cli/commands/skills.d.ts +9 -0
  155. package/dist/cli/commands/skills.js +256 -0
  156. package/dist/cli/commands/telemetry.d.ts +9 -0
  157. package/dist/cli/commands/telemetry.js +146 -0
  158. package/dist/cli/commands/tools.d.ts +19 -0
  159. package/dist/cli/commands/tools.js +576 -0
  160. package/dist/cli/commands/vector.d.ts +10 -0
  161. package/dist/cli/commands/vector.js +171 -0
  162. package/dist/cli/commands/version.d.ts +8 -0
  163. package/dist/cli/commands/version.js +40 -0
  164. package/dist/cli/commands/voice.d.ts +10 -0
  165. package/dist/cli/commands/voice.js +162 -0
  166. package/dist/cli/commands/workflow.d.ts +13 -0
  167. package/dist/cli/commands/workflow.js +184 -0
  168. package/dist/cli/config/index.d.ts +6 -0
  169. package/dist/cli/config/index.js +22 -0
  170. package/dist/cli/config/load.d.ts +20 -0
  171. package/dist/cli/config/load.js +229 -0
  172. package/dist/cli/config/resolve.d.ts +28 -0
  173. package/dist/cli/config/resolve.js +70 -0
  174. package/dist/cli/config/schema.d.ts +15 -0
  175. package/dist/cli/config/schema.js +65 -0
  176. package/dist/cli/features/autonomy-mode.d.ts +98 -0
  177. package/dist/cli/features/autonomy-mode.js +266 -0
  178. package/dist/cli/features/background-jobs.d.ts +155 -0
  179. package/dist/cli/features/background-jobs.js +416 -0
  180. package/dist/cli/features/checkpoints.d.ts +126 -0
  181. package/dist/cli/features/checkpoints.js +288 -0
  182. package/dist/cli/features/cost-tracker.d.ts +101 -0
  183. package/dist/cli/features/cost-tracker.js +212 -0
  184. package/dist/cli/features/external-agents.d.ts +117 -0
  185. package/dist/cli/features/external-agents.js +296 -0
  186. package/dist/cli/features/fast-context.d.ts +126 -0
  187. package/dist/cli/features/fast-context.js +310 -0
  188. package/dist/cli/features/flow-display.d.ts +100 -0
  189. package/dist/cli/features/flow-display.js +254 -0
  190. package/dist/cli/features/git-integration.d.ts +138 -0
  191. package/dist/cli/features/git-integration.js +374 -0
  192. package/dist/cli/features/index.d.ts +17 -0
  193. package/dist/cli/features/index.js +102 -0
  194. package/dist/cli/features/interactive-tui.d.ts +114 -0
  195. package/dist/cli/features/interactive-tui.js +326 -0
  196. package/dist/cli/features/n8n-integration.d.ts +111 -0
  197. package/dist/cli/features/n8n-integration.js +299 -0
  198. package/dist/cli/features/repo-map.d.ts +101 -0
  199. package/dist/cli/features/repo-map.js +350 -0
  200. package/dist/cli/features/sandbox-executor.d.ts +89 -0
  201. package/dist/cli/features/sandbox-executor.js +314 -0
  202. package/dist/cli/features/scheduler.d.ts +111 -0
  203. package/dist/cli/features/scheduler.js +298 -0
  204. package/dist/cli/features/slash-commands.d.ts +77 -0
  205. package/dist/cli/features/slash-commands.js +316 -0
  206. package/dist/cli/index.d.ts +24 -0
  207. package/dist/cli/index.js +214 -0
  208. package/dist/cli/output/errors.d.ts +23 -0
  209. package/dist/cli/output/errors.js +36 -0
  210. package/dist/cli/output/json.d.ts +27 -0
  211. package/dist/cli/output/json.js +31 -0
  212. package/dist/cli/output/pretty.d.ts +13 -0
  213. package/dist/cli/output/pretty.js +31 -0
  214. package/dist/cli/runtime/env.d.ts +12 -0
  215. package/dist/cli/runtime/env.js +55 -0
  216. package/dist/cli/runtime/exit.d.ts +11 -0
  217. package/dist/cli/runtime/exit.js +49 -0
  218. package/dist/cli/runtime/index.d.ts +6 -0
  219. package/dist/cli/runtime/index.js +22 -0
  220. package/dist/cli/runtime/lazy.d.ts +18 -0
  221. package/dist/cli/runtime/lazy.js +85 -0
  222. package/dist/cli/spec/cli-spec.d.ts +87 -0
  223. package/dist/cli/spec/cli-spec.js +551 -0
  224. package/dist/cli/spec/index.d.ts +4 -0
  225. package/dist/cli/spec/index.js +20 -0
  226. package/dist/db/index.d.ts +6 -0
  227. package/dist/db/index.js +75 -0
  228. package/dist/db/types.d.ts +42 -0
  229. package/dist/db/types.js +2 -0
  230. package/dist/eval/index.d.ts +61 -0
  231. package/dist/eval/index.js +157 -0
  232. package/dist/events/index.d.ts +84 -0
  233. package/dist/events/index.js +153 -0
  234. package/dist/guardrails/index.d.ts +82 -0
  235. package/dist/guardrails/index.js +202 -0
  236. package/dist/guardrails/llm-guardrail.d.ts +46 -0
  237. package/dist/guardrails/llm-guardrail.js +112 -0
  238. package/dist/index.d.ts +92 -0
  239. package/dist/index.js +608 -0
  240. package/dist/integrations/computer-use.d.ts +182 -0
  241. package/dist/integrations/computer-use.js +356 -0
  242. package/dist/integrations/index.d.ts +7 -0
  243. package/dist/integrations/index.js +26 -0
  244. package/dist/integrations/observability/base.d.ts +123 -0
  245. package/dist/integrations/observability/base.js +183 -0
  246. package/dist/integrations/observability/index.d.ts +8 -0
  247. package/dist/integrations/observability/index.js +29 -0
  248. package/dist/integrations/observability/langfuse.d.ts +32 -0
  249. package/dist/integrations/observability/langfuse.js +174 -0
  250. package/dist/integrations/postgres.d.ts +162 -0
  251. package/dist/integrations/postgres.js +396 -0
  252. package/dist/integrations/slack.d.ts +145 -0
  253. package/dist/integrations/slack.js +270 -0
  254. package/dist/integrations/vector/base.d.ts +110 -0
  255. package/dist/integrations/vector/base.js +158 -0
  256. package/dist/integrations/vector/chroma.d.ts +25 -0
  257. package/dist/integrations/vector/chroma.js +143 -0
  258. package/dist/integrations/vector/index.d.ts +14 -0
  259. package/dist/integrations/vector/index.js +37 -0
  260. package/dist/integrations/vector/pinecone.d.ts +28 -0
  261. package/dist/integrations/vector/pinecone.js +172 -0
  262. package/dist/integrations/vector/qdrant.d.ts +25 -0
  263. package/dist/integrations/vector/qdrant.js +146 -0
  264. package/dist/integrations/vector/weaviate.d.ts +30 -0
  265. package/dist/integrations/vector/weaviate.js +206 -0
  266. package/dist/integrations/voice/base.d.ts +76 -0
  267. package/dist/integrations/voice/base.js +168 -0
  268. package/dist/integrations/voice/index.d.ts +6 -0
  269. package/dist/integrations/voice/index.js +26 -0
  270. package/dist/knowledge/chunking.d.ts +55 -0
  271. package/dist/knowledge/chunking.js +158 -0
  272. package/dist/knowledge/graph-rag.d.ts +125 -0
  273. package/dist/knowledge/graph-rag.js +289 -0
  274. package/dist/knowledge/index.d.ts +24 -0
  275. package/dist/knowledge/index.js +47 -0
  276. package/dist/knowledge/knowledge.d.ts +0 -0
  277. package/dist/knowledge/knowledge.js +1 -0
  278. package/dist/knowledge/rag.d.ts +80 -0
  279. package/dist/knowledge/rag.js +147 -0
  280. package/dist/knowledge/reranker.d.ts +86 -0
  281. package/dist/knowledge/reranker.js +196 -0
  282. package/dist/llm/backend-resolver.d.ts +77 -0
  283. package/dist/llm/backend-resolver.js +242 -0
  284. package/dist/llm/embeddings.d.ts +66 -0
  285. package/dist/llm/embeddings.js +294 -0
  286. package/dist/llm/index.d.ts +29 -0
  287. package/dist/llm/index.js +33 -0
  288. package/dist/llm/llm.d.ts +0 -0
  289. package/dist/llm/llm.js +1 -0
  290. package/dist/llm/openai.d.ts +39 -0
  291. package/dist/llm/openai.js +302 -0
  292. package/dist/llm/providers/ai-sdk/adapter.d.ts +121 -0
  293. package/dist/llm/providers/ai-sdk/adapter.js +399 -0
  294. package/dist/llm/providers/ai-sdk/backend.d.ts +49 -0
  295. package/dist/llm/providers/ai-sdk/backend.js +421 -0
  296. package/dist/llm/providers/ai-sdk/index.d.ts +69 -0
  297. package/dist/llm/providers/ai-sdk/index.js +200 -0
  298. package/dist/llm/providers/ai-sdk/middleware.d.ts +60 -0
  299. package/dist/llm/providers/ai-sdk/middleware.js +262 -0
  300. package/dist/llm/providers/ai-sdk/provider-map.d.ts +75 -0
  301. package/dist/llm/providers/ai-sdk/provider-map.js +258 -0
  302. package/dist/llm/providers/ai-sdk/types.d.ts +217 -0
  303. package/dist/llm/providers/ai-sdk/types.js +222 -0
  304. package/dist/llm/providers/anthropic.d.ts +33 -0
  305. package/dist/llm/providers/anthropic.js +291 -0
  306. package/dist/llm/providers/base.d.ts +25 -0
  307. package/dist/llm/providers/base.js +43 -0
  308. package/dist/llm/providers/google.d.ts +27 -0
  309. package/dist/llm/providers/google.js +275 -0
  310. package/dist/llm/providers/index.d.ts +107 -0
  311. package/dist/llm/providers/index.js +216 -0
  312. package/dist/llm/providers/openai.d.ts +18 -0
  313. package/dist/llm/providers/openai.js +203 -0
  314. package/dist/llm/providers/registry.d.ts +159 -0
  315. package/dist/llm/providers/registry.js +279 -0
  316. package/dist/llm/providers/types.d.ts +94 -0
  317. package/dist/llm/providers/types.js +5 -0
  318. package/dist/main.d.ts +0 -0
  319. package/dist/main.js +1 -0
  320. package/dist/memory/auto-memory.d.ts +136 -0
  321. package/dist/memory/auto-memory.js +301 -0
  322. package/dist/memory/file-memory.d.ts +88 -0
  323. package/dist/memory/file-memory.js +287 -0
  324. package/dist/memory/index.d.ts +26 -0
  325. package/dist/memory/index.js +41 -0
  326. package/dist/memory/memory.d.ts +92 -0
  327. package/dist/memory/memory.js +170 -0
  328. package/dist/observability/adapters/console.d.ts +33 -0
  329. package/dist/observability/adapters/console.js +71 -0
  330. package/dist/observability/adapters/external/arize.d.ts +20 -0
  331. package/dist/observability/adapters/external/arize.js +22 -0
  332. package/dist/observability/adapters/external/axiom.d.ts +20 -0
  333. package/dist/observability/adapters/external/axiom.js +22 -0
  334. package/dist/observability/adapters/external/braintrust.d.ts +20 -0
  335. package/dist/observability/adapters/external/braintrust.js +22 -0
  336. package/dist/observability/adapters/external/helicone.d.ts +20 -0
  337. package/dist/observability/adapters/external/helicone.js +22 -0
  338. package/dist/observability/adapters/external/laminar.d.ts +20 -0
  339. package/dist/observability/adapters/external/laminar.js +22 -0
  340. package/dist/observability/adapters/external/langfuse.d.ts +28 -0
  341. package/dist/observability/adapters/external/langfuse.js +186 -0
  342. package/dist/observability/adapters/external/langsmith.d.ts +21 -0
  343. package/dist/observability/adapters/external/langsmith.js +83 -0
  344. package/dist/observability/adapters/external/langwatch.d.ts +20 -0
  345. package/dist/observability/adapters/external/langwatch.js +22 -0
  346. package/dist/observability/adapters/external/maxim.d.ts +20 -0
  347. package/dist/observability/adapters/external/maxim.js +22 -0
  348. package/dist/observability/adapters/external/patronus.d.ts +20 -0
  349. package/dist/observability/adapters/external/patronus.js +22 -0
  350. package/dist/observability/adapters/external/scorecard.d.ts +20 -0
  351. package/dist/observability/adapters/external/scorecard.js +22 -0
  352. package/dist/observability/adapters/external/signoz.d.ts +20 -0
  353. package/dist/observability/adapters/external/signoz.js +22 -0
  354. package/dist/observability/adapters/external/traceloop.d.ts +20 -0
  355. package/dist/observability/adapters/external/traceloop.js +22 -0
  356. package/dist/observability/adapters/external/weave.d.ts +20 -0
  357. package/dist/observability/adapters/external/weave.js +22 -0
  358. package/dist/observability/adapters/index.d.ts +19 -0
  359. package/dist/observability/adapters/index.js +289 -0
  360. package/dist/observability/adapters/memory.d.ts +41 -0
  361. package/dist/observability/adapters/memory.js +190 -0
  362. package/dist/observability/adapters/noop.d.ts +25 -0
  363. package/dist/observability/adapters/noop.js +64 -0
  364. package/dist/observability/index.d.ts +47 -0
  365. package/dist/observability/index.js +115 -0
  366. package/dist/observability/types.d.ts +165 -0
  367. package/dist/observability/types.js +165 -0
  368. package/dist/planning/index.d.ts +253 -0
  369. package/dist/planning/index.js +475 -0
  370. package/dist/process/index.d.ts +25 -0
  371. package/dist/process/index.js +37 -0
  372. package/dist/process/process.d.ts +0 -0
  373. package/dist/process/process.js +1 -0
  374. package/dist/session/index.d.ts +111 -0
  375. package/dist/session/index.js +250 -0
  376. package/dist/skills/index.d.ts +70 -0
  377. package/dist/skills/index.js +233 -0
  378. package/dist/task/index.d.ts +25 -0
  379. package/dist/task/index.js +32 -0
  380. package/dist/task/task.d.ts +0 -0
  381. package/dist/task/task.js +1 -0
  382. package/dist/telemetry/index.d.ts +175 -0
  383. package/dist/telemetry/index.js +287 -0
  384. package/dist/tools/arxivTools.d.ts +32 -0
  385. package/dist/tools/arxivTools.js +81 -0
  386. package/dist/tools/base.d.ts +97 -0
  387. package/dist/tools/base.js +147 -0
  388. package/dist/tools/builtins/airweave.d.ts +32 -0
  389. package/dist/tools/builtins/airweave.js +119 -0
  390. package/dist/tools/builtins/bedrock-agentcore.d.ts +62 -0
  391. package/dist/tools/builtins/bedrock-agentcore.js +233 -0
  392. package/dist/tools/builtins/code-execution.d.ts +36 -0
  393. package/dist/tools/builtins/code-execution.js +136 -0
  394. package/dist/tools/builtins/code-mode.d.ts +54 -0
  395. package/dist/tools/builtins/code-mode.js +167 -0
  396. package/dist/tools/builtins/custom.d.ts +42 -0
  397. package/dist/tools/builtins/custom.js +195 -0
  398. package/dist/tools/builtins/exa.d.ts +53 -0
  399. package/dist/tools/builtins/exa.js +112 -0
  400. package/dist/tools/builtins/firecrawl.d.ts +56 -0
  401. package/dist/tools/builtins/firecrawl.js +158 -0
  402. package/dist/tools/builtins/index.d.ts +45 -0
  403. package/dist/tools/builtins/index.js +180 -0
  404. package/dist/tools/builtins/parallel.d.ts +30 -0
  405. package/dist/tools/builtins/parallel.js +113 -0
  406. package/dist/tools/builtins/perplexity.d.ts +32 -0
  407. package/dist/tools/builtins/perplexity.js +113 -0
  408. package/dist/tools/builtins/superagent.d.ts +66 -0
  409. package/dist/tools/builtins/superagent.js +187 -0
  410. package/dist/tools/builtins/tavily.d.ts +99 -0
  411. package/dist/tools/builtins/tavily.js +285 -0
  412. package/dist/tools/builtins/valyu.d.ts +65 -0
  413. package/dist/tools/builtins/valyu.js +193 -0
  414. package/dist/tools/decorator.d.ts +91 -0
  415. package/dist/tools/decorator.js +165 -0
  416. package/dist/tools/index.d.ts +8 -0
  417. package/dist/tools/index.js +36 -0
  418. package/dist/tools/mcpSse.d.ts +43 -0
  419. package/dist/tools/mcpSse.js +110 -0
  420. package/dist/tools/registry/index.d.ts +9 -0
  421. package/dist/tools/registry/index.js +28 -0
  422. package/dist/tools/registry/middleware.d.ts +43 -0
  423. package/dist/tools/registry/middleware.js +220 -0
  424. package/dist/tools/registry/registry.d.ts +92 -0
  425. package/dist/tools/registry/registry.js +280 -0
  426. package/dist/tools/registry/types.d.ts +217 -0
  427. package/dist/tools/registry/types.js +49 -0
  428. package/dist/tools/test.d.ts +0 -0
  429. package/dist/tools/test.js +1 -0
  430. package/dist/tools/tools.d.ts +74 -0
  431. package/dist/tools/tools.js +133 -0
  432. package/dist/utils/logger.d.ts +25 -0
  433. package/dist/utils/logger.js +149 -0
  434. package/dist/utils/pretty-logger.d.ts +21 -0
  435. package/dist/utils/pretty-logger.js +248 -0
  436. package/dist/workflows/index.d.ts +118 -0
  437. package/dist/workflows/index.js +247 -0
  438. package/dist/workflows/loop.d.ts +0 -0
  439. package/dist/workflows/loop.js +1 -0
  440. package/dist/workflows/yaml-parser.d.ts +48 -0
  441. package/dist/workflows/yaml-parser.js +304 -0
  442. package/package.json +119 -0
@@ -0,0 +1,407 @@
1
+ "use strict";
2
+ /**
3
+ * Tool Approval - Human-in-the-Loop Tool Execution
4
+ *
5
+ * Provides utilities for requiring human approval before tool execution.
6
+ * Compatible with AI SDK v6's needsApproval pattern.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.DANGEROUS_PATTERNS = exports.ToolApprovalTimeoutError = exports.ToolApprovalDeniedError = exports.ApprovalManager = void 0;
43
+ exports.getApprovalManager = getApprovalManager;
44
+ exports.setApprovalManager = setApprovalManager;
45
+ exports.withApproval = withApproval;
46
+ exports.createCLIApprovalPrompt = createCLIApprovalPrompt;
47
+ exports.isDangerous = isDangerous;
48
+ exports.createDangerousPatternChecker = createDangerousPatternChecker;
49
+ const events_1 = require("events");
50
+ // ============================================================================
51
+ // Approval Manager
52
+ // ============================================================================
53
+ /**
54
+ * Manages tool approval requests and responses.
55
+ *
56
+ * @example Basic usage
57
+ * ```typescript
58
+ * const manager = new ApprovalManager();
59
+ *
60
+ * // Register a handler
61
+ * manager.onApprovalRequest(async (request) => {
62
+ * console.log(`Tool ${request.toolName} wants to run with:`, request.input);
63
+ * return await askUser(`Approve ${request.toolName}?`);
64
+ * });
65
+ *
66
+ * // Request approval
67
+ * const approved = await manager.requestApproval({
68
+ * toolName: 'deleteFile',
69
+ * input: { path: '/important/file.txt' }
70
+ * });
71
+ * ```
72
+ */
73
+ class ApprovalManager extends events_1.EventEmitter {
74
+ constructor(options) {
75
+ super();
76
+ this.pendingRequests = new Map();
77
+ this.handlers = [];
78
+ this.autoApprovePatterns = [];
79
+ this.autoDenyPatterns = [];
80
+ this.defaultTimeout = options?.defaultTimeout ?? 5 * 60 * 1000; // 5 minutes
81
+ }
82
+ /**
83
+ * Register an approval handler.
84
+ */
85
+ onApprovalRequest(handler) {
86
+ this.handlers.push(handler);
87
+ }
88
+ /**
89
+ * Add auto-approve pattern.
90
+ */
91
+ addAutoApprove(toolName, inputPattern) {
92
+ this.autoApprovePatterns.push({ toolName, inputPattern });
93
+ }
94
+ /**
95
+ * Add auto-deny pattern.
96
+ */
97
+ addAutoDeny(toolName, inputPattern) {
98
+ this.autoDenyPatterns.push({ toolName, inputPattern });
99
+ }
100
+ /**
101
+ * Check if a tool call should be auto-approved.
102
+ */
103
+ checkAutoApprove(toolName, input) {
104
+ for (const pattern of this.autoApprovePatterns) {
105
+ const nameMatches = typeof pattern.toolName === 'string'
106
+ ? pattern.toolName === toolName
107
+ : pattern.toolName.test(toolName);
108
+ if (!nameMatches)
109
+ continue;
110
+ if (!pattern.inputPattern)
111
+ return true;
112
+ if (typeof pattern.inputPattern === 'function') {
113
+ if (pattern.inputPattern(input))
114
+ return true;
115
+ }
116
+ else {
117
+ const inputStr = JSON.stringify(input);
118
+ if (pattern.inputPattern.test(inputStr))
119
+ return true;
120
+ }
121
+ }
122
+ return false;
123
+ }
124
+ /**
125
+ * Check if a tool call should be auto-denied.
126
+ */
127
+ checkAutoDeny(toolName, input) {
128
+ for (const pattern of this.autoDenyPatterns) {
129
+ const nameMatches = typeof pattern.toolName === 'string'
130
+ ? pattern.toolName === toolName
131
+ : pattern.toolName.test(toolName);
132
+ if (!nameMatches)
133
+ continue;
134
+ if (!pattern.inputPattern)
135
+ return true;
136
+ if (typeof pattern.inputPattern === 'function') {
137
+ if (pattern.inputPattern(input))
138
+ return true;
139
+ }
140
+ else {
141
+ const inputStr = JSON.stringify(input);
142
+ if (pattern.inputPattern.test(inputStr))
143
+ return true;
144
+ }
145
+ }
146
+ return false;
147
+ }
148
+ /**
149
+ * Request approval for a tool call.
150
+ */
151
+ async requestApproval(options) {
152
+ const requestId = crypto.randomUUID();
153
+ const toolInvocationId = options.toolInvocationId || crypto.randomUUID();
154
+ // Check auto-deny first (safety)
155
+ if (this.checkAutoDeny(options.toolName, options.input)) {
156
+ this.emit('auto-denied', { toolName: options.toolName, input: options.input });
157
+ return false;
158
+ }
159
+ // Check auto-approve
160
+ if (this.checkAutoApprove(options.toolName, options.input)) {
161
+ this.emit('auto-approved', { toolName: options.toolName, input: options.input });
162
+ return true;
163
+ }
164
+ const request = {
165
+ requestId,
166
+ toolInvocationId,
167
+ toolName: options.toolName,
168
+ input: options.input,
169
+ timestamp: Date.now(),
170
+ reason: options.reason,
171
+ };
172
+ // If we have handlers, use them
173
+ if (this.handlers.length > 0) {
174
+ for (const handler of this.handlers) {
175
+ try {
176
+ const approved = await handler(request);
177
+ if (approved)
178
+ return true;
179
+ }
180
+ catch (error) {
181
+ // Handler failed, continue to next
182
+ }
183
+ }
184
+ return false;
185
+ }
186
+ // Otherwise, emit event and wait for response
187
+ return new Promise((resolve, reject) => {
188
+ const timeout = setTimeout(() => {
189
+ this.pendingRequests.delete(requestId);
190
+ this.emit('timeout', request);
191
+ resolve(false); // Default to deny on timeout
192
+ }, options.timeout ?? this.defaultTimeout);
193
+ this.pendingRequests.set(requestId, {
194
+ request,
195
+ resolve,
196
+ reject,
197
+ timeout,
198
+ });
199
+ this.emit('approval-request', request);
200
+ });
201
+ }
202
+ /**
203
+ * Respond to an approval request.
204
+ */
205
+ respond(response) {
206
+ const pending = this.pendingRequests.get(response.requestId);
207
+ if (!pending) {
208
+ throw new Error(`No pending request with ID: ${response.requestId}`);
209
+ }
210
+ if (pending.timeout) {
211
+ clearTimeout(pending.timeout);
212
+ }
213
+ this.pendingRequests.delete(response.requestId);
214
+ this.emit('approval-response', response);
215
+ pending.resolve(response.approved);
216
+ }
217
+ /**
218
+ * Get all pending approval requests.
219
+ */
220
+ getPendingRequests() {
221
+ return Array.from(this.pendingRequests.values()).map(p => p.request);
222
+ }
223
+ /**
224
+ * Cancel a pending request.
225
+ */
226
+ cancel(requestId) {
227
+ const pending = this.pendingRequests.get(requestId);
228
+ if (pending) {
229
+ if (pending.timeout) {
230
+ clearTimeout(pending.timeout);
231
+ }
232
+ this.pendingRequests.delete(requestId);
233
+ pending.resolve(false);
234
+ }
235
+ }
236
+ /**
237
+ * Cancel all pending requests.
238
+ */
239
+ cancelAll() {
240
+ for (const [requestId] of this.pendingRequests) {
241
+ this.cancel(requestId);
242
+ }
243
+ }
244
+ }
245
+ exports.ApprovalManager = ApprovalManager;
246
+ // ============================================================================
247
+ // Global Instance
248
+ // ============================================================================
249
+ let globalApprovalManager = null;
250
+ /**
251
+ * Get the global approval manager.
252
+ */
253
+ function getApprovalManager() {
254
+ if (!globalApprovalManager) {
255
+ globalApprovalManager = new ApprovalManager();
256
+ }
257
+ return globalApprovalManager;
258
+ }
259
+ /**
260
+ * Set a custom global approval manager.
261
+ */
262
+ function setApprovalManager(manager) {
263
+ globalApprovalManager = manager;
264
+ }
265
+ // ============================================================================
266
+ // Tool Wrapper
267
+ // ============================================================================
268
+ /**
269
+ * Wrap a tool with approval requirement.
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * const deleteFile = withApproval({
274
+ * name: 'deleteFile',
275
+ * needsApproval: true,
276
+ * execute: async (args) => {
277
+ * await fs.unlink(args.path);
278
+ * return { success: true };
279
+ * }
280
+ * });
281
+ * ```
282
+ */
283
+ function withApproval(options) {
284
+ const manager = options.approvalManager || getApprovalManager();
285
+ return async (input) => {
286
+ // Check if approval is needed
287
+ let needsApproval = false;
288
+ if (typeof options.needsApproval === 'function') {
289
+ needsApproval = await options.needsApproval(input);
290
+ }
291
+ else {
292
+ needsApproval = options.needsApproval ?? false;
293
+ }
294
+ if (needsApproval) {
295
+ const approved = await manager.requestApproval({
296
+ toolName: options.name,
297
+ input,
298
+ reason: options.description,
299
+ });
300
+ if (!approved) {
301
+ if (options.onDenied) {
302
+ return options.onDenied(input);
303
+ }
304
+ throw new ToolApprovalDeniedError(options.name, input);
305
+ }
306
+ }
307
+ return options.execute(input);
308
+ };
309
+ }
310
+ // ============================================================================
311
+ // Errors
312
+ // ============================================================================
313
+ /**
314
+ * Error thrown when tool approval is denied.
315
+ */
316
+ class ToolApprovalDeniedError extends Error {
317
+ constructor(toolName, input) {
318
+ super(`Tool approval denied for: ${toolName}`);
319
+ this.name = 'ToolApprovalDeniedError';
320
+ this.toolName = toolName;
321
+ this.input = input;
322
+ }
323
+ }
324
+ exports.ToolApprovalDeniedError = ToolApprovalDeniedError;
325
+ /**
326
+ * Error thrown when tool approval times out.
327
+ */
328
+ class ToolApprovalTimeoutError extends Error {
329
+ constructor(toolName, input) {
330
+ super(`Tool approval timed out for: ${toolName}`);
331
+ this.name = 'ToolApprovalTimeoutError';
332
+ this.toolName = toolName;
333
+ this.input = input;
334
+ }
335
+ }
336
+ exports.ToolApprovalTimeoutError = ToolApprovalTimeoutError;
337
+ // ============================================================================
338
+ // CLI Approval Prompt
339
+ // ============================================================================
340
+ /**
341
+ * Create a CLI-based approval prompt.
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * const manager = getApprovalManager();
346
+ * manager.onApprovalRequest(createCLIApprovalPrompt());
347
+ * ```
348
+ */
349
+ function createCLIApprovalPrompt(options) {
350
+ return async (request) => {
351
+ const readline = await Promise.resolve().then(() => __importStar(require('readline')));
352
+ const rl = readline.createInterface({
353
+ input: options?.input || process.stdin,
354
+ output: options?.output || process.stdout,
355
+ });
356
+ const message = options?.promptMessage
357
+ ? options.promptMessage(request)
358
+ : `\n🔐 Tool "${request.toolName}" requires approval.\n` +
359
+ ` Input: ${JSON.stringify(request.input, null, 2)}\n` +
360
+ (request.reason ? ` Reason: ${request.reason}\n` : '') +
361
+ `\nApprove? (y/n): `;
362
+ return new Promise((resolve) => {
363
+ rl.question(message, (answer) => {
364
+ rl.close();
365
+ const approved = answer.toLowerCase().startsWith('y');
366
+ console.log(approved ? '✅ Approved' : '❌ Denied');
367
+ resolve(approved);
368
+ });
369
+ });
370
+ };
371
+ }
372
+ // ============================================================================
373
+ // Dangerous Tool Patterns
374
+ // ============================================================================
375
+ /**
376
+ * Common dangerous patterns that should require approval.
377
+ */
378
+ exports.DANGEROUS_PATTERNS = {
379
+ /** File deletion patterns */
380
+ fileDelete: /\b(rm|delete|remove|unlink)\b.*\b(file|dir|folder|path)\b/i,
381
+ /** Database destructive patterns */
382
+ dbDestructive: /\b(DROP|DELETE|TRUNCATE|ALTER)\b/i,
383
+ /** Shell command patterns */
384
+ shellDangerous: /\b(rm\s+-rf|sudo|chmod|chown|mkfs|dd\s+if=)\b/i,
385
+ /** Network patterns */
386
+ networkSensitive: /\b(curl|wget|fetch)\b.*\b(password|token|secret|key)\b/i,
387
+ };
388
+ /**
389
+ * Check if input matches any dangerous pattern.
390
+ */
391
+ function isDangerous(input) {
392
+ const str = typeof input === 'string' ? input : JSON.stringify(input);
393
+ return Object.values(exports.DANGEROUS_PATTERNS).some(pattern => pattern.test(str));
394
+ }
395
+ /**
396
+ * Create a needsApproval function that checks for dangerous patterns.
397
+ */
398
+ function createDangerousPatternChecker(additionalPatterns) {
399
+ const patterns = [
400
+ ...Object.values(exports.DANGEROUS_PATTERNS),
401
+ ...(additionalPatterns || []),
402
+ ];
403
+ return (input) => {
404
+ const str = typeof input === 'string' ? input : JSON.stringify(input);
405
+ return patterns.some(pattern => pattern.test(str));
406
+ };
407
+ }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Tools - AI SDK Wrapper
3
+ *
4
+ * Provides tool definition utilities compatible with AI SDK.
5
+ */
6
+ export interface ToolDefinition<TInput = unknown, TOutput = unknown> {
7
+ /** Tool description */
8
+ description: string;
9
+ /** Input parameters schema (Zod or JSON schema) */
10
+ parameters: any;
11
+ /** Execute function */
12
+ execute: ToolExecuteFunction<TInput, TOutput>;
13
+ }
14
+ export type ToolExecuteFunction<TInput = unknown, TOutput = unknown> = (args: TInput, options?: ToolExecutionOptions) => Promise<TOutput> | TOutput;
15
+ export interface ToolExecutionOptions {
16
+ /** Tool call ID */
17
+ toolCallId?: string;
18
+ /** Abort signal */
19
+ abortSignal?: AbortSignal;
20
+ /** Messages context */
21
+ messages?: any[];
22
+ }
23
+ export type ToolInput<T extends ToolDefinition> = T extends ToolDefinition<infer I, any> ? I : never;
24
+ export type ToolOutput<T extends ToolDefinition> = T extends ToolDefinition<any, infer O> ? O : never;
25
+ /**
26
+ * Define a tool for use with AI SDK.
27
+ *
28
+ * @example With Zod schema
29
+ * ```typescript
30
+ * import { z } from 'zod';
31
+ *
32
+ * const weatherTool = defineTool({
33
+ * description: 'Get weather for a city',
34
+ * parameters: z.object({
35
+ * city: z.string().describe('City name'),
36
+ * unit: z.enum(['celsius', 'fahrenheit']).optional()
37
+ * }),
38
+ * execute: async ({ city, unit }) => {
39
+ * return { temperature: 20, unit: unit || 'celsius', city };
40
+ * }
41
+ * });
42
+ * ```
43
+ *
44
+ * @example With JSON schema
45
+ * ```typescript
46
+ * const searchTool = defineTool({
47
+ * description: 'Search the web',
48
+ * parameters: {
49
+ * type: 'object',
50
+ * properties: {
51
+ * query: { type: 'string', description: 'Search query' }
52
+ * },
53
+ * required: ['query']
54
+ * },
55
+ * execute: async ({ query }) => {
56
+ * return { results: [`Result for: ${query}`] };
57
+ * }
58
+ * });
59
+ * ```
60
+ */
61
+ export declare function defineTool<TInput = unknown, TOutput = unknown>(definition: ToolDefinition<TInput, TOutput>): ToolDefinition<TInput, TOutput>;
62
+ /**
63
+ * Create a tool set from multiple tool definitions.
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const tools = createToolSet({
68
+ * weather: weatherTool,
69
+ * search: searchTool
70
+ * });
71
+ *
72
+ * const result = await generateText({
73
+ * model: 'gpt-4o',
74
+ * prompt: 'What is the weather in Paris?',
75
+ * tools
76
+ * });
77
+ * ```
78
+ */
79
+ export declare function createToolSet<T extends Record<string, ToolDefinition>>(tools: T): T;
80
+ /**
81
+ * Convert a simple function to a tool definition.
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const addTool = functionToTool(
86
+ * 'add',
87
+ * 'Add two numbers',
88
+ * z.object({ a: z.number(), b: z.number() }),
89
+ * ({ a, b }) => a + b
90
+ * );
91
+ * ```
92
+ */
93
+ export declare function functionToTool<TInput = unknown, TOutput = unknown>(name: string, description: string, parameters: any, execute: ToolExecuteFunction<TInput, TOutput>): ToolDefinition<TInput, TOutput>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /**
3
+ * Tools - AI SDK Wrapper
4
+ *
5
+ * Provides tool definition utilities compatible with AI SDK.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.defineTool = defineTool;
9
+ exports.createToolSet = createToolSet;
10
+ exports.functionToTool = functionToTool;
11
+ /**
12
+ * Define a tool for use with AI SDK.
13
+ *
14
+ * @example With Zod schema
15
+ * ```typescript
16
+ * import { z } from 'zod';
17
+ *
18
+ * const weatherTool = defineTool({
19
+ * description: 'Get weather for a city',
20
+ * parameters: z.object({
21
+ * city: z.string().describe('City name'),
22
+ * unit: z.enum(['celsius', 'fahrenheit']).optional()
23
+ * }),
24
+ * execute: async ({ city, unit }) => {
25
+ * return { temperature: 20, unit: unit || 'celsius', city };
26
+ * }
27
+ * });
28
+ * ```
29
+ *
30
+ * @example With JSON schema
31
+ * ```typescript
32
+ * const searchTool = defineTool({
33
+ * description: 'Search the web',
34
+ * parameters: {
35
+ * type: 'object',
36
+ * properties: {
37
+ * query: { type: 'string', description: 'Search query' }
38
+ * },
39
+ * required: ['query']
40
+ * },
41
+ * execute: async ({ query }) => {
42
+ * return { results: [`Result for: ${query}`] };
43
+ * }
44
+ * });
45
+ * ```
46
+ */
47
+ function defineTool(definition) {
48
+ return definition;
49
+ }
50
+ /**
51
+ * Create a tool set from multiple tool definitions.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const tools = createToolSet({
56
+ * weather: weatherTool,
57
+ * search: searchTool
58
+ * });
59
+ *
60
+ * const result = await generateText({
61
+ * model: 'gpt-4o',
62
+ * prompt: 'What is the weather in Paris?',
63
+ * tools
64
+ * });
65
+ * ```
66
+ */
67
+ function createToolSet(tools) {
68
+ return tools;
69
+ }
70
+ /**
71
+ * Convert a simple function to a tool definition.
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * const addTool = functionToTool(
76
+ * 'add',
77
+ * 'Add two numbers',
78
+ * z.object({ a: z.number(), b: z.number() }),
79
+ * ({ a, b }) => a + b
80
+ * );
81
+ * ```
82
+ */
83
+ function functionToTool(name, description, parameters, execute) {
84
+ return {
85
+ description,
86
+ parameters,
87
+ execute,
88
+ };
89
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Shared Types for AI Module
3
+ */
4
+ export interface Message {
5
+ role: 'system' | 'user' | 'assistant' | 'tool';
6
+ content: string | ContentPart[];
7
+ name?: string;
8
+ toolCallId?: string;
9
+ toolCalls?: ToolCallPart[];
10
+ }
11
+ export type ContentPart = TextPart | ImagePart | FilePart | ToolCallPart | ToolResultPart;
12
+ export interface TextPart {
13
+ type: 'text';
14
+ text: string;
15
+ }
16
+ export interface ImagePart {
17
+ type: 'image';
18
+ image: string | Uint8Array | URL;
19
+ mimeType?: string;
20
+ }
21
+ export interface FilePart {
22
+ type: 'file';
23
+ data: string | Uint8Array | URL;
24
+ mimeType: string;
25
+ name?: string;
26
+ }
27
+ export interface ToolCallPart {
28
+ type: 'tool-call';
29
+ toolCallId: string;
30
+ toolName: string;
31
+ args: Record<string, unknown>;
32
+ }
33
+ export interface ToolResultPart {
34
+ type: 'tool-result';
35
+ toolCallId: string;
36
+ toolName: string;
37
+ result: unknown;
38
+ isError?: boolean;
39
+ }
40
+ export interface TokenUsage {
41
+ promptTokens: number;
42
+ completionTokens: number;
43
+ totalTokens: number;
44
+ }
45
+ export interface ProviderMetadata {
46
+ [key: string]: unknown;
47
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Shared Types for AI Module
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });