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.
- package/README.md +248 -0
- package/dist/agent/context.d.ts +74 -0
- package/dist/agent/context.js +140 -0
- package/dist/agent/enhanced.d.ts +98 -0
- package/dist/agent/enhanced.js +293 -0
- package/dist/agent/handoff.d.ts +82 -0
- package/dist/agent/handoff.js +124 -0
- package/dist/agent/image.d.ts +57 -0
- package/dist/agent/image.js +116 -0
- package/dist/agent/index.d.ts +19 -0
- package/dist/agent/index.js +38 -0
- package/dist/agent/prompt-expander.d.ts +43 -0
- package/dist/agent/prompt-expander.js +99 -0
- package/dist/agent/proxy.d.ts +26 -0
- package/dist/agent/proxy.js +173 -0
- package/dist/agent/query-rewriter.d.ts +41 -0
- package/dist/agent/query-rewriter.js +94 -0
- package/dist/agent/research.d.ts +55 -0
- package/dist/agent/research.js +134 -0
- package/dist/agent/router.d.ts +141 -0
- package/dist/agent/router.js +209 -0
- package/dist/agent/simple.d.ts +289 -0
- package/dist/agent/simple.js +696 -0
- package/dist/agent/types.d.ts +56 -0
- package/dist/agent/types.js +165 -0
- package/dist/ai/agent-loop.d.ts +177 -0
- package/dist/ai/agent-loop.js +313 -0
- package/dist/ai/devtools.d.ts +74 -0
- package/dist/ai/devtools.js +216 -0
- package/dist/ai/embed.d.ts +71 -0
- package/dist/ai/embed.js +154 -0
- package/dist/ai/generate-image.d.ts +66 -0
- package/dist/ai/generate-image.js +138 -0
- package/dist/ai/generate-object.d.ts +132 -0
- package/dist/ai/generate-object.js +206 -0
- package/dist/ai/generate-text.d.ts +201 -0
- package/dist/ai/generate-text.js +253 -0
- package/dist/ai/index.d.ts +27 -0
- package/dist/ai/index.js +140 -0
- package/dist/ai/mcp.d.ts +181 -0
- package/dist/ai/mcp.js +234 -0
- package/dist/ai/middleware.d.ts +110 -0
- package/dist/ai/middleware.js +186 -0
- package/dist/ai/models.d.ts +67 -0
- package/dist/ai/models.js +249 -0
- package/dist/ai/multimodal.d.ts +125 -0
- package/dist/ai/multimodal.js +270 -0
- package/dist/ai/nextjs.d.ts +122 -0
- package/dist/ai/nextjs.js +218 -0
- package/dist/ai/server.d.ts +126 -0
- package/dist/ai/server.js +336 -0
- package/dist/ai/speech.d.ts +135 -0
- package/dist/ai/speech.js +296 -0
- package/dist/ai/telemetry.d.ts +162 -0
- package/dist/ai/telemetry.js +311 -0
- package/dist/ai/tool-approval.d.ts +225 -0
- package/dist/ai/tool-approval.js +407 -0
- package/dist/ai/tools.d.ts +93 -0
- package/dist/ai/tools.js +89 -0
- package/dist/ai/types.d.ts +47 -0
- package/dist/ai/types.js +5 -0
- package/dist/ai/ui-message.d.ts +218 -0
- package/dist/ai/ui-message.js +291 -0
- package/dist/auto/index.d.ts +62 -0
- package/dist/auto/index.js +163 -0
- package/dist/cache/index.d.ts +78 -0
- package/dist/cache/index.js +235 -0
- package/dist/cli/commands/agent.d.ts +30 -0
- package/dist/cli/commands/agent.js +151 -0
- package/dist/cli/commands/agents.d.ts +24 -0
- package/dist/cli/commands/agents.js +166 -0
- package/dist/cli/commands/approval.d.ts +10 -0
- package/dist/cli/commands/approval.js +253 -0
- package/dist/cli/commands/auto.d.ts +12 -0
- package/dist/cli/commands/auto.js +109 -0
- package/dist/cli/commands/autonomy.d.ts +5 -0
- package/dist/cli/commands/autonomy.js +152 -0
- package/dist/cli/commands/benchmark.d.ts +19 -0
- package/dist/cli/commands/benchmark.js +484 -0
- package/dist/cli/commands/cache.d.ts +9 -0
- package/dist/cli/commands/cache.js +143 -0
- package/dist/cli/commands/chat.d.ts +14 -0
- package/dist/cli/commands/chat.js +127 -0
- package/dist/cli/commands/checkpoints.d.ts +5 -0
- package/dist/cli/commands/checkpoints.js +236 -0
- package/dist/cli/commands/context.d.ts +11 -0
- package/dist/cli/commands/context.js +182 -0
- package/dist/cli/commands/cost.d.ts +5 -0
- package/dist/cli/commands/cost.js +146 -0
- package/dist/cli/commands/db.d.ts +9 -0
- package/dist/cli/commands/db.js +149 -0
- package/dist/cli/commands/embed.d.ts +20 -0
- package/dist/cli/commands/embed.js +375 -0
- package/dist/cli/commands/eval.d.ts +17 -0
- package/dist/cli/commands/eval.js +247 -0
- package/dist/cli/commands/external-agents.d.ts +5 -0
- package/dist/cli/commands/external-agents.js +170 -0
- package/dist/cli/commands/fast-context.d.ts +5 -0
- package/dist/cli/commands/fast-context.js +126 -0
- package/dist/cli/commands/flow.d.ts +5 -0
- package/dist/cli/commands/flow.js +141 -0
- package/dist/cli/commands/git.d.ts +5 -0
- package/dist/cli/commands/git.js +178 -0
- package/dist/cli/commands/graph-rag.d.ts +9 -0
- package/dist/cli/commands/graph-rag.js +131 -0
- package/dist/cli/commands/guardrail.d.ts +11 -0
- package/dist/cli/commands/guardrail.js +156 -0
- package/dist/cli/commands/handoff.d.ts +9 -0
- package/dist/cli/commands/handoff.js +133 -0
- package/dist/cli/commands/help.d.ts +8 -0
- package/dist/cli/commands/help.js +139 -0
- package/dist/cli/commands/image.d.ts +13 -0
- package/dist/cli/commands/image.js +192 -0
- package/dist/cli/commands/interactive.d.ts +6 -0
- package/dist/cli/commands/interactive.js +79 -0
- package/dist/cli/commands/jobs.d.ts +5 -0
- package/dist/cli/commands/jobs.js +282 -0
- package/dist/cli/commands/knowledge.d.ts +9 -0
- package/dist/cli/commands/knowledge.js +226 -0
- package/dist/cli/commands/llm.d.ts +21 -0
- package/dist/cli/commands/llm.js +748 -0
- package/dist/cli/commands/mcp.d.ts +9 -0
- package/dist/cli/commands/mcp.js +243 -0
- package/dist/cli/commands/memory.d.ts +10 -0
- package/dist/cli/commands/memory.js +198 -0
- package/dist/cli/commands/n8n.d.ts +5 -0
- package/dist/cli/commands/n8n.js +137 -0
- package/dist/cli/commands/observability.d.ts +16 -0
- package/dist/cli/commands/observability.js +335 -0
- package/dist/cli/commands/planning.d.ts +9 -0
- package/dist/cli/commands/planning.js +167 -0
- package/dist/cli/commands/prompt-expand.d.ts +11 -0
- package/dist/cli/commands/prompt-expand.js +100 -0
- package/dist/cli/commands/providers.d.ts +17 -0
- package/dist/cli/commands/providers.js +386 -0
- package/dist/cli/commands/query-rewrite.d.ts +12 -0
- package/dist/cli/commands/query-rewrite.js +102 -0
- package/dist/cli/commands/repo-map.d.ts +5 -0
- package/dist/cli/commands/repo-map.js +151 -0
- package/dist/cli/commands/reranker.d.ts +10 -0
- package/dist/cli/commands/reranker.js +144 -0
- package/dist/cli/commands/research.d.ts +12 -0
- package/dist/cli/commands/research.js +108 -0
- package/dist/cli/commands/router.d.ts +11 -0
- package/dist/cli/commands/router.js +142 -0
- package/dist/cli/commands/run.d.ts +14 -0
- package/dist/cli/commands/run.js +111 -0
- package/dist/cli/commands/sandbox.d.ts +5 -0
- package/dist/cli/commands/sandbox.js +135 -0
- package/dist/cli/commands/scheduler.d.ts +5 -0
- package/dist/cli/commands/scheduler.js +260 -0
- package/dist/cli/commands/session.d.ts +9 -0
- package/dist/cli/commands/session.js +238 -0
- package/dist/cli/commands/skills.d.ts +9 -0
- package/dist/cli/commands/skills.js +256 -0
- package/dist/cli/commands/telemetry.d.ts +9 -0
- package/dist/cli/commands/telemetry.js +146 -0
- package/dist/cli/commands/tools.d.ts +19 -0
- package/dist/cli/commands/tools.js +576 -0
- package/dist/cli/commands/vector.d.ts +10 -0
- package/dist/cli/commands/vector.js +171 -0
- package/dist/cli/commands/version.d.ts +8 -0
- package/dist/cli/commands/version.js +40 -0
- package/dist/cli/commands/voice.d.ts +10 -0
- package/dist/cli/commands/voice.js +162 -0
- package/dist/cli/commands/workflow.d.ts +13 -0
- package/dist/cli/commands/workflow.js +184 -0
- package/dist/cli/config/index.d.ts +6 -0
- package/dist/cli/config/index.js +22 -0
- package/dist/cli/config/load.d.ts +20 -0
- package/dist/cli/config/load.js +229 -0
- package/dist/cli/config/resolve.d.ts +28 -0
- package/dist/cli/config/resolve.js +70 -0
- package/dist/cli/config/schema.d.ts +15 -0
- package/dist/cli/config/schema.js +65 -0
- package/dist/cli/features/autonomy-mode.d.ts +98 -0
- package/dist/cli/features/autonomy-mode.js +266 -0
- package/dist/cli/features/background-jobs.d.ts +155 -0
- package/dist/cli/features/background-jobs.js +416 -0
- package/dist/cli/features/checkpoints.d.ts +126 -0
- package/dist/cli/features/checkpoints.js +288 -0
- package/dist/cli/features/cost-tracker.d.ts +101 -0
- package/dist/cli/features/cost-tracker.js +212 -0
- package/dist/cli/features/external-agents.d.ts +117 -0
- package/dist/cli/features/external-agents.js +296 -0
- package/dist/cli/features/fast-context.d.ts +126 -0
- package/dist/cli/features/fast-context.js +310 -0
- package/dist/cli/features/flow-display.d.ts +100 -0
- package/dist/cli/features/flow-display.js +254 -0
- package/dist/cli/features/git-integration.d.ts +138 -0
- package/dist/cli/features/git-integration.js +374 -0
- package/dist/cli/features/index.d.ts +17 -0
- package/dist/cli/features/index.js +102 -0
- package/dist/cli/features/interactive-tui.d.ts +114 -0
- package/dist/cli/features/interactive-tui.js +326 -0
- package/dist/cli/features/n8n-integration.d.ts +111 -0
- package/dist/cli/features/n8n-integration.js +299 -0
- package/dist/cli/features/repo-map.d.ts +101 -0
- package/dist/cli/features/repo-map.js +350 -0
- package/dist/cli/features/sandbox-executor.d.ts +89 -0
- package/dist/cli/features/sandbox-executor.js +314 -0
- package/dist/cli/features/scheduler.d.ts +111 -0
- package/dist/cli/features/scheduler.js +298 -0
- package/dist/cli/features/slash-commands.d.ts +77 -0
- package/dist/cli/features/slash-commands.js +316 -0
- package/dist/cli/index.d.ts +24 -0
- package/dist/cli/index.js +214 -0
- package/dist/cli/output/errors.d.ts +23 -0
- package/dist/cli/output/errors.js +36 -0
- package/dist/cli/output/json.d.ts +27 -0
- package/dist/cli/output/json.js +31 -0
- package/dist/cli/output/pretty.d.ts +13 -0
- package/dist/cli/output/pretty.js +31 -0
- package/dist/cli/runtime/env.d.ts +12 -0
- package/dist/cli/runtime/env.js +55 -0
- package/dist/cli/runtime/exit.d.ts +11 -0
- package/dist/cli/runtime/exit.js +49 -0
- package/dist/cli/runtime/index.d.ts +6 -0
- package/dist/cli/runtime/index.js +22 -0
- package/dist/cli/runtime/lazy.d.ts +18 -0
- package/dist/cli/runtime/lazy.js +85 -0
- package/dist/cli/spec/cli-spec.d.ts +87 -0
- package/dist/cli/spec/cli-spec.js +551 -0
- package/dist/cli/spec/index.d.ts +4 -0
- package/dist/cli/spec/index.js +20 -0
- package/dist/db/index.d.ts +6 -0
- package/dist/db/index.js +75 -0
- package/dist/db/types.d.ts +42 -0
- package/dist/db/types.js +2 -0
- package/dist/eval/index.d.ts +61 -0
- package/dist/eval/index.js +157 -0
- package/dist/events/index.d.ts +84 -0
- package/dist/events/index.js +153 -0
- package/dist/guardrails/index.d.ts +82 -0
- package/dist/guardrails/index.js +202 -0
- package/dist/guardrails/llm-guardrail.d.ts +46 -0
- package/dist/guardrails/llm-guardrail.js +112 -0
- package/dist/index.d.ts +92 -0
- package/dist/index.js +608 -0
- package/dist/integrations/computer-use.d.ts +182 -0
- package/dist/integrations/computer-use.js +356 -0
- package/dist/integrations/index.d.ts +7 -0
- package/dist/integrations/index.js +26 -0
- package/dist/integrations/observability/base.d.ts +123 -0
- package/dist/integrations/observability/base.js +183 -0
- package/dist/integrations/observability/index.d.ts +8 -0
- package/dist/integrations/observability/index.js +29 -0
- package/dist/integrations/observability/langfuse.d.ts +32 -0
- package/dist/integrations/observability/langfuse.js +174 -0
- package/dist/integrations/postgres.d.ts +162 -0
- package/dist/integrations/postgres.js +396 -0
- package/dist/integrations/slack.d.ts +145 -0
- package/dist/integrations/slack.js +270 -0
- package/dist/integrations/vector/base.d.ts +110 -0
- package/dist/integrations/vector/base.js +158 -0
- package/dist/integrations/vector/chroma.d.ts +25 -0
- package/dist/integrations/vector/chroma.js +143 -0
- package/dist/integrations/vector/index.d.ts +14 -0
- package/dist/integrations/vector/index.js +37 -0
- package/dist/integrations/vector/pinecone.d.ts +28 -0
- package/dist/integrations/vector/pinecone.js +172 -0
- package/dist/integrations/vector/qdrant.d.ts +25 -0
- package/dist/integrations/vector/qdrant.js +146 -0
- package/dist/integrations/vector/weaviate.d.ts +30 -0
- package/dist/integrations/vector/weaviate.js +206 -0
- package/dist/integrations/voice/base.d.ts +76 -0
- package/dist/integrations/voice/base.js +168 -0
- package/dist/integrations/voice/index.d.ts +6 -0
- package/dist/integrations/voice/index.js +26 -0
- package/dist/knowledge/chunking.d.ts +55 -0
- package/dist/knowledge/chunking.js +158 -0
- package/dist/knowledge/graph-rag.d.ts +125 -0
- package/dist/knowledge/graph-rag.js +289 -0
- package/dist/knowledge/index.d.ts +24 -0
- package/dist/knowledge/index.js +47 -0
- package/dist/knowledge/knowledge.d.ts +0 -0
- package/dist/knowledge/knowledge.js +1 -0
- package/dist/knowledge/rag.d.ts +80 -0
- package/dist/knowledge/rag.js +147 -0
- package/dist/knowledge/reranker.d.ts +86 -0
- package/dist/knowledge/reranker.js +196 -0
- package/dist/llm/backend-resolver.d.ts +77 -0
- package/dist/llm/backend-resolver.js +242 -0
- package/dist/llm/embeddings.d.ts +66 -0
- package/dist/llm/embeddings.js +294 -0
- package/dist/llm/index.d.ts +29 -0
- package/dist/llm/index.js +33 -0
- package/dist/llm/llm.d.ts +0 -0
- package/dist/llm/llm.js +1 -0
- package/dist/llm/openai.d.ts +39 -0
- package/dist/llm/openai.js +302 -0
- package/dist/llm/providers/ai-sdk/adapter.d.ts +121 -0
- package/dist/llm/providers/ai-sdk/adapter.js +399 -0
- package/dist/llm/providers/ai-sdk/backend.d.ts +49 -0
- package/dist/llm/providers/ai-sdk/backend.js +421 -0
- package/dist/llm/providers/ai-sdk/index.d.ts +69 -0
- package/dist/llm/providers/ai-sdk/index.js +200 -0
- package/dist/llm/providers/ai-sdk/middleware.d.ts +60 -0
- package/dist/llm/providers/ai-sdk/middleware.js +262 -0
- package/dist/llm/providers/ai-sdk/provider-map.d.ts +75 -0
- package/dist/llm/providers/ai-sdk/provider-map.js +258 -0
- package/dist/llm/providers/ai-sdk/types.d.ts +217 -0
- package/dist/llm/providers/ai-sdk/types.js +222 -0
- package/dist/llm/providers/anthropic.d.ts +33 -0
- package/dist/llm/providers/anthropic.js +291 -0
- package/dist/llm/providers/base.d.ts +25 -0
- package/dist/llm/providers/base.js +43 -0
- package/dist/llm/providers/google.d.ts +27 -0
- package/dist/llm/providers/google.js +275 -0
- package/dist/llm/providers/index.d.ts +107 -0
- package/dist/llm/providers/index.js +216 -0
- package/dist/llm/providers/openai.d.ts +18 -0
- package/dist/llm/providers/openai.js +203 -0
- package/dist/llm/providers/registry.d.ts +159 -0
- package/dist/llm/providers/registry.js +279 -0
- package/dist/llm/providers/types.d.ts +94 -0
- package/dist/llm/providers/types.js +5 -0
- package/dist/main.d.ts +0 -0
- package/dist/main.js +1 -0
- package/dist/memory/auto-memory.d.ts +136 -0
- package/dist/memory/auto-memory.js +301 -0
- package/dist/memory/file-memory.d.ts +88 -0
- package/dist/memory/file-memory.js +287 -0
- package/dist/memory/index.d.ts +26 -0
- package/dist/memory/index.js +41 -0
- package/dist/memory/memory.d.ts +92 -0
- package/dist/memory/memory.js +170 -0
- package/dist/observability/adapters/console.d.ts +33 -0
- package/dist/observability/adapters/console.js +71 -0
- package/dist/observability/adapters/external/arize.d.ts +20 -0
- package/dist/observability/adapters/external/arize.js +22 -0
- package/dist/observability/adapters/external/axiom.d.ts +20 -0
- package/dist/observability/adapters/external/axiom.js +22 -0
- package/dist/observability/adapters/external/braintrust.d.ts +20 -0
- package/dist/observability/adapters/external/braintrust.js +22 -0
- package/dist/observability/adapters/external/helicone.d.ts +20 -0
- package/dist/observability/adapters/external/helicone.js +22 -0
- package/dist/observability/adapters/external/laminar.d.ts +20 -0
- package/dist/observability/adapters/external/laminar.js +22 -0
- package/dist/observability/adapters/external/langfuse.d.ts +28 -0
- package/dist/observability/adapters/external/langfuse.js +186 -0
- package/dist/observability/adapters/external/langsmith.d.ts +21 -0
- package/dist/observability/adapters/external/langsmith.js +83 -0
- package/dist/observability/adapters/external/langwatch.d.ts +20 -0
- package/dist/observability/adapters/external/langwatch.js +22 -0
- package/dist/observability/adapters/external/maxim.d.ts +20 -0
- package/dist/observability/adapters/external/maxim.js +22 -0
- package/dist/observability/adapters/external/patronus.d.ts +20 -0
- package/dist/observability/adapters/external/patronus.js +22 -0
- package/dist/observability/adapters/external/scorecard.d.ts +20 -0
- package/dist/observability/adapters/external/scorecard.js +22 -0
- package/dist/observability/adapters/external/signoz.d.ts +20 -0
- package/dist/observability/adapters/external/signoz.js +22 -0
- package/dist/observability/adapters/external/traceloop.d.ts +20 -0
- package/dist/observability/adapters/external/traceloop.js +22 -0
- package/dist/observability/adapters/external/weave.d.ts +20 -0
- package/dist/observability/adapters/external/weave.js +22 -0
- package/dist/observability/adapters/index.d.ts +19 -0
- package/dist/observability/adapters/index.js +289 -0
- package/dist/observability/adapters/memory.d.ts +41 -0
- package/dist/observability/adapters/memory.js +190 -0
- package/dist/observability/adapters/noop.d.ts +25 -0
- package/dist/observability/adapters/noop.js +64 -0
- package/dist/observability/index.d.ts +47 -0
- package/dist/observability/index.js +115 -0
- package/dist/observability/types.d.ts +165 -0
- package/dist/observability/types.js +165 -0
- package/dist/planning/index.d.ts +253 -0
- package/dist/planning/index.js +475 -0
- package/dist/process/index.d.ts +25 -0
- package/dist/process/index.js +37 -0
- package/dist/process/process.d.ts +0 -0
- package/dist/process/process.js +1 -0
- package/dist/session/index.d.ts +111 -0
- package/dist/session/index.js +250 -0
- package/dist/skills/index.d.ts +70 -0
- package/dist/skills/index.js +233 -0
- package/dist/task/index.d.ts +25 -0
- package/dist/task/index.js +32 -0
- package/dist/task/task.d.ts +0 -0
- package/dist/task/task.js +1 -0
- package/dist/telemetry/index.d.ts +175 -0
- package/dist/telemetry/index.js +287 -0
- package/dist/tools/arxivTools.d.ts +32 -0
- package/dist/tools/arxivTools.js +81 -0
- package/dist/tools/base.d.ts +97 -0
- package/dist/tools/base.js +147 -0
- package/dist/tools/builtins/airweave.d.ts +32 -0
- package/dist/tools/builtins/airweave.js +119 -0
- package/dist/tools/builtins/bedrock-agentcore.d.ts +62 -0
- package/dist/tools/builtins/bedrock-agentcore.js +233 -0
- package/dist/tools/builtins/code-execution.d.ts +36 -0
- package/dist/tools/builtins/code-execution.js +136 -0
- package/dist/tools/builtins/code-mode.d.ts +54 -0
- package/dist/tools/builtins/code-mode.js +167 -0
- package/dist/tools/builtins/custom.d.ts +42 -0
- package/dist/tools/builtins/custom.js +195 -0
- package/dist/tools/builtins/exa.d.ts +53 -0
- package/dist/tools/builtins/exa.js +112 -0
- package/dist/tools/builtins/firecrawl.d.ts +56 -0
- package/dist/tools/builtins/firecrawl.js +158 -0
- package/dist/tools/builtins/index.d.ts +45 -0
- package/dist/tools/builtins/index.js +180 -0
- package/dist/tools/builtins/parallel.d.ts +30 -0
- package/dist/tools/builtins/parallel.js +113 -0
- package/dist/tools/builtins/perplexity.d.ts +32 -0
- package/dist/tools/builtins/perplexity.js +113 -0
- package/dist/tools/builtins/superagent.d.ts +66 -0
- package/dist/tools/builtins/superagent.js +187 -0
- package/dist/tools/builtins/tavily.d.ts +99 -0
- package/dist/tools/builtins/tavily.js +285 -0
- package/dist/tools/builtins/valyu.d.ts +65 -0
- package/dist/tools/builtins/valyu.js +193 -0
- package/dist/tools/decorator.d.ts +91 -0
- package/dist/tools/decorator.js +165 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.js +36 -0
- package/dist/tools/mcpSse.d.ts +43 -0
- package/dist/tools/mcpSse.js +110 -0
- package/dist/tools/registry/index.d.ts +9 -0
- package/dist/tools/registry/index.js +28 -0
- package/dist/tools/registry/middleware.d.ts +43 -0
- package/dist/tools/registry/middleware.js +220 -0
- package/dist/tools/registry/registry.d.ts +92 -0
- package/dist/tools/registry/registry.js +280 -0
- package/dist/tools/registry/types.d.ts +217 -0
- package/dist/tools/registry/types.js +49 -0
- package/dist/tools/test.d.ts +0 -0
- package/dist/tools/test.js +1 -0
- package/dist/tools/tools.d.ts +74 -0
- package/dist/tools/tools.js +133 -0
- package/dist/utils/logger.d.ts +25 -0
- package/dist/utils/logger.js +149 -0
- package/dist/utils/pretty-logger.d.ts +21 -0
- package/dist/utils/pretty-logger.js +248 -0
- package/dist/workflows/index.d.ts +118 -0
- package/dist/workflows/index.js +247 -0
- package/dist/workflows/loop.d.ts +0 -0
- package/dist/workflows/loop.js +1 -0
- package/dist/workflows/yaml-parser.d.ts +48 -0
- package/dist/workflows/yaml-parser.js +304 -0
- package/package.json +119 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI SDK Tools Registry - Core Registry Implementation
|
|
3
|
+
*
|
|
4
|
+
* Singleton-safe registry for managing built-in and custom tools.
|
|
5
|
+
* Supports lazy loading, middleware, and multi-agent safety.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolMetadata, ToolFactory, PraisonTool, ToolHooks, ToolMiddleware, ToolInstallStatus } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Tools Registry - Manages tool registration, lookup, and instantiation
|
|
10
|
+
*/
|
|
11
|
+
export declare class ToolsRegistry {
|
|
12
|
+
private tools;
|
|
13
|
+
private middleware;
|
|
14
|
+
private hooks;
|
|
15
|
+
private installCache;
|
|
16
|
+
/**
|
|
17
|
+
* Register a tool with the registry
|
|
18
|
+
*/
|
|
19
|
+
register(metadata: ToolMetadata, factory: ToolFactory): this;
|
|
20
|
+
/**
|
|
21
|
+
* Unregister a tool
|
|
22
|
+
*/
|
|
23
|
+
unregister(id: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Check if a tool is registered
|
|
26
|
+
*/
|
|
27
|
+
has(id: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Get tool metadata
|
|
30
|
+
*/
|
|
31
|
+
getMetadata(id: string): ToolMetadata | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* List all registered tools
|
|
34
|
+
*/
|
|
35
|
+
list(): ToolMetadata[];
|
|
36
|
+
/**
|
|
37
|
+
* List tools by tag
|
|
38
|
+
*/
|
|
39
|
+
listByTag(tag: string): ToolMetadata[];
|
|
40
|
+
/**
|
|
41
|
+
* List tools by capability
|
|
42
|
+
*/
|
|
43
|
+
listByCapability(capability: keyof ToolMetadata['capabilities']): ToolMetadata[];
|
|
44
|
+
/**
|
|
45
|
+
* Create a tool instance (lazy loads the dependency)
|
|
46
|
+
*/
|
|
47
|
+
create<TConfig = unknown, TInput = unknown, TOutput = unknown>(id: string, config?: TConfig): PraisonTool<TInput, TOutput>;
|
|
48
|
+
/**
|
|
49
|
+
* Add middleware to the pipeline
|
|
50
|
+
*/
|
|
51
|
+
use(middleware: ToolMiddleware): this;
|
|
52
|
+
/**
|
|
53
|
+
* Set hooks
|
|
54
|
+
*/
|
|
55
|
+
setHooks(hooks: ToolHooks): this;
|
|
56
|
+
/**
|
|
57
|
+
* Check if a tool's optional dependency is installed
|
|
58
|
+
*/
|
|
59
|
+
checkInstalled(id: string): Promise<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* Check environment variables for a tool
|
|
62
|
+
*/
|
|
63
|
+
checkEnvVars(id: string): string[];
|
|
64
|
+
/**
|
|
65
|
+
* Get installation status for a tool
|
|
66
|
+
*/
|
|
67
|
+
getInstallStatus(id: string): Promise<ToolInstallStatus | null>;
|
|
68
|
+
/**
|
|
69
|
+
* Get installation status for all tools
|
|
70
|
+
*/
|
|
71
|
+
getAllInstallStatus(): Promise<ToolInstallStatus[]>;
|
|
72
|
+
/**
|
|
73
|
+
* Clear the registry
|
|
74
|
+
*/
|
|
75
|
+
clear(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Get the number of registered tools
|
|
78
|
+
*/
|
|
79
|
+
get size(): number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get the global tools registry (singleton)
|
|
83
|
+
*/
|
|
84
|
+
export declare function getToolsRegistry(): ToolsRegistry;
|
|
85
|
+
/**
|
|
86
|
+
* Create a new isolated registry (for testing or multi-agent scenarios)
|
|
87
|
+
*/
|
|
88
|
+
export declare function createToolsRegistry(): ToolsRegistry;
|
|
89
|
+
/**
|
|
90
|
+
* Reset the global registry (mainly for testing)
|
|
91
|
+
*/
|
|
92
|
+
export declare function resetToolsRegistry(): void;
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AI SDK Tools Registry - Core Registry Implementation
|
|
4
|
+
*
|
|
5
|
+
* Singleton-safe registry for managing built-in and custom tools.
|
|
6
|
+
* Supports lazy loading, middleware, and multi-agent safety.
|
|
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.ToolsRegistry = void 0;
|
|
43
|
+
exports.getToolsRegistry = getToolsRegistry;
|
|
44
|
+
exports.createToolsRegistry = createToolsRegistry;
|
|
45
|
+
exports.resetToolsRegistry = resetToolsRegistry;
|
|
46
|
+
/**
|
|
47
|
+
* Tools Registry - Manages tool registration, lookup, and instantiation
|
|
48
|
+
*/
|
|
49
|
+
class ToolsRegistry {
|
|
50
|
+
constructor() {
|
|
51
|
+
this.tools = new Map();
|
|
52
|
+
this.middleware = [];
|
|
53
|
+
this.hooks = {};
|
|
54
|
+
this.installCache = new Map();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Register a tool with the registry
|
|
58
|
+
*/
|
|
59
|
+
register(metadata, factory) {
|
|
60
|
+
this.tools.set(metadata.id, { metadata, factory });
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Unregister a tool
|
|
65
|
+
*/
|
|
66
|
+
unregister(id) {
|
|
67
|
+
return this.tools.delete(id);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Check if a tool is registered
|
|
71
|
+
*/
|
|
72
|
+
has(id) {
|
|
73
|
+
return this.tools.has(id);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get tool metadata
|
|
77
|
+
*/
|
|
78
|
+
getMetadata(id) {
|
|
79
|
+
return this.tools.get(id)?.metadata;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* List all registered tools
|
|
83
|
+
*/
|
|
84
|
+
list() {
|
|
85
|
+
return Array.from(this.tools.values()).map(t => t.metadata);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* List tools by tag
|
|
89
|
+
*/
|
|
90
|
+
listByTag(tag) {
|
|
91
|
+
return this.list().filter(t => t.tags.includes(tag));
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* List tools by capability
|
|
95
|
+
*/
|
|
96
|
+
listByCapability(capability) {
|
|
97
|
+
return this.list().filter(t => t.capabilities[capability]);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Create a tool instance (lazy loads the dependency)
|
|
101
|
+
*/
|
|
102
|
+
create(id, config) {
|
|
103
|
+
const registered = this.tools.get(id);
|
|
104
|
+
if (!registered) {
|
|
105
|
+
throw new Error(`Tool "${id}" is not registered. Available tools: ${this.list().map(t => t.id).join(', ')}`);
|
|
106
|
+
}
|
|
107
|
+
// Create the tool using the factory
|
|
108
|
+
const tool = registered.factory(config);
|
|
109
|
+
// Wrap execute with middleware and hooks
|
|
110
|
+
const originalExecute = tool.execute.bind(tool);
|
|
111
|
+
tool.execute = async (input, context) => {
|
|
112
|
+
const ctx = context || {};
|
|
113
|
+
// Call beforeToolCall hook
|
|
114
|
+
if (this.hooks.beforeToolCall) {
|
|
115
|
+
await this.hooks.beforeToolCall(tool.name, input, ctx);
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
// Build middleware chain
|
|
119
|
+
let result;
|
|
120
|
+
const executeWithMiddleware = async () => {
|
|
121
|
+
return originalExecute(input, ctx);
|
|
122
|
+
};
|
|
123
|
+
if (this.middleware.length === 0) {
|
|
124
|
+
result = await executeWithMiddleware();
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
// Chain middleware
|
|
128
|
+
let index = 0;
|
|
129
|
+
const next = async () => {
|
|
130
|
+
if (index < this.middleware.length) {
|
|
131
|
+
const mw = this.middleware[index++];
|
|
132
|
+
return mw(input, ctx, next);
|
|
133
|
+
}
|
|
134
|
+
return executeWithMiddleware();
|
|
135
|
+
};
|
|
136
|
+
result = await next();
|
|
137
|
+
}
|
|
138
|
+
// Call afterToolCall hook
|
|
139
|
+
if (this.hooks.afterToolCall) {
|
|
140
|
+
await this.hooks.afterToolCall(tool.name, input, result, ctx);
|
|
141
|
+
}
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
// Call onError hook
|
|
146
|
+
if (this.hooks.onError && error instanceof Error) {
|
|
147
|
+
await this.hooks.onError(tool.name, error, ctx);
|
|
148
|
+
}
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
return tool;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Add middleware to the pipeline
|
|
156
|
+
*/
|
|
157
|
+
use(middleware) {
|
|
158
|
+
this.middleware.push(middleware);
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Set hooks
|
|
163
|
+
*/
|
|
164
|
+
setHooks(hooks) {
|
|
165
|
+
this.hooks = { ...this.hooks, ...hooks };
|
|
166
|
+
return this;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Check if a tool's optional dependency is installed
|
|
170
|
+
*/
|
|
171
|
+
async checkInstalled(id) {
|
|
172
|
+
// Check cache first
|
|
173
|
+
if (this.installCache.has(id)) {
|
|
174
|
+
return this.installCache.get(id);
|
|
175
|
+
}
|
|
176
|
+
const registered = this.tools.get(id);
|
|
177
|
+
if (!registered) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
const { packageName } = registered.metadata;
|
|
181
|
+
try {
|
|
182
|
+
// Try to resolve the package
|
|
183
|
+
await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
184
|
+
this.installCache.set(id, true);
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
this.installCache.set(id, false);
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Check environment variables for a tool
|
|
194
|
+
*/
|
|
195
|
+
checkEnvVars(id) {
|
|
196
|
+
const registered = this.tools.get(id);
|
|
197
|
+
if (!registered) {
|
|
198
|
+
return [];
|
|
199
|
+
}
|
|
200
|
+
const missing = [];
|
|
201
|
+
for (const envVar of registered.metadata.requiredEnv) {
|
|
202
|
+
if (!process.env[envVar]) {
|
|
203
|
+
missing.push(envVar);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return missing;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Get installation status for a tool
|
|
210
|
+
*/
|
|
211
|
+
async getInstallStatus(id) {
|
|
212
|
+
const registered = this.tools.get(id);
|
|
213
|
+
if (!registered) {
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
const installed = await this.checkInstalled(id);
|
|
217
|
+
const missingEnvVars = this.checkEnvVars(id);
|
|
218
|
+
return {
|
|
219
|
+
id,
|
|
220
|
+
installed,
|
|
221
|
+
missingEnvVars,
|
|
222
|
+
installCommand: installed ? undefined : registered.metadata.install.npm,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Get installation status for all tools
|
|
227
|
+
*/
|
|
228
|
+
async getAllInstallStatus() {
|
|
229
|
+
const statuses = [];
|
|
230
|
+
for (const id of this.tools.keys()) {
|
|
231
|
+
const status = await this.getInstallStatus(id);
|
|
232
|
+
if (status) {
|
|
233
|
+
statuses.push(status);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return statuses;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Clear the registry
|
|
240
|
+
*/
|
|
241
|
+
clear() {
|
|
242
|
+
this.tools.clear();
|
|
243
|
+
this.middleware = [];
|
|
244
|
+
this.hooks = {};
|
|
245
|
+
this.installCache.clear();
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Get the number of registered tools
|
|
249
|
+
*/
|
|
250
|
+
get size() {
|
|
251
|
+
return this.tools.size;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
exports.ToolsRegistry = ToolsRegistry;
|
|
255
|
+
// Global registry instance
|
|
256
|
+
let globalRegistry = null;
|
|
257
|
+
/**
|
|
258
|
+
* Get the global tools registry (singleton)
|
|
259
|
+
*/
|
|
260
|
+
function getToolsRegistry() {
|
|
261
|
+
if (!globalRegistry) {
|
|
262
|
+
globalRegistry = new ToolsRegistry();
|
|
263
|
+
}
|
|
264
|
+
return globalRegistry;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Create a new isolated registry (for testing or multi-agent scenarios)
|
|
268
|
+
*/
|
|
269
|
+
function createToolsRegistry() {
|
|
270
|
+
return new ToolsRegistry();
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Reset the global registry (mainly for testing)
|
|
274
|
+
*/
|
|
275
|
+
function resetToolsRegistry() {
|
|
276
|
+
if (globalRegistry) {
|
|
277
|
+
globalRegistry.clear();
|
|
278
|
+
}
|
|
279
|
+
globalRegistry = null;
|
|
280
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI SDK Tools Registry - Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Standard interfaces for tool registration, execution, and middleware.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Tool execution context - passed to every tool call
|
|
8
|
+
*/
|
|
9
|
+
export interface ToolExecutionContext {
|
|
10
|
+
/** Unique identifier for the agent making the call */
|
|
11
|
+
agentId?: string;
|
|
12
|
+
/** Unique identifier for the current run/session */
|
|
13
|
+
runId?: string;
|
|
14
|
+
/** Trace ID for distributed tracing */
|
|
15
|
+
traceId?: string;
|
|
16
|
+
/** Abort signal for cancellation */
|
|
17
|
+
signal?: AbortSignal;
|
|
18
|
+
/** Logger instance */
|
|
19
|
+
logger?: ToolLogger;
|
|
20
|
+
/** Execution limits */
|
|
21
|
+
limits?: ToolLimits;
|
|
22
|
+
/** Redaction hooks for PII/sensitive data */
|
|
23
|
+
redaction?: RedactionHooks;
|
|
24
|
+
/** Additional metadata */
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Tool execution limits
|
|
29
|
+
*/
|
|
30
|
+
export interface ToolLimits {
|
|
31
|
+
/** Maximum execution time in milliseconds */
|
|
32
|
+
timeoutMs?: number;
|
|
33
|
+
/** Maximum payload size in bytes */
|
|
34
|
+
maxPayloadBytes?: number;
|
|
35
|
+
/** Maximum number of results */
|
|
36
|
+
maxResults?: number;
|
|
37
|
+
/** Allowed domains (for search/scrape tools) */
|
|
38
|
+
allowedDomains?: string[];
|
|
39
|
+
/** Blocked domains (for search/scrape tools) */
|
|
40
|
+
blockedDomains?: string[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Redaction hooks for sensitive data
|
|
44
|
+
*/
|
|
45
|
+
export interface RedactionHooks {
|
|
46
|
+
/** Redact input before tool execution */
|
|
47
|
+
redactInput?: (input: unknown) => unknown;
|
|
48
|
+
/** Redact output after tool execution */
|
|
49
|
+
redactOutput?: (output: unknown) => unknown;
|
|
50
|
+
/** Patterns to redact (regex strings) */
|
|
51
|
+
patterns?: string[];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Simple logger interface
|
|
55
|
+
*/
|
|
56
|
+
export interface ToolLogger {
|
|
57
|
+
debug: (message: string, ...args: unknown[]) => void;
|
|
58
|
+
info: (message: string, ...args: unknown[]) => void;
|
|
59
|
+
warn: (message: string, ...args: unknown[]) => void;
|
|
60
|
+
error: (message: string, ...args: unknown[]) => void;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Tool capability flags
|
|
64
|
+
*/
|
|
65
|
+
export interface ToolCapabilities {
|
|
66
|
+
search?: boolean;
|
|
67
|
+
extract?: boolean;
|
|
68
|
+
crawl?: boolean;
|
|
69
|
+
sandbox?: boolean;
|
|
70
|
+
browser?: boolean;
|
|
71
|
+
security?: boolean;
|
|
72
|
+
rag?: boolean;
|
|
73
|
+
code?: boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Install hints for different package managers
|
|
77
|
+
*/
|
|
78
|
+
export interface InstallHints {
|
|
79
|
+
npm: string;
|
|
80
|
+
pnpm: string;
|
|
81
|
+
yarn: string;
|
|
82
|
+
bun: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Tool metadata for registry
|
|
86
|
+
*/
|
|
87
|
+
export interface ToolMetadata {
|
|
88
|
+
/** Unique tool identifier (kebab-case) */
|
|
89
|
+
id: string;
|
|
90
|
+
/** Display name for UI */
|
|
91
|
+
displayName: string;
|
|
92
|
+
/** Tool description */
|
|
93
|
+
description: string;
|
|
94
|
+
/** Categorization tags */
|
|
95
|
+
tags: string[];
|
|
96
|
+
/** Required environment variables */
|
|
97
|
+
requiredEnv: string[];
|
|
98
|
+
/** Optional environment variables */
|
|
99
|
+
optionalEnv: string[];
|
|
100
|
+
/** Install commands for package managers */
|
|
101
|
+
install: InstallHints;
|
|
102
|
+
/** Documentation slug (relative path in docs) */
|
|
103
|
+
docsSlug: string;
|
|
104
|
+
/** Tool capabilities */
|
|
105
|
+
capabilities: ToolCapabilities;
|
|
106
|
+
/** NPM package name */
|
|
107
|
+
packageName: string;
|
|
108
|
+
/** Version constraint (semver) */
|
|
109
|
+
versionConstraint?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Tool execution result
|
|
113
|
+
*/
|
|
114
|
+
export interface ToolExecutionResult<T = unknown> {
|
|
115
|
+
/** Result data */
|
|
116
|
+
data: T;
|
|
117
|
+
/** Execution success */
|
|
118
|
+
success: boolean;
|
|
119
|
+
/** Error message if failed */
|
|
120
|
+
error?: string;
|
|
121
|
+
/** Execution duration in ms */
|
|
122
|
+
durationMs?: number;
|
|
123
|
+
/** Token/credit usage if applicable */
|
|
124
|
+
usage?: {
|
|
125
|
+
tokens?: number;
|
|
126
|
+
credits?: number;
|
|
127
|
+
};
|
|
128
|
+
/** Additional metadata */
|
|
129
|
+
metadata?: Record<string, unknown>;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Base interface for all PraisonAI tools
|
|
133
|
+
*/
|
|
134
|
+
export interface PraisonTool<TInput = unknown, TOutput = unknown> {
|
|
135
|
+
/** Tool name (used in function calling) */
|
|
136
|
+
name: string;
|
|
137
|
+
/** Tool description (used by LLM) */
|
|
138
|
+
description: string;
|
|
139
|
+
/** JSON Schema for parameters */
|
|
140
|
+
parameters: ToolParameterSchema;
|
|
141
|
+
/** Execute the tool */
|
|
142
|
+
execute: (input: TInput, context?: ToolExecutionContext) => Promise<TOutput>;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* JSON Schema for tool parameters
|
|
146
|
+
*/
|
|
147
|
+
export interface ToolParameterSchema {
|
|
148
|
+
type: 'object';
|
|
149
|
+
properties: Record<string, ToolParameterProperty>;
|
|
150
|
+
required?: string[];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Individual parameter property schema
|
|
154
|
+
*/
|
|
155
|
+
export interface ToolParameterProperty {
|
|
156
|
+
type: string;
|
|
157
|
+
description?: string;
|
|
158
|
+
enum?: string[];
|
|
159
|
+
default?: unknown;
|
|
160
|
+
items?: ToolParameterProperty;
|
|
161
|
+
properties?: Record<string, ToolParameterProperty>;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Middleware function type
|
|
165
|
+
*/
|
|
166
|
+
export type ToolMiddleware = (input: unknown, context: ToolExecutionContext, next: () => Promise<unknown>) => Promise<unknown>;
|
|
167
|
+
/**
|
|
168
|
+
* Before/after hook types
|
|
169
|
+
*/
|
|
170
|
+
export interface ToolHooks {
|
|
171
|
+
beforeToolCall?: (toolName: string, input: unknown, context: ToolExecutionContext) => Promise<void> | void;
|
|
172
|
+
afterToolCall?: (toolName: string, input: unknown, output: unknown, context: ToolExecutionContext) => Promise<void> | void;
|
|
173
|
+
onError?: (toolName: string, error: Error, context: ToolExecutionContext) => Promise<void> | void;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Tool factory function type
|
|
177
|
+
*/
|
|
178
|
+
export type ToolFactory<TConfig = unknown, TInput = unknown, TOutput = unknown> = (config?: TConfig) => PraisonTool<TInput, TOutput>;
|
|
179
|
+
/**
|
|
180
|
+
* Registered tool entry in the registry
|
|
181
|
+
*/
|
|
182
|
+
export interface RegisteredTool {
|
|
183
|
+
metadata: ToolMetadata;
|
|
184
|
+
factory: ToolFactory;
|
|
185
|
+
/** Whether the optional dependency is installed */
|
|
186
|
+
isInstalled?: boolean;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Tool installation status
|
|
190
|
+
*/
|
|
191
|
+
export interface ToolInstallStatus {
|
|
192
|
+
id: string;
|
|
193
|
+
installed: boolean;
|
|
194
|
+
version?: string;
|
|
195
|
+
missingEnvVars: string[];
|
|
196
|
+
installCommand?: string;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Error thrown when optional dependency is missing
|
|
200
|
+
*/
|
|
201
|
+
export declare class MissingDependencyError extends Error {
|
|
202
|
+
readonly toolId: string;
|
|
203
|
+
readonly packageName: string;
|
|
204
|
+
readonly installHints: InstallHints;
|
|
205
|
+
readonly requiredEnv: string[];
|
|
206
|
+
readonly docsSlug: string;
|
|
207
|
+
constructor(toolId: string, packageName: string, installHints: InstallHints, requiredEnv: string[], docsSlug: string);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Error thrown when required environment variable is missing
|
|
211
|
+
*/
|
|
212
|
+
export declare class MissingEnvVarError extends Error {
|
|
213
|
+
readonly toolId: string;
|
|
214
|
+
readonly envVar: string;
|
|
215
|
+
readonly docsSlug: string;
|
|
216
|
+
constructor(toolId: string, envVar: string, docsSlug: string);
|
|
217
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AI SDK Tools Registry - Type Definitions
|
|
4
|
+
*
|
|
5
|
+
* Standard interfaces for tool registration, execution, and middleware.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.MissingEnvVarError = exports.MissingDependencyError = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Error thrown when optional dependency is missing
|
|
11
|
+
*/
|
|
12
|
+
class MissingDependencyError extends Error {
|
|
13
|
+
constructor(toolId, packageName, installHints, requiredEnv, docsSlug) {
|
|
14
|
+
const installCmd = installHints.npm;
|
|
15
|
+
const envVarsMsg = requiredEnv.length > 0
|
|
16
|
+
? `\n\nRequired environment variables:\n${requiredEnv.map(v => ` - ${v}`).join('\n')}`
|
|
17
|
+
: '';
|
|
18
|
+
super(`Tool "${toolId}" requires package "${packageName}" which is not installed.\n\n` +
|
|
19
|
+
`To install:\n ${installCmd}\n` +
|
|
20
|
+
`Or with other package managers:\n` +
|
|
21
|
+
` pnpm: ${installHints.pnpm}\n` +
|
|
22
|
+
` yarn: ${installHints.yarn}\n` +
|
|
23
|
+
` bun: ${installHints.bun}` +
|
|
24
|
+
envVarsMsg +
|
|
25
|
+
`\n\nDocs: https://docs.praison.ai/js/${docsSlug}`);
|
|
26
|
+
this.toolId = toolId;
|
|
27
|
+
this.packageName = packageName;
|
|
28
|
+
this.installHints = installHints;
|
|
29
|
+
this.requiredEnv = requiredEnv;
|
|
30
|
+
this.docsSlug = docsSlug;
|
|
31
|
+
this.name = 'MissingDependencyError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.MissingDependencyError = MissingDependencyError;
|
|
35
|
+
/**
|
|
36
|
+
* Error thrown when required environment variable is missing
|
|
37
|
+
*/
|
|
38
|
+
class MissingEnvVarError extends Error {
|
|
39
|
+
constructor(toolId, envVar, docsSlug) {
|
|
40
|
+
super(`Tool "${toolId}" requires environment variable "${envVar}" which is not set.\n\n` +
|
|
41
|
+
`Set it in your environment or .env file:\n ${envVar}=your_value_here\n\n` +
|
|
42
|
+
`Docs: https://docs.praison.ai/js/${docsSlug}`);
|
|
43
|
+
this.toolId = toolId;
|
|
44
|
+
this.envVar = envVar;
|
|
45
|
+
this.docsSlug = docsSlug;
|
|
46
|
+
this.name = 'MissingEnvVarError';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.MissingEnvVarError = MissingEnvVarError;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|