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,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Vector command - Vector store management
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.execute = execute;
|
|
40
|
+
const json_1 = require("../output/json");
|
|
41
|
+
const pretty = __importStar(require("../output/pretty"));
|
|
42
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
43
|
+
const errors_1 = require("../output/errors");
|
|
44
|
+
async function execute(args, options) {
|
|
45
|
+
const action = args[0] || 'help';
|
|
46
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
47
|
+
try {
|
|
48
|
+
switch (action) {
|
|
49
|
+
case 'providers':
|
|
50
|
+
await listProviders(outputFormat);
|
|
51
|
+
break;
|
|
52
|
+
case 'info':
|
|
53
|
+
await showInfo(outputFormat);
|
|
54
|
+
break;
|
|
55
|
+
case 'help':
|
|
56
|
+
default:
|
|
57
|
+
await showHelp(outputFormat);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (outputFormat === 'json') {
|
|
63
|
+
(0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.UNKNOWN, error instanceof Error ? error.message : String(error)));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
await pretty.error(error instanceof Error ? error.message : String(error));
|
|
67
|
+
}
|
|
68
|
+
process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function showInfo(outputFormat) {
|
|
72
|
+
const info = {
|
|
73
|
+
feature: 'Vector Stores',
|
|
74
|
+
description: 'Vector database integrations for embeddings and similarity search',
|
|
75
|
+
providers: [
|
|
76
|
+
{ name: 'MemoryVectorStore', description: 'In-memory vector store for development' },
|
|
77
|
+
{ name: 'PineconeVectorStore', description: 'Pinecone cloud vector database' },
|
|
78
|
+
{ name: 'WeaviateVectorStore', description: 'Weaviate vector search engine' },
|
|
79
|
+
{ name: 'QdrantVectorStore', description: 'Qdrant vector database' },
|
|
80
|
+
{ name: 'ChromaVectorStore', description: 'ChromaDB embedding database' }
|
|
81
|
+
],
|
|
82
|
+
sdkUsage: `
|
|
83
|
+
import { createMemoryVectorStore, createPineconeStore } from 'praisonai';
|
|
84
|
+
|
|
85
|
+
// Create a memory vector store
|
|
86
|
+
const store = createMemoryVectorStore('my-store');
|
|
87
|
+
|
|
88
|
+
// Create index
|
|
89
|
+
await store.createIndex({ indexName: 'docs', dimension: 1536 });
|
|
90
|
+
|
|
91
|
+
// Upsert vectors
|
|
92
|
+
await store.upsert({
|
|
93
|
+
indexName: 'docs',
|
|
94
|
+
vectors: [{ id: '1', vector: [...], metadata: { text: 'Hello' } }]
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// Query
|
|
98
|
+
const results = await store.query({
|
|
99
|
+
indexName: 'docs',
|
|
100
|
+
vector: [...],
|
|
101
|
+
topK: 5
|
|
102
|
+
});
|
|
103
|
+
`
|
|
104
|
+
};
|
|
105
|
+
if (outputFormat === 'json') {
|
|
106
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(info));
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
await pretty.heading('Vector Stores');
|
|
110
|
+
await pretty.plain(info.description);
|
|
111
|
+
await pretty.newline();
|
|
112
|
+
await pretty.plain('Available Providers:');
|
|
113
|
+
for (const p of info.providers) {
|
|
114
|
+
await pretty.plain(` • ${p.name}: ${p.description}`);
|
|
115
|
+
}
|
|
116
|
+
await pretty.newline();
|
|
117
|
+
await pretty.dim('Use the SDK for full vector store functionality');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async function listProviders(outputFormat) {
|
|
121
|
+
const providers = [
|
|
122
|
+
{ name: 'memory', description: 'In-memory vector store (default)', available: true },
|
|
123
|
+
{ name: 'pinecone', description: 'Pinecone vector database', available: true },
|
|
124
|
+
{ name: 'weaviate', description: 'Weaviate vector database', available: true },
|
|
125
|
+
{ name: 'qdrant', description: 'Qdrant vector database', available: true },
|
|
126
|
+
{ name: 'chroma', description: 'ChromaDB vector database', available: true }
|
|
127
|
+
];
|
|
128
|
+
if (outputFormat === 'json') {
|
|
129
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)({ providers }));
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
await pretty.heading('Vector Store Providers');
|
|
133
|
+
for (const p of providers) {
|
|
134
|
+
const status = p.available ? '✓' : '✗';
|
|
135
|
+
await pretty.plain(` ${status} ${p.name.padEnd(15)} ${p.description}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function showHelp(outputFormat) {
|
|
140
|
+
const help = {
|
|
141
|
+
command: 'vector',
|
|
142
|
+
description: 'Vector store management for embeddings and similarity search',
|
|
143
|
+
subcommands: [
|
|
144
|
+
{ name: 'add <content>', description: 'Add document to vector store' },
|
|
145
|
+
{ name: 'search <query>', description: 'Search vector store' },
|
|
146
|
+
{ name: 'stats', description: 'Show vector store statistics' },
|
|
147
|
+
{ name: 'providers', description: 'List available vector store providers' },
|
|
148
|
+
{ name: 'help', description: 'Show this help' }
|
|
149
|
+
],
|
|
150
|
+
flags: [
|
|
151
|
+
{ name: '--store', description: 'Vector store provider (memory, pinecone, etc.)' }
|
|
152
|
+
]
|
|
153
|
+
};
|
|
154
|
+
if (outputFormat === 'json') {
|
|
155
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(help));
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
await pretty.heading('Vector Command');
|
|
159
|
+
await pretty.plain(help.description);
|
|
160
|
+
await pretty.newline();
|
|
161
|
+
await pretty.plain('Subcommands:');
|
|
162
|
+
for (const cmd of help.subcommands) {
|
|
163
|
+
await pretty.plain(` ${cmd.name.padEnd(25)} ${cmd.description}`);
|
|
164
|
+
}
|
|
165
|
+
await pretty.newline();
|
|
166
|
+
await pretty.plain('Flags:');
|
|
167
|
+
for (const flag of help.flags) {
|
|
168
|
+
await pretty.plain(` ${flag.name.padEnd(20)} ${flag.description}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Version command - Show CLI version
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.execute = execute;
|
|
7
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
8
|
+
const pretty_logger_1 = require("../../utils/pretty-logger");
|
|
9
|
+
function outputJson(data) {
|
|
10
|
+
console.log(JSON.stringify(data, null, 2));
|
|
11
|
+
}
|
|
12
|
+
function formatSuccess(data) {
|
|
13
|
+
return { success: true, data };
|
|
14
|
+
}
|
|
15
|
+
async function execute(args, options) {
|
|
16
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
17
|
+
// Load package.json for version
|
|
18
|
+
let packageVersion = '0.0.0';
|
|
19
|
+
try {
|
|
20
|
+
const pkg = require('../../../package.json');
|
|
21
|
+
packageVersion = pkg.version;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Fallback if package.json not found
|
|
25
|
+
}
|
|
26
|
+
const versionInfo = {
|
|
27
|
+
version: packageVersion,
|
|
28
|
+
cli_spec: cli_spec_1.CLI_SPEC_VERSION,
|
|
29
|
+
runtime: 'node',
|
|
30
|
+
node_version: process.version
|
|
31
|
+
};
|
|
32
|
+
if (outputFormat === 'json') {
|
|
33
|
+
outputJson(formatSuccess(versionInfo));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
await pretty_logger_1.PrettyLogger.plain(`overai v${packageVersion}`);
|
|
37
|
+
await pretty_logger_1.PrettyLogger.dim(`CLI Spec: v${cli_spec_1.CLI_SPEC_VERSION}`);
|
|
38
|
+
await pretty_logger_1.PrettyLogger.dim(`Node: ${process.version}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice command - Text-to-speech and speech-to-text
|
|
3
|
+
*/
|
|
4
|
+
export interface VoiceOptions {
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
output?: 'json' | 'text' | 'pretty';
|
|
7
|
+
json?: boolean;
|
|
8
|
+
provider?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function execute(args: string[], options: VoiceOptions): Promise<void>;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Voice command - Text-to-speech and speech-to-text
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.execute = execute;
|
|
40
|
+
const json_1 = require("../output/json");
|
|
41
|
+
const pretty = __importStar(require("../output/pretty"));
|
|
42
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
43
|
+
const errors_1 = require("../output/errors");
|
|
44
|
+
async function execute(args, options) {
|
|
45
|
+
const action = args[0] || 'help';
|
|
46
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
47
|
+
try {
|
|
48
|
+
switch (action) {
|
|
49
|
+
case 'providers':
|
|
50
|
+
await listProviders(outputFormat);
|
|
51
|
+
break;
|
|
52
|
+
case 'info':
|
|
53
|
+
await showInfo(outputFormat);
|
|
54
|
+
break;
|
|
55
|
+
case 'help':
|
|
56
|
+
default:
|
|
57
|
+
await showHelp(outputFormat);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (outputFormat === 'json') {
|
|
63
|
+
(0, json_1.outputJson)((0, json_1.formatError)(errors_1.ERROR_CODES.UNKNOWN, error instanceof Error ? error.message : String(error)));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
await pretty.error(error instanceof Error ? error.message : String(error));
|
|
67
|
+
}
|
|
68
|
+
process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function showInfo(outputFormat) {
|
|
72
|
+
const info = {
|
|
73
|
+
feature: 'Voice',
|
|
74
|
+
description: 'Text-to-speech and speech-to-text capabilities',
|
|
75
|
+
providers: [
|
|
76
|
+
{ name: 'OpenAIVoiceProvider', description: 'OpenAI TTS and Whisper' },
|
|
77
|
+
{ name: 'ElevenLabsVoiceProvider', description: 'ElevenLabs voice synthesis' }
|
|
78
|
+
],
|
|
79
|
+
capabilities: [
|
|
80
|
+
'Text-to-speech conversion',
|
|
81
|
+
'Speech-to-text transcription',
|
|
82
|
+
'Multiple voice options',
|
|
83
|
+
'Streaming audio support'
|
|
84
|
+
],
|
|
85
|
+
sdkUsage: `
|
|
86
|
+
import { createOpenAIVoice, createElevenLabsVoice } from 'praisonai';
|
|
87
|
+
|
|
88
|
+
// Create OpenAI voice provider
|
|
89
|
+
const voice = createOpenAIVoice({ apiKey: process.env.OPENAI_API_KEY });
|
|
90
|
+
|
|
91
|
+
// Text to speech
|
|
92
|
+
const audio = await voice.speak({ text: 'Hello world', voice: 'alloy' });
|
|
93
|
+
|
|
94
|
+
// Speech to text
|
|
95
|
+
const text = await voice.listen({ audio: audioBuffer });
|
|
96
|
+
`
|
|
97
|
+
};
|
|
98
|
+
if (outputFormat === 'json') {
|
|
99
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(info));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
await pretty.heading('Voice');
|
|
103
|
+
await pretty.plain(info.description);
|
|
104
|
+
await pretty.newline();
|
|
105
|
+
await pretty.plain('Providers:');
|
|
106
|
+
for (const p of info.providers) {
|
|
107
|
+
await pretty.plain(` • ${p.name}: ${p.description}`);
|
|
108
|
+
}
|
|
109
|
+
await pretty.newline();
|
|
110
|
+
await pretty.plain('Capabilities:');
|
|
111
|
+
for (const cap of info.capabilities) {
|
|
112
|
+
await pretty.plain(` • ${cap}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function listProviders(outputFormat) {
|
|
117
|
+
const providers = [
|
|
118
|
+
{ name: 'openai', description: 'OpenAI TTS and Whisper', available: true },
|
|
119
|
+
{ name: 'elevenlabs', description: 'ElevenLabs voice synthesis', available: true }
|
|
120
|
+
];
|
|
121
|
+
if (outputFormat === 'json') {
|
|
122
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)({ providers }));
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
await pretty.heading('Voice Providers');
|
|
126
|
+
for (const p of providers) {
|
|
127
|
+
const status = p.available ? '✓' : '✗';
|
|
128
|
+
await pretty.plain(` ${status} ${p.name.padEnd(15)} ${p.description}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async function showHelp(outputFormat) {
|
|
133
|
+
const help = {
|
|
134
|
+
command: 'voice',
|
|
135
|
+
description: 'Text-to-speech and speech-to-text capabilities',
|
|
136
|
+
subcommands: [
|
|
137
|
+
{ name: 'info', description: 'Show voice feature information' },
|
|
138
|
+
{ name: 'providers', description: 'List available voice providers' },
|
|
139
|
+
{ name: 'help', description: 'Show this help' }
|
|
140
|
+
],
|
|
141
|
+
flags: [
|
|
142
|
+
{ name: '--provider', description: 'Voice provider (openai, elevenlabs)' }
|
|
143
|
+
]
|
|
144
|
+
};
|
|
145
|
+
if (outputFormat === 'json') {
|
|
146
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)(help));
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
await pretty.heading('Voice Command');
|
|
150
|
+
await pretty.plain(help.description);
|
|
151
|
+
await pretty.newline();
|
|
152
|
+
await pretty.plain('Subcommands:');
|
|
153
|
+
for (const cmd of help.subcommands) {
|
|
154
|
+
await pretty.plain(` ${cmd.name.padEnd(20)} ${cmd.description}`);
|
|
155
|
+
}
|
|
156
|
+
await pretty.newline();
|
|
157
|
+
await pretty.plain('Flags:');
|
|
158
|
+
for (const flag of help.flags) {
|
|
159
|
+
await pretty.plain(` ${flag.name.padEnd(20)} ${flag.description}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow command - Execute a multi-agent workflow
|
|
3
|
+
*/
|
|
4
|
+
export interface WorkflowOptions {
|
|
5
|
+
parallel?: boolean;
|
|
6
|
+
model?: string;
|
|
7
|
+
verbose?: boolean;
|
|
8
|
+
profile?: string;
|
|
9
|
+
config?: string;
|
|
10
|
+
output?: 'json' | 'text' | 'pretty';
|
|
11
|
+
json?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function execute(args: string[], options: WorkflowOptions): Promise<void>;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Workflow command - Execute a multi-agent workflow
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.execute = execute;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const resolve_1 = require("../config/resolve");
|
|
43
|
+
const json_1 = require("../output/json");
|
|
44
|
+
const pretty = __importStar(require("../output/pretty"));
|
|
45
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
46
|
+
const errors_1 = require("../output/errors");
|
|
47
|
+
/**
|
|
48
|
+
* Simple YAML parser for workflow files
|
|
49
|
+
*/
|
|
50
|
+
function parseWorkflowYaml(content) {
|
|
51
|
+
const result = {};
|
|
52
|
+
const lines = content.split('\n');
|
|
53
|
+
let currentSection = null;
|
|
54
|
+
let currentItem = null;
|
|
55
|
+
let currentKey = null;
|
|
56
|
+
for (const line of lines) {
|
|
57
|
+
if (!line.trim() || line.trim().startsWith('#'))
|
|
58
|
+
continue;
|
|
59
|
+
const indent = line.search(/\S/);
|
|
60
|
+
const trimmed = line.trim();
|
|
61
|
+
// Top-level keys
|
|
62
|
+
if (indent === 0 && trimmed.includes(':')) {
|
|
63
|
+
const colonIdx = trimmed.indexOf(':');
|
|
64
|
+
const key = trimmed.slice(0, colonIdx).trim();
|
|
65
|
+
const value = trimmed.slice(colonIdx + 1).trim();
|
|
66
|
+
if (value) {
|
|
67
|
+
result[key] = value;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
currentSection = key;
|
|
71
|
+
if (key === 'agents')
|
|
72
|
+
result.agents = {};
|
|
73
|
+
if (key === 'steps')
|
|
74
|
+
result.steps = [];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else if (indent > 0 && currentSection) {
|
|
78
|
+
// Handle list items (steps)
|
|
79
|
+
if (trimmed.startsWith('- ')) {
|
|
80
|
+
if (currentSection === 'steps') {
|
|
81
|
+
currentItem = {};
|
|
82
|
+
result.steps.push(currentItem);
|
|
83
|
+
// Parse inline values after -
|
|
84
|
+
const afterDash = trimmed.slice(2).trim();
|
|
85
|
+
if (afterDash.includes(':')) {
|
|
86
|
+
const colonIdx = afterDash.indexOf(':');
|
|
87
|
+
const key = afterDash.slice(0, colonIdx).trim();
|
|
88
|
+
const value = afterDash.slice(colonIdx + 1).trim();
|
|
89
|
+
currentItem[key] = value;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else if (trimmed.includes(':') && currentItem) {
|
|
94
|
+
const colonIdx = trimmed.indexOf(':');
|
|
95
|
+
const key = trimmed.slice(0, colonIdx).trim();
|
|
96
|
+
const value = trimmed.slice(colonIdx + 1).trim();
|
|
97
|
+
currentItem[key] = value || [];
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
async function execute(args, options) {
|
|
104
|
+
const workflowFile = args[0];
|
|
105
|
+
if (!workflowFile) {
|
|
106
|
+
if (options.json || options.output === 'json') {
|
|
107
|
+
(0, json_1.printError)(errors_1.ERROR_CODES.MISSING_ARG, 'Please provide a workflow file path');
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
await pretty.error('Please provide a workflow file path');
|
|
111
|
+
}
|
|
112
|
+
process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
|
|
113
|
+
}
|
|
114
|
+
// Resolve config
|
|
115
|
+
const config = (0, resolve_1.resolveConfig)({
|
|
116
|
+
configPath: options.config,
|
|
117
|
+
profile: options.profile,
|
|
118
|
+
model: options.model,
|
|
119
|
+
verbose: options.verbose
|
|
120
|
+
});
|
|
121
|
+
const startTime = Date.now();
|
|
122
|
+
const outputFormat = options.json ? 'json' : (options.output || 'pretty');
|
|
123
|
+
try {
|
|
124
|
+
// Read and parse workflow file
|
|
125
|
+
const filePath = path.resolve(workflowFile);
|
|
126
|
+
if (!fs.existsSync(filePath)) {
|
|
127
|
+
throw new Error(`Workflow file not found: ${filePath}`);
|
|
128
|
+
}
|
|
129
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
130
|
+
const workflow = parseWorkflowYaml(content);
|
|
131
|
+
if (outputFormat !== 'json') {
|
|
132
|
+
await pretty.heading(`Executing workflow: ${workflow.name || 'Unnamed'}`);
|
|
133
|
+
if (workflow.description) {
|
|
134
|
+
await pretty.info(workflow.description);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Execute workflow steps
|
|
138
|
+
const results = {};
|
|
139
|
+
const steps = workflow.steps || [];
|
|
140
|
+
for (const step of steps) {
|
|
141
|
+
if (outputFormat !== 'json') {
|
|
142
|
+
await pretty.info(`Running step: ${step.name}`);
|
|
143
|
+
}
|
|
144
|
+
// For now, we'll simulate step execution
|
|
145
|
+
// In a full implementation, this would create agents and execute tasks
|
|
146
|
+
results[step.name] = {
|
|
147
|
+
status: 'completed',
|
|
148
|
+
output: `Step ${step.name} completed`
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
const duration = Date.now() - startTime;
|
|
152
|
+
if (outputFormat === 'json') {
|
|
153
|
+
(0, json_1.outputJson)((0, json_1.formatSuccess)({
|
|
154
|
+
workflow: workflow.name || 'Unnamed',
|
|
155
|
+
steps: steps.length,
|
|
156
|
+
results
|
|
157
|
+
}, {
|
|
158
|
+
duration_ms: duration,
|
|
159
|
+
model: config.model
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
await pretty.success(`Workflow completed in ${duration}ms`);
|
|
164
|
+
await pretty.newline();
|
|
165
|
+
await pretty.keyValue({
|
|
166
|
+
'Steps executed': steps.length,
|
|
167
|
+
'Duration': `${duration}ms`
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
const cliError = (0, errors_1.normalizeError)(error);
|
|
173
|
+
if (outputFormat === 'json') {
|
|
174
|
+
(0, json_1.outputJson)((0, json_1.formatError)(cliError.code, cliError.message, cliError.details));
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
await pretty.error(cliError.message);
|
|
178
|
+
if (config.verbose && error instanceof Error && error.stack) {
|
|
179
|
+
await pretty.dim(error.stack);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
process.exit(cliError.exitCode);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Config utilities index
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./schema"), exports);
|
|
21
|
+
__exportStar(require("./load"), exports);
|
|
22
|
+
__exportStar(require("./resolve"), exports);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config file loading
|
|
3
|
+
*/
|
|
4
|
+
import { FullConfig } from './schema';
|
|
5
|
+
export interface LoadConfigOptions {
|
|
6
|
+
configPath?: string;
|
|
7
|
+
cwd?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Load config from file
|
|
11
|
+
*/
|
|
12
|
+
export declare function loadConfigFile(filePath: string): FullConfig;
|
|
13
|
+
/**
|
|
14
|
+
* Load config with resolution order:
|
|
15
|
+
* 1. Explicit config path
|
|
16
|
+
* 2. Project config (current dir and parents)
|
|
17
|
+
* 3. User config (~/.praisonai.yaml)
|
|
18
|
+
* 4. Defaults
|
|
19
|
+
*/
|
|
20
|
+
export declare function loadConfig(options?: LoadConfigOptions): FullConfig;
|