@reactive-agents/cli 0.1.0 → 0.1.2

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/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env bun
2
1
  declare function main(argv?: string[]): void;
3
2
 
4
3
  export { main };
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env bun
2
- #!/usr/bin/env node
3
2
 
4
3
  // src/commands/init.ts
5
4
  import { join as join2 } from "path";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/init.ts","../src/generators/project-generator.ts","../src/generators/agent-generator.ts","../src/commands/create-agent.ts","../src/commands/dev.ts","../src/commands/eval.ts","../src/commands/playground.ts","../src/commands/inspect.ts","../src/commands/run.ts","../src/banner.ts","../src/index.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport { generateProject, type ProjectTemplate } from \"../generators/project-generator.js\";\n\nconst VALID_TEMPLATES: ProjectTemplate[] = [\"minimal\", \"standard\", \"full\"];\n\nexport function runInit(args: string[]): void {\n const name = args[0];\n if (!name) {\n console.error(\"Usage: reactive-agents init <project-name> [--template minimal|standard|full]\");\n process.exit(1);\n }\n\n let template: ProjectTemplate = \"standard\";\n const templateIdx = args.indexOf(\"--template\");\n if (templateIdx !== -1 && args[templateIdx + 1]) {\n const t = args[templateIdx + 1] as ProjectTemplate;\n if (!VALID_TEMPLATES.includes(t)) {\n console.error(`Invalid template: ${t}. Valid options: ${VALID_TEMPLATES.join(\", \")}`);\n process.exit(1);\n }\n template = t;\n }\n\n const targetDir = join(process.cwd(), name);\n console.log(`Creating project \"${name}\" with template \"${template}\"...`);\n\n const result = generateProject({ name, template, targetDir });\n\n console.log(`Created ${result.files.length} files:`);\n for (const file of result.files) {\n console.log(` ${file}`);\n }\n console.log(`\\nNext steps:`);\n console.log(` cd ${name}`);\n console.log(` bun install`);\n console.log(` cp .env.example .env # Add your API keys`);\n console.log(` bun run dev`);\n}\n","import { mkdirSync, writeFileSync, existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nexport type ProjectTemplate = \"minimal\" | \"standard\" | \"full\";\n\ninterface ProjectConfig {\n name: string;\n template: ProjectTemplate;\n targetDir: string;\n}\n\nconst TEMPLATE_DEPS: Record<ProjectTemplate, string[]> = {\n minimal: [\"@reactive-agents/core\", \"@reactive-agents/llm-provider\", \"@reactive-agents/runtime\"],\n standard: [\n \"@reactive-agents/core\",\n \"@reactive-agents/llm-provider\",\n \"@reactive-agents/memory\",\n \"@reactive-agents/reasoning\",\n \"@reactive-agents/tools\",\n \"@reactive-agents/runtime\",\n ],\n full: [\n \"@reactive-agents/core\",\n \"@reactive-agents/llm-provider\",\n \"@reactive-agents/memory\",\n \"@reactive-agents/reasoning\",\n \"@reactive-agents/tools\",\n \"@reactive-agents/verification\",\n \"@reactive-agents/cost\",\n \"@reactive-agents/identity\",\n \"@reactive-agents/orchestration\",\n \"@reactive-agents/observability\",\n \"@reactive-agents/interaction\",\n \"@reactive-agents/guardrails\",\n \"@reactive-agents/prompts\",\n \"@reactive-agents/runtime\",\n ],\n};\n\nexport function generateProject(config: ProjectConfig): { files: string[] } {\n const { name, template, targetDir } = config;\n const files: string[] = [];\n\n // Create directory structure\n const dirs = [targetDir, join(targetDir, \"src\"), join(targetDir, \"src\", \"agents\")];\n for (const dir of dirs) {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n }\n\n // package.json\n const deps = Object.fromEntries(TEMPLATE_DEPS[template].map((d) => [d, \"latest\"]));\n const packageJson = {\n name,\n version: \"0.1.0\",\n type: \"module\",\n scripts: {\n dev: \"bun run src/index.ts\",\n build: \"tsc --noEmit\",\n test: \"bun test\",\n },\n dependencies: {\n effect: \"^3.10.0\",\n ...deps,\n },\n devDependencies: {\n typescript: \"^5.7.0\",\n \"bun-types\": \"latest\",\n },\n };\n const pkgPath = join(targetDir, \"package.json\");\n writeFileSync(pkgPath, JSON.stringify(packageJson, null, 2) + \"\\n\");\n files.push(pkgPath);\n\n // tsconfig.json\n const tsconfig = {\n compilerOptions: {\n target: \"ES2022\",\n module: \"ES2022\",\n moduleResolution: \"bundler\",\n strict: true,\n esModuleInterop: true,\n skipLibCheck: true,\n outDir: \"dist\",\n types: [\"bun-types\"],\n },\n include: [\"src/**/*\"],\n };\n const tscPath = join(targetDir, \"tsconfig.json\");\n writeFileSync(tscPath, JSON.stringify(tsconfig, null, 2) + \"\\n\");\n files.push(tscPath);\n\n // Example agent\n const agentCode = generateAgentExample(template);\n const agentPath = join(targetDir, \"src\", \"agents\", \"my-agent.ts\");\n writeFileSync(agentPath, agentCode);\n files.push(agentPath);\n\n // Entry point\n const entryCode = `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nconst agent = await ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"my-agent\")\n .build();\n\nconst result = await agent.run(\"Hello, what can you help me with?\");\nconsole.log(result);\n`;\n const entryPath = join(targetDir, \"src\", \"index.ts\");\n writeFileSync(entryPath, entryCode);\n files.push(entryPath);\n\n // .env.example\n const envExample = `# LLM Provider\nANTHROPIC_API_KEY=sk-ant-...\n# OPENAI_API_KEY=sk-...\n\n# Optional\nLLM_DEFAULT_MODEL=claude-sonnet-4-20250514\n`;\n const envPath = join(targetDir, \".env.example\");\n writeFileSync(envPath, envExample);\n files.push(envPath);\n\n return { files };\n}\n\nfunction generateAgentExample(template: ProjectTemplate): string {\n switch (template) {\n case \"minimal\":\n return `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const createMyAgent = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"my-agent\")\n .build();\n`;\n case \"standard\":\n return `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const createMyAgent = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"my-agent\")\n .withMemory(true)\n .withReasoning(\"reactive\")\n .build();\n`;\n case \"full\":\n return `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const createMyAgent = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"my-agent\")\n .withMemory(true)\n .withReasoning(\"reactive\")\n .withVerification(true)\n .withGuardrails(true)\n .build();\n`;\n }\n}\n","import { writeFileSync, mkdirSync, existsSync } from \"node:fs\";\nimport { join, dirname } from \"node:path\";\n\nexport type AgentRecipe = \"basic\" | \"researcher\" | \"coder\" | \"orchestrator\";\n\ninterface AgentConfig {\n name: string;\n recipe: AgentRecipe;\n targetDir: string;\n}\n\nconst RECIPE_TEMPLATES: Record<AgentRecipe, (name: string) => string> = {\n basic: (name) => `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const ${toCamelCase(name)} = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"${name}\")\n .build();\n`,\n\n researcher: (name) => `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const ${toCamelCase(name)} = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"${name}\")\n .withSystemPrompt(\"You are a research assistant. Gather information, synthesize findings, and provide well-sourced answers.\")\n .withMemory(true)\n .withReasoning(\"reactive\")\n .build();\n`,\n\n coder: (name) => `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const ${toCamelCase(name)} = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"${name}\")\n .withSystemPrompt(\"You are a coding assistant. Write clean, well-tested code and explain your decisions.\")\n .withReasoning(\"reactive\")\n .build();\n`,\n\n orchestrator: (name) => `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const ${toCamelCase(name)} = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"${name}\")\n .withSystemPrompt(\"You are an orchestrator agent. Decompose complex tasks and coordinate sub-agents.\")\n .withMemory(true)\n .withReasoning(\"reactive\")\n .build();\n`,\n};\n\nexport function generateAgent(config: AgentConfig): { filePath: string } {\n const { name, recipe, targetDir } = config;\n const fileName = `${toKebabCase(name)}.ts`;\n const filePath = join(targetDir, \"src\", \"agents\", fileName);\n\n const dir = dirname(filePath);\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n\n const template = RECIPE_TEMPLATES[recipe];\n writeFileSync(filePath, template(name));\n\n return { filePath };\n}\n\nfunction toCamelCase(str: string): string {\n return str\n .replace(/[-_]+(.)/g, (_, c) => c.toUpperCase())\n .replace(/^(.)/, (_, c) => c.toLowerCase());\n}\n\nfunction toKebabCase(str: string): string {\n return str\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/[_\\s]+/g, \"-\")\n .toLowerCase();\n}\n","import { generateAgent, type AgentRecipe } from \"../generators/agent-generator.js\";\n\nconst VALID_RECIPES: AgentRecipe[] = [\"basic\", \"researcher\", \"coder\", \"orchestrator\"];\n\nexport function runCreateAgent(args: string[]): void {\n const name = args[0];\n if (!name) {\n console.error(\"Usage: reactive-agents create agent <name> [--recipe basic|researcher|coder|orchestrator]\");\n process.exit(1);\n }\n\n let recipe: AgentRecipe = \"basic\";\n const recipeIdx = args.indexOf(\"--recipe\");\n if (recipeIdx !== -1 && args[recipeIdx + 1]) {\n const r = args[recipeIdx + 1] as AgentRecipe;\n if (!VALID_RECIPES.includes(r)) {\n console.error(`Invalid recipe: ${r}. Valid options: ${VALID_RECIPES.join(\", \")}`);\n process.exit(1);\n }\n recipe = r;\n }\n\n console.log(`Creating agent \"${name}\" with recipe \"${recipe}\"...`);\n\n const result = generateAgent({\n name,\n recipe,\n targetDir: process.cwd(),\n });\n\n console.log(`Created: ${result.filePath}`);\n}\n","export function runDev(_args: string[]): void {\n console.log(\"Starting development server...\");\n console.log(\"Dev server is a placeholder — Tier 1 implementation.\");\n console.log(\"Use 'bun run src/index.ts' to run your agent directly.\");\n}\n","export function runEval(args: string[]): void {\n const subcommand = args[0];\n if (subcommand !== \"run\") {\n console.error(\"Usage: reactive-agents eval run --suite <suite-name>\");\n process.exit(1);\n }\n\n const suiteIdx = args.indexOf(\"--suite\");\n const suite = suiteIdx !== -1 ? args[suiteIdx + 1] : undefined;\n\n if (!suite) {\n console.error(\"Usage: reactive-agents eval run --suite <suite-name>\");\n process.exit(1);\n }\n\n console.log(`Running eval suite: ${suite}`);\n console.log(\"Eval runner is a placeholder — Tier 1 implementation.\");\n console.log(\"When @reactive-agents/eval is built, this will run EvalService programmatically.\");\n}\n","export function runPlayground(_args: string[]): void {\n console.log(\"Interactive playground is a placeholder — Tier 1 implementation.\");\n console.log(\"When ready, this will launch an interactive REPL for agent conversations.\");\n}\n","export function runInspect(args: string[]): void {\n const agentId = args[0];\n if (!agentId) {\n console.error(\"Usage: reactive-agents inspect <agent-id> [--trace last]\");\n process.exit(1);\n }\n\n console.log(`Inspecting agent: ${agentId}`);\n console.log(\"Agent inspection is a placeholder — Tier 1 implementation.\");\n console.log(\"When @reactive-agents/observability is wired, this will show agent state, traces, and metrics.\");\n}\n","import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport async function runAgent(args: string[]): Promise<void> {\n // Parse arguments\n const promptParts: string[] = [];\n let provider: \"anthropic\" | \"openai\" | \"ollama\" | \"test\" = \"anthropic\";\n let model: string | undefined;\n let name = \"cli-agent\";\n\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === \"--provider\" && args[i + 1]) {\n provider = args[++i] as typeof provider;\n } else if (arg === \"--model\" && args[i + 1]) {\n model = args[++i];\n } else if (arg === \"--name\" && args[i + 1]) {\n name = args[++i];\n } else if (!arg.startsWith(\"--\")) {\n promptParts.push(arg);\n }\n }\n\n const prompt = promptParts.join(\" \");\n if (!prompt) {\n console.error(\"Usage: reactive-agents run <prompt> [--provider anthropic|openai|ollama|test] [--model <model>] [--name <name>]\");\n process.exit(1);\n }\n\n console.log(`Building agent \"${name}\" with provider: ${provider}...`);\n\n const builder = ReactiveAgents.create()\n .withName(name)\n .withProvider(provider);\n\n if (model) {\n builder.withModel(model);\n }\n\n try {\n const agent = await builder.build();\n console.log(`Agent ready: ${agent.agentId}`);\n console.log(`Running: \"${prompt}\"\\n`);\n\n const result = await agent.run(prompt);\n\n if (result.success) {\n console.log(\"─── Output ───\");\n console.log(result.output || \"(no output)\");\n console.log(\"\\n─── Metadata ───\");\n console.log(` Duration: ${result.metadata.duration}ms`);\n console.log(` Steps: ${result.metadata.stepsCount}`);\n console.log(` Cost: $${result.metadata.cost.toFixed(6)}`);\n } else {\n console.error(\"Agent execution failed.\");\n process.exit(1);\n }\n } catch (err) {\n console.error(\"Error:\", err instanceof Error ? err.message : String(err));\n process.exit(1);\n }\n}\n","const PURPLE = \"\\x1b[38;5;99m\";\nconst INDIGO = \"\\x1b[38;5;63m\";\nconst VIOLET = \"\\x1b[38;5;135m\";\nconst LAVENDER = \"\\x1b[38;5;183m\";\nconst DIM = \"\\x1b[2m\";\nconst RESET = \"\\x1b[0m\";\nconst BOLD = \"\\x1b[1m\";\n\nexport const BANNER = `\n${PURPLE} ╔══════════════════════════════════════════╗${RESET}\n${PURPLE} ║${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${INDIGO}┏━┓ ${VIOLET}┏━┓${RESET} ${LAVENDER}┏━┓ ╻${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${INDIGO}┣┳┛ ${VIOLET}┣━┫${RESET} ${LAVENDER}┏╋┛┏╋┛${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${INDIGO}╹┗╸ ${VIOLET}╹ ╹${RESET} ${LAVENDER}╹ ╹ ${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${BOLD}${INDIGO}R${VIOLET}eactive ${INDIGO}A${VIOLET}gents e${INDIGO}X${VIOLET}ecutable${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${DIM}Type-safe AI agents on Effect-TS${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${PURPLE}║${RESET}\n${PURPLE} ╚══════════════════════════════════════════╝${RESET}\n`;\n\nexport const VERSION = \"0.1.0\";\n\nexport function printBanner() {\n console.log(BANNER);\n}\n\nexport function printVersion() {\n console.log(`${INDIGO}rax${RESET} ${DIM}v${VERSION}${RESET}`);\n}\n","#!/usr/bin/env bun\n\nimport { runInit } from \"./commands/init.js\";\nimport { runCreateAgent } from \"./commands/create-agent.js\";\nimport { runDev } from \"./commands/dev.js\";\nimport { runEval } from \"./commands/eval.js\";\nimport { runPlayground } from \"./commands/playground.js\";\nimport { runInspect } from \"./commands/inspect.js\";\nimport { runAgent } from \"./commands/run.js\";\nimport { printBanner, printVersion, VERSION } from \"./banner.js\";\n\nconst HELP = `\n Usage: rax <command> [options]\n\n Commands:\n init <name> [--template minimal|standard|full] Scaffold a new project\n create agent <name> [--recipe basic|...] Generate an agent file\n run <prompt> [--provider ...] [--model ...] Run an agent with a prompt\n dev Start dev server\n eval run --suite <name> Run evaluation suite\n playground Launch interactive REPL\n inspect <agent-id> [--trace last] Inspect agent state\n help Show this help\n version Show version\n`.trimEnd();\n\nexport function main(argv: string[] = process.argv.slice(2)) {\n const command = argv[0];\n\n switch (command) {\n case \"init\":\n runInit(argv.slice(1));\n break;\n\n case \"create\": {\n const subcommand = argv[1];\n if (subcommand === \"agent\") {\n runCreateAgent(argv.slice(2));\n } else {\n console.error(`Unknown create subcommand: ${subcommand}`);\n console.error(\"Usage: rax create agent <name>\");\n process.exit(1);\n }\n break;\n }\n\n case \"run\":\n runAgent(argv.slice(1));\n break;\n\n case \"dev\":\n runDev(argv.slice(1));\n break;\n\n case \"eval\":\n runEval(argv.slice(1));\n break;\n\n case \"playground\":\n runPlayground(argv.slice(1));\n break;\n\n case \"inspect\":\n runInspect(argv.slice(1));\n break;\n\n case \"version\":\n case \"--version\":\n case \"-v\":\n printVersion();\n break;\n\n case \"help\":\n case \"--help\":\n case \"-h\":\n case undefined:\n printBanner();\n console.log(HELP);\n break;\n\n default:\n console.error(`Unknown command: ${command}`);\n printBanner();\n console.log(HELP);\n process.exit(1);\n }\n}\n\n// Run if invoked directly\nif (import.meta.main) {\n main();\n}\n"],"mappings":"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","names":["join","join","writeFileSync","mkdirSync","existsSync","join"]}
1
+ {"version":3,"sources":["../src/commands/init.ts","../src/generators/project-generator.ts","../src/generators/agent-generator.ts","../src/commands/create-agent.ts","../src/commands/dev.ts","../src/commands/eval.ts","../src/commands/playground.ts","../src/commands/inspect.ts","../src/commands/run.ts","../src/banner.ts","../src/index.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport { generateProject, type ProjectTemplate } from \"../generators/project-generator.js\";\n\nconst VALID_TEMPLATES: ProjectTemplate[] = [\"minimal\", \"standard\", \"full\"];\n\nexport function runInit(args: string[]): void {\n const name = args[0];\n if (!name) {\n console.error(\"Usage: reactive-agents init <project-name> [--template minimal|standard|full]\");\n process.exit(1);\n }\n\n let template: ProjectTemplate = \"standard\";\n const templateIdx = args.indexOf(\"--template\");\n if (templateIdx !== -1 && args[templateIdx + 1]) {\n const t = args[templateIdx + 1] as ProjectTemplate;\n if (!VALID_TEMPLATES.includes(t)) {\n console.error(`Invalid template: ${t}. Valid options: ${VALID_TEMPLATES.join(\", \")}`);\n process.exit(1);\n }\n template = t;\n }\n\n const targetDir = join(process.cwd(), name);\n console.log(`Creating project \"${name}\" with template \"${template}\"...`);\n\n const result = generateProject({ name, template, targetDir });\n\n console.log(`Created ${result.files.length} files:`);\n for (const file of result.files) {\n console.log(` ${file}`);\n }\n console.log(`\\nNext steps:`);\n console.log(` cd ${name}`);\n console.log(` bun install`);\n console.log(` cp .env.example .env # Add your API keys`);\n console.log(` bun run dev`);\n}\n","import { mkdirSync, writeFileSync, existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nexport type ProjectTemplate = \"minimal\" | \"standard\" | \"full\";\n\ninterface ProjectConfig {\n name: string;\n template: ProjectTemplate;\n targetDir: string;\n}\n\nconst TEMPLATE_DEPS: Record<ProjectTemplate, string[]> = {\n minimal: [\"@reactive-agents/core\", \"@reactive-agents/llm-provider\", \"@reactive-agents/runtime\"],\n standard: [\n \"@reactive-agents/core\",\n \"@reactive-agents/llm-provider\",\n \"@reactive-agents/memory\",\n \"@reactive-agents/reasoning\",\n \"@reactive-agents/tools\",\n \"@reactive-agents/runtime\",\n ],\n full: [\n \"@reactive-agents/core\",\n \"@reactive-agents/llm-provider\",\n \"@reactive-agents/memory\",\n \"@reactive-agents/reasoning\",\n \"@reactive-agents/tools\",\n \"@reactive-agents/verification\",\n \"@reactive-agents/cost\",\n \"@reactive-agents/identity\",\n \"@reactive-agents/orchestration\",\n \"@reactive-agents/observability\",\n \"@reactive-agents/interaction\",\n \"@reactive-agents/guardrails\",\n \"@reactive-agents/prompts\",\n \"@reactive-agents/runtime\",\n ],\n};\n\nexport function generateProject(config: ProjectConfig): { files: string[] } {\n const { name, template, targetDir } = config;\n const files: string[] = [];\n\n // Create directory structure\n const dirs = [targetDir, join(targetDir, \"src\"), join(targetDir, \"src\", \"agents\")];\n for (const dir of dirs) {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n }\n\n // package.json\n const deps = Object.fromEntries(TEMPLATE_DEPS[template].map((d) => [d, \"latest\"]));\n const packageJson = {\n name,\n version: \"0.1.0\",\n type: \"module\",\n scripts: {\n dev: \"bun run src/index.ts\",\n build: \"tsc --noEmit\",\n test: \"bun test\",\n },\n dependencies: {\n effect: \"^3.10.0\",\n ...deps,\n },\n devDependencies: {\n typescript: \"^5.7.0\",\n \"bun-types\": \"latest\",\n },\n };\n const pkgPath = join(targetDir, \"package.json\");\n writeFileSync(pkgPath, JSON.stringify(packageJson, null, 2) + \"\\n\");\n files.push(pkgPath);\n\n // tsconfig.json\n const tsconfig = {\n compilerOptions: {\n target: \"ES2022\",\n module: \"ES2022\",\n moduleResolution: \"bundler\",\n strict: true,\n esModuleInterop: true,\n skipLibCheck: true,\n outDir: \"dist\",\n types: [\"bun-types\"],\n },\n include: [\"src/**/*\"],\n };\n const tscPath = join(targetDir, \"tsconfig.json\");\n writeFileSync(tscPath, JSON.stringify(tsconfig, null, 2) + \"\\n\");\n files.push(tscPath);\n\n // Example agent\n const agentCode = generateAgentExample(template);\n const agentPath = join(targetDir, \"src\", \"agents\", \"my-agent.ts\");\n writeFileSync(agentPath, agentCode);\n files.push(agentPath);\n\n // Entry point\n const entryCode = `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nconst agent = await ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"my-agent\")\n .build();\n\nconst result = await agent.run(\"Hello, what can you help me with?\");\nconsole.log(result);\n`;\n const entryPath = join(targetDir, \"src\", \"index.ts\");\n writeFileSync(entryPath, entryCode);\n files.push(entryPath);\n\n // .env.example\n const envExample = `# LLM Provider\nANTHROPIC_API_KEY=sk-ant-...\n# OPENAI_API_KEY=sk-...\n\n# Optional\nLLM_DEFAULT_MODEL=claude-sonnet-4-20250514\n`;\n const envPath = join(targetDir, \".env.example\");\n writeFileSync(envPath, envExample);\n files.push(envPath);\n\n return { files };\n}\n\nfunction generateAgentExample(template: ProjectTemplate): string {\n switch (template) {\n case \"minimal\":\n return `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const createMyAgent = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"my-agent\")\n .build();\n`;\n case \"standard\":\n return `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const createMyAgent = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"my-agent\")\n .withMemory(true)\n .withReasoning(\"reactive\")\n .build();\n`;\n case \"full\":\n return `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const createMyAgent = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"my-agent\")\n .withMemory(true)\n .withReasoning(\"reactive\")\n .withVerification(true)\n .withGuardrails(true)\n .build();\n`;\n }\n}\n","import { writeFileSync, mkdirSync, existsSync } from \"node:fs\";\nimport { join, dirname } from \"node:path\";\n\nexport type AgentRecipe = \"basic\" | \"researcher\" | \"coder\" | \"orchestrator\";\n\ninterface AgentConfig {\n name: string;\n recipe: AgentRecipe;\n targetDir: string;\n}\n\nconst RECIPE_TEMPLATES: Record<AgentRecipe, (name: string) => string> = {\n basic: (name) => `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const ${toCamelCase(name)} = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"${name}\")\n .build();\n`,\n\n researcher: (name) => `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const ${toCamelCase(name)} = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"${name}\")\n .withSystemPrompt(\"You are a research assistant. Gather information, synthesize findings, and provide well-sourced answers.\")\n .withMemory(true)\n .withReasoning(\"reactive\")\n .build();\n`,\n\n coder: (name) => `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const ${toCamelCase(name)} = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"${name}\")\n .withSystemPrompt(\"You are a coding assistant. Write clean, well-tested code and explain your decisions.\")\n .withReasoning(\"reactive\")\n .build();\n`,\n\n orchestrator: (name) => `import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport const ${toCamelCase(name)} = () =>\n ReactiveAgents.create()\n .withProvider(\"anthropic\")\n .withName(\"${name}\")\n .withSystemPrompt(\"You are an orchestrator agent. Decompose complex tasks and coordinate sub-agents.\")\n .withMemory(true)\n .withReasoning(\"reactive\")\n .build();\n`,\n};\n\nexport function generateAgent(config: AgentConfig): { filePath: string } {\n const { name, recipe, targetDir } = config;\n const fileName = `${toKebabCase(name)}.ts`;\n const filePath = join(targetDir, \"src\", \"agents\", fileName);\n\n const dir = dirname(filePath);\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n\n const template = RECIPE_TEMPLATES[recipe];\n writeFileSync(filePath, template(name));\n\n return { filePath };\n}\n\nfunction toCamelCase(str: string): string {\n return str\n .replace(/[-_]+(.)/g, (_, c) => c.toUpperCase())\n .replace(/^(.)/, (_, c) => c.toLowerCase());\n}\n\nfunction toKebabCase(str: string): string {\n return str\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/[_\\s]+/g, \"-\")\n .toLowerCase();\n}\n","import { generateAgent, type AgentRecipe } from \"../generators/agent-generator.js\";\n\nconst VALID_RECIPES: AgentRecipe[] = [\"basic\", \"researcher\", \"coder\", \"orchestrator\"];\n\nexport function runCreateAgent(args: string[]): void {\n const name = args[0];\n if (!name) {\n console.error(\"Usage: reactive-agents create agent <name> [--recipe basic|researcher|coder|orchestrator]\");\n process.exit(1);\n }\n\n let recipe: AgentRecipe = \"basic\";\n const recipeIdx = args.indexOf(\"--recipe\");\n if (recipeIdx !== -1 && args[recipeIdx + 1]) {\n const r = args[recipeIdx + 1] as AgentRecipe;\n if (!VALID_RECIPES.includes(r)) {\n console.error(`Invalid recipe: ${r}. Valid options: ${VALID_RECIPES.join(\", \")}`);\n process.exit(1);\n }\n recipe = r;\n }\n\n console.log(`Creating agent \"${name}\" with recipe \"${recipe}\"...`);\n\n const result = generateAgent({\n name,\n recipe,\n targetDir: process.cwd(),\n });\n\n console.log(`Created: ${result.filePath}`);\n}\n","export function runDev(_args: string[]): void {\n console.log(\"Starting development server...\");\n console.log(\"Dev server is a placeholder — Tier 1 implementation.\");\n console.log(\"Use 'bun run src/index.ts' to run your agent directly.\");\n}\n","export function runEval(args: string[]): void {\n const subcommand = args[0];\n if (subcommand !== \"run\") {\n console.error(\"Usage: reactive-agents eval run --suite <suite-name>\");\n process.exit(1);\n }\n\n const suiteIdx = args.indexOf(\"--suite\");\n const suite = suiteIdx !== -1 ? args[suiteIdx + 1] : undefined;\n\n if (!suite) {\n console.error(\"Usage: reactive-agents eval run --suite <suite-name>\");\n process.exit(1);\n }\n\n console.log(`Running eval suite: ${suite}`);\n console.log(\"Eval runner is a placeholder — Tier 1 implementation.\");\n console.log(\"When @reactive-agents/eval is built, this will run EvalService programmatically.\");\n}\n","export function runPlayground(_args: string[]): void {\n console.log(\"Interactive playground is a placeholder — Tier 1 implementation.\");\n console.log(\"When ready, this will launch an interactive REPL for agent conversations.\");\n}\n","export function runInspect(args: string[]): void {\n const agentId = args[0];\n if (!agentId) {\n console.error(\"Usage: reactive-agents inspect <agent-id> [--trace last]\");\n process.exit(1);\n }\n\n console.log(`Inspecting agent: ${agentId}`);\n console.log(\"Agent inspection is a placeholder — Tier 1 implementation.\");\n console.log(\"When @reactive-agents/observability is wired, this will show agent state, traces, and metrics.\");\n}\n","import { ReactiveAgents } from \"@reactive-agents/runtime\";\n\nexport async function runAgent(args: string[]): Promise<void> {\n // Parse arguments\n const promptParts: string[] = [];\n let provider: \"anthropic\" | \"openai\" | \"ollama\" | \"test\" = \"anthropic\";\n let model: string | undefined;\n let name = \"cli-agent\";\n\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === \"--provider\" && args[i + 1]) {\n provider = args[++i] as typeof provider;\n } else if (arg === \"--model\" && args[i + 1]) {\n model = args[++i];\n } else if (arg === \"--name\" && args[i + 1]) {\n name = args[++i];\n } else if (!arg.startsWith(\"--\")) {\n promptParts.push(arg);\n }\n }\n\n const prompt = promptParts.join(\" \");\n if (!prompt) {\n console.error(\"Usage: reactive-agents run <prompt> [--provider anthropic|openai|ollama|test] [--model <model>] [--name <name>]\");\n process.exit(1);\n }\n\n console.log(`Building agent \"${name}\" with provider: ${provider}...`);\n\n const builder = ReactiveAgents.create()\n .withName(name)\n .withProvider(provider);\n\n if (model) {\n builder.withModel(model);\n }\n\n try {\n const agent = await builder.build();\n console.log(`Agent ready: ${agent.agentId}`);\n console.log(`Running: \"${prompt}\"\\n`);\n\n const result = await agent.run(prompt);\n\n if (result.success) {\n console.log(\"─── Output ───\");\n console.log(result.output || \"(no output)\");\n console.log(\"\\n─── Metadata ───\");\n console.log(` Duration: ${result.metadata.duration}ms`);\n console.log(` Steps: ${result.metadata.stepsCount}`);\n console.log(` Cost: $${result.metadata.cost.toFixed(6)}`);\n } else {\n console.error(\"Agent execution failed.\");\n process.exit(1);\n }\n } catch (err) {\n console.error(\"Error:\", err instanceof Error ? err.message : String(err));\n process.exit(1);\n }\n}\n","const PURPLE = \"\\x1b[38;5;99m\";\nconst INDIGO = \"\\x1b[38;5;63m\";\nconst VIOLET = \"\\x1b[38;5;135m\";\nconst LAVENDER = \"\\x1b[38;5;183m\";\nconst DIM = \"\\x1b[2m\";\nconst RESET = \"\\x1b[0m\";\nconst BOLD = \"\\x1b[1m\";\n\nexport const BANNER = `\n${PURPLE} ╔══════════════════════════════════════════╗${RESET}\n${PURPLE} ║${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${INDIGO}┏━┓ ${VIOLET}┏━┓${RESET} ${LAVENDER}┏━┓ ╻${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${INDIGO}┣┳┛ ${VIOLET}┣━┫${RESET} ${LAVENDER}┏╋┛┏╋┛${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${INDIGO}╹┗╸ ${VIOLET}╹ ╹${RESET} ${LAVENDER}╹ ╹ ${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${BOLD}${INDIGO}R${VIOLET}eactive ${INDIGO}A${VIOLET}gents e${INDIGO}X${VIOLET}ecutable${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${DIM}Type-safe AI agents on Effect-TS${RESET} ${PURPLE}║${RESET}\n${PURPLE} ║${RESET} ${PURPLE}║${RESET}\n${PURPLE} ╚══════════════════════════════════════════╝${RESET}\n`;\n\nexport const VERSION = \"0.1.0\";\n\nexport function printBanner() {\n console.log(BANNER);\n}\n\nexport function printVersion() {\n console.log(`${INDIGO}rax${RESET} ${DIM}v${VERSION}${RESET}`);\n}\n","import { runInit } from \"./commands/init.js\";\nimport { runCreateAgent } from \"./commands/create-agent.js\";\nimport { runDev } from \"./commands/dev.js\";\nimport { runEval } from \"./commands/eval.js\";\nimport { runPlayground } from \"./commands/playground.js\";\nimport { runInspect } from \"./commands/inspect.js\";\nimport { runAgent } from \"./commands/run.js\";\nimport { printBanner, printVersion, VERSION } from \"./banner.js\";\n\nconst HELP = `\n Usage: rax <command> [options]\n\n Commands:\n init <name> [--template minimal|standard|full] Scaffold a new project\n create agent <name> [--recipe basic|...] Generate an agent file\n run <prompt> [--provider ...] [--model ...] Run an agent with a prompt\n dev Start dev server\n eval run --suite <name> Run evaluation suite\n playground Launch interactive REPL\n inspect <agent-id> [--trace last] Inspect agent state\n help Show this help\n version Show version\n`.trimEnd();\n\nexport function main(argv: string[] = process.argv.slice(2)) {\n const command = argv[0];\n\n switch (command) {\n case \"init\":\n runInit(argv.slice(1));\n break;\n\n case \"create\": {\n const subcommand = argv[1];\n if (subcommand === \"agent\") {\n runCreateAgent(argv.slice(2));\n } else {\n console.error(`Unknown create subcommand: ${subcommand}`);\n console.error(\"Usage: rax create agent <name>\");\n process.exit(1);\n }\n break;\n }\n\n case \"run\":\n runAgent(argv.slice(1));\n break;\n\n case \"dev\":\n runDev(argv.slice(1));\n break;\n\n case \"eval\":\n runEval(argv.slice(1));\n break;\n\n case \"playground\":\n runPlayground(argv.slice(1));\n break;\n\n case \"inspect\":\n runInspect(argv.slice(1));\n break;\n\n case \"version\":\n case \"--version\":\n case \"-v\":\n printVersion();\n break;\n\n case \"help\":\n case \"--help\":\n case \"-h\":\n case undefined:\n printBanner();\n console.log(HELP);\n break;\n\n default:\n console.error(`Unknown command: ${command}`);\n printBanner();\n console.log(HELP);\n process.exit(1);\n }\n}\n\n// Run if invoked directly\nif (import.meta.main) {\n main();\n}\n"],"mappings":";;;AAAA,SAAS,QAAAA,aAAY;;;ACArB,SAAS,WAAW,eAAe,kBAAkB;AACrD,SAAS,YAAY;AAUrB,IAAM,gBAAmD;AAAA,EACvD,SAAS,CAAC,yBAAyB,iCAAiC,0BAA0B;AAAA,EAC9F,UAAU;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,gBAAgB,QAA4C;AAC1E,QAAM,EAAE,MAAM,UAAU,UAAU,IAAI;AACtC,QAAM,QAAkB,CAAC;AAGzB,QAAM,OAAO,CAAC,WAAW,KAAK,WAAW,KAAK,GAAG,KAAK,WAAW,OAAO,QAAQ,CAAC;AACjF,aAAW,OAAO,MAAM;AACtB,QAAI,CAAC,WAAW,GAAG,GAAG;AACpB,gBAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,IACpC;AAAA,EACF;AAGA,QAAM,OAAO,OAAO,YAAY,cAAc,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;AACjF,QAAM,cAAc;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAAA,IACA,iBAAiB;AAAA,MACf,YAAY;AAAA,MACZ,aAAa;AAAA,IACf;AAAA,EACF;AACA,QAAM,UAAU,KAAK,WAAW,cAAc;AAC9C,gBAAc,SAAS,KAAK,UAAU,aAAa,MAAM,CAAC,IAAI,IAAI;AAClE,QAAM,KAAK,OAAO;AAGlB,QAAM,WAAW;AAAA,IACf,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,OAAO,CAAC,WAAW;AAAA,IACrB;AAAA,IACA,SAAS,CAAC,UAAU;AAAA,EACtB;AACA,QAAM,UAAU,KAAK,WAAW,eAAe;AAC/C,gBAAc,SAAS,KAAK,UAAU,UAAU,MAAM,CAAC,IAAI,IAAI;AAC/D,QAAM,KAAK,OAAO;AAGlB,QAAM,YAAY,qBAAqB,QAAQ;AAC/C,QAAM,YAAY,KAAK,WAAW,OAAO,UAAU,aAAa;AAChE,gBAAc,WAAW,SAAS;AAClC,QAAM,KAAK,SAAS;AAGpB,QAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUlB,QAAM,YAAY,KAAK,WAAW,OAAO,UAAU;AACnD,gBAAc,WAAW,SAAS;AAClC,QAAM,KAAK,SAAS;AAGpB,QAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOnB,QAAM,UAAU,KAAK,WAAW,cAAc;AAC9C,gBAAc,SAAS,UAAU;AACjC,QAAM,KAAK,OAAO;AAElB,SAAO,EAAE,MAAM;AACjB;AAEA,SAAS,qBAAqB,UAAmC;AAC/D,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQT,KAAK;AACH,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUT,KAAK;AACH,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYX;AACF;;;ADlKA,IAAM,kBAAqC,CAAC,WAAW,YAAY,MAAM;AAElE,SAAS,QAAQ,MAAsB;AAC5C,QAAM,OAAO,KAAK,CAAC;AACnB,MAAI,CAAC,MAAM;AACT,YAAQ,MAAM,+EAA+E;AAC7F,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,WAA4B;AAChC,QAAM,cAAc,KAAK,QAAQ,YAAY;AAC7C,MAAI,gBAAgB,MAAM,KAAK,cAAc,CAAC,GAAG;AAC/C,UAAM,IAAI,KAAK,cAAc,CAAC;AAC9B,QAAI,CAAC,gBAAgB,SAAS,CAAC,GAAG;AAChC,cAAQ,MAAM,qBAAqB,CAAC,oBAAoB,gBAAgB,KAAK,IAAI,CAAC,EAAE;AACpF,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,eAAW;AAAA,EACb;AAEA,QAAM,YAAYC,MAAK,QAAQ,IAAI,GAAG,IAAI;AAC1C,UAAQ,IAAI,qBAAqB,IAAI,oBAAoB,QAAQ,MAAM;AAEvE,QAAM,SAAS,gBAAgB,EAAE,MAAM,UAAU,UAAU,CAAC;AAE5D,UAAQ,IAAI,WAAW,OAAO,MAAM,MAAM,SAAS;AACnD,aAAW,QAAQ,OAAO,OAAO;AAC/B,YAAQ,IAAI,KAAK,IAAI,EAAE;AAAA,EACzB;AACA,UAAQ,IAAI;AAAA,YAAe;AAC3B,UAAQ,IAAI,QAAQ,IAAI,EAAE;AAC1B,UAAQ,IAAI,eAAe;AAC3B,UAAQ,IAAI,6CAA6C;AACzD,UAAQ,IAAI,eAAe;AAC7B;;;AErCA,SAAS,iBAAAC,gBAAe,aAAAC,YAAW,cAAAC,mBAAkB;AACrD,SAAS,QAAAC,OAAM,eAAe;AAU9B,IAAM,mBAAkE;AAAA,EACtE,OAAO,CAAC,SAAS;AAAA;AAAA,eAEJ,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA,iBAGf,IAAI;AAAA;AAAA;AAAA,EAInB,YAAY,CAAC,SAAS;AAAA;AAAA,eAET,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA,iBAGf,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnB,OAAO,CAAC,SAAS;AAAA;AAAA,eAEJ,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA,iBAGf,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,cAAc,CAAC,SAAS;AAAA;AAAA,eAEX,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA,iBAGf,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAMrB;AAEO,SAAS,cAAc,QAA2C;AACvE,QAAM,EAAE,MAAM,QAAQ,UAAU,IAAI;AACpC,QAAM,WAAW,GAAG,YAAY,IAAI,CAAC;AACrC,QAAM,WAAWA,MAAK,WAAW,OAAO,UAAU,QAAQ;AAE1D,QAAM,MAAM,QAAQ,QAAQ;AAC5B,MAAI,CAACD,YAAW,GAAG,GAAG;AACpB,IAAAD,WAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,EACpC;AAEA,QAAM,WAAW,iBAAiB,MAAM;AACxC,EAAAD,eAAc,UAAU,SAAS,IAAI,CAAC;AAEtC,SAAO,EAAE,SAAS;AACpB;AAEA,SAAS,YAAY,KAAqB;AACxC,SAAO,IACJ,QAAQ,aAAa,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,EAC9C,QAAQ,QAAQ,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC;AAC9C;AAEA,SAAS,YAAY,KAAqB;AACxC,SAAO,IACJ,QAAQ,mBAAmB,OAAO,EAClC,QAAQ,WAAW,GAAG,EACtB,YAAY;AACjB;;;AClFA,IAAM,gBAA+B,CAAC,SAAS,cAAc,SAAS,cAAc;AAE7E,SAAS,eAAe,MAAsB;AACnD,QAAM,OAAO,KAAK,CAAC;AACnB,MAAI,CAAC,MAAM;AACT,YAAQ,MAAM,2FAA2F;AACzG,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,SAAsB;AAC1B,QAAM,YAAY,KAAK,QAAQ,UAAU;AACzC,MAAI,cAAc,MAAM,KAAK,YAAY,CAAC,GAAG;AAC3C,UAAM,IAAI,KAAK,YAAY,CAAC;AAC5B,QAAI,CAAC,cAAc,SAAS,CAAC,GAAG;AAC9B,cAAQ,MAAM,mBAAmB,CAAC,oBAAoB,cAAc,KAAK,IAAI,CAAC,EAAE;AAChF,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,aAAS;AAAA,EACX;AAEA,UAAQ,IAAI,mBAAmB,IAAI,kBAAkB,MAAM,MAAM;AAEjE,QAAM,SAAS,cAAc;AAAA,IAC3B;AAAA,IACA;AAAA,IACA,WAAW,QAAQ,IAAI;AAAA,EACzB,CAAC;AAED,UAAQ,IAAI,YAAY,OAAO,QAAQ,EAAE;AAC3C;;;AC/BO,SAAS,OAAO,OAAuB;AAC5C,UAAQ,IAAI,gCAAgC;AAC5C,UAAQ,IAAI,2DAAsD;AAClE,UAAQ,IAAI,wDAAwD;AACtE;;;ACJO,SAAS,QAAQ,MAAsB;AAC5C,QAAM,aAAa,KAAK,CAAC;AACzB,MAAI,eAAe,OAAO;AACxB,YAAQ,MAAM,sDAAsD;AACpE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,QAAM,QAAQ,aAAa,KAAK,KAAK,WAAW,CAAC,IAAI;AAErD,MAAI,CAAC,OAAO;AACV,YAAQ,MAAM,sDAAsD;AACpE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,UAAQ,IAAI,uBAAuB,KAAK,EAAE;AAC1C,UAAQ,IAAI,4DAAuD;AACnE,UAAQ,IAAI,kFAAkF;AAChG;;;AClBO,SAAS,cAAc,OAAuB;AACnD,UAAQ,IAAI,uEAAkE;AAC9E,UAAQ,IAAI,2EAA2E;AACzF;;;ACHO,SAAS,WAAW,MAAsB;AAC/C,QAAM,UAAU,KAAK,CAAC;AACtB,MAAI,CAAC,SAAS;AACZ,YAAQ,MAAM,0DAA0D;AACxE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,UAAQ,IAAI,qBAAqB,OAAO,EAAE;AAC1C,UAAQ,IAAI,iEAA4D;AACxE,UAAQ,IAAI,gGAAgG;AAC9G;;;ACVA,SAAS,sBAAsB;AAE/B,eAAsB,SAAS,MAA+B;AAE5D,QAAM,cAAwB,CAAC;AAC/B,MAAI,WAAuD;AAC3D,MAAI;AACJ,MAAI,OAAO;AAEX,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,MAAM,KAAK,CAAC;AAClB,QAAI,QAAQ,gBAAgB,KAAK,IAAI,CAAC,GAAG;AACvC,iBAAW,KAAK,EAAE,CAAC;AAAA,IACrB,WAAW,QAAQ,aAAa,KAAK,IAAI,CAAC,GAAG;AAC3C,cAAQ,KAAK,EAAE,CAAC;AAAA,IAClB,WAAW,QAAQ,YAAY,KAAK,IAAI,CAAC,GAAG;AAC1C,aAAO,KAAK,EAAE,CAAC;AAAA,IACjB,WAAW,CAAC,IAAI,WAAW,IAAI,GAAG;AAChC,kBAAY,KAAK,GAAG;AAAA,IACtB;AAAA,EACF;AAEA,QAAM,SAAS,YAAY,KAAK,GAAG;AACnC,MAAI,CAAC,QAAQ;AACX,YAAQ,MAAM,iHAAiH;AAC/H,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,UAAQ,IAAI,mBAAmB,IAAI,oBAAoB,QAAQ,KAAK;AAEpE,QAAM,UAAU,eAAe,OAAO,EACnC,SAAS,IAAI,EACb,aAAa,QAAQ;AAExB,MAAI,OAAO;AACT,YAAQ,UAAU,KAAK;AAAA,EACzB;AAEA,MAAI;AACF,UAAM,QAAQ,MAAM,QAAQ,MAAM;AAClC,YAAQ,IAAI,gBAAgB,MAAM,OAAO,EAAE;AAC3C,YAAQ,IAAI,aAAa,MAAM;AAAA,CAAK;AAEpC,UAAM,SAAS,MAAM,MAAM,IAAI,MAAM;AAErC,QAAI,OAAO,SAAS;AAClB,cAAQ,IAAI,8CAAgB;AAC5B,cAAQ,IAAI,OAAO,UAAU,aAAa;AAC1C,cAAQ,IAAI,kDAAoB;AAChC,cAAQ,IAAI,eAAe,OAAO,SAAS,QAAQ,IAAI;AACvD,cAAQ,IAAI,YAAY,OAAO,SAAS,UAAU,EAAE;AACpD,cAAQ,IAAI,YAAY,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,EAAE;AAAA,IAC3D,OAAO;AACL,cAAQ,MAAM,yBAAyB;AACvC,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF,SAAS,KAAK;AACZ,YAAQ,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AACxE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;;AC5DA,IAAM,SAAS;AACf,IAAM,SAAS;AACf,IAAM,SAAS;AACf,IAAM,WAAW;AACjB,IAAM,MAAM;AACZ,IAAM,QAAQ;AACd,IAAM,OAAO;AAEN,IAAM,SAAS;AAAA,EACpB,MAAM,6QAAiD,KAAK;AAAA,EAC5D,MAAM,WAAM,KAAK,6CAA6C,MAAM,SAAI,KAAK;AAAA,EAC7E,MAAM,WAAM,KAAK,UAAU,MAAM,uBAAQ,MAAM,qBAAM,KAAK,MAAM,QAAQ,6BAAS,KAAK,qBAAqB,MAAM,SAAI,KAAK;AAAA,EAC1H,MAAM,WAAM,KAAK,UAAU,MAAM,uBAAQ,MAAM,qBAAM,KAAK,MAAM,QAAQ,uCAAS,KAAK,qBAAqB,MAAM,SAAI,KAAK;AAAA,EAC1H,MAAM,WAAM,KAAK,UAAU,MAAM,uBAAQ,MAAM,gBAAM,KAAK,MAAM,QAAQ,mBAAS,KAAK,qBAAqB,MAAM,SAAI,KAAK;AAAA,EAC1H,MAAM,WAAM,KAAK,6CAA6C,MAAM,SAAI,KAAK;AAAA,EAC7E,MAAM,WAAM,KAAK,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,WAAW,MAAM,IAAI,MAAM,UAAU,MAAM,IAAI,MAAM,WAAW,KAAK,gBAAgB,MAAM,SAAI,KAAK;AAAA,EAClJ,MAAM,WAAM,KAAK,MAAM,GAAG,mCAAmC,KAAK,UAAU,MAAM,SAAI,KAAK;AAAA,EAC3F,MAAM,WAAM,KAAK,6CAA6C,MAAM,SAAI,KAAK;AAAA,EAC7E,MAAM,6QAAiD,KAAK;AAAA;AAGvD,IAAM,UAAU;AAEhB,SAAS,cAAc;AAC5B,UAAQ,IAAI,MAAM;AACpB;AAEO,SAAS,eAAe;AAC7B,UAAQ,IAAI,GAAG,MAAM,MAAM,KAAK,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,EAAE;AAC9D;;;ACpBA,IAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaX,QAAQ;AAEH,SAAS,KAAK,OAAiB,QAAQ,KAAK,MAAM,CAAC,GAAG;AAC3D,QAAM,UAAU,KAAK,CAAC;AAEtB,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,cAAQ,KAAK,MAAM,CAAC,CAAC;AACrB;AAAA,IAEF,KAAK,UAAU;AACb,YAAM,aAAa,KAAK,CAAC;AACzB,UAAI,eAAe,SAAS;AAC1B,uBAAe,KAAK,MAAM,CAAC,CAAC;AAAA,MAC9B,OAAO;AACL,gBAAQ,MAAM,8BAA8B,UAAU,EAAE;AACxD,gBAAQ,MAAM,gCAAgC;AAC9C,gBAAQ,KAAK,CAAC;AAAA,MAChB;AACA;AAAA,IACF;AAAA,IAEA,KAAK;AACH,eAAS,KAAK,MAAM,CAAC,CAAC;AACtB;AAAA,IAEF,KAAK;AACH,aAAO,KAAK,MAAM,CAAC,CAAC;AACpB;AAAA,IAEF,KAAK;AACH,cAAQ,KAAK,MAAM,CAAC,CAAC;AACrB;AAAA,IAEF,KAAK;AACH,oBAAc,KAAK,MAAM,CAAC,CAAC;AAC3B;AAAA,IAEF,KAAK;AACH,iBAAW,KAAK,MAAM,CAAC,CAAC;AACxB;AAAA,IAEF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,mBAAa;AACb;AAAA,IAEF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,kBAAY;AACZ,cAAQ,IAAI,IAAI;AAChB;AAAA,IAEF;AACE,cAAQ,MAAM,oBAAoB,OAAO,EAAE;AAC3C,kBAAY;AACZ,cAAQ,IAAI,IAAI;AAChB,cAAQ,KAAK,CAAC;AAAA,EAClB;AACF;AAGA,IAAI,YAAY,MAAM;AACpB,OAAK;AACP;","names":["join","join","writeFileSync","mkdirSync","existsSync","join"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reactive-agents/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {