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
package/dist/ai/mcp.js
ADDED
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP (Model Context Protocol) - AI SDK Wrapper
|
|
4
|
+
*
|
|
5
|
+
* Provides MCP client utilities for connecting to MCP servers and using their tools.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.createMCP = createMCP;
|
|
42
|
+
exports.getMCPClient = getMCPClient;
|
|
43
|
+
exports.closeMCPClient = closeMCPClient;
|
|
44
|
+
exports.closeAllMCPClients = closeAllMCPClients;
|
|
45
|
+
exports.mcpToolsToAITools = mcpToolsToAITools;
|
|
46
|
+
// Connection pool for MCP clients
|
|
47
|
+
const clientPool = new Map();
|
|
48
|
+
/**
|
|
49
|
+
* Create an MCP client.
|
|
50
|
+
*
|
|
51
|
+
* @example Stdio transport (local server)
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const client = await createMCP({
|
|
54
|
+
* transport: {
|
|
55
|
+
* type: 'stdio',
|
|
56
|
+
* command: 'npx',
|
|
57
|
+
* args: ['-y', '@modelcontextprotocol/server-filesystem', '/path/to/dir']
|
|
58
|
+
* }
|
|
59
|
+
* });
|
|
60
|
+
*
|
|
61
|
+
* const tools = await client.tools();
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @example SSE transport (remote server)
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const client = await createMCP({
|
|
67
|
+
* transport: {
|
|
68
|
+
* type: 'sse',
|
|
69
|
+
* url: 'https://mcp-server.example.com/sse'
|
|
70
|
+
* }
|
|
71
|
+
* });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
async function createMCP(config) {
|
|
75
|
+
// Try to use AI SDK MCP client (optional dependency)
|
|
76
|
+
try {
|
|
77
|
+
// @ts-ignore - Optional dependency
|
|
78
|
+
const mcpModule = await Promise.resolve().then(() => __importStar(require('@ai-sdk/mcp')));
|
|
79
|
+
const transport = createTransport(config.transport);
|
|
80
|
+
const client = await mcpModule.createMCPClient({
|
|
81
|
+
transport,
|
|
82
|
+
name: config.name,
|
|
83
|
+
version: config.version,
|
|
84
|
+
onUncaughtError: config.onUncaughtError,
|
|
85
|
+
});
|
|
86
|
+
return {
|
|
87
|
+
tools: async () => {
|
|
88
|
+
const toolSet = await client.tools();
|
|
89
|
+
return toolSet;
|
|
90
|
+
},
|
|
91
|
+
listResources: async () => {
|
|
92
|
+
const result = await client.listResources();
|
|
93
|
+
return result.resources || [];
|
|
94
|
+
},
|
|
95
|
+
readResource: async (uri) => {
|
|
96
|
+
const result = await client.readResource({ uri });
|
|
97
|
+
return result.contents?.[0] || { uri };
|
|
98
|
+
},
|
|
99
|
+
listPrompts: async () => {
|
|
100
|
+
const result = await client.listPrompts();
|
|
101
|
+
return result.prompts || [];
|
|
102
|
+
},
|
|
103
|
+
getPrompt: async (name, args) => {
|
|
104
|
+
const result = await client.getPrompt({ name, arguments: args });
|
|
105
|
+
return result;
|
|
106
|
+
},
|
|
107
|
+
close: async () => {
|
|
108
|
+
await client.close();
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
// Fall back to native implementation
|
|
114
|
+
return createNativeMCPClient(config);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Create transport configuration for AI SDK MCP.
|
|
119
|
+
*/
|
|
120
|
+
function createTransport(config) {
|
|
121
|
+
switch (config.type) {
|
|
122
|
+
case 'stdio':
|
|
123
|
+
return {
|
|
124
|
+
type: 'stdio',
|
|
125
|
+
command: config.command,
|
|
126
|
+
args: config.args,
|
|
127
|
+
env: config.env,
|
|
128
|
+
};
|
|
129
|
+
case 'sse':
|
|
130
|
+
return {
|
|
131
|
+
type: 'sse',
|
|
132
|
+
url: config.url,
|
|
133
|
+
headers: config.headers,
|
|
134
|
+
authProvider: config.authProvider,
|
|
135
|
+
};
|
|
136
|
+
case 'http':
|
|
137
|
+
return {
|
|
138
|
+
type: 'http',
|
|
139
|
+
url: config.url,
|
|
140
|
+
headers: config.headers,
|
|
141
|
+
authProvider: config.authProvider,
|
|
142
|
+
};
|
|
143
|
+
case 'websocket':
|
|
144
|
+
return {
|
|
145
|
+
type: 'websocket',
|
|
146
|
+
url: config.url,
|
|
147
|
+
headers: config.headers,
|
|
148
|
+
};
|
|
149
|
+
default:
|
|
150
|
+
throw new Error(`Unknown transport type: ${config.type}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Native MCP client implementation (fallback).
|
|
155
|
+
*/
|
|
156
|
+
async function createNativeMCPClient(config) {
|
|
157
|
+
// This is a simplified native implementation
|
|
158
|
+
// In production, this would use the @modelcontextprotocol/sdk directly
|
|
159
|
+
const tools = {};
|
|
160
|
+
const resources = [];
|
|
161
|
+
const prompts = [];
|
|
162
|
+
return {
|
|
163
|
+
tools: async () => tools,
|
|
164
|
+
listResources: async () => resources,
|
|
165
|
+
readResource: async (uri) => ({ uri }),
|
|
166
|
+
listPrompts: async () => prompts,
|
|
167
|
+
getPrompt: async (name) => ({ messages: [] }),
|
|
168
|
+
close: async () => { },
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get or create a pooled MCP client.
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* const client = await getMCPClient('filesystem', {
|
|
177
|
+
* transport: { type: 'stdio', command: 'npx', args: ['-y', '@mcp/server-fs'] }
|
|
178
|
+
* });
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
async function getMCPClient(key, config) {
|
|
182
|
+
if (clientPool.has(key)) {
|
|
183
|
+
return clientPool.get(key);
|
|
184
|
+
}
|
|
185
|
+
const client = await createMCP(config);
|
|
186
|
+
clientPool.set(key, client);
|
|
187
|
+
return client;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Close and remove a pooled MCP client.
|
|
191
|
+
*/
|
|
192
|
+
async function closeMCPClient(key) {
|
|
193
|
+
const client = clientPool.get(key);
|
|
194
|
+
if (client) {
|
|
195
|
+
await client.close();
|
|
196
|
+
clientPool.delete(key);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Close all pooled MCP clients.
|
|
201
|
+
*/
|
|
202
|
+
async function closeAllMCPClients() {
|
|
203
|
+
for (const [key, client] of clientPool) {
|
|
204
|
+
await client.close();
|
|
205
|
+
clientPool.delete(key);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Convert MCP tools to AI SDK tool format.
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* const client = await createMCP({ ... });
|
|
214
|
+
* const mcpTools = await client.tools();
|
|
215
|
+
* const aiTools = mcpToolsToAITools(mcpTools);
|
|
216
|
+
*
|
|
217
|
+
* const result = await generateText({
|
|
218
|
+
* model: 'gpt-4o',
|
|
219
|
+
* prompt: 'List files in the current directory',
|
|
220
|
+
* tools: aiTools
|
|
221
|
+
* });
|
|
222
|
+
* ```
|
|
223
|
+
*/
|
|
224
|
+
function mcpToolsToAITools(mcpTools) {
|
|
225
|
+
const aiTools = {};
|
|
226
|
+
for (const [name, tool] of Object.entries(mcpTools)) {
|
|
227
|
+
aiTools[name] = {
|
|
228
|
+
description: tool.description || `MCP tool: ${name}`,
|
|
229
|
+
parameters: tool.inputSchema,
|
|
230
|
+
execute: tool.execute,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
return aiTools;
|
|
234
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Middleware - AI SDK Wrapper
|
|
3
|
+
*
|
|
4
|
+
* Provides middleware utilities for caching, logging, and model wrapping.
|
|
5
|
+
*/
|
|
6
|
+
export interface Middleware {
|
|
7
|
+
/** Middleware name */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Transform request before sending */
|
|
10
|
+
transformRequest?: (request: MiddlewareRequest) => Promise<MiddlewareRequest> | MiddlewareRequest;
|
|
11
|
+
/** Transform response after receiving */
|
|
12
|
+
transformResponse?: (response: MiddlewareResponse) => Promise<MiddlewareResponse> | MiddlewareResponse;
|
|
13
|
+
/** Handle errors */
|
|
14
|
+
onError?: (error: Error) => Promise<void> | void;
|
|
15
|
+
}
|
|
16
|
+
export interface MiddlewareRequest {
|
|
17
|
+
model: string;
|
|
18
|
+
prompt?: string;
|
|
19
|
+
messages?: any[];
|
|
20
|
+
system?: string;
|
|
21
|
+
tools?: Record<string, any>;
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}
|
|
24
|
+
export interface MiddlewareResponse {
|
|
25
|
+
text?: string;
|
|
26
|
+
object?: any;
|
|
27
|
+
toolCalls?: any[];
|
|
28
|
+
usage?: {
|
|
29
|
+
promptTokens: number;
|
|
30
|
+
completionTokens: number;
|
|
31
|
+
totalTokens: number;
|
|
32
|
+
};
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
}
|
|
35
|
+
export interface MiddlewareConfig {
|
|
36
|
+
/** Enable caching */
|
|
37
|
+
cache?: boolean;
|
|
38
|
+
/** Cache TTL in seconds */
|
|
39
|
+
cacheTTL?: number;
|
|
40
|
+
/** Enable logging */
|
|
41
|
+
logging?: boolean;
|
|
42
|
+
/** Log level */
|
|
43
|
+
logLevel?: 'debug' | 'info' | 'warn' | 'error';
|
|
44
|
+
/** Custom middlewares */
|
|
45
|
+
middlewares?: Middleware[];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a caching middleware.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const cachingMiddleware = createCachingMiddleware({
|
|
53
|
+
* ttl: 3600, // 1 hour
|
|
54
|
+
* keyGenerator: (request) => `${request.model}:${request.prompt}`
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function createCachingMiddleware(options?: {
|
|
59
|
+
ttl?: number;
|
|
60
|
+
keyGenerator?: (request: MiddlewareRequest) => string;
|
|
61
|
+
storage?: {
|
|
62
|
+
get: (key: string) => Promise<any>;
|
|
63
|
+
set: (key: string, value: any, ttl?: number) => Promise<void>;
|
|
64
|
+
};
|
|
65
|
+
}): Middleware;
|
|
66
|
+
/**
|
|
67
|
+
* Create a logging middleware.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const loggingMiddleware = createLoggingMiddleware({
|
|
72
|
+
* level: 'debug',
|
|
73
|
+
* onRequest: (request) => console.log('Request:', request),
|
|
74
|
+
* onResponse: (response) => console.log('Response:', response)
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function createLoggingMiddleware(options?: {
|
|
79
|
+
level?: 'debug' | 'info' | 'warn' | 'error';
|
|
80
|
+
onRequest?: (request: MiddlewareRequest) => void;
|
|
81
|
+
onResponse?: (response: MiddlewareResponse) => void;
|
|
82
|
+
onError?: (error: Error) => void;
|
|
83
|
+
}): Middleware;
|
|
84
|
+
/**
|
|
85
|
+
* Wrap a model with middleware.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const wrappedModel = wrapModel(model, [
|
|
90
|
+
* createCachingMiddleware(),
|
|
91
|
+
* createLoggingMiddleware()
|
|
92
|
+
* ]);
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare function wrapModel(model: any, middlewares: Middleware[]): any;
|
|
96
|
+
/**
|
|
97
|
+
* Apply middleware to a request/response cycle.
|
|
98
|
+
*/
|
|
99
|
+
export declare function applyMiddleware(middlewares: Middleware[], request: MiddlewareRequest, execute: (req: MiddlewareRequest) => Promise<MiddlewareResponse>): Promise<MiddlewareResponse>;
|
|
100
|
+
/**
|
|
101
|
+
* Clear the response cache.
|
|
102
|
+
*/
|
|
103
|
+
export declare function clearCache(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Get cache statistics.
|
|
106
|
+
*/
|
|
107
|
+
export declare function getCacheStats(): {
|
|
108
|
+
size: number;
|
|
109
|
+
keys: string[];
|
|
110
|
+
};
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Middleware - AI SDK Wrapper
|
|
4
|
+
*
|
|
5
|
+
* Provides middleware utilities for caching, logging, and model wrapping.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.createCachingMiddleware = createCachingMiddleware;
|
|
9
|
+
exports.createLoggingMiddleware = createLoggingMiddleware;
|
|
10
|
+
exports.wrapModel = wrapModel;
|
|
11
|
+
exports.applyMiddleware = applyMiddleware;
|
|
12
|
+
exports.clearCache = clearCache;
|
|
13
|
+
exports.getCacheStats = getCacheStats;
|
|
14
|
+
// In-memory cache for middleware
|
|
15
|
+
const responseCache = new Map();
|
|
16
|
+
/**
|
|
17
|
+
* Create a caching middleware.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const cachingMiddleware = createCachingMiddleware({
|
|
22
|
+
* ttl: 3600, // 1 hour
|
|
23
|
+
* keyGenerator: (request) => `${request.model}:${request.prompt}`
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
function createCachingMiddleware(options) {
|
|
28
|
+
const ttl = options?.ttl ?? 3600;
|
|
29
|
+
const keyGenerator = options?.keyGenerator ?? defaultKeyGenerator;
|
|
30
|
+
const storage = options?.storage;
|
|
31
|
+
return {
|
|
32
|
+
name: 'caching',
|
|
33
|
+
transformRequest: async (request) => {
|
|
34
|
+
const key = keyGenerator(request);
|
|
35
|
+
if (storage) {
|
|
36
|
+
const cached = await storage.get(key);
|
|
37
|
+
if (cached) {
|
|
38
|
+
request.__cached = cached;
|
|
39
|
+
request.__cacheHit = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const cached = responseCache.get(key);
|
|
44
|
+
if (cached && Date.now() - cached.timestamp < ttl * 1000) {
|
|
45
|
+
request.__cached = cached.response;
|
|
46
|
+
request.__cacheHit = true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
request.__cacheKey = key;
|
|
50
|
+
return request;
|
|
51
|
+
},
|
|
52
|
+
transformResponse: async (response) => {
|
|
53
|
+
const key = response.__cacheKey;
|
|
54
|
+
if (key && !response.__cacheHit) {
|
|
55
|
+
if (storage) {
|
|
56
|
+
await storage.set(key, response, ttl);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
responseCache.set(key, { response, timestamp: Date.now() });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return response;
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a logging middleware.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const loggingMiddleware = createLoggingMiddleware({
|
|
72
|
+
* level: 'debug',
|
|
73
|
+
* onRequest: (request) => console.log('Request:', request),
|
|
74
|
+
* onResponse: (response) => console.log('Response:', response)
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
function createLoggingMiddleware(options) {
|
|
79
|
+
const level = options?.level ?? 'info';
|
|
80
|
+
const log = (msg, data) => {
|
|
81
|
+
const timestamp = new Date().toISOString();
|
|
82
|
+
console[level](`[${timestamp}] ${msg}`, data ?? '');
|
|
83
|
+
};
|
|
84
|
+
return {
|
|
85
|
+
name: 'logging',
|
|
86
|
+
transformRequest: async (request) => {
|
|
87
|
+
log('AI Request', { model: request.model, hasPrompt: !!request.prompt, hasMessages: !!request.messages });
|
|
88
|
+
options?.onRequest?.(request);
|
|
89
|
+
return request;
|
|
90
|
+
},
|
|
91
|
+
transformResponse: async (response) => {
|
|
92
|
+
log('AI Response', { hasText: !!response.text, hasObject: !!response.object, usage: response.usage });
|
|
93
|
+
options?.onResponse?.(response);
|
|
94
|
+
return response;
|
|
95
|
+
},
|
|
96
|
+
onError: async (error) => {
|
|
97
|
+
log('AI Error', { message: error.message });
|
|
98
|
+
options?.onError?.(error);
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Wrap a model with middleware.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const wrappedModel = wrapModel(model, [
|
|
108
|
+
* createCachingMiddleware(),
|
|
109
|
+
* createLoggingMiddleware()
|
|
110
|
+
* ]);
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
function wrapModel(model, middlewares) {
|
|
114
|
+
// This is a placeholder - actual implementation would wrap the model's
|
|
115
|
+
// doGenerate and doStream methods with middleware transformations
|
|
116
|
+
return {
|
|
117
|
+
...model,
|
|
118
|
+
__middlewares: middlewares,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Apply middleware to a request/response cycle.
|
|
123
|
+
*/
|
|
124
|
+
async function applyMiddleware(middlewares, request, execute) {
|
|
125
|
+
// Transform request through all middlewares
|
|
126
|
+
let transformedRequest = request;
|
|
127
|
+
for (const middleware of middlewares) {
|
|
128
|
+
if (middleware.transformRequest) {
|
|
129
|
+
transformedRequest = await middleware.transformRequest(transformedRequest);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Check for cache hit
|
|
133
|
+
if (transformedRequest.__cacheHit) {
|
|
134
|
+
return transformedRequest.__cached;
|
|
135
|
+
}
|
|
136
|
+
// Execute the actual request
|
|
137
|
+
let response;
|
|
138
|
+
try {
|
|
139
|
+
response = await execute(transformedRequest);
|
|
140
|
+
response.__cacheKey = transformedRequest.__cacheKey;
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
// Handle errors through middlewares
|
|
144
|
+
for (const middleware of middlewares) {
|
|
145
|
+
if (middleware.onError) {
|
|
146
|
+
await middleware.onError(error);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
// Transform response through all middlewares (in reverse order)
|
|
152
|
+
let transformedResponse = response;
|
|
153
|
+
for (const middleware of [...middlewares].reverse()) {
|
|
154
|
+
if (middleware.transformResponse) {
|
|
155
|
+
transformedResponse = await middleware.transformResponse(transformedResponse);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return transformedResponse;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Default cache key generator.
|
|
162
|
+
*/
|
|
163
|
+
function defaultKeyGenerator(request) {
|
|
164
|
+
const parts = [
|
|
165
|
+
request.model,
|
|
166
|
+
request.prompt || '',
|
|
167
|
+
JSON.stringify(request.messages || []),
|
|
168
|
+
request.system || '',
|
|
169
|
+
];
|
|
170
|
+
return parts.join(':').slice(0, 256);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Clear the response cache.
|
|
174
|
+
*/
|
|
175
|
+
function clearCache() {
|
|
176
|
+
responseCache.clear();
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get cache statistics.
|
|
180
|
+
*/
|
|
181
|
+
function getCacheStats() {
|
|
182
|
+
return {
|
|
183
|
+
size: responseCache.size,
|
|
184
|
+
keys: Array.from(responseCache.keys()),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Models - AI SDK Wrapper
|
|
3
|
+
*
|
|
4
|
+
* Provides model aliases and utilities for model resolution.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Model aliases for common models across providers.
|
|
8
|
+
* Maps friendly names to provider/model format.
|
|
9
|
+
*/
|
|
10
|
+
export declare const MODEL_ALIASES: Record<string, string>;
|
|
11
|
+
export type ModelId = keyof typeof MODEL_ALIASES | string;
|
|
12
|
+
export interface ModelConfig {
|
|
13
|
+
/** Provider name */
|
|
14
|
+
provider: string;
|
|
15
|
+
/** Model ID */
|
|
16
|
+
modelId: string;
|
|
17
|
+
/** Original model string */
|
|
18
|
+
original: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parse a model string into provider and model ID.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* parseModel('gpt-4o') // { provider: 'openai', modelId: 'gpt-4o', original: 'gpt-4o' }
|
|
26
|
+
* parseModel('anthropic/claude-3-sonnet') // { provider: 'anthropic', modelId: 'claude-3-sonnet', original: 'anthropic/claude-3-sonnet' }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function parseModel(model: ModelId): ModelConfig;
|
|
30
|
+
/**
|
|
31
|
+
* Get a model instance from a model string.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const model = await getModel('gpt-4o');
|
|
36
|
+
* const result = await generateText({ model, prompt: 'Hello' });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function getModel(model: ModelId): Promise<any>;
|
|
40
|
+
/**
|
|
41
|
+
* Create a model with custom configuration.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const model = await createModel('gpt-4o', {
|
|
46
|
+
* baseURL: 'https://custom-endpoint.com/v1',
|
|
47
|
+
* apiKey: 'custom-key'
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function createModel(model: ModelId, options?: {
|
|
52
|
+
baseURL?: string;
|
|
53
|
+
apiKey?: string;
|
|
54
|
+
headers?: Record<string, string>;
|
|
55
|
+
}): Promise<any>;
|
|
56
|
+
/**
|
|
57
|
+
* List all available model aliases.
|
|
58
|
+
*/
|
|
59
|
+
export declare function listModelAliases(): string[];
|
|
60
|
+
/**
|
|
61
|
+
* Check if a model alias exists.
|
|
62
|
+
*/
|
|
63
|
+
export declare function hasModelAlias(alias: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Resolve a model alias to its full provider/model format.
|
|
66
|
+
*/
|
|
67
|
+
export declare function resolveModelAlias(alias: string): string;
|