@reactive-agents/cli 0.1.7 → 0.2.1

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.js CHANGED
@@ -279,21 +279,91 @@ function runDev(_args) {
279
279
  }
280
280
 
281
281
  // src/commands/eval.ts
282
- function runEval(args) {
282
+ import { Effect, Layer } from "effect";
283
+ import {
284
+ EvalService,
285
+ EvalServiceLive,
286
+ DatasetService,
287
+ DatasetServiceLive
288
+ } from "@reactive-agents/eval";
289
+ import {
290
+ TestLLMServiceLayer,
291
+ AnthropicProviderLive,
292
+ OpenAIProviderLive
293
+ } from "@reactive-agents/llm-provider";
294
+ var USAGE = "Usage: rax eval run --suite <path> [--provider anthropic|openai|test] [--agent <name>]";
295
+ async function runEval(args) {
283
296
  const subcommand = args[0];
284
297
  if (subcommand !== "run") {
285
- console.error("Usage: reactive-agents eval run --suite <suite-name>");
298
+ console.error(USAGE);
286
299
  process.exit(1);
287
300
  }
288
- const suiteIdx = args.indexOf("--suite");
289
- const suite = suiteIdx !== -1 ? args[suiteIdx + 1] : void 0;
290
- if (!suite) {
291
- console.error("Usage: reactive-agents eval run --suite <suite-name>");
301
+ let suitePath;
302
+ let provider = "test";
303
+ let agentConfig = "default";
304
+ for (let i = 1; i < args.length; i++) {
305
+ if (args[i] === "--suite" && args[i + 1]) suitePath = args[++i];
306
+ else if (args[i] === "--provider" && args[i + 1])
307
+ provider = args[++i];
308
+ else if (args[i] === "--agent" && args[i + 1]) agentConfig = args[++i];
309
+ }
310
+ if (!suitePath) {
311
+ console.error(USAGE);
292
312
  process.exit(1);
293
313
  }
294
- console.log(`Running eval suite: ${suite}`);
295
- console.log("Eval runner is a placeholder \u2014 Tier 1 implementation.");
296
- console.log("When @reactive-agents/eval is built, this will run EvalService programmatically.");
314
+ const llmLayer = buildLLMLayer(provider);
315
+ const evalLayer = EvalServiceLive.pipe(Layer.provide(llmLayer));
316
+ const fullLayer = Layer.mergeAll(evalLayer, DatasetServiceLive, llmLayer);
317
+ const suite = suitePath;
318
+ const program = Effect.gen(function* () {
319
+ const ds = yield* DatasetService;
320
+ const evalService = yield* EvalService;
321
+ console.log(`Loading suite: ${suite}`);
322
+ const evalSuite = yield* ds.loadSuite(suite);
323
+ console.log(
324
+ `Suite: "${evalSuite.name}" \u2014 ${evalSuite.cases.length} cases, dimensions: ${evalSuite.dimensions.join(", ")}`
325
+ );
326
+ console.log(`Provider: ${provider} Agent: ${agentConfig}
327
+ `);
328
+ const run = yield* evalService.runSuite(evalSuite, agentConfig);
329
+ const s = run.summary;
330
+ console.log("\u2500\u2500\u2500 Summary \u2500\u2500\u2500");
331
+ console.log(
332
+ ` Pass: ${s.passed}/${s.totalCases} Avg Score: ${(s.avgScore * 100).toFixed(1)}% Cost: $${s.totalCostUsd.toFixed(5)}`
333
+ );
334
+ console.log("\n\u2500\u2500\u2500 Dimension Scores \u2500\u2500\u2500");
335
+ for (const [dim, avg] of Object.entries(s.dimensionAverages)) {
336
+ const bar = "\u2588".repeat(Math.round(avg * 20)).padEnd(20, "\u2591");
337
+ console.log(` ${dim.padEnd(16)} ${bar} ${(avg * 100).toFixed(1)}%`);
338
+ }
339
+ console.log("\n\u2500\u2500\u2500 Case Results \u2500\u2500\u2500");
340
+ for (const r of run.results) {
341
+ const icon = r.passed ? "\u2713" : "\u2717";
342
+ console.log(` ${icon} ${r.caseId.padEnd(24)} ${(r.overallScore * 100).toFixed(1)}%`);
343
+ }
344
+ if (s.failed > 0) {
345
+ console.log(`
346
+ ${s.failed} case(s) failed.`);
347
+ process.exit(1);
348
+ }
349
+ });
350
+ try {
351
+ await Effect.runPromise(program.pipe(Effect.provide(fullLayer)));
352
+ } catch (err) {
353
+ console.error("Eval error:", err instanceof Error ? err.message : String(err));
354
+ process.exit(1);
355
+ }
356
+ }
357
+ function buildLLMLayer(provider) {
358
+ switch (provider) {
359
+ case "anthropic":
360
+ return AnthropicProviderLive;
361
+ case "openai":
362
+ return OpenAIProviderLive;
363
+ case "test":
364
+ default:
365
+ return TestLLMServiceLayer({ default: "0.8" });
366
+ }
297
367
  }
298
368
 
299
369
  // src/commands/playground.ts
@@ -381,7 +451,7 @@ async function runAgent(args) {
381
451
  // package.json
382
452
  var package_default = {
383
453
  name: "@reactive-agents/cli",
384
- version: "0.1.7",
454
+ version: "0.2.1",
385
455
  type: "module",
386
456
  main: "./dist/index.js",
387
457
  bin: {
@@ -410,7 +480,9 @@ var package_default = {
410
480
  dependencies: {
411
481
  effect: "^3.10.0",
412
482
  "@reactive-agents/core": "0.1.0",
413
- "@reactive-agents/runtime": "0.1.2"
483
+ "@reactive-agents/runtime": "0.2.0",
484
+ "@reactive-agents/eval": "0.1.0",
485
+ "@reactive-agents/llm-provider": "workspace:*"
414
486
  },
415
487
  devDependencies: {
416
488
  typescript: "^5.7.0",
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","../package.json","../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.3\",\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\" | \"gemini\" | \"test\" = \"anthropic\";\n let model: string | undefined;\n let name = \"cli-agent\";\n let enableTools = false;\n let enableReasoning = false;\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 === \"--tools\") {\n enableTools = true;\n } else if (arg === \"--reasoning\") {\n enableReasoning = true;\n } else if (!arg.startsWith(\"--\")) {\n promptParts.push(arg);\n }\n }\n\n const prompt = promptParts.join(\" \");\n if (!prompt) {\n console.error(\"Usage: rax run <prompt> [--provider anthropic|openai|ollama|gemini|test] [--model <model>] [--name <name>] [--tools] [--reasoning]\");\n process.exit(1);\n }\n\n console.log(`Building agent \"${name}\" with provider: ${provider}...`);\n\n let builder = ReactiveAgents.create()\n .withName(name)\n .withProvider(provider);\n\n if (model) {\n builder = builder.withModel(model);\n }\n\n if (enableTools) {\n builder = builder.withTools();\n }\n\n if (enableReasoning) {\n builder = builder.withReasoning();\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","{\n \"name\": \"@reactive-agents/cli\",\n \"version\": \"0.1.7\",\n \"type\": \"module\",\n \"main\": \"./dist/index.js\",\n \"bin\": {\n \"rax\": \"dist/index.js\",\n \"reactive-agents\": \"dist/index.js\"\n },\n \"scripts\": {\n \"build\": \"tsup --config tsup.config.ts\",\n \"typecheck\": \"tsc --noEmit\",\n \"test\": \"bun test\"\n },\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/tylerjrbuell/reactive-agents-ts.git\",\n \"directory\": \"apps/cli\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"files\": [\n \"dist\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"dependencies\": {\n \"effect\": \"^3.10.0\",\n \"@reactive-agents/core\": \"0.1.0\",\n \"@reactive-agents/runtime\": \"0.1.2\"\n },\n \"devDependencies\": {\n \"typescript\": \"^5.7.0\",\n \"bun-types\": \"latest\"\n },\n \"description\": \"rax — the Reactive Agents CLI for scaffolding, running, and inspecting AI agents\",\n \"homepage\": \"https://tylerjrbuell.github.io/reactive-agents-ts/\",\n \"bugs\": {\n \"url\": \"https://github.com/tylerjrbuell/reactive-agents-ts/issues\"\n },\n \"types\": \"./dist/index.d.ts\"\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\n// Import version from package.json\nimport pkg from \"../package.json\" with { type: \"json\" };\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 = pkg.version;\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":"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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","../package.json","../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.3\",\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","import { Effect, Layer } from \"effect\";\nimport {\n EvalService,\n EvalServiceLive,\n DatasetService,\n DatasetServiceLive,\n} from \"@reactive-agents/eval\";\nimport {\n LLMService,\n TestLLMServiceLayer,\n AnthropicProviderLive,\n OpenAIProviderLive,\n} from \"@reactive-agents/llm-provider\";\n\nconst USAGE =\n \"Usage: rax eval run --suite <path> [--provider anthropic|openai|test] [--agent <name>]\";\n\nexport async function runEval(args: string[]): Promise<void> {\n const subcommand = args[0];\n if (subcommand !== \"run\") {\n console.error(USAGE);\n process.exit(1);\n }\n\n let suitePath: string | undefined;\n let provider: \"anthropic\" | \"openai\" | \"test\" = \"test\";\n let agentConfig = \"default\";\n\n for (let i = 1; i < args.length; i++) {\n if (args[i] === \"--suite\" && args[i + 1]) suitePath = args[++i];\n else if (args[i] === \"--provider\" && args[i + 1])\n provider = args[++i] as typeof provider;\n else if (args[i] === \"--agent\" && args[i + 1]) agentConfig = args[++i];\n }\n\n if (!suitePath) {\n console.error(USAGE);\n process.exit(1);\n }\n\n const llmLayer = buildLLMLayer(provider);\n const evalLayer = EvalServiceLive.pipe(Layer.provide(llmLayer));\n const fullLayer = Layer.mergeAll(evalLayer, DatasetServiceLive, llmLayer);\n\n const suite = suitePath;\n const program = Effect.gen(function* () {\n const ds = yield* DatasetService;\n const evalService = yield* EvalService;\n\n console.log(`Loading suite: ${suite}`);\n const evalSuite = yield* ds.loadSuite(suite);\n console.log(\n `Suite: \"${evalSuite.name}\" — ${evalSuite.cases.length} cases, dimensions: ${evalSuite.dimensions.join(\", \")}`,\n );\n console.log(`Provider: ${provider} Agent: ${agentConfig}\\n`);\n\n const run = yield* evalService.runSuite(evalSuite, agentConfig);\n const s = run.summary;\n\n console.log(\"─── Summary ───\");\n console.log(\n ` Pass: ${s.passed}/${s.totalCases} Avg Score: ${(s.avgScore * 100).toFixed(1)}% Cost: $${s.totalCostUsd.toFixed(5)}`,\n );\n\n console.log(\"\\n─── Dimension Scores ───\");\n for (const [dim, avg] of Object.entries(s.dimensionAverages)) {\n const bar = \"█\".repeat(Math.round(avg * 20)).padEnd(20, \"░\");\n console.log(` ${dim.padEnd(16)} ${bar} ${(avg * 100).toFixed(1)}%`);\n }\n\n console.log(\"\\n─── Case Results ───\");\n for (const r of run.results) {\n const icon = r.passed ? \"✓\" : \"✗\";\n console.log(` ${icon} ${r.caseId.padEnd(24)} ${(r.overallScore * 100).toFixed(1)}%`);\n }\n\n if (s.failed > 0) {\n console.log(`\\n${s.failed} case(s) failed.`);\n process.exit(1);\n }\n });\n\n try {\n await Effect.runPromise(program.pipe(Effect.provide(fullLayer)));\n } catch (err) {\n console.error(\"Eval error:\", err instanceof Error ? err.message : String(err));\n process.exit(1);\n }\n}\n\nfunction buildLLMLayer(provider: \"anthropic\" | \"openai\" | \"test\") {\n switch (provider) {\n case \"anthropic\":\n return AnthropicProviderLive;\n case \"openai\":\n return OpenAIProviderLive;\n case \"test\":\n default:\n return TestLLMServiceLayer({ default: \"0.8\" });\n }\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\" | \"gemini\" | \"test\" = \"anthropic\";\n let model: string | undefined;\n let name = \"cli-agent\";\n let enableTools = false;\n let enableReasoning = false;\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 === \"--tools\") {\n enableTools = true;\n } else if (arg === \"--reasoning\") {\n enableReasoning = true;\n } else if (!arg.startsWith(\"--\")) {\n promptParts.push(arg);\n }\n }\n\n const prompt = promptParts.join(\" \");\n if (!prompt) {\n console.error(\"Usage: rax run <prompt> [--provider anthropic|openai|ollama|gemini|test] [--model <model>] [--name <name>] [--tools] [--reasoning]\");\n process.exit(1);\n }\n\n console.log(`Building agent \"${name}\" with provider: ${provider}...`);\n\n let builder = ReactiveAgents.create()\n .withName(name)\n .withProvider(provider);\n\n if (model) {\n builder = builder.withModel(model);\n }\n\n if (enableTools) {\n builder = builder.withTools();\n }\n\n if (enableReasoning) {\n builder = builder.withReasoning();\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","{\n \"name\": \"@reactive-agents/cli\",\n \"version\": \"0.2.1\",\n \"type\": \"module\",\n \"main\": \"./dist/index.js\",\n \"bin\": {\n \"rax\": \"dist/index.js\",\n \"reactive-agents\": \"dist/index.js\"\n },\n \"scripts\": {\n \"build\": \"tsup --config tsup.config.ts\",\n \"typecheck\": \"tsc --noEmit\",\n \"test\": \"bun test\"\n },\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/tylerjrbuell/reactive-agents-ts.git\",\n \"directory\": \"apps/cli\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"files\": [\n \"dist\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"dependencies\": {\n \"effect\": \"^3.10.0\",\n \"@reactive-agents/core\": \"0.1.0\",\n \"@reactive-agents/runtime\": \"0.2.0\",\n \"@reactive-agents/eval\": \"0.1.0\",\n \"@reactive-agents/llm-provider\": \"workspace:*\"\n },\n \"devDependencies\": {\n \"typescript\": \"^5.7.0\",\n \"bun-types\": \"latest\"\n },\n \"description\": \"rax — the Reactive Agents CLI for scaffolding, running, and inspecting AI agents\",\n \"homepage\": \"https://tylerjrbuell.github.io/reactive-agents-ts/\",\n \"bugs\": {\n \"url\": \"https://github.com/tylerjrbuell/reactive-agents-ts/issues\"\n },\n \"types\": \"./dist/index.d.ts\"\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\n// Import version from package.json\nimport pkg from \"../package.json\" with { type: \"json\" };\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 = pkg.version;\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;;;ACJA,SAAS,QAAQ,aAAa;AAC9B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,IAAM,QACJ;AAEF,eAAsB,QAAQ,MAA+B;AAC3D,QAAM,aAAa,KAAK,CAAC;AACzB,MAAI,eAAe,OAAO;AACxB,YAAQ,MAAM,KAAK;AACnB,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI;AACJ,MAAI,WAA4C;AAChD,MAAI,cAAc;AAElB,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,QAAI,KAAK,CAAC,MAAM,aAAa,KAAK,IAAI,CAAC,EAAG,aAAY,KAAK,EAAE,CAAC;AAAA,aACrD,KAAK,CAAC,MAAM,gBAAgB,KAAK,IAAI,CAAC;AAC7C,iBAAW,KAAK,EAAE,CAAC;AAAA,aACZ,KAAK,CAAC,MAAM,aAAa,KAAK,IAAI,CAAC,EAAG,eAAc,KAAK,EAAE,CAAC;AAAA,EACvE;AAEA,MAAI,CAAC,WAAW;AACd,YAAQ,MAAM,KAAK;AACnB,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,WAAW,cAAc,QAAQ;AACvC,QAAM,YAAY,gBAAgB,KAAK,MAAM,QAAQ,QAAQ,CAAC;AAC9D,QAAM,YAAY,MAAM,SAAS,WAAW,oBAAoB,QAAQ;AAExE,QAAM,QAAQ;AACd,QAAM,UAAU,OAAO,IAAI,aAAa;AACtC,UAAM,KAAK,OAAO;AAClB,UAAM,cAAc,OAAO;AAE3B,YAAQ,IAAI,kBAAkB,KAAK,EAAE;AACrC,UAAM,YAAY,OAAO,GAAG,UAAU,KAAK;AAC3C,YAAQ;AAAA,MACN,WAAW,UAAU,IAAI,YAAO,UAAU,MAAM,MAAM,uBAAuB,UAAU,WAAW,KAAK,IAAI,CAAC;AAAA,IAC9G;AACA,YAAQ,IAAI,aAAa,QAAQ,YAAY,WAAW;AAAA,CAAI;AAE5D,UAAM,MAAM,OAAO,YAAY,SAAS,WAAW,WAAW;AAC9D,UAAM,IAAI,IAAI;AAEd,YAAQ,IAAI,+CAAiB;AAC7B,YAAQ;AAAA,MACN,WAAW,EAAE,MAAM,IAAI,EAAE,UAAU,kBAAkB,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,cAAc,EAAE,aAAa,QAAQ,CAAC,CAAC;AAAA,IAC1H;AAEA,YAAQ,IAAI,0DAA4B;AACxC,eAAW,CAAC,KAAK,GAAG,KAAK,OAAO,QAAQ,EAAE,iBAAiB,GAAG;AAC5D,YAAM,MAAM,SAAI,OAAO,KAAK,MAAM,MAAM,EAAE,CAAC,EAAE,OAAO,IAAI,QAAG;AAC3D,cAAQ,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC,IAAI,GAAG,KAAK,MAAM,KAAK,QAAQ,CAAC,CAAC,GAAG;AAAA,IACrE;AAEA,YAAQ,IAAI,sDAAwB;AACpC,eAAW,KAAK,IAAI,SAAS;AAC3B,YAAM,OAAO,EAAE,SAAS,WAAM;AAC9B,cAAQ,IAAI,KAAK,IAAI,IAAI,EAAE,OAAO,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,QAAQ,CAAC,CAAC,GAAG;AAAA,IACtF;AAEA,QAAI,EAAE,SAAS,GAAG;AAChB,cAAQ,IAAI;AAAA,EAAK,EAAE,MAAM,kBAAkB;AAC3C,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF,CAAC;AAED,MAAI;AACF,UAAM,OAAO,WAAW,QAAQ,KAAK,OAAO,QAAQ,SAAS,CAAC,CAAC;AAAA,EACjE,SAAS,KAAK;AACZ,YAAQ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC7E,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,SAAS,cAAc,UAA2C;AAChE,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL;AACE,aAAO,oBAAoB,EAAE,SAAS,MAAM,CAAC;AAAA,EACjD;AACF;;;ACpGO,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,WAAkE;AACtE,MAAI;AACJ,MAAI,OAAO;AACX,MAAI,cAAc;AAClB,MAAI,kBAAkB;AAEtB,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,QAAQ,WAAW;AAC5B,oBAAc;AAAA,IAChB,WAAW,QAAQ,eAAe;AAChC,wBAAkB;AAAA,IACpB,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,oIAAoI;AAClJ,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,UAAQ,IAAI,mBAAmB,IAAI,oBAAoB,QAAQ,KAAK;AAEpE,MAAI,UAAU,eAAe,OAAO,EACjC,SAAS,IAAI,EACb,aAAa,QAAQ;AAExB,MAAI,OAAO;AACT,cAAU,QAAQ,UAAU,KAAK;AAAA,EACnC;AAEA,MAAI,aAAa;AACf,cAAU,QAAQ,UAAU;AAAA,EAC9B;AAEA,MAAI,iBAAiB;AACnB,cAAU,QAAQ,cAAc;AAAA,EAClC;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;;;AC1EA;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,IACL,KAAO;AAAA,IACP,mBAAmB;AAAA,EACrB;AAAA,EACA,SAAW;AAAA,IACT,OAAS;AAAA,IACT,WAAa;AAAA,IACb,MAAQ;AAAA,EACV;AAAA,EACA,SAAW;AAAA,EACX,YAAc;AAAA,IACZ,MAAQ;AAAA,IACR,KAAO;AAAA,IACP,WAAa;AAAA,EACf;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,cAAgB;AAAA,IACd,QAAU;AAAA,IACV,yBAAyB;AAAA,IACzB,4BAA4B;AAAA,IAC5B,yBAAyB;AAAA,IACzB,iCAAiC;AAAA,EACnC;AAAA,EACA,iBAAmB;AAAA,IACjB,YAAc;AAAA,IACd,aAAa;AAAA,EACf;AAAA,EACA,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,MAAQ;AAAA,IACN,KAAO;AAAA,EACT;AAAA,EACA,OAAS;AACX;;;AC7CA,IAAM,SAAS;AACf,IAAM,SAAS;AACf,IAAM,SAAS;AACf,IAAM,WAAW;AACjB,IAAM,MAAM;AACZ,IAAM,QAAQ;AACd,IAAM,OAAO;AAKN,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,gBAAI;AAEpB,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;;;ACvBA,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.7",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -29,7 +29,9 @@
29
29
  "dependencies": {
30
30
  "effect": "^3.10.0",
31
31
  "@reactive-agents/core": "0.1.0",
32
- "@reactive-agents/runtime": "0.1.2"
32
+ "@reactive-agents/runtime": "0.2.0",
33
+ "@reactive-agents/eval": "0.1.0",
34
+ "@reactive-agents/llm-provider": "0.1.1"
33
35
  },
34
36
  "devDependencies": {
35
37
  "typescript": "^5.7.0",
@@ -41,4 +43,4 @@
41
43
  "url": "https://github.com/tylerjrbuell/reactive-agents-ts/issues"
42
44
  },
43
45
  "types": "./dist/index.d.ts"
44
- }
46
+ }