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,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AutoAgents - Automatic agent generation from task descriptions
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AutoAgents = void 0;
|
|
7
|
+
exports.createAutoAgents = createAutoAgents;
|
|
8
|
+
const backend_resolver_1 = require("../llm/backend-resolver");
|
|
9
|
+
/**
|
|
10
|
+
* AutoAgents - Generate agent configurations from task descriptions
|
|
11
|
+
*/
|
|
12
|
+
class AutoAgents {
|
|
13
|
+
constructor(config = {}) {
|
|
14
|
+
this.provider = null;
|
|
15
|
+
this.providerPromise = null;
|
|
16
|
+
this.llmModel = config.llm || 'openai/gpt-4o-mini';
|
|
17
|
+
this.pattern = config.pattern || 'sequential';
|
|
18
|
+
this.singleAgent = config.singleAgent ?? false;
|
|
19
|
+
this.verbose = config.verbose ?? false;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get the LLM provider (lazy initialization with AI SDK backend)
|
|
23
|
+
*/
|
|
24
|
+
async getProvider() {
|
|
25
|
+
if (this.provider) {
|
|
26
|
+
return this.provider;
|
|
27
|
+
}
|
|
28
|
+
if (!this.providerPromise) {
|
|
29
|
+
this.providerPromise = (async () => {
|
|
30
|
+
const result = await (0, backend_resolver_1.resolveBackend)(this.llmModel, {
|
|
31
|
+
attribution: { agentId: 'AutoAgents' },
|
|
32
|
+
});
|
|
33
|
+
this.provider = result.provider;
|
|
34
|
+
return result.provider;
|
|
35
|
+
})();
|
|
36
|
+
}
|
|
37
|
+
return this.providerPromise;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Generate agent configuration from task description
|
|
41
|
+
*/
|
|
42
|
+
async generate(taskDescription) {
|
|
43
|
+
const prompt = this.buildPrompt(taskDescription);
|
|
44
|
+
const provider = await this.getProvider();
|
|
45
|
+
const result = await provider.generateText({
|
|
46
|
+
messages: [
|
|
47
|
+
{ role: 'system', content: this.getSystemPrompt() },
|
|
48
|
+
{ role: 'user', content: prompt }
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
return this.parseResponse(result.text);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Recommend a pattern for the task
|
|
55
|
+
*/
|
|
56
|
+
recommendPattern(taskDescription) {
|
|
57
|
+
const lower = taskDescription.toLowerCase();
|
|
58
|
+
if (lower.includes('parallel') || lower.includes('concurrent') || lower.includes('simultaneously')) {
|
|
59
|
+
return 'parallel';
|
|
60
|
+
}
|
|
61
|
+
if (lower.includes('route') || lower.includes('classify') || lower.includes('categorize')) {
|
|
62
|
+
return 'routing';
|
|
63
|
+
}
|
|
64
|
+
if (lower.includes('orchestrat') || lower.includes('coordinat') || lower.includes('manage')) {
|
|
65
|
+
return 'orchestrator-workers';
|
|
66
|
+
}
|
|
67
|
+
if (lower.includes('evaluat') || lower.includes('optimi') || lower.includes('improv')) {
|
|
68
|
+
return 'evaluator-optimizer';
|
|
69
|
+
}
|
|
70
|
+
return 'sequential';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Analyze task complexity
|
|
74
|
+
*/
|
|
75
|
+
analyzeComplexity(taskDescription) {
|
|
76
|
+
const words = taskDescription.split(/\s+/).length;
|
|
77
|
+
const hasMultipleSteps = /step|then|after|before|first|second|third|finally/i.test(taskDescription);
|
|
78
|
+
const hasMultipleAgents = /team|multiple|several|different|various/i.test(taskDescription);
|
|
79
|
+
if (words < 20 && !hasMultipleSteps && !hasMultipleAgents) {
|
|
80
|
+
return 'simple';
|
|
81
|
+
}
|
|
82
|
+
if (words > 100 || (hasMultipleSteps && hasMultipleAgents)) {
|
|
83
|
+
return 'complex';
|
|
84
|
+
}
|
|
85
|
+
return 'moderate';
|
|
86
|
+
}
|
|
87
|
+
getSystemPrompt() {
|
|
88
|
+
return `You are an AI agent architect. Your job is to analyze task descriptions and generate optimal agent configurations.
|
|
89
|
+
|
|
90
|
+
Output a JSON object with the following structure:
|
|
91
|
+
{
|
|
92
|
+
"agents": [
|
|
93
|
+
{
|
|
94
|
+
"name": "AgentName",
|
|
95
|
+
"role": "Role description",
|
|
96
|
+
"goal": "Agent's goal",
|
|
97
|
+
"backstory": "Optional backstory",
|
|
98
|
+
"instructions": "Specific instructions",
|
|
99
|
+
"tools": ["tool1", "tool2"]
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"tasks": [
|
|
103
|
+
{
|
|
104
|
+
"description": "Task description",
|
|
105
|
+
"expectedOutput": "What the task should produce",
|
|
106
|
+
"agent": "AgentName"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"pattern": "sequential|parallel|hierarchical"
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
Guidelines:
|
|
113
|
+
- For simple tasks, use 1 agent
|
|
114
|
+
- For moderate tasks, use 2-3 agents
|
|
115
|
+
- For complex tasks, use 3-5 agents
|
|
116
|
+
- Match the pattern to the task requirements
|
|
117
|
+
- Be specific about roles and goals`;
|
|
118
|
+
}
|
|
119
|
+
buildPrompt(taskDescription) {
|
|
120
|
+
const complexity = this.analyzeComplexity(taskDescription);
|
|
121
|
+
const recommendedPattern = this.recommendPattern(taskDescription);
|
|
122
|
+
return `Task Description: ${taskDescription}
|
|
123
|
+
|
|
124
|
+
Complexity: ${complexity}
|
|
125
|
+
Recommended Pattern: ${this.pattern || recommendedPattern}
|
|
126
|
+
Single Agent Mode: ${this.singleAgent}
|
|
127
|
+
|
|
128
|
+
Generate an optimal agent configuration for this task.`;
|
|
129
|
+
}
|
|
130
|
+
parseResponse(response) {
|
|
131
|
+
try {
|
|
132
|
+
// Extract JSON from response
|
|
133
|
+
const jsonMatch = response.match(/\{[\s\S]*\}/);
|
|
134
|
+
if (jsonMatch) {
|
|
135
|
+
return JSON.parse(jsonMatch[0]);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
// Fallback to default structure
|
|
140
|
+
}
|
|
141
|
+
// Default fallback
|
|
142
|
+
return {
|
|
143
|
+
agents: [{
|
|
144
|
+
name: 'GeneralAgent',
|
|
145
|
+
role: 'General purpose agent',
|
|
146
|
+
goal: 'Complete the assigned task',
|
|
147
|
+
instructions: 'Follow the task description carefully'
|
|
148
|
+
}],
|
|
149
|
+
tasks: [{
|
|
150
|
+
description: 'Complete the task',
|
|
151
|
+
agent: 'GeneralAgent'
|
|
152
|
+
}],
|
|
153
|
+
pattern: 'sequential'
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.AutoAgents = AutoAgents;
|
|
158
|
+
/**
|
|
159
|
+
* Create an AutoAgents instance
|
|
160
|
+
*/
|
|
161
|
+
function createAutoAgents(config) {
|
|
162
|
+
return new AutoAgents(config);
|
|
163
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache System - In-memory and persistent caching for agents
|
|
3
|
+
* Inspired by mastra's cache module
|
|
4
|
+
*/
|
|
5
|
+
export interface CacheConfig {
|
|
6
|
+
name?: string;
|
|
7
|
+
ttl?: number;
|
|
8
|
+
maxSize?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface CacheEntry<T = any> {
|
|
11
|
+
value: T;
|
|
12
|
+
createdAt: number;
|
|
13
|
+
expiresAt?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Abstract base class for cache implementations
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class BaseCache {
|
|
19
|
+
readonly name: string;
|
|
20
|
+
constructor(config?: CacheConfig);
|
|
21
|
+
abstract get<T = any>(key: string): Promise<T | undefined>;
|
|
22
|
+
abstract set<T = any>(key: string, value: T, ttl?: number): Promise<void>;
|
|
23
|
+
abstract delete(key: string): Promise<boolean>;
|
|
24
|
+
abstract clear(): Promise<void>;
|
|
25
|
+
abstract has(key: string): Promise<boolean>;
|
|
26
|
+
abstract keys(): Promise<string[]>;
|
|
27
|
+
abstract size(): Promise<number>;
|
|
28
|
+
abstract listPush<T = any>(key: string, value: T): Promise<void>;
|
|
29
|
+
abstract listLength(key: string): Promise<number>;
|
|
30
|
+
abstract listRange<T = any>(key: string, start: number, end?: number): Promise<T[]>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* In-memory cache implementation
|
|
34
|
+
*/
|
|
35
|
+
export declare class MemoryCache extends BaseCache {
|
|
36
|
+
private cache;
|
|
37
|
+
private lists;
|
|
38
|
+
private ttl?;
|
|
39
|
+
private maxSize?;
|
|
40
|
+
constructor(config?: CacheConfig);
|
|
41
|
+
get<T = any>(key: string): Promise<T | undefined>;
|
|
42
|
+
set<T = any>(key: string, value: T, ttl?: number): Promise<void>;
|
|
43
|
+
delete(key: string): Promise<boolean>;
|
|
44
|
+
clear(): Promise<void>;
|
|
45
|
+
has(key: string): Promise<boolean>;
|
|
46
|
+
keys(): Promise<string[]>;
|
|
47
|
+
size(): Promise<number>;
|
|
48
|
+
listPush<T = any>(key: string, value: T): Promise<void>;
|
|
49
|
+
listLength(key: string): Promise<number>;
|
|
50
|
+
listRange<T = any>(key: string, start: number, end?: number): Promise<T[]>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* File-based cache implementation
|
|
54
|
+
*/
|
|
55
|
+
export declare class FileCache extends BaseCache {
|
|
56
|
+
private cacheDir;
|
|
57
|
+
private fs;
|
|
58
|
+
private path;
|
|
59
|
+
constructor(config?: CacheConfig & {
|
|
60
|
+
cacheDir?: string;
|
|
61
|
+
});
|
|
62
|
+
private ensureDir;
|
|
63
|
+
private getFilePath;
|
|
64
|
+
get<T = any>(key: string): Promise<T | undefined>;
|
|
65
|
+
set<T = any>(key: string, value: T, ttl?: number): Promise<void>;
|
|
66
|
+
delete(key: string): Promise<boolean>;
|
|
67
|
+
clear(): Promise<void>;
|
|
68
|
+
has(key: string): Promise<boolean>;
|
|
69
|
+
keys(): Promise<string[]>;
|
|
70
|
+
size(): Promise<number>;
|
|
71
|
+
listPush<T = any>(key: string, value: T): Promise<void>;
|
|
72
|
+
listLength(key: string): Promise<number>;
|
|
73
|
+
listRange<T = any>(key: string, start: number, end?: number): Promise<T[]>;
|
|
74
|
+
}
|
|
75
|
+
export declare function createMemoryCache(config?: CacheConfig): MemoryCache;
|
|
76
|
+
export declare function createFileCache(config?: CacheConfig & {
|
|
77
|
+
cacheDir?: string;
|
|
78
|
+
}): FileCache;
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cache System - In-memory and persistent caching for agents
|
|
4
|
+
* Inspired by mastra's cache module
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.FileCache = exports.MemoryCache = exports.BaseCache = void 0;
|
|
41
|
+
exports.createMemoryCache = createMemoryCache;
|
|
42
|
+
exports.createFileCache = createFileCache;
|
|
43
|
+
/**
|
|
44
|
+
* Abstract base class for cache implementations
|
|
45
|
+
*/
|
|
46
|
+
class BaseCache {
|
|
47
|
+
constructor(config = {}) {
|
|
48
|
+
this.name = config.name || 'cache';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.BaseCache = BaseCache;
|
|
52
|
+
/**
|
|
53
|
+
* In-memory cache implementation
|
|
54
|
+
*/
|
|
55
|
+
class MemoryCache extends BaseCache {
|
|
56
|
+
constructor(config = {}) {
|
|
57
|
+
super(config);
|
|
58
|
+
this.cache = new Map();
|
|
59
|
+
this.lists = new Map();
|
|
60
|
+
this.ttl = config.ttl;
|
|
61
|
+
this.maxSize = config.maxSize;
|
|
62
|
+
}
|
|
63
|
+
async get(key) {
|
|
64
|
+
const entry = this.cache.get(key);
|
|
65
|
+
if (!entry)
|
|
66
|
+
return undefined;
|
|
67
|
+
// Check expiration
|
|
68
|
+
if (entry.expiresAt && Date.now() > entry.expiresAt) {
|
|
69
|
+
this.cache.delete(key);
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
return entry.value;
|
|
73
|
+
}
|
|
74
|
+
async set(key, value, ttl) {
|
|
75
|
+
// Enforce max size
|
|
76
|
+
if (this.maxSize && this.cache.size >= this.maxSize && !this.cache.has(key)) {
|
|
77
|
+
// Remove oldest entry
|
|
78
|
+
const firstKey = this.cache.keys().next().value;
|
|
79
|
+
if (firstKey)
|
|
80
|
+
this.cache.delete(firstKey);
|
|
81
|
+
}
|
|
82
|
+
const effectiveTtl = ttl ?? this.ttl;
|
|
83
|
+
const entry = {
|
|
84
|
+
value,
|
|
85
|
+
createdAt: Date.now(),
|
|
86
|
+
expiresAt: effectiveTtl ? Date.now() + effectiveTtl : undefined
|
|
87
|
+
};
|
|
88
|
+
this.cache.set(key, entry);
|
|
89
|
+
}
|
|
90
|
+
async delete(key) {
|
|
91
|
+
const existed = this.cache.has(key);
|
|
92
|
+
this.cache.delete(key);
|
|
93
|
+
this.lists.delete(key);
|
|
94
|
+
return existed;
|
|
95
|
+
}
|
|
96
|
+
async clear() {
|
|
97
|
+
this.cache.clear();
|
|
98
|
+
this.lists.clear();
|
|
99
|
+
}
|
|
100
|
+
async has(key) {
|
|
101
|
+
const entry = this.cache.get(key);
|
|
102
|
+
if (!entry)
|
|
103
|
+
return false;
|
|
104
|
+
if (entry.expiresAt && Date.now() > entry.expiresAt) {
|
|
105
|
+
this.cache.delete(key);
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
async keys() {
|
|
111
|
+
return Array.from(this.cache.keys());
|
|
112
|
+
}
|
|
113
|
+
async size() {
|
|
114
|
+
return this.cache.size;
|
|
115
|
+
}
|
|
116
|
+
async listPush(key, value) {
|
|
117
|
+
if (!this.lists.has(key)) {
|
|
118
|
+
this.lists.set(key, []);
|
|
119
|
+
}
|
|
120
|
+
this.lists.get(key).push(value);
|
|
121
|
+
}
|
|
122
|
+
async listLength(key) {
|
|
123
|
+
return this.lists.get(key)?.length ?? 0;
|
|
124
|
+
}
|
|
125
|
+
async listRange(key, start, end) {
|
|
126
|
+
const list = this.lists.get(key) ?? [];
|
|
127
|
+
return list.slice(start, end);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.MemoryCache = MemoryCache;
|
|
131
|
+
/**
|
|
132
|
+
* File-based cache implementation
|
|
133
|
+
*/
|
|
134
|
+
class FileCache extends BaseCache {
|
|
135
|
+
constructor(config = {}) {
|
|
136
|
+
super(config);
|
|
137
|
+
this.cacheDir = config.cacheDir || '.cache';
|
|
138
|
+
}
|
|
139
|
+
async ensureDir() {
|
|
140
|
+
if (!this.fs) {
|
|
141
|
+
this.fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
|
|
142
|
+
this.path = await Promise.resolve().then(() => __importStar(require('path')));
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
await this.fs.mkdir(this.cacheDir, { recursive: true });
|
|
146
|
+
}
|
|
147
|
+
catch { }
|
|
148
|
+
}
|
|
149
|
+
getFilePath(key) {
|
|
150
|
+
const safeKey = key.replace(/[^a-zA-Z0-9-_]/g, '_');
|
|
151
|
+
return this.path.join(this.cacheDir, `${safeKey}.json`);
|
|
152
|
+
}
|
|
153
|
+
async get(key) {
|
|
154
|
+
await this.ensureDir();
|
|
155
|
+
try {
|
|
156
|
+
const data = await this.fs.readFile(this.getFilePath(key), 'utf-8');
|
|
157
|
+
const entry = JSON.parse(data);
|
|
158
|
+
if (entry.expiresAt && Date.now() > entry.expiresAt) {
|
|
159
|
+
await this.delete(key);
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
return entry.value;
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
async set(key, value, ttl) {
|
|
169
|
+
await this.ensureDir();
|
|
170
|
+
const entry = {
|
|
171
|
+
value,
|
|
172
|
+
createdAt: Date.now(),
|
|
173
|
+
expiresAt: ttl ? Date.now() + ttl : undefined
|
|
174
|
+
};
|
|
175
|
+
await this.fs.writeFile(this.getFilePath(key), JSON.stringify(entry));
|
|
176
|
+
}
|
|
177
|
+
async delete(key) {
|
|
178
|
+
await this.ensureDir();
|
|
179
|
+
try {
|
|
180
|
+
await this.fs.unlink(this.getFilePath(key));
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
async clear() {
|
|
188
|
+
await this.ensureDir();
|
|
189
|
+
try {
|
|
190
|
+
const files = await this.fs.readdir(this.cacheDir);
|
|
191
|
+
await Promise.all(files.filter((f) => f.endsWith('.json'))
|
|
192
|
+
.map((f) => this.fs.unlink(this.path.join(this.cacheDir, f))));
|
|
193
|
+
}
|
|
194
|
+
catch { }
|
|
195
|
+
}
|
|
196
|
+
async has(key) {
|
|
197
|
+
return (await this.get(key)) !== undefined;
|
|
198
|
+
}
|
|
199
|
+
async keys() {
|
|
200
|
+
await this.ensureDir();
|
|
201
|
+
try {
|
|
202
|
+
const files = await this.fs.readdir(this.cacheDir);
|
|
203
|
+
return files
|
|
204
|
+
.filter((f) => f.endsWith('.json'))
|
|
205
|
+
.map((f) => f.replace('.json', ''));
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
return [];
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
async size() {
|
|
212
|
+
return (await this.keys()).length;
|
|
213
|
+
}
|
|
214
|
+
async listPush(key, value) {
|
|
215
|
+
const list = (await this.get(`list_${key}`)) || [];
|
|
216
|
+
list.push(value);
|
|
217
|
+
await this.set(`list_${key}`, list);
|
|
218
|
+
}
|
|
219
|
+
async listLength(key) {
|
|
220
|
+
const list = (await this.get(`list_${key}`)) || [];
|
|
221
|
+
return list.length;
|
|
222
|
+
}
|
|
223
|
+
async listRange(key, start, end) {
|
|
224
|
+
const list = (await this.get(`list_${key}`)) || [];
|
|
225
|
+
return list.slice(start, end);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
exports.FileCache = FileCache;
|
|
229
|
+
// Factory functions
|
|
230
|
+
function createMemoryCache(config) {
|
|
231
|
+
return new MemoryCache(config);
|
|
232
|
+
}
|
|
233
|
+
function createFileCache(config) {
|
|
234
|
+
return new FileCache(config);
|
|
235
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent command - Run a single agent with instructions
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* praisonai agent chat "Hello, how are you?"
|
|
6
|
+
* praisonai agent run --instructions "You are helpful" "Tell me a joke"
|
|
7
|
+
*/
|
|
8
|
+
export interface AgentOptions {
|
|
9
|
+
instructions?: string;
|
|
10
|
+
model?: string;
|
|
11
|
+
stream?: boolean;
|
|
12
|
+
verbose?: boolean;
|
|
13
|
+
profile?: string;
|
|
14
|
+
config?: string;
|
|
15
|
+
output?: 'json' | 'text' | 'pretty';
|
|
16
|
+
json?: boolean;
|
|
17
|
+
sessionId?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Execute agent chat subcommand
|
|
21
|
+
*/
|
|
22
|
+
export declare function executeChat(args: string[], options: AgentOptions): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Execute agent run subcommand (same as chat but requires instructions)
|
|
25
|
+
*/
|
|
26
|
+
export declare function executeRun(args: string[], options: AgentOptions): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Main execute function - routes to subcommands
|
|
29
|
+
*/
|
|
30
|
+
export declare function execute(args: string[], options: AgentOptions): Promise<void>;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent command - Run a single agent with instructions
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* praisonai agent chat "Hello, how are you?"
|
|
7
|
+
* praisonai agent run --instructions "You are helpful" "Tell me a joke"
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.executeChat = executeChat;
|
|
11
|
+
exports.executeRun = executeRun;
|
|
12
|
+
exports.execute = execute;
|
|
13
|
+
const agent_1 = require("../../agent");
|
|
14
|
+
const resolve_1 = require("../config/resolve");
|
|
15
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
16
|
+
const pretty_logger_1 = require("../../utils/pretty-logger");
|
|
17
|
+
const outputJson = (obj) => console.log(JSON.stringify(obj));
|
|
18
|
+
const formatSuccess = (data, meta) => meta ? { success: true, data, meta } : { success: true, data };
|
|
19
|
+
const formatError = (code, message, details) => details
|
|
20
|
+
? { success: false, error: { code, message, details } }
|
|
21
|
+
: { success: false, error: { code, message } };
|
|
22
|
+
const ERROR_CODES = {
|
|
23
|
+
INVALID_ARGS: 'INVALID_ARGUMENTS',
|
|
24
|
+
MISSING_ARG: 'MISSING_ARGUMENT',
|
|
25
|
+
UNKNOWN: 'UNKNOWN_ERROR',
|
|
26
|
+
};
|
|
27
|
+
function normalizeError(error) {
|
|
28
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
29
|
+
const details = error instanceof Error && error.stack ? { stack: error.stack } : undefined;
|
|
30
|
+
return { code: ERROR_CODES.UNKNOWN, message, details, exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR };
|
|
31
|
+
}
|
|
32
|
+
const pretty = {
|
|
33
|
+
success: pretty_logger_1.PrettyLogger.success,
|
|
34
|
+
error: pretty_logger_1.PrettyLogger.error,
|
|
35
|
+
info: pretty_logger_1.PrettyLogger.info,
|
|
36
|
+
dim: async (s) => console.log(s),
|
|
37
|
+
plain: async (s) => console.log(s),
|
|
38
|
+
heading: async (s) => console.log(s),
|
|
39
|
+
newline: async () => console.log(),
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Execute agent chat subcommand
|
|
43
|
+
*/
|
|
44
|
+
async function executeChat(args, options) {
|
|
45
|
+
const prompt = args[0];
|
|
46
|
+
if (!prompt) {
|
|
47
|
+
if (options.json || options.output === 'json') {
|
|
48
|
+
outputJson(formatError(ERROR_CODES.MISSING_ARG, 'Please provide a prompt'));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
await pretty.error('Please provide a prompt');
|
|
52
|
+
}
|
|
53
|
+
process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
|
|
54
|
+
}
|
|
55
|
+
const config = (0, resolve_1.resolveConfig)({
|
|
56
|
+
configPath: options.config,
|
|
57
|
+
profile: options.profile,
|
|
58
|
+
model: options.model,
|
|
59
|
+
verbose: options.verbose,
|
|
60
|
+
stream: options.stream
|
|
61
|
+
});
|
|
62
|
+
const startTime = Date.now();
|
|
63
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
64
|
+
try {
|
|
65
|
+
const agent = new agent_1.Agent({
|
|
66
|
+
instructions: options.instructions || 'You are a helpful AI assistant.',
|
|
67
|
+
llm: config.model,
|
|
68
|
+
stream: config.stream && outputFormat !== 'json',
|
|
69
|
+
verbose: config.verbose,
|
|
70
|
+
sessionId: options.sessionId
|
|
71
|
+
});
|
|
72
|
+
const response = await agent.chat(prompt);
|
|
73
|
+
const duration = Date.now() - startTime;
|
|
74
|
+
if (outputFormat === 'json') {
|
|
75
|
+
outputJson(formatSuccess({
|
|
76
|
+
response,
|
|
77
|
+
agent: agent.name,
|
|
78
|
+
sessionId: agent.getSessionId()
|
|
79
|
+
}, {
|
|
80
|
+
duration_ms: duration,
|
|
81
|
+
model: config.model
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
else if (outputFormat === 'text') {
|
|
85
|
+
console.log(response);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// Pretty output - response already printed if streaming
|
|
89
|
+
if (!config.stream) {
|
|
90
|
+
console.log(response);
|
|
91
|
+
}
|
|
92
|
+
console.log(); // Newline
|
|
93
|
+
await pretty.dim(`Completed in ${duration}ms`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
const cliError = normalizeError(error);
|
|
98
|
+
if (outputFormat === 'json') {
|
|
99
|
+
outputJson(formatError(cliError.code, cliError.message, cliError.details));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
await pretty.error(cliError.message);
|
|
103
|
+
if (config.verbose && error instanceof Error && error.stack) {
|
|
104
|
+
await pretty.dim(error.stack);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
process.exit(cliError.exitCode);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Execute agent run subcommand (same as chat but requires instructions)
|
|
112
|
+
*/
|
|
113
|
+
async function executeRun(args, options) {
|
|
114
|
+
if (!options.instructions) {
|
|
115
|
+
if (options.json || options.output === 'json') {
|
|
116
|
+
outputJson(formatError(ERROR_CODES.MISSING_ARG, 'Please provide --instructions'));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
await pretty.error('Please provide --instructions');
|
|
120
|
+
}
|
|
121
|
+
process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
|
|
122
|
+
}
|
|
123
|
+
return executeChat(args, options);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Main execute function - routes to subcommands
|
|
127
|
+
*/
|
|
128
|
+
async function execute(args, options) {
|
|
129
|
+
const subcommand = args[0];
|
|
130
|
+
const subArgs = args.slice(1);
|
|
131
|
+
switch (subcommand) {
|
|
132
|
+
case 'chat':
|
|
133
|
+
return executeChat(subArgs, options);
|
|
134
|
+
case 'run':
|
|
135
|
+
return executeRun(subArgs, options);
|
|
136
|
+
default:
|
|
137
|
+
// If no subcommand, treat the first arg as a prompt for chat
|
|
138
|
+
if (subcommand) {
|
|
139
|
+
return executeChat(args, options);
|
|
140
|
+
}
|
|
141
|
+
if (options.json || options.output === 'json') {
|
|
142
|
+
outputJson(formatError(ERROR_CODES.MISSING_ARG, 'Please provide a subcommand (chat, run) or a prompt'));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
await pretty.error('Usage: overai agent [chat|run] <prompt>');
|
|
146
|
+
await pretty.info(' agent chat "Hello" - Chat with default agent');
|
|
147
|
+
await pretty.info(' agent run --instructions "..." "Hello" - Run with custom instructions');
|
|
148
|
+
}
|
|
149
|
+
process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agents command - Run multi-agent orchestration
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* overai agents run --agents "researcher,writer" "Research AI trends"
|
|
6
|
+
*/
|
|
7
|
+
export interface AgentsOptions {
|
|
8
|
+
agents?: string;
|
|
9
|
+
process?: 'sequential' | 'parallel';
|
|
10
|
+
model?: string;
|
|
11
|
+
verbose?: boolean;
|
|
12
|
+
profile?: string;
|
|
13
|
+
config?: string;
|
|
14
|
+
output?: 'json' | 'text' | 'pretty';
|
|
15
|
+
json?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Execute agents run subcommand
|
|
19
|
+
*/
|
|
20
|
+
export declare function executeRun(args: string[], options: AgentsOptions): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Main execute function - routes to subcommands
|
|
23
|
+
*/
|
|
24
|
+
export declare function execute(args: string[], options: AgentsOptions): Promise<void>;
|