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,311 @@
1
+ "use strict";
2
+ /**
3
+ * Telemetry - AI SDK v6 Compatible Telemetry
4
+ *
5
+ * Provides telemetry settings compatible with AI SDK v6's experimental_telemetry.
6
+ * Optionally bridges to OpenTelemetry for production observability.
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.configureTelemetry = configureTelemetry;
43
+ exports.getTelemetrySettings = getTelemetrySettings;
44
+ exports.enableTelemetry = enableTelemetry;
45
+ exports.disableTelemetry = disableTelemetry;
46
+ exports.isTelemetryEnabled = isTelemetryEnabled;
47
+ exports.initOpenTelemetry = initOpenTelemetry;
48
+ exports.getTracer = getTracer;
49
+ exports.createAISpan = createAISpan;
50
+ exports.withSpan = withSpan;
51
+ exports.createTelemetryMiddleware = createTelemetryMiddleware;
52
+ exports.recordEvent = recordEvent;
53
+ exports.getEvents = getEvents;
54
+ exports.clearEvents = clearEvents;
55
+ exports.createTelemetrySettings = createTelemetrySettings;
56
+ // ============================================================================
57
+ // Global State
58
+ // ============================================================================
59
+ let globalTelemetrySettings = {
60
+ isEnabled: false,
61
+ recordInputs: true,
62
+ recordOutputs: true,
63
+ };
64
+ let otelTracer = null;
65
+ // ============================================================================
66
+ // Configuration Functions
67
+ // ============================================================================
68
+ /**
69
+ * Configure global telemetry settings.
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * configureTelemetry({
74
+ * isEnabled: true,
75
+ * functionId: 'my-app',
76
+ * metadata: { version: '1.0.0' }
77
+ * });
78
+ * ```
79
+ */
80
+ function configureTelemetry(settings) {
81
+ globalTelemetrySettings = {
82
+ ...globalTelemetrySettings,
83
+ ...settings,
84
+ };
85
+ }
86
+ /**
87
+ * Get current telemetry settings.
88
+ */
89
+ function getTelemetrySettings() {
90
+ return { ...globalTelemetrySettings };
91
+ }
92
+ /**
93
+ * Enable telemetry globally.
94
+ */
95
+ function enableTelemetry(options) {
96
+ globalTelemetrySettings = {
97
+ ...globalTelemetrySettings,
98
+ ...options,
99
+ isEnabled: true,
100
+ };
101
+ }
102
+ /**
103
+ * Disable telemetry globally.
104
+ */
105
+ function disableTelemetry() {
106
+ globalTelemetrySettings.isEnabled = false;
107
+ }
108
+ /**
109
+ * Check if telemetry is enabled.
110
+ */
111
+ function isTelemetryEnabled() {
112
+ return globalTelemetrySettings.isEnabled ?? false;
113
+ }
114
+ // ============================================================================
115
+ // OpenTelemetry Integration
116
+ // ============================================================================
117
+ /**
118
+ * Initialize OpenTelemetry integration.
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * import { trace } from '@opentelemetry/api';
123
+ *
124
+ * initOpenTelemetry({
125
+ * tracer: trace.getTracer('praisonai'),
126
+ * serviceName: 'my-ai-app'
127
+ * });
128
+ * ```
129
+ */
130
+ async function initOpenTelemetry(options) {
131
+ if (options?.tracer) {
132
+ otelTracer = options.tracer;
133
+ globalTelemetrySettings.tracer = options.tracer;
134
+ return;
135
+ }
136
+ // Try to auto-initialize OpenTelemetry
137
+ try {
138
+ const otelApi = await Promise.resolve().then(() => __importStar(require('@opentelemetry/api')));
139
+ otelTracer = otelApi.trace.getTracer(options?.serviceName || 'praisonai');
140
+ globalTelemetrySettings.tracer = otelTracer || undefined;
141
+ }
142
+ catch {
143
+ console.warn('⚠️ @opentelemetry/api not installed. Install with:\n' +
144
+ ' npm install @opentelemetry/api @opentelemetry/sdk-node\n' +
145
+ ' or: pnpm add @opentelemetry/api @opentelemetry/sdk-node');
146
+ }
147
+ }
148
+ /**
149
+ * Get the OpenTelemetry tracer.
150
+ */
151
+ function getTracer() {
152
+ return otelTracer;
153
+ }
154
+ // ============================================================================
155
+ // Span Helpers
156
+ // ============================================================================
157
+ /**
158
+ * Create a span for an AI operation.
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * const span = createAISpan('generateText', {
163
+ * model: 'gpt-4o',
164
+ * provider: 'openai'
165
+ * });
166
+ *
167
+ * try {
168
+ * const result = await generateText({ ... });
169
+ * span.setAttribute('tokens', result.usage.totalTokens);
170
+ * span.setStatus({ code: 'ok' });
171
+ * } catch (error) {
172
+ * span.recordException(error);
173
+ * span.setStatus({ code: 'error', message: error.message });
174
+ * } finally {
175
+ * span.end();
176
+ * }
177
+ * ```
178
+ */
179
+ function createAISpan(name, attributes) {
180
+ if (!globalTelemetrySettings.isEnabled || !otelTracer) {
181
+ return createNoopSpan();
182
+ }
183
+ return otelTracer.startSpan(`ai.${name}`, {
184
+ attributes: {
185
+ 'ai.operation': name,
186
+ ...attributes,
187
+ },
188
+ kind: 'client',
189
+ });
190
+ }
191
+ /**
192
+ * Execute a function within a span.
193
+ */
194
+ async function withSpan(name, attributes, fn) {
195
+ const span = createAISpan(name, attributes);
196
+ try {
197
+ const result = await fn(span);
198
+ span.setStatus({ code: 'ok' });
199
+ return result;
200
+ }
201
+ catch (error) {
202
+ span.recordException(error);
203
+ span.setStatus({ code: 'error', message: error.message });
204
+ throw error;
205
+ }
206
+ finally {
207
+ span.end();
208
+ }
209
+ }
210
+ // ============================================================================
211
+ // Noop Span (when telemetry is disabled)
212
+ // ============================================================================
213
+ function createNoopSpan() {
214
+ return {
215
+ setAttribute: function () { return this; },
216
+ setAttributes: function () { return this; },
217
+ addEvent: function () { return this; },
218
+ setStatus: function () { return this; },
219
+ end: function () { },
220
+ recordException: function () { },
221
+ isRecording: function () { return false; },
222
+ };
223
+ }
224
+ // ============================================================================
225
+ // Telemetry Middleware
226
+ // ============================================================================
227
+ /**
228
+ * Create middleware that adds telemetry to AI SDK calls.
229
+ */
230
+ function createTelemetryMiddleware(settings) {
231
+ const mergedSettings = {
232
+ ...globalTelemetrySettings,
233
+ ...settings,
234
+ };
235
+ return {
236
+ transformParams: async ({ params }) => {
237
+ if (!mergedSettings.isEnabled) {
238
+ return params;
239
+ }
240
+ return {
241
+ ...params,
242
+ experimental_telemetry: {
243
+ isEnabled: true,
244
+ recordInputs: mergedSettings.recordInputs,
245
+ recordOutputs: mergedSettings.recordOutputs,
246
+ functionId: mergedSettings.functionId,
247
+ metadata: mergedSettings.metadata,
248
+ tracer: mergedSettings.tracer,
249
+ },
250
+ };
251
+ },
252
+ };
253
+ }
254
+ const eventBuffer = [];
255
+ const MAX_BUFFER_SIZE = 1000;
256
+ /**
257
+ * Record a telemetry event.
258
+ */
259
+ function recordEvent(name, attributes = {}) {
260
+ if (!globalTelemetrySettings.isEnabled) {
261
+ return;
262
+ }
263
+ const event = {
264
+ name,
265
+ timestamp: Date.now(),
266
+ attributes: {
267
+ ...attributes,
268
+ functionId: globalTelemetrySettings.functionId,
269
+ ...globalTelemetrySettings.metadata,
270
+ },
271
+ };
272
+ eventBuffer.push(event);
273
+ // Prevent memory leak
274
+ if (eventBuffer.length > MAX_BUFFER_SIZE) {
275
+ eventBuffer.shift();
276
+ }
277
+ }
278
+ /**
279
+ * Get recorded events.
280
+ */
281
+ function getEvents() {
282
+ return [...eventBuffer];
283
+ }
284
+ /**
285
+ * Clear recorded events.
286
+ */
287
+ function clearEvents() {
288
+ eventBuffer.length = 0;
289
+ }
290
+ // ============================================================================
291
+ // AI SDK Telemetry Helpers
292
+ // ============================================================================
293
+ /**
294
+ * Create telemetry settings for AI SDK calls.
295
+ */
296
+ function createTelemetrySettings(options) {
297
+ if (!globalTelemetrySettings.isEnabled) {
298
+ return undefined;
299
+ }
300
+ return {
301
+ isEnabled: true,
302
+ functionId: options?.functionId || globalTelemetrySettings.functionId,
303
+ metadata: {
304
+ ...globalTelemetrySettings.metadata,
305
+ ...options?.metadata,
306
+ },
307
+ recordInputs: options?.recordInputs ?? globalTelemetrySettings.recordInputs,
308
+ recordOutputs: options?.recordOutputs ?? globalTelemetrySettings.recordOutputs,
309
+ tracer: globalTelemetrySettings.tracer,
310
+ };
311
+ }
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Tool Approval - Human-in-the-Loop Tool Execution
3
+ *
4
+ * Provides utilities for requiring human approval before tool execution.
5
+ * Compatible with AI SDK v6's needsApproval pattern.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ /**
9
+ * Tool approval configuration.
10
+ */
11
+ export interface ToolApprovalConfig {
12
+ /** Tool name */
13
+ name: string;
14
+ /** Tool description */
15
+ description?: string;
16
+ /** Whether approval is needed - can be boolean or async function */
17
+ needsApproval?: boolean | ((input: unknown) => boolean | Promise<boolean>);
18
+ /** Timeout for approval in ms (default: 5 minutes) */
19
+ approvalTimeout?: number;
20
+ /** Auto-approve patterns (regex or function) */
21
+ autoApprove?: RegExp | ((input: unknown) => boolean);
22
+ /** Auto-deny patterns (regex or function) */
23
+ autoDeny?: RegExp | ((input: unknown) => boolean);
24
+ }
25
+ /**
26
+ * Tool approval request.
27
+ */
28
+ export interface ToolApprovalRequest {
29
+ /** Unique ID for this approval request */
30
+ requestId: string;
31
+ /** Tool invocation ID */
32
+ toolInvocationId: string;
33
+ /** Tool name */
34
+ toolName: string;
35
+ /** Tool input arguments */
36
+ input: unknown;
37
+ /** Timestamp when request was created */
38
+ timestamp: number;
39
+ /** Optional context about why approval is needed */
40
+ reason?: string;
41
+ }
42
+ /**
43
+ * Tool approval response.
44
+ */
45
+ export interface ToolApprovalResponse {
46
+ /** Request ID being responded to */
47
+ requestId: string;
48
+ /** Whether the tool call is approved */
49
+ approved: boolean;
50
+ /** Optional message from approver */
51
+ message?: string;
52
+ /** Who approved/denied (for audit) */
53
+ approver?: string;
54
+ /** Timestamp of response */
55
+ timestamp: number;
56
+ }
57
+ /**
58
+ * Approval state for tracking pending approvals.
59
+ */
60
+ export type ApprovalState = 'pending' | 'approved' | 'denied' | 'timeout' | 'auto-approved' | 'auto-denied';
61
+ /**
62
+ * Approval handler function type.
63
+ */
64
+ export type ApprovalHandler = (request: ToolApprovalRequest) => Promise<boolean>;
65
+ /**
66
+ * Manages tool approval requests and responses.
67
+ *
68
+ * @example Basic usage
69
+ * ```typescript
70
+ * const manager = new ApprovalManager();
71
+ *
72
+ * // Register a handler
73
+ * manager.onApprovalRequest(async (request) => {
74
+ * console.log(`Tool ${request.toolName} wants to run with:`, request.input);
75
+ * return await askUser(`Approve ${request.toolName}?`);
76
+ * });
77
+ *
78
+ * // Request approval
79
+ * const approved = await manager.requestApproval({
80
+ * toolName: 'deleteFile',
81
+ * input: { path: '/important/file.txt' }
82
+ * });
83
+ * ```
84
+ */
85
+ export declare class ApprovalManager extends EventEmitter {
86
+ private pendingRequests;
87
+ private handlers;
88
+ private defaultTimeout;
89
+ private autoApprovePatterns;
90
+ private autoDenyPatterns;
91
+ constructor(options?: {
92
+ defaultTimeout?: number;
93
+ });
94
+ /**
95
+ * Register an approval handler.
96
+ */
97
+ onApprovalRequest(handler: ApprovalHandler): void;
98
+ /**
99
+ * Add auto-approve pattern.
100
+ */
101
+ addAutoApprove(toolName: string | RegExp, inputPattern?: RegExp | ((input: unknown) => boolean)): void;
102
+ /**
103
+ * Add auto-deny pattern.
104
+ */
105
+ addAutoDeny(toolName: string | RegExp, inputPattern?: RegExp | ((input: unknown) => boolean)): void;
106
+ /**
107
+ * Check if a tool call should be auto-approved.
108
+ */
109
+ private checkAutoApprove;
110
+ /**
111
+ * Check if a tool call should be auto-denied.
112
+ */
113
+ private checkAutoDeny;
114
+ /**
115
+ * Request approval for a tool call.
116
+ */
117
+ requestApproval(options: {
118
+ toolInvocationId?: string;
119
+ toolName: string;
120
+ input: unknown;
121
+ reason?: string;
122
+ timeout?: number;
123
+ }): Promise<boolean>;
124
+ /**
125
+ * Respond to an approval request.
126
+ */
127
+ respond(response: ToolApprovalResponse): void;
128
+ /**
129
+ * Get all pending approval requests.
130
+ */
131
+ getPendingRequests(): ToolApprovalRequest[];
132
+ /**
133
+ * Cancel a pending request.
134
+ */
135
+ cancel(requestId: string): void;
136
+ /**
137
+ * Cancel all pending requests.
138
+ */
139
+ cancelAll(): void;
140
+ }
141
+ /**
142
+ * Get the global approval manager.
143
+ */
144
+ export declare function getApprovalManager(): ApprovalManager;
145
+ /**
146
+ * Set a custom global approval manager.
147
+ */
148
+ export declare function setApprovalManager(manager: ApprovalManager): void;
149
+ /**
150
+ * Wrap a tool with approval requirement.
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * const deleteFile = withApproval({
155
+ * name: 'deleteFile',
156
+ * needsApproval: true,
157
+ * execute: async (args) => {
158
+ * await fs.unlink(args.path);
159
+ * return { success: true };
160
+ * }
161
+ * });
162
+ * ```
163
+ */
164
+ export declare function withApproval<TInput, TOutput>(options: {
165
+ name: string;
166
+ description?: string;
167
+ needsApproval?: boolean | ((input: TInput) => boolean | Promise<boolean>);
168
+ execute: (input: TInput) => Promise<TOutput>;
169
+ onDenied?: (input: TInput) => TOutput | Promise<TOutput>;
170
+ approvalManager?: ApprovalManager;
171
+ }): (input: TInput) => Promise<TOutput>;
172
+ /**
173
+ * Error thrown when tool approval is denied.
174
+ */
175
+ export declare class ToolApprovalDeniedError extends Error {
176
+ readonly toolName: string;
177
+ readonly input: unknown;
178
+ constructor(toolName: string, input: unknown);
179
+ }
180
+ /**
181
+ * Error thrown when tool approval times out.
182
+ */
183
+ export declare class ToolApprovalTimeoutError extends Error {
184
+ readonly toolName: string;
185
+ readonly input: unknown;
186
+ constructor(toolName: string, input: unknown);
187
+ }
188
+ /**
189
+ * Create a CLI-based approval prompt.
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * const manager = getApprovalManager();
194
+ * manager.onApprovalRequest(createCLIApprovalPrompt());
195
+ * ```
196
+ */
197
+ export declare function createCLIApprovalPrompt(options?: {
198
+ /** Custom prompt message */
199
+ promptMessage?: (request: ToolApprovalRequest) => string;
200
+ /** Input stream (default: process.stdin) */
201
+ input?: NodeJS.ReadableStream;
202
+ /** Output stream (default: process.stdout) */
203
+ output?: NodeJS.WritableStream;
204
+ }): ApprovalHandler;
205
+ /**
206
+ * Common dangerous patterns that should require approval.
207
+ */
208
+ export declare const DANGEROUS_PATTERNS: {
209
+ /** File deletion patterns */
210
+ fileDelete: RegExp;
211
+ /** Database destructive patterns */
212
+ dbDestructive: RegExp;
213
+ /** Shell command patterns */
214
+ shellDangerous: RegExp;
215
+ /** Network patterns */
216
+ networkSensitive: RegExp;
217
+ };
218
+ /**
219
+ * Check if input matches any dangerous pattern.
220
+ */
221
+ export declare function isDangerous(input: unknown): boolean;
222
+ /**
223
+ * Create a needsApproval function that checks for dangerous patterns.
224
+ */
225
+ export declare function createDangerousPatternChecker(additionalPatterns?: RegExp[]): (input: unknown) => boolean;