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,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* OverAI TypeScript CLI
|
|
4
|
+
* Implements CLI Spec v1.0.0
|
|
5
|
+
*
|
|
6
|
+
* Binary: overai-ts
|
|
7
|
+
* Package: overai (npm)
|
|
8
|
+
*/
|
|
9
|
+
import { CLI_SPEC_VERSION } from './spec/cli-spec';
|
|
10
|
+
export interface ParsedArgs {
|
|
11
|
+
command: string;
|
|
12
|
+
subcommand?: string;
|
|
13
|
+
args: string[];
|
|
14
|
+
options: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Parse command line arguments according to CLI spec
|
|
18
|
+
*/
|
|
19
|
+
declare function parseArgs(argv: string[]): ParsedArgs;
|
|
20
|
+
/**
|
|
21
|
+
* Load and execute a command (lazy loading)
|
|
22
|
+
*/
|
|
23
|
+
declare function executeCommand(parsed: ParsedArgs): Promise<void>;
|
|
24
|
+
export { parseArgs, executeCommand, CLI_SPEC_VERSION };
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* OverAI TypeScript CLI
|
|
5
|
+
* Implements CLI Spec v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* Binary: overai-ts
|
|
8
|
+
* Package: overai (npm)
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
27
|
+
var ownKeys = function(o) {
|
|
28
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29
|
+
var ar = [];
|
|
30
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
return ownKeys(o);
|
|
34
|
+
};
|
|
35
|
+
return function (mod) {
|
|
36
|
+
if (mod && mod.__esModule) return mod;
|
|
37
|
+
var result = {};
|
|
38
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
39
|
+
__setModuleDefault(result, mod);
|
|
40
|
+
return result;
|
|
41
|
+
};
|
|
42
|
+
})();
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.CLI_SPEC_VERSION = void 0;
|
|
45
|
+
exports.parseArgs = parseArgs;
|
|
46
|
+
exports.executeCommand = executeCommand;
|
|
47
|
+
const cli_spec_1 = require("./spec/cli-spec");
|
|
48
|
+
Object.defineProperty(exports, "CLI_SPEC_VERSION", { enumerable: true, get: function () { return cli_spec_1.CLI_SPEC_VERSION; } });
|
|
49
|
+
function outputJson(data) {
|
|
50
|
+
console.log(JSON.stringify(data, null, 2));
|
|
51
|
+
}
|
|
52
|
+
function formatError(code, message, details) {
|
|
53
|
+
return details !== undefined
|
|
54
|
+
? { success: false, error: { code, message }, details }
|
|
55
|
+
: { success: false, error: { code, message } };
|
|
56
|
+
}
|
|
57
|
+
const ERROR_CODES = {
|
|
58
|
+
INVALID_ARGS: 'INVALID_ARGS',
|
|
59
|
+
UNKNOWN_ERROR: 'UNKNOWN_ERROR',
|
|
60
|
+
};
|
|
61
|
+
function normalizeError(error) {
|
|
62
|
+
if (error && typeof error === 'object') {
|
|
63
|
+
const anyErr = error;
|
|
64
|
+
const code = anyErr.code || ERROR_CODES.UNKNOWN_ERROR;
|
|
65
|
+
const message = anyErr.message || String(error);
|
|
66
|
+
const exitCode = typeof anyErr.exitCode === 'number' ? anyErr.exitCode : cli_spec_1.EXIT_CODES.RUNTIME_ERROR;
|
|
67
|
+
const details = anyErr.details;
|
|
68
|
+
return { code, message, exitCode, details };
|
|
69
|
+
}
|
|
70
|
+
if (error instanceof Error) {
|
|
71
|
+
return { code: ERROR_CODES.UNKNOWN_ERROR, message: error.message, exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR, details: { stack: error.stack } };
|
|
72
|
+
}
|
|
73
|
+
return { code: ERROR_CODES.UNKNOWN_ERROR, message: String(error), exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Parse command line arguments according to CLI spec
|
|
77
|
+
*/
|
|
78
|
+
function parseArgs(argv) {
|
|
79
|
+
const result = {
|
|
80
|
+
command: 'help',
|
|
81
|
+
args: [],
|
|
82
|
+
options: {}
|
|
83
|
+
};
|
|
84
|
+
let i = 0;
|
|
85
|
+
let foundCommand = false;
|
|
86
|
+
while (i < argv.length) {
|
|
87
|
+
const arg = argv[i];
|
|
88
|
+
if (arg.startsWith('--')) {
|
|
89
|
+
// Long flag
|
|
90
|
+
const flagName = arg.slice(2);
|
|
91
|
+
const nextArg = argv[i + 1];
|
|
92
|
+
// Check if it's a boolean flag or has a value
|
|
93
|
+
if (!nextArg || nextArg.startsWith('-')) {
|
|
94
|
+
result.options[flagName] = true;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
result.options[flagName] = nextArg;
|
|
98
|
+
i++;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else if (arg.startsWith('-') && arg.length === 2) {
|
|
102
|
+
// Short flag
|
|
103
|
+
const shortFlag = arg.slice(1);
|
|
104
|
+
const nextArg = argv[i + 1];
|
|
105
|
+
// Find the corresponding long flag name from global flags and command-specific flags
|
|
106
|
+
const globalFlag = cli_spec_1.GLOBAL_FLAGS.find(f => f.short === shortFlag);
|
|
107
|
+
// Also check command-specific flags (e.g., -m for model in chat command)
|
|
108
|
+
const commandShortFlags = {
|
|
109
|
+
'm': 'model',
|
|
110
|
+
's': 'stream',
|
|
111
|
+
'a': 'agent',
|
|
112
|
+
't': 'tools'
|
|
113
|
+
};
|
|
114
|
+
const flagName = globalFlag?.name || commandShortFlags[shortFlag] || shortFlag;
|
|
115
|
+
if (!nextArg || nextArg.startsWith('-')) {
|
|
116
|
+
result.options[flagName] = true;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
result.options[flagName] = nextArg;
|
|
120
|
+
i++;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else if (!foundCommand) {
|
|
124
|
+
// First non-flag argument is the command
|
|
125
|
+
result.command = arg;
|
|
126
|
+
foundCommand = true;
|
|
127
|
+
}
|
|
128
|
+
else if (!result.subcommand && cli_spec_1.COMMANDS[result.command]?.subcommands) {
|
|
129
|
+
// Check if this is a subcommand
|
|
130
|
+
const cmdSpec = cli_spec_1.COMMANDS[result.command];
|
|
131
|
+
if (cmdSpec.subcommands && arg in cmdSpec.subcommands) {
|
|
132
|
+
result.subcommand = arg;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
result.args.push(arg);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// Positional argument
|
|
140
|
+
result.args.push(arg);
|
|
141
|
+
}
|
|
142
|
+
i++;
|
|
143
|
+
}
|
|
144
|
+
// Handle --json shorthand
|
|
145
|
+
if (result.options.json) {
|
|
146
|
+
result.options.output = 'json';
|
|
147
|
+
}
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Load and execute a command (lazy loading)
|
|
152
|
+
*/
|
|
153
|
+
async function executeCommand(parsed) {
|
|
154
|
+
const { command, subcommand, args, options } = parsed;
|
|
155
|
+
// Validate command exists
|
|
156
|
+
if (!(0, cli_spec_1.validateCommand)(command)) {
|
|
157
|
+
const isJson = options.output === 'json' || options.json;
|
|
158
|
+
if (isJson) {
|
|
159
|
+
outputJson(formatError(ERROR_CODES.INVALID_ARGS, `Unknown command: ${command}`));
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
console.error(`Error: Unknown command '${command}'`);
|
|
163
|
+
console.error('Run "praisonai-ts help" for available commands');
|
|
164
|
+
}
|
|
165
|
+
process.exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
|
|
166
|
+
}
|
|
167
|
+
// Lazy load the command module
|
|
168
|
+
try {
|
|
169
|
+
const commandModule = await Promise.resolve(`${`./commands/${command}`}`).then(s => __importStar(require(s)));
|
|
170
|
+
// Pass subcommand as first arg if present
|
|
171
|
+
const commandArgs = subcommand ? [subcommand, ...args] : args;
|
|
172
|
+
await commandModule.execute(commandArgs, options);
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
const cliError = normalizeError(error);
|
|
176
|
+
const isJson = options.output === 'json' || options.json;
|
|
177
|
+
if (isJson) {
|
|
178
|
+
outputJson(formatError(cliError.code, cliError.message, cliError.details));
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
console.error(`Error: ${cliError.message}`);
|
|
182
|
+
if (options.verbose && error instanceof Error && error.stack) {
|
|
183
|
+
console.error(error.stack);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
process.exit(cliError.exitCode);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Main CLI entry point
|
|
191
|
+
*/
|
|
192
|
+
async function main() {
|
|
193
|
+
const argv = process.argv.slice(2);
|
|
194
|
+
// Fast path for version
|
|
195
|
+
if (argv.length === 0 || argv[0] === '--help' || argv[0] === '-h') {
|
|
196
|
+
const helpModule = await Promise.resolve().then(() => __importStar(require('./commands/help')));
|
|
197
|
+
await helpModule.execute([], {});
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (argv[0] === '--version') {
|
|
201
|
+
const versionModule = await Promise.resolve().then(() => __importStar(require('./commands/version')));
|
|
202
|
+
await versionModule.execute([], {});
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const parsed = parseArgs(argv);
|
|
206
|
+
await executeCommand(parsed);
|
|
207
|
+
}
|
|
208
|
+
// Run CLI if executed directly
|
|
209
|
+
if (require.main === module) {
|
|
210
|
+
main().catch((error) => {
|
|
211
|
+
console.error('Fatal error:', error.message);
|
|
212
|
+
process.exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
|
|
213
|
+
});
|
|
214
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const ERROR_CODES: {
|
|
2
|
+
INVALID_ARGS: string;
|
|
3
|
+
MISSING_ARG: string;
|
|
4
|
+
UNKNOWN_ERROR: string;
|
|
5
|
+
RUNTIME_ERROR: string;
|
|
6
|
+
CONFIG_ERROR: string;
|
|
7
|
+
NOT_FOUND: string;
|
|
8
|
+
UNAUTHORIZED: string;
|
|
9
|
+
RATE_LIMIT: string;
|
|
10
|
+
SERVER_ERROR: string;
|
|
11
|
+
TIMEOUT: string;
|
|
12
|
+
ABORTED: string;
|
|
13
|
+
PROVIDER_ERROR: string;
|
|
14
|
+
MODEL_ERROR: string;
|
|
15
|
+
TOOL_ERROR: string;
|
|
16
|
+
UNKNOWN: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function normalizeError(error: unknown): {
|
|
19
|
+
code: string;
|
|
20
|
+
message: string;
|
|
21
|
+
exitCode: number;
|
|
22
|
+
details?: any;
|
|
23
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERROR_CODES = void 0;
|
|
4
|
+
exports.normalizeError = normalizeError;
|
|
5
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
6
|
+
exports.ERROR_CODES = {
|
|
7
|
+
INVALID_ARGS: 'INVALID_ARGS',
|
|
8
|
+
MISSING_ARG: 'MISSING_ARG',
|
|
9
|
+
UNKNOWN_ERROR: 'UNKNOWN_ERROR',
|
|
10
|
+
RUNTIME_ERROR: 'RUNTIME_ERROR',
|
|
11
|
+
CONFIG_ERROR: 'CONFIG_ERROR',
|
|
12
|
+
NOT_FOUND: 'NOT_FOUND',
|
|
13
|
+
UNAUTHORIZED: 'UNAUTHORIZED',
|
|
14
|
+
RATE_LIMIT: 'RATE_LIMIT',
|
|
15
|
+
SERVER_ERROR: 'SERVER_ERROR',
|
|
16
|
+
TIMEOUT: 'TIMEOUT',
|
|
17
|
+
ABORTED: 'ABORTED',
|
|
18
|
+
PROVIDER_ERROR: 'PROVIDER_ERROR',
|
|
19
|
+
MODEL_ERROR: 'MODEL_ERROR',
|
|
20
|
+
TOOL_ERROR: 'TOOL_ERROR',
|
|
21
|
+
UNKNOWN: 'UNKNOWN_ERROR', // Alias for UNKNOWN_ERROR
|
|
22
|
+
};
|
|
23
|
+
function normalizeError(error) {
|
|
24
|
+
if (error && typeof error === 'object') {
|
|
25
|
+
const anyErr = error;
|
|
26
|
+
const code = anyErr.code || exports.ERROR_CODES.UNKNOWN_ERROR;
|
|
27
|
+
const message = anyErr.message || String(error);
|
|
28
|
+
const exitCode = typeof anyErr.exitCode === 'number' ? anyErr.exitCode : cli_spec_1.EXIT_CODES.RUNTIME_ERROR;
|
|
29
|
+
const details = anyErr.details;
|
|
30
|
+
return { code, message, exitCode, details };
|
|
31
|
+
}
|
|
32
|
+
if (error instanceof Error) {
|
|
33
|
+
return { code: exports.ERROR_CODES.UNKNOWN_ERROR, message: error.message, exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR, details: { stack: error.stack } };
|
|
34
|
+
}
|
|
35
|
+
return { code: exports.ERROR_CODES.UNKNOWN_ERROR, message: String(error), exitCode: cli_spec_1.EXIT_CODES.RUNTIME_ERROR };
|
|
36
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare function outputJson(data: any): void;
|
|
2
|
+
export declare function formatSuccess(data: any, meta?: any): {
|
|
3
|
+
success: boolean;
|
|
4
|
+
data: any;
|
|
5
|
+
meta: any;
|
|
6
|
+
} | {
|
|
7
|
+
success: boolean;
|
|
8
|
+
data: any;
|
|
9
|
+
meta?: undefined;
|
|
10
|
+
};
|
|
11
|
+
export declare function formatError(code: string, message: string, details?: any): {
|
|
12
|
+
success: boolean;
|
|
13
|
+
error: {
|
|
14
|
+
code: string;
|
|
15
|
+
message: string;
|
|
16
|
+
};
|
|
17
|
+
details: any;
|
|
18
|
+
} | {
|
|
19
|
+
success: boolean;
|
|
20
|
+
error: {
|
|
21
|
+
code: string;
|
|
22
|
+
message: string;
|
|
23
|
+
};
|
|
24
|
+
details?: undefined;
|
|
25
|
+
};
|
|
26
|
+
export declare function printSuccess(message: string): void;
|
|
27
|
+
export declare function printError(message: string, details?: string): void;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.outputJson = outputJson;
|
|
4
|
+
exports.formatSuccess = formatSuccess;
|
|
5
|
+
exports.formatError = formatError;
|
|
6
|
+
exports.printSuccess = printSuccess;
|
|
7
|
+
exports.printError = printError;
|
|
8
|
+
function outputJson(data) {
|
|
9
|
+
console.log(JSON.stringify(data, null, 2));
|
|
10
|
+
}
|
|
11
|
+
function formatSuccess(data, meta) {
|
|
12
|
+
return meta
|
|
13
|
+
? { success: true, data, meta }
|
|
14
|
+
: { success: true, data };
|
|
15
|
+
}
|
|
16
|
+
function formatError(code, message, details) {
|
|
17
|
+
return details !== undefined
|
|
18
|
+
? { success: false, error: { code, message }, details }
|
|
19
|
+
: { success: false, error: { code, message } };
|
|
20
|
+
}
|
|
21
|
+
function printSuccess(message) {
|
|
22
|
+
console.log(JSON.stringify({ success: true, message }));
|
|
23
|
+
}
|
|
24
|
+
function printError(message, details) {
|
|
25
|
+
if (details) {
|
|
26
|
+
console.error(JSON.stringify({ success: false, error: message, details }));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
console.error(JSON.stringify({ success: false, error: message }));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PrettyLogger } from '../../utils/pretty-logger';
|
|
2
|
+
export declare const success: typeof PrettyLogger.success;
|
|
3
|
+
export declare const error: typeof PrettyLogger.error;
|
|
4
|
+
export declare const info: typeof PrettyLogger.info;
|
|
5
|
+
export declare const warn: typeof PrettyLogger.warning;
|
|
6
|
+
export declare const warning: typeof PrettyLogger.warning;
|
|
7
|
+
export declare const dim: (s: string) => Promise<void>;
|
|
8
|
+
export declare const plain: (s: string) => Promise<void>;
|
|
9
|
+
export declare const heading: (s: string) => Promise<void>;
|
|
10
|
+
export declare const newline: () => Promise<void>;
|
|
11
|
+
export declare const table: (data: any[]) => Promise<void>;
|
|
12
|
+
export declare const box: (title: string, content: string) => Promise<void>;
|
|
13
|
+
export declare const keyValue: (obj: Record<string, any>) => Promise<void>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.keyValue = exports.box = exports.table = exports.newline = exports.heading = exports.plain = exports.dim = exports.warning = exports.warn = exports.info = exports.error = exports.success = void 0;
|
|
4
|
+
const pretty_logger_1 = require("../../utils/pretty-logger");
|
|
5
|
+
exports.success = pretty_logger_1.PrettyLogger.success;
|
|
6
|
+
exports.error = pretty_logger_1.PrettyLogger.error;
|
|
7
|
+
exports.info = pretty_logger_1.PrettyLogger.info;
|
|
8
|
+
exports.warn = pretty_logger_1.PrettyLogger.warning;
|
|
9
|
+
exports.warning = pretty_logger_1.PrettyLogger.warning;
|
|
10
|
+
const dim = async (s) => console.log(s);
|
|
11
|
+
exports.dim = dim;
|
|
12
|
+
const plain = async (s) => console.log(s);
|
|
13
|
+
exports.plain = plain;
|
|
14
|
+
const heading = async (s) => console.log(s);
|
|
15
|
+
exports.heading = heading;
|
|
16
|
+
const newline = async () => console.log();
|
|
17
|
+
exports.newline = newline;
|
|
18
|
+
const table = async (data) => console.table(data);
|
|
19
|
+
exports.table = table;
|
|
20
|
+
const box = async (title, content) => {
|
|
21
|
+
console.log(`┌─ ${title} ${'─'.repeat(50 - title.length)}┐`);
|
|
22
|
+
console.log(`│ ${content}`);
|
|
23
|
+
console.log(`└${'─'.repeat(53)}┘`);
|
|
24
|
+
};
|
|
25
|
+
exports.box = box;
|
|
26
|
+
const keyValue = async (obj) => {
|
|
27
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
28
|
+
console.log(`${key}: ${value}`);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.keyValue = keyValue;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment variable handling for CLI
|
|
3
|
+
*/
|
|
4
|
+
export interface EnvConfig {
|
|
5
|
+
model?: string;
|
|
6
|
+
profile?: string;
|
|
7
|
+
verbose?: boolean;
|
|
8
|
+
configPath?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function loadEnvConfig(): EnvConfig;
|
|
11
|
+
export declare function hasApiKey(provider: string): boolean;
|
|
12
|
+
export declare function getApiKey(provider: 'openai' | 'anthropic' | 'google'): string | undefined;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Environment variable handling for CLI
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadEnvConfig = loadEnvConfig;
|
|
7
|
+
exports.hasApiKey = hasApiKey;
|
|
8
|
+
exports.getApiKey = getApiKey;
|
|
9
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
10
|
+
function loadEnvConfig() {
|
|
11
|
+
const config = {};
|
|
12
|
+
const model = process.env[cli_spec_1.ENV_VARS.PRAISONAI_MODEL];
|
|
13
|
+
if (model)
|
|
14
|
+
config.model = model;
|
|
15
|
+
const profile = process.env[cli_spec_1.ENV_VARS.PRAISONAI_PROFILE];
|
|
16
|
+
if (profile)
|
|
17
|
+
config.profile = profile;
|
|
18
|
+
const verbose = process.env[cli_spec_1.ENV_VARS.PRAISONAI_VERBOSE];
|
|
19
|
+
if (verbose)
|
|
20
|
+
config.verbose = verbose.toLowerCase() === 'true';
|
|
21
|
+
const configPath = process.env[cli_spec_1.ENV_VARS.PRAISONAI_CONFIG];
|
|
22
|
+
if (configPath)
|
|
23
|
+
config.configPath = configPath;
|
|
24
|
+
return config;
|
|
25
|
+
}
|
|
26
|
+
function hasApiKey(provider) {
|
|
27
|
+
const normalizedProvider = provider.toLowerCase();
|
|
28
|
+
switch (normalizedProvider) {
|
|
29
|
+
case 'openai':
|
|
30
|
+
case 'oai':
|
|
31
|
+
return !!process.env[cli_spec_1.ENV_VARS.OPENAI_API_KEY];
|
|
32
|
+
case 'anthropic':
|
|
33
|
+
case 'claude':
|
|
34
|
+
return !!process.env[cli_spec_1.ENV_VARS.ANTHROPIC_API_KEY];
|
|
35
|
+
case 'google':
|
|
36
|
+
case 'gemini':
|
|
37
|
+
return !!process.env[cli_spec_1.ENV_VARS.GOOGLE_API_KEY];
|
|
38
|
+
default:
|
|
39
|
+
// For custom providers, check for provider-specific env var
|
|
40
|
+
const envVarName = `${normalizedProvider.toUpperCase()}_API_KEY`;
|
|
41
|
+
return !!process.env[envVarName];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function getApiKey(provider) {
|
|
45
|
+
switch (provider) {
|
|
46
|
+
case 'openai':
|
|
47
|
+
return process.env[cli_spec_1.ENV_VARS.OPENAI_API_KEY];
|
|
48
|
+
case 'anthropic':
|
|
49
|
+
return process.env[cli_spec_1.ENV_VARS.ANTHROPIC_API_KEY];
|
|
50
|
+
case 'google':
|
|
51
|
+
return process.env[cli_spec_1.ENV_VARS.GOOGLE_API_KEY];
|
|
52
|
+
default:
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exit code handling for CLI
|
|
3
|
+
*/
|
|
4
|
+
import { ExitCode } from '../spec/cli-spec';
|
|
5
|
+
export declare function exit(code: ExitCode): never;
|
|
6
|
+
export declare function exitSuccess(): never;
|
|
7
|
+
export declare function exitError(message?: string): never;
|
|
8
|
+
export declare function exitInvalidArgs(message?: string): never;
|
|
9
|
+
export declare function exitConfigError(message?: string): never;
|
|
10
|
+
export declare function exitNetworkError(message?: string): never;
|
|
11
|
+
export declare function exitAuthError(message?: string): never;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Exit code handling for CLI
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.exit = exit;
|
|
7
|
+
exports.exitSuccess = exitSuccess;
|
|
8
|
+
exports.exitError = exitError;
|
|
9
|
+
exports.exitInvalidArgs = exitInvalidArgs;
|
|
10
|
+
exports.exitConfigError = exitConfigError;
|
|
11
|
+
exports.exitNetworkError = exitNetworkError;
|
|
12
|
+
exports.exitAuthError = exitAuthError;
|
|
13
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
14
|
+
function exit(code) {
|
|
15
|
+
process.exit(code);
|
|
16
|
+
}
|
|
17
|
+
function exitSuccess() {
|
|
18
|
+
exit(cli_spec_1.EXIT_CODES.SUCCESS);
|
|
19
|
+
}
|
|
20
|
+
function exitError(message) {
|
|
21
|
+
if (message) {
|
|
22
|
+
console.error(message);
|
|
23
|
+
}
|
|
24
|
+
exit(cli_spec_1.EXIT_CODES.RUNTIME_ERROR);
|
|
25
|
+
}
|
|
26
|
+
function exitInvalidArgs(message) {
|
|
27
|
+
if (message) {
|
|
28
|
+
console.error(`Error: ${message}`);
|
|
29
|
+
}
|
|
30
|
+
exit(cli_spec_1.EXIT_CODES.INVALID_ARGUMENTS);
|
|
31
|
+
}
|
|
32
|
+
function exitConfigError(message) {
|
|
33
|
+
if (message) {
|
|
34
|
+
console.error(`Config Error: ${message}`);
|
|
35
|
+
}
|
|
36
|
+
exit(cli_spec_1.EXIT_CODES.CONFIG_ERROR);
|
|
37
|
+
}
|
|
38
|
+
function exitNetworkError(message) {
|
|
39
|
+
if (message) {
|
|
40
|
+
console.error(`Network Error: ${message}`);
|
|
41
|
+
}
|
|
42
|
+
exit(cli_spec_1.EXIT_CODES.NETWORK_ERROR);
|
|
43
|
+
}
|
|
44
|
+
function exitAuthError(message) {
|
|
45
|
+
if (message) {
|
|
46
|
+
console.error(`Auth Error: ${message}`);
|
|
47
|
+
}
|
|
48
|
+
exit(cli_spec_1.EXIT_CODES.AUTH_ERROR);
|
|
49
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Runtime 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("./env"), exports);
|
|
21
|
+
__exportStar(require("./exit"), exports);
|
|
22
|
+
__exportStar(require("./lazy"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy loading utilities for CLI commands
|
|
3
|
+
* Ensures startup time stays <100ms by only loading command code when invoked
|
|
4
|
+
*/
|
|
5
|
+
export type CommandModule = {
|
|
6
|
+
execute: (args: string[], options: Record<string, unknown>) => Promise<void>;
|
|
7
|
+
};
|
|
8
|
+
export declare function loadCommand(command: string): Promise<CommandModule>;
|
|
9
|
+
export declare function clearCommandCache(): void;
|
|
10
|
+
/**
|
|
11
|
+
* Lazy load optional dependencies
|
|
12
|
+
* Returns undefined if not available
|
|
13
|
+
*/
|
|
14
|
+
export declare function tryLoadOptional<T>(moduleName: string): Promise<T | undefined>;
|
|
15
|
+
/**
|
|
16
|
+
* Check if an optional dependency is available
|
|
17
|
+
*/
|
|
18
|
+
export declare function hasOptionalDep(moduleName: string): Promise<boolean>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Lazy loading utilities for CLI commands
|
|
4
|
+
* Ensures startup time stays <100ms by only loading command code when invoked
|
|
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.loadCommand = loadCommand;
|
|
41
|
+
exports.clearCommandCache = clearCommandCache;
|
|
42
|
+
exports.tryLoadOptional = tryLoadOptional;
|
|
43
|
+
exports.hasOptionalDep = hasOptionalDep;
|
|
44
|
+
const cli_spec_1 = require("../spec/cli-spec");
|
|
45
|
+
const commandCache = new Map();
|
|
46
|
+
async function loadCommand(command) {
|
|
47
|
+
if (!(0, cli_spec_1.validateCommand)(command)) {
|
|
48
|
+
throw new Error(`Unknown command: ${command}`);
|
|
49
|
+
}
|
|
50
|
+
// Check cache first
|
|
51
|
+
if (commandCache.has(command)) {
|
|
52
|
+
return commandCache.get(command);
|
|
53
|
+
}
|
|
54
|
+
// Lazy import the command module
|
|
55
|
+
const module = await Promise.resolve(`${`../commands/${command}`}`).then(s => __importStar(require(s)));
|
|
56
|
+
commandCache.set(command, module);
|
|
57
|
+
return module;
|
|
58
|
+
}
|
|
59
|
+
function clearCommandCache() {
|
|
60
|
+
commandCache.clear();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Lazy load optional dependencies
|
|
64
|
+
* Returns undefined if not available
|
|
65
|
+
*/
|
|
66
|
+
async function tryLoadOptional(moduleName) {
|
|
67
|
+
try {
|
|
68
|
+
return await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s)));
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Check if an optional dependency is available
|
|
76
|
+
*/
|
|
77
|
+
async function hasOptionalDep(moduleName) {
|
|
78
|
+
try {
|
|
79
|
+
await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s)));
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|