@reactive-agents/cli 0.1.5 → 0.1.6

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
@@ -321,6 +321,8 @@ async function runAgent(args) {
321
321
  let provider = "anthropic";
322
322
  let model;
323
323
  let name = "cli-agent";
324
+ let enableTools = false;
325
+ let enableReasoning = false;
324
326
  for (let i = 0; i < args.length; i++) {
325
327
  const arg = args[i];
326
328
  if (arg === "--provider" && args[i + 1]) {
@@ -329,13 +331,17 @@ async function runAgent(args) {
329
331
  model = args[++i];
330
332
  } else if (arg === "--name" && args[i + 1]) {
331
333
  name = args[++i];
334
+ } else if (arg === "--tools") {
335
+ enableTools = true;
336
+ } else if (arg === "--reasoning") {
337
+ enableReasoning = true;
332
338
  } else if (!arg.startsWith("--")) {
333
339
  promptParts.push(arg);
334
340
  }
335
341
  }
336
342
  const prompt = promptParts.join(" ");
337
343
  if (!prompt) {
338
- console.error("Usage: reactive-agents run <prompt> [--provider anthropic|openai|ollama|test] [--model <model>] [--name <name>]");
344
+ console.error("Usage: rax run <prompt> [--provider anthropic|openai|ollama|gemini|test] [--model <model>] [--name <name>] [--tools] [--reasoning]");
339
345
  process.exit(1);
340
346
  }
341
347
  console.log(`Building agent "${name}" with provider: ${provider}...`);
@@ -343,6 +349,12 @@ async function runAgent(args) {
343
349
  if (model) {
344
350
  builder = builder.withModel(model);
345
351
  }
352
+ if (enableTools) {
353
+ builder = builder.withTools();
354
+ }
355
+ if (enableReasoning) {
356
+ builder = builder.withReasoning();
357
+ }
346
358
  try {
347
359
  const agent = await builder.build();
348
360
  console.log(`Agent ready: ${agent.agentId}`);
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.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\" | \"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 let builder = ReactiveAgents.create()\n .withName(name)\n .withProvider(provider);\n\n if (model) {\n builder = 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.5\";\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","../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","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.5\";\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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reactive-agents/cli",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -29,7 +29,7 @@
29
29
  "dependencies": {
30
30
  "effect": "^3.10.0",
31
31
  "@reactive-agents/core": "0.1.0",
32
- "@reactive-agents/runtime": "0.1.1"
32
+ "@reactive-agents/runtime": "0.1.2"
33
33
  },
34
34
  "devDependencies": {
35
35
  "typescript": "^5.7.0",