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,75 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createDbAdapter = createDbAdapter;
18
+ exports.getDefaultDbAdapter = getDefaultDbAdapter;
19
+ exports.setDefaultDbAdapter = setDefaultDbAdapter;
20
+ exports.db = db;
21
+ __exportStar(require("./types"), exports);
22
+ // In-memory implementation as default/fallback
23
+ class MemoryDbAdapter {
24
+ constructor() {
25
+ this.messages = [];
26
+ this.runs = [];
27
+ this.traces = [];
28
+ }
29
+ async saveMessage(message) {
30
+ this.messages.push(message);
31
+ }
32
+ async getMessages(sessionId, limit) {
33
+ const sessionMessages = this.messages
34
+ .filter(m => m.sessionId === sessionId)
35
+ .sort((a, b) => a.createdAt - b.createdAt);
36
+ return limit ? sessionMessages.slice(-limit) : sessionMessages;
37
+ }
38
+ async deleteMessages(sessionId) {
39
+ this.messages = this.messages.filter(m => m.sessionId !== sessionId);
40
+ }
41
+ async saveRun(run) {
42
+ this.runs.push(run);
43
+ }
44
+ async updateRun(runId, updates) {
45
+ const run = this.runs.find(r => r.id === runId);
46
+ if (run) {
47
+ Object.assign(run, updates);
48
+ }
49
+ }
50
+ async saveTrace(trace) {
51
+ this.traces.push(trace);
52
+ }
53
+ async close() {
54
+ // No-op for memory
55
+ }
56
+ }
57
+ let defaultAdapter;
58
+ function createDbAdapter(config) {
59
+ // Placeholder: Real implementation would switch on config.type or connection string
60
+ // For now, return Memory adapter to satisfy types
61
+ console.warn("Using in-memory DB adapter (placeholder)");
62
+ return new MemoryDbAdapter();
63
+ }
64
+ function getDefaultDbAdapter() {
65
+ return defaultAdapter;
66
+ }
67
+ function setDefaultDbAdapter(adapter) {
68
+ defaultAdapter = adapter;
69
+ }
70
+ function db(connectionString) {
71
+ if (!connectionString && defaultAdapter) {
72
+ return defaultAdapter;
73
+ }
74
+ return createDbAdapter(connectionString || { type: 'memory' });
75
+ }
@@ -0,0 +1,42 @@
1
+ export interface DbMessage {
2
+ id: string;
3
+ sessionId: string;
4
+ runId: string;
5
+ role: string;
6
+ content: string;
7
+ createdAt: number;
8
+ tool_calls?: any[];
9
+ tool_call_id?: string;
10
+ }
11
+ export interface DbRun {
12
+ id: string;
13
+ agentName: string;
14
+ instructions: string;
15
+ startTime: number;
16
+ endTime?: number;
17
+ status: 'running' | 'completed' | 'failed';
18
+ error?: string;
19
+ }
20
+ export interface DbTrace {
21
+ id: string;
22
+ runId: string;
23
+ type: string;
24
+ input: any;
25
+ output: any;
26
+ startTime: number;
27
+ endTime: number;
28
+ }
29
+ export interface DbConfig {
30
+ url?: string;
31
+ type?: 'sqlite' | 'postgres' | 'redis' | 'memory';
32
+ path?: string;
33
+ }
34
+ export interface DbAdapter {
35
+ saveMessage(message: DbMessage): Promise<void>;
36
+ getMessages(sessionId: string, limit?: number): Promise<DbMessage[]>;
37
+ deleteMessages(sessionId: string): Promise<void>;
38
+ saveRun(run: DbRun): Promise<void>;
39
+ updateRun(runId: string, updates: Partial<DbRun>): Promise<void>;
40
+ saveTrace(trace: DbTrace): Promise<void>;
41
+ close(): Promise<void>;
42
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Evaluation Framework - Accuracy, Performance, and Reliability evaluation
3
+ */
4
+ export interface EvalResult {
5
+ passed: boolean;
6
+ score: number;
7
+ message?: string;
8
+ details?: Record<string, any>;
9
+ duration: number;
10
+ }
11
+ export interface AccuracyEvalConfig {
12
+ input: string;
13
+ expectedOutput: string;
14
+ actualOutput: string;
15
+ threshold?: number;
16
+ }
17
+ export interface PerformanceEvalConfig {
18
+ func: () => Promise<any>;
19
+ iterations?: number;
20
+ warmupRuns?: number;
21
+ }
22
+ export interface PerformanceResult extends EvalResult {
23
+ avgTime: number;
24
+ minTime: number;
25
+ maxTime: number;
26
+ p95Time: number;
27
+ times: number[];
28
+ }
29
+ export interface ReliabilityEvalConfig {
30
+ expectedToolCalls: string[];
31
+ actualToolCalls: string[];
32
+ }
33
+ /**
34
+ * Accuracy Evaluation - Compare actual output to expected
35
+ */
36
+ export declare function accuracyEval(config: AccuracyEvalConfig): Promise<EvalResult>;
37
+ /**
38
+ * Performance Evaluation - Measure execution time
39
+ */
40
+ export declare function performanceEval(config: PerformanceEvalConfig): Promise<PerformanceResult>;
41
+ /**
42
+ * Reliability Evaluation - Check tool call accuracy
43
+ */
44
+ export declare function reliabilityEval(config: ReliabilityEvalConfig): Promise<EvalResult>;
45
+ /**
46
+ * Eval Suite - Run multiple evaluations
47
+ */
48
+ export declare class EvalSuite {
49
+ private results;
50
+ runAccuracy(name: string, config: AccuracyEvalConfig): Promise<EvalResult>;
51
+ runPerformance(name: string, config: PerformanceEvalConfig): Promise<PerformanceResult>;
52
+ runReliability(name: string, config: ReliabilityEvalConfig): Promise<EvalResult>;
53
+ getResults(): Map<string, EvalResult>;
54
+ getSummary(): {
55
+ total: number;
56
+ passed: number;
57
+ failed: number;
58
+ avgScore: number;
59
+ };
60
+ printSummary(): void;
61
+ }
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ /**
3
+ * Evaluation Framework - Accuracy, Performance, and Reliability evaluation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EvalSuite = void 0;
7
+ exports.accuracyEval = accuracyEval;
8
+ exports.performanceEval = performanceEval;
9
+ exports.reliabilityEval = reliabilityEval;
10
+ /**
11
+ * Accuracy Evaluation - Compare actual output to expected
12
+ */
13
+ async function accuracyEval(config) {
14
+ const start = Date.now();
15
+ const threshold = config.threshold ?? 0.8;
16
+ const similarity = calculateSimilarity(config.expectedOutput, config.actualOutput);
17
+ const passed = similarity >= threshold;
18
+ return {
19
+ passed,
20
+ score: similarity,
21
+ message: passed ? 'Output matches expected' : 'Output does not match expected',
22
+ details: {
23
+ expected: config.expectedOutput,
24
+ actual: config.actualOutput,
25
+ threshold
26
+ },
27
+ duration: Date.now() - start
28
+ };
29
+ }
30
+ /**
31
+ * Performance Evaluation - Measure execution time
32
+ */
33
+ async function performanceEval(config) {
34
+ const iterations = config.iterations ?? 10;
35
+ const warmupRuns = config.warmupRuns ?? 2;
36
+ const times = [];
37
+ // Warmup runs
38
+ for (let i = 0; i < warmupRuns; i++) {
39
+ await config.func();
40
+ }
41
+ // Actual runs
42
+ const start = Date.now();
43
+ for (let i = 0; i < iterations; i++) {
44
+ const runStart = Date.now();
45
+ await config.func();
46
+ times.push(Date.now() - runStart);
47
+ }
48
+ const sortedTimes = [...times].sort((a, b) => a - b);
49
+ const avgTime = times.reduce((a, b) => a + b, 0) / times.length;
50
+ const minTime = sortedTimes[0];
51
+ const maxTime = sortedTimes[sortedTimes.length - 1];
52
+ const p95Index = Math.floor(sortedTimes.length * 0.95);
53
+ const p95Time = sortedTimes[p95Index] || maxTime;
54
+ return {
55
+ passed: true,
56
+ score: 1,
57
+ avgTime,
58
+ minTime,
59
+ maxTime,
60
+ p95Time,
61
+ times,
62
+ duration: Date.now() - start,
63
+ details: {
64
+ iterations,
65
+ warmupRuns
66
+ }
67
+ };
68
+ }
69
+ /**
70
+ * Reliability Evaluation - Check tool call accuracy
71
+ */
72
+ async function reliabilityEval(config) {
73
+ const start = Date.now();
74
+ const expected = new Set(config.expectedToolCalls);
75
+ const actual = new Set(config.actualToolCalls);
76
+ const matched = config.expectedToolCalls.filter(t => actual.has(t));
77
+ const missing = config.expectedToolCalls.filter(t => !actual.has(t));
78
+ const extra = config.actualToolCalls.filter(t => !expected.has(t));
79
+ const score = expected.size > 0 ? matched.length / expected.size : 1;
80
+ const passed = missing.length === 0;
81
+ return {
82
+ passed,
83
+ score,
84
+ message: passed ? 'All expected tool calls made' : `Missing tool calls: ${missing.join(', ')}`,
85
+ details: {
86
+ matched,
87
+ missing,
88
+ extra,
89
+ expected: config.expectedToolCalls,
90
+ actual: config.actualToolCalls
91
+ },
92
+ duration: Date.now() - start
93
+ };
94
+ }
95
+ /**
96
+ * Calculate text similarity (simple Jaccard similarity)
97
+ */
98
+ function calculateSimilarity(a, b) {
99
+ const wordsA = new Set(a.toLowerCase().split(/\s+/));
100
+ const wordsB = new Set(b.toLowerCase().split(/\s+/));
101
+ const intersection = new Set([...wordsA].filter(x => wordsB.has(x)));
102
+ const union = new Set([...wordsA, ...wordsB]);
103
+ return union.size > 0 ? intersection.size / union.size : 0;
104
+ }
105
+ /**
106
+ * Eval Suite - Run multiple evaluations
107
+ */
108
+ class EvalSuite {
109
+ constructor() {
110
+ this.results = new Map();
111
+ }
112
+ async runAccuracy(name, config) {
113
+ const result = await accuracyEval(config);
114
+ this.results.set(name, result);
115
+ return result;
116
+ }
117
+ async runPerformance(name, config) {
118
+ const result = await performanceEval(config);
119
+ this.results.set(name, result);
120
+ return result;
121
+ }
122
+ async runReliability(name, config) {
123
+ const result = await reliabilityEval(config);
124
+ this.results.set(name, result);
125
+ return result;
126
+ }
127
+ getResults() {
128
+ return new Map(this.results);
129
+ }
130
+ getSummary() {
131
+ const results = Array.from(this.results.values());
132
+ const passed = results.filter(r => r.passed).length;
133
+ const avgScore = results.length > 0
134
+ ? results.reduce((a, b) => a + b.score, 0) / results.length
135
+ : 0;
136
+ return {
137
+ total: results.length,
138
+ passed,
139
+ failed: results.length - passed,
140
+ avgScore
141
+ };
142
+ }
143
+ printSummary() {
144
+ const summary = this.getSummary();
145
+ console.log('\n=== Evaluation Summary ===');
146
+ console.log(`Total: ${summary.total}`);
147
+ console.log(`Passed: ${summary.passed}`);
148
+ console.log(`Failed: ${summary.failed}`);
149
+ console.log(`Avg Score: ${(summary.avgScore * 100).toFixed(1)}%`);
150
+ console.log('\nResults:');
151
+ for (const [name, result] of this.results) {
152
+ const status = result.passed ? '✅' : '❌';
153
+ console.log(` ${status} ${name}: ${(result.score * 100).toFixed(1)}%`);
154
+ }
155
+ }
156
+ }
157
+ exports.EvalSuite = EvalSuite;
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Event System - PubSub and Event Emitter for agent communication
3
+ * Inspired by mastra's events module
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ export interface Event {
7
+ id: string;
8
+ topic: string;
9
+ data: any;
10
+ createdAt: Date;
11
+ metadata?: Record<string, any>;
12
+ }
13
+ export type EventHandler = (event: Event, ack?: () => Promise<void>) => void | Promise<void>;
14
+ /**
15
+ * Abstract PubSub base class
16
+ */
17
+ export declare abstract class PubSub {
18
+ abstract publish(topic: string, data: any, metadata?: Record<string, any>): Promise<void>;
19
+ abstract subscribe(topic: string, handler: EventHandler): Promise<void>;
20
+ abstract unsubscribe(topic: string, handler: EventHandler): Promise<void>;
21
+ abstract close(): Promise<void>;
22
+ }
23
+ /**
24
+ * In-memory EventEmitter-based PubSub implementation
25
+ */
26
+ export declare class EventEmitterPubSub extends PubSub {
27
+ private emitter;
28
+ private handlers;
29
+ constructor(existingEmitter?: EventEmitter);
30
+ publish(topic: string, data: any, metadata?: Record<string, any>): Promise<void>;
31
+ subscribe(topic: string, handler: EventHandler): Promise<void>;
32
+ unsubscribe(topic: string, handler: EventHandler): Promise<void>;
33
+ close(): Promise<void>;
34
+ /**
35
+ * Wait for a specific event with optional timeout
36
+ */
37
+ waitFor(topic: string, timeout?: number): Promise<Event>;
38
+ /**
39
+ * Get the underlying EventEmitter
40
+ */
41
+ getEmitter(): EventEmitter;
42
+ }
43
+ /**
44
+ * Agent Event Bus - Specialized event system for agent communication
45
+ */
46
+ export declare class AgentEventBus {
47
+ private pubsub;
48
+ private agentId;
49
+ constructor(agentId: string, pubsub?: PubSub);
50
+ /**
51
+ * Emit an agent event
52
+ */
53
+ emit(eventType: string, data: any): Promise<void>;
54
+ /**
55
+ * Listen for agent events
56
+ */
57
+ on(eventType: string, handler: (data: any) => void | Promise<void>): Promise<void>;
58
+ /**
59
+ * Broadcast to all agents
60
+ */
61
+ broadcast(eventType: string, data: any): Promise<void>;
62
+ /**
63
+ * Listen for broadcast events
64
+ */
65
+ onBroadcast(eventType: string, handler: (data: any, sourceAgentId: string) => void | Promise<void>): Promise<void>;
66
+ /**
67
+ * Send message to specific agent
68
+ */
69
+ sendTo(targetAgentId: string, eventType: string, data: any): Promise<void>;
70
+ close(): Promise<void>;
71
+ }
72
+ export declare const AgentEvents: {
73
+ readonly STARTED: "started";
74
+ readonly COMPLETED: "completed";
75
+ readonly ERROR: "error";
76
+ readonly TOOL_CALLED: "tool_called";
77
+ readonly TOOL_RESULT: "tool_result";
78
+ readonly MESSAGE_RECEIVED: "message_received";
79
+ readonly MESSAGE_SENT: "message_sent";
80
+ readonly HANDOFF_INITIATED: "handoff_initiated";
81
+ readonly HANDOFF_COMPLETED: "handoff_completed";
82
+ };
83
+ export declare function createEventBus(agentId: string): AgentEventBus;
84
+ export declare function createPubSub(): EventEmitterPubSub;
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /**
3
+ * Event System - PubSub and Event Emitter for agent communication
4
+ * Inspired by mastra's events module
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.AgentEvents = exports.AgentEventBus = exports.EventEmitterPubSub = exports.PubSub = void 0;
8
+ exports.createEventBus = createEventBus;
9
+ exports.createPubSub = createPubSub;
10
+ const events_1 = require("events");
11
+ /**
12
+ * Abstract PubSub base class
13
+ */
14
+ class PubSub {
15
+ }
16
+ exports.PubSub = PubSub;
17
+ /**
18
+ * In-memory EventEmitter-based PubSub implementation
19
+ */
20
+ class EventEmitterPubSub extends PubSub {
21
+ constructor(existingEmitter) {
22
+ super();
23
+ this.handlers = new Map();
24
+ this.emitter = existingEmitter ?? new events_1.EventEmitter();
25
+ this.emitter.setMaxListeners(100); // Allow many listeners
26
+ }
27
+ async publish(topic, data, metadata) {
28
+ const event = {
29
+ id: crypto.randomUUID(),
30
+ topic,
31
+ data,
32
+ createdAt: new Date(),
33
+ metadata
34
+ };
35
+ this.emitter.emit(topic, event);
36
+ }
37
+ async subscribe(topic, handler) {
38
+ if (!this.handlers.has(topic)) {
39
+ this.handlers.set(topic, new Set());
40
+ }
41
+ this.handlers.get(topic).add(handler);
42
+ this.emitter.on(topic, handler);
43
+ }
44
+ async unsubscribe(topic, handler) {
45
+ this.handlers.get(topic)?.delete(handler);
46
+ this.emitter.off(topic, handler);
47
+ }
48
+ async close() {
49
+ this.emitter.removeAllListeners();
50
+ this.handlers.clear();
51
+ }
52
+ /**
53
+ * Wait for a specific event with optional timeout
54
+ */
55
+ async waitFor(topic, timeout) {
56
+ return new Promise((resolve, reject) => {
57
+ const timer = timeout ? setTimeout(() => {
58
+ this.emitter.off(topic, handler);
59
+ reject(new Error(`Timeout waiting for event: ${topic}`));
60
+ }, timeout) : null;
61
+ const handler = (event) => {
62
+ if (timer)
63
+ clearTimeout(timer);
64
+ this.emitter.off(topic, handler);
65
+ resolve(event);
66
+ };
67
+ this.emitter.once(topic, handler);
68
+ });
69
+ }
70
+ /**
71
+ * Get the underlying EventEmitter
72
+ */
73
+ getEmitter() {
74
+ return this.emitter;
75
+ }
76
+ }
77
+ exports.EventEmitterPubSub = EventEmitterPubSub;
78
+ /**
79
+ * Agent Event Bus - Specialized event system for agent communication
80
+ */
81
+ class AgentEventBus {
82
+ constructor(agentId, pubsub) {
83
+ this.agentId = agentId;
84
+ this.pubsub = pubsub ?? new EventEmitterPubSub();
85
+ }
86
+ /**
87
+ * Emit an agent event
88
+ */
89
+ async emit(eventType, data) {
90
+ await this.pubsub.publish(`agent:${this.agentId}:${eventType}`, data, {
91
+ agentId: this.agentId,
92
+ eventType
93
+ });
94
+ }
95
+ /**
96
+ * Listen for agent events
97
+ */
98
+ async on(eventType, handler) {
99
+ await this.pubsub.subscribe(`agent:${this.agentId}:${eventType}`, (event) => {
100
+ handler(event.data);
101
+ });
102
+ }
103
+ /**
104
+ * Broadcast to all agents
105
+ */
106
+ async broadcast(eventType, data) {
107
+ await this.pubsub.publish(`broadcast:${eventType}`, data, {
108
+ sourceAgentId: this.agentId,
109
+ eventType
110
+ });
111
+ }
112
+ /**
113
+ * Listen for broadcast events
114
+ */
115
+ async onBroadcast(eventType, handler) {
116
+ await this.pubsub.subscribe(`broadcast:${eventType}`, (event) => {
117
+ handler(event.data, event.metadata?.sourceAgentId);
118
+ });
119
+ }
120
+ /**
121
+ * Send message to specific agent
122
+ */
123
+ async sendTo(targetAgentId, eventType, data) {
124
+ await this.pubsub.publish(`agent:${targetAgentId}:${eventType}`, data, {
125
+ sourceAgentId: this.agentId,
126
+ targetAgentId,
127
+ eventType
128
+ });
129
+ }
130
+ async close() {
131
+ await this.pubsub.close();
132
+ }
133
+ }
134
+ exports.AgentEventBus = AgentEventBus;
135
+ // Standard event types
136
+ exports.AgentEvents = {
137
+ STARTED: 'started',
138
+ COMPLETED: 'completed',
139
+ ERROR: 'error',
140
+ TOOL_CALLED: 'tool_called',
141
+ TOOL_RESULT: 'tool_result',
142
+ MESSAGE_RECEIVED: 'message_received',
143
+ MESSAGE_SENT: 'message_sent',
144
+ HANDOFF_INITIATED: 'handoff_initiated',
145
+ HANDOFF_COMPLETED: 'handoff_completed'
146
+ };
147
+ // Factory functions
148
+ function createEventBus(agentId) {
149
+ return new AgentEventBus(agentId);
150
+ }
151
+ function createPubSub() {
152
+ return new EventEmitterPubSub();
153
+ }
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Guardrails - Input/output validation and safety checks
3
+ */
4
+ export type GuardrailStatus = 'passed' | 'failed' | 'warning';
5
+ export interface GuardrailResult {
6
+ status: GuardrailStatus;
7
+ message?: string;
8
+ details?: Record<string, any>;
9
+ modifiedContent?: string;
10
+ }
11
+ export type GuardrailFunction = (content: string, context?: GuardrailContext) => Promise<GuardrailResult> | GuardrailResult;
12
+ export interface GuardrailContext {
13
+ role: 'input' | 'output';
14
+ agentName?: string;
15
+ sessionId?: string;
16
+ metadata?: Record<string, any>;
17
+ }
18
+ export interface GuardrailConfig {
19
+ name: string;
20
+ description?: string;
21
+ check: GuardrailFunction;
22
+ onFail?: 'block' | 'warn' | 'modify';
23
+ }
24
+ /**
25
+ * Guardrail class
26
+ */
27
+ export declare class Guardrail {
28
+ readonly name: string;
29
+ readonly description: string;
30
+ readonly check: GuardrailFunction;
31
+ readonly onFail: 'block' | 'warn' | 'modify';
32
+ constructor(config: GuardrailConfig);
33
+ run(content: string, context?: GuardrailContext): Promise<GuardrailResult>;
34
+ }
35
+ /**
36
+ * Create a guardrail
37
+ */
38
+ export declare function guardrail(config: GuardrailConfig): Guardrail;
39
+ /**
40
+ * Guardrail Manager - Run multiple guardrails
41
+ */
42
+ export declare class GuardrailManager {
43
+ private guardrails;
44
+ add(g: Guardrail): this;
45
+ runAll(content: string, context?: GuardrailContext): Promise<{
46
+ passed: boolean;
47
+ results: Array<{
48
+ name: string;
49
+ result: GuardrailResult;
50
+ }>;
51
+ }>;
52
+ get count(): number;
53
+ }
54
+ /**
55
+ * Built-in guardrails
56
+ */
57
+ export declare const builtinGuardrails: {
58
+ /**
59
+ * Check for maximum length
60
+ */
61
+ maxLength: (maxChars: number) => Guardrail;
62
+ /**
63
+ * Check for minimum length
64
+ */
65
+ minLength: (minChars: number) => Guardrail;
66
+ /**
67
+ * Check for blocked words
68
+ */
69
+ blockedWords: (words: string[]) => Guardrail;
70
+ /**
71
+ * Check for required words
72
+ */
73
+ requiredWords: (words: string[]) => Guardrail;
74
+ /**
75
+ * Regex pattern check
76
+ */
77
+ pattern: (regex: RegExp, mustMatch?: boolean) => Guardrail;
78
+ /**
79
+ * JSON validity check
80
+ */
81
+ validJson: () => Guardrail;
82
+ };