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,302 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OpenAIService = void 0;
7
+ const openai_1 = __importDefault(require("openai"));
8
+ const dotenv_1 = __importDefault(require("dotenv"));
9
+ const logger_1 = require("../utils/logger");
10
+ // Load environment variables once at the application level
11
+ dotenv_1.default.config();
12
+ if (!process.env.OPENAI_API_KEY) {
13
+ throw new Error('OPENAI_API_KEY not found in environment variables');
14
+ }
15
+ // Convert our ChatMessage to OpenAI's ChatCompletionMessageParam
16
+ function convertToOpenAIMessage(message) {
17
+ // Basic conversion for common message types
18
+ if (message.role === 'system' || message.role === 'user' || message.role === 'assistant') {
19
+ return {
20
+ role: message.role,
21
+ content: message.content || '',
22
+ ...(message.tool_calls ? { tool_calls: message.tool_calls } : {})
23
+ };
24
+ }
25
+ // Handle tool messages
26
+ if (message.role === 'tool') {
27
+ return {
28
+ role: 'tool',
29
+ content: message.content || '',
30
+ tool_call_id: message.tool_call_id || ''
31
+ };
32
+ }
33
+ // Default fallback
34
+ return {
35
+ role: 'user',
36
+ content: message.content || ''
37
+ };
38
+ }
39
+ // Convert custom tool format to OpenAI's ChatCompletionTool format
40
+ function convertToOpenAITool(tool) {
41
+ // If it's already in the correct format, return it
42
+ if (tool.type === 'function' && typeof tool.type === 'string') {
43
+ // Ensure the function name is valid
44
+ if (!tool.function?.name || tool.function.name.trim() === '') {
45
+ tool.function.name = `function_${Math.random().toString(36).substring(2, 9)}`;
46
+ }
47
+ return tool;
48
+ }
49
+ // Generate a valid function name if none is provided
50
+ const functionName = tool.function?.name && tool.function.name.trim() !== ''
51
+ ? tool.function.name
52
+ : `function_${Math.random().toString(36).substring(2, 9)}`;
53
+ // Otherwise, try to convert it
54
+ return {
55
+ type: 'function',
56
+ function: {
57
+ name: functionName,
58
+ description: tool.function?.description || `Function ${functionName}`,
59
+ parameters: tool.function?.parameters || {}
60
+ }
61
+ };
62
+ }
63
+ // Singleton instance for OpenAI client
64
+ let openAIInstance = null;
65
+ // Get cached OpenAI client instance
66
+ async function getOpenAIClient() {
67
+ if (!openAIInstance) {
68
+ openAIInstance = new openai_1.default({
69
+ apiKey: process.env.OPENAI_API_KEY
70
+ });
71
+ await logger_1.Logger.debug('OpenAI client initialized');
72
+ }
73
+ return openAIInstance;
74
+ }
75
+ class OpenAIService {
76
+ constructor(model = 'gpt-5-nano') {
77
+ this.client = null;
78
+ this.model = model;
79
+ logger_1.Logger.debug(`OpenAIService initialized with model: ${model}`);
80
+ }
81
+ // Lazy initialization of client
82
+ async getClient() {
83
+ if (!this.client) {
84
+ this.client = await getOpenAIClient();
85
+ }
86
+ return this.client;
87
+ }
88
+ async generateText(prompt, systemPrompt = '', temperature = 0.7, tools, tool_choice) {
89
+ await logger_1.Logger.startSpinner('Generating text with OpenAI...');
90
+ const messages = [];
91
+ if (systemPrompt) {
92
+ messages.push({ role: 'system', content: systemPrompt });
93
+ }
94
+ messages.push({ role: 'user', content: prompt });
95
+ try {
96
+ // Convert messages to OpenAI format
97
+ const openAIMessages = messages.map(convertToOpenAIMessage);
98
+ // Convert tools to OpenAI format if provided
99
+ const openAITools = tools ? tools.map(convertToOpenAITool) : undefined;
100
+ const completion = await this.getClient().then(client => client.chat.completions.create({
101
+ model: this.model,
102
+ temperature,
103
+ messages: openAIMessages,
104
+ tools: openAITools,
105
+ tool_choice
106
+ }));
107
+ const message = completion.choices[0]?.message;
108
+ if (!message) {
109
+ throw new Error('No response from OpenAI');
110
+ }
111
+ // Check for tool calls
112
+ if (message.tool_calls && message.tool_calls.length > 0) {
113
+ await logger_1.Logger.debug('Tool calls detected in generateText', { tool_calls: message.tool_calls });
114
+ // For backward compatibility, we return a message about tool calls
115
+ return 'The model wants to use tools. Please use generateChat or chatCompletion instead.';
116
+ }
117
+ const response = message.content;
118
+ if (!response) {
119
+ throw new Error('No content in response from OpenAI');
120
+ }
121
+ await logger_1.Logger.stopSpinner(true);
122
+ await logger_1.Logger.section('Generated Response', response);
123
+ return response;
124
+ }
125
+ catch (error) {
126
+ await logger_1.Logger.stopSpinner(false);
127
+ await logger_1.Logger.error('Error generating text', error);
128
+ throw error;
129
+ }
130
+ }
131
+ async generateChat(messages, temperature = 0.7, tools, tool_choice) {
132
+ await logger_1.Logger.startSpinner('Generating chat response...');
133
+ try {
134
+ // Convert messages to OpenAI format
135
+ const openAIMessages = messages.map(convertToOpenAIMessage);
136
+ // Convert tools to OpenAI format if provided
137
+ const openAITools = tools ? tools.map(convertToOpenAITool) : undefined;
138
+ const completion = await this.getClient().then(client => client.chat.completions.create({
139
+ model: this.model,
140
+ temperature,
141
+ messages: openAIMessages,
142
+ tools: openAITools,
143
+ tool_choice
144
+ }));
145
+ const response = completion.choices[0]?.message;
146
+ if (!response) {
147
+ throw new Error('No response from OpenAI');
148
+ }
149
+ await logger_1.Logger.stopSpinner(true);
150
+ const result = {
151
+ content: response.content || '',
152
+ role: response.role
153
+ };
154
+ // Add tool calls if they exist
155
+ if (response.tool_calls && response.tool_calls.length > 0) {
156
+ result.tool_calls = response.tool_calls;
157
+ await logger_1.Logger.debug('Tool calls detected', { tool_calls: result.tool_calls });
158
+ }
159
+ await logger_1.Logger.section('Chat Response', result.content);
160
+ return result;
161
+ }
162
+ catch (error) {
163
+ await logger_1.Logger.stopSpinner(false);
164
+ await logger_1.Logger.error('Error generating chat response', error);
165
+ throw error;
166
+ }
167
+ }
168
+ async streamText(prompt, systemPrompt = '', temperature = 0.7, onToken, tools, tool_choice, onToolCall) {
169
+ await logger_1.Logger.debug('Starting text stream...', {
170
+ model: this.model,
171
+ temperature
172
+ });
173
+ const messages = [];
174
+ if (systemPrompt) {
175
+ messages.push({ role: 'system', content: systemPrompt });
176
+ }
177
+ messages.push({ role: 'user', content: prompt });
178
+ try {
179
+ // Convert messages to OpenAI format
180
+ const openAIMessages = messages.map(convertToOpenAIMessage);
181
+ // Convert tools to OpenAI format if provided
182
+ const openAITools = tools ? tools.map(convertToOpenAITool) : undefined;
183
+ const stream = await this.getClient().then(client => client.chat.completions.create({
184
+ model: this.model,
185
+ temperature,
186
+ messages: openAIMessages,
187
+ stream: true,
188
+ tools: openAITools,
189
+ tool_choice
190
+ }));
191
+ let fullResponse = '';
192
+ const toolCalls = {};
193
+ for await (const chunk of stream) {
194
+ const delta = chunk.choices[0]?.delta;
195
+ // Handle content tokens
196
+ if (delta?.content) {
197
+ const token = delta.content;
198
+ fullResponse += token;
199
+ onToken(token);
200
+ }
201
+ // Handle tool calls
202
+ if (delta?.tool_calls && delta.tool_calls.length > 0) {
203
+ for (const toolCall of delta.tool_calls) {
204
+ const { index } = toolCall;
205
+ if (!toolCalls[index]) {
206
+ toolCalls[index] = {
207
+ id: toolCall.id,
208
+ type: toolCall.type,
209
+ function: {
210
+ name: toolCall.function?.name || '',
211
+ arguments: ''
212
+ }
213
+ };
214
+ }
215
+ // Accumulate function arguments
216
+ if (toolCall.function?.arguments) {
217
+ toolCalls[index].function.arguments += toolCall.function.arguments;
218
+ }
219
+ // Call the onToolCall callback if provided
220
+ if (onToolCall) {
221
+ onToolCall(toolCalls[index]);
222
+ }
223
+ }
224
+ }
225
+ }
226
+ await logger_1.Logger.debug('Stream completed successfully');
227
+ }
228
+ catch (error) {
229
+ await logger_1.Logger.error('Error in text stream', error);
230
+ throw error;
231
+ }
232
+ }
233
+ async streamChat(messages, temperature = 0.7, onToken) {
234
+ await logger_1.Logger.debug('Starting chat stream with messages...', {
235
+ model: this.model,
236
+ messageCount: messages.length
237
+ });
238
+ try {
239
+ const openAIMessages = messages.map(convertToOpenAIMessage);
240
+ const stream = await this.getClient().then(client => client.chat.completions.create({
241
+ model: this.model,
242
+ temperature,
243
+ messages: openAIMessages,
244
+ stream: true
245
+ }));
246
+ let fullResponse = '';
247
+ for await (const chunk of stream) {
248
+ const delta = chunk.choices[0]?.delta;
249
+ if (delta?.content) {
250
+ const token = delta.content;
251
+ fullResponse += token;
252
+ onToken(token);
253
+ }
254
+ }
255
+ await logger_1.Logger.debug('Chat stream completed');
256
+ return fullResponse;
257
+ }
258
+ catch (error) {
259
+ await logger_1.Logger.error('Error in chat stream', error);
260
+ throw error;
261
+ }
262
+ }
263
+ async chatCompletion(messages, temperature = 0.7, tools, tool_choice) {
264
+ await logger_1.Logger.startSpinner('Chat completion with OpenAI...');
265
+ try {
266
+ // Convert messages to OpenAI format
267
+ const openAIMessages = messages.map(convertToOpenAIMessage);
268
+ // Convert tools to OpenAI format if provided
269
+ const openAITools = tools ? tools.map(convertToOpenAITool) : undefined;
270
+ const completion = await this.getClient().then(client => client.chat.completions.create({
271
+ model: this.model,
272
+ temperature,
273
+ messages: openAIMessages,
274
+ tools: openAITools,
275
+ tool_choice
276
+ }));
277
+ // Safely access the message
278
+ if (!completion.choices || completion.choices.length === 0 || !completion.choices[0].message) {
279
+ throw new Error('No response from OpenAI');
280
+ }
281
+ const message = completion.choices[0].message;
282
+ const response = {
283
+ content: message.content || '',
284
+ role: message.role
285
+ };
286
+ // Add tool calls if they exist
287
+ if (message.tool_calls && message.tool_calls.length > 0) {
288
+ response.tool_calls = message.tool_calls;
289
+ await logger_1.Logger.debug('Tool calls detected', { tool_calls: response.tool_calls });
290
+ }
291
+ await logger_1.Logger.stopSpinner(true);
292
+ await logger_1.Logger.section('Chat Completion Response', response.content);
293
+ return response;
294
+ }
295
+ catch (error) {
296
+ await logger_1.Logger.stopSpinner(false);
297
+ await logger_1.Logger.error('Error in chat completion', error);
298
+ throw error;
299
+ }
300
+ }
301
+ }
302
+ exports.OpenAIService = OpenAIService;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * AI SDK Adapter
3
+ *
4
+ * Converts between praisonai-ts message/tool formats and AI SDK formats.
5
+ * Handles prompt construction, tool definitions, and result parsing.
6
+ */
7
+ import type { Message, ToolDefinition, ToolCall, GenerateTextResult } from '../types';
8
+ import type { AISDKToolCall, AISDKToolResult, FinishReason, PraisonStreamChunk } from './types';
9
+ /**
10
+ * AI SDK prompt message types (simplified for compatibility)
11
+ */
12
+ export interface AISDKSystemMessage {
13
+ role: 'system';
14
+ content: string;
15
+ }
16
+ export interface AISDKUserMessage {
17
+ role: 'user';
18
+ content: Array<{
19
+ type: 'text';
20
+ text: string;
21
+ }>;
22
+ }
23
+ export interface AISDKAssistantMessage {
24
+ role: 'assistant';
25
+ content: Array<{
26
+ type: 'text';
27
+ text: string;
28
+ } | {
29
+ type: 'tool-call';
30
+ toolCallId: string;
31
+ toolName: string;
32
+ args: unknown;
33
+ }>;
34
+ }
35
+ export interface AISDKToolMessage {
36
+ role: 'tool';
37
+ content: Array<{
38
+ type: 'tool-result';
39
+ toolCallId: string;
40
+ toolName: string;
41
+ result: unknown;
42
+ }>;
43
+ }
44
+ export type AISDKMessage = AISDKSystemMessage | AISDKUserMessage | AISDKAssistantMessage | AISDKToolMessage;
45
+ /**
46
+ * Convert praisonai-ts messages to AI SDK prompt format
47
+ */
48
+ export declare function toAISDKPrompt(messages: Message[]): AISDKMessage[];
49
+ /**
50
+ * Convert praisonai-ts tool definitions to AI SDK format
51
+ * AI SDK expects tools created with the tool() helper from @ai-sdk/provider-utils
52
+ */
53
+ export declare function toAISDKTools(tools: ToolDefinition[]): Promise<Record<string, any>>;
54
+ /**
55
+ * Convert AI SDK tool call to praisonai-ts format
56
+ */
57
+ export declare function fromAISDKToolCall(toolCall: AISDKToolCall): ToolCall;
58
+ /**
59
+ * Convert praisonai-ts tool result to AI SDK format
60
+ */
61
+ export declare function toAISDKToolResult(toolCallId: string, toolName: string, result: unknown): AISDKToolResult;
62
+ /**
63
+ * Extract text content from AI SDK response content
64
+ */
65
+ export declare function extractTextFromContent(content: unknown[]): string;
66
+ /**
67
+ * Extract tool calls from AI SDK response content
68
+ */
69
+ export declare function extractToolCallsFromContent(content: unknown[]): ToolCall[];
70
+ /**
71
+ * Convert AI SDK generate result to praisonai-ts format
72
+ */
73
+ export declare function fromAISDKResult(result: {
74
+ text?: string;
75
+ content?: unknown[];
76
+ toolCalls?: AISDKToolCall[];
77
+ usage?: {
78
+ promptTokens: number;
79
+ completionTokens: number;
80
+ };
81
+ finishReason?: string;
82
+ }): GenerateTextResult;
83
+ /**
84
+ * Map AI SDK finish reason to internal format
85
+ */
86
+ export declare function mapFinishReason(reason?: string): FinishReason;
87
+ /**
88
+ * Map AI SDK finish reason to praisonai-ts provider format
89
+ * Uses underscore format for tool_calls as expected by GenerateTextResult
90
+ */
91
+ export declare function mapFinishReasonToProvider(reason?: string): 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'error';
92
+ /**
93
+ * Convert AI SDK stream chunk to praisonai-ts format
94
+ */
95
+ export declare function fromAISDKStreamChunk(chunk: {
96
+ type: string;
97
+ textDelta?: string;
98
+ toolCallId?: string;
99
+ toolName?: string;
100
+ argsTextDelta?: string;
101
+ args?: unknown;
102
+ finishReason?: string;
103
+ usage?: {
104
+ promptTokens: number;
105
+ completionTokens: number;
106
+ };
107
+ }): PraisonStreamChunk | null;
108
+ /**
109
+ * Map praisonai-ts tool choice to AI SDK format
110
+ */
111
+ export declare function toAISDKToolChoice(toolChoice?: 'auto' | 'none' | 'required' | {
112
+ type: 'tool';
113
+ toolName: string;
114
+ }): 'auto' | 'none' | 'required' | {
115
+ type: 'tool';
116
+ toolName: string;
117
+ } | undefined;
118
+ /**
119
+ * Create a simple prompt from a string
120
+ */
121
+ export declare function createSimplePrompt(prompt: string, systemPrompt?: string): AISDKMessage[];