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