{"_id":"@an5/agent","_rev":"2-f5eb9600fa1678888c6ac6835a55f2e5","name":"@an5/agent","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@an5/agent","version":"0.1.0","license":"MIT","_id":"@an5/agent@0.1.0","maintainers":[{"name":"n2flowjs-bot","email":"n2flowjs@gmail.com"}],"dist":{"shasum":"59682ce8740dd2eb023ae65d92c1be40e874379f","tarball":"https://registry.npmjs.org/@an5/agent/-/agent-0.1.0.tgz","fileCount":28,"integrity":"sha512-KzXnJu11Pz0BF6XpNlIuU+RLCgKfrGvGGvJJWLRg2tabfpw0GqmF9bgy3H/XNnnNbAHwgTUr3/7uodNXJ44zoA==","signatures":[{"sig":"MEQCIDVk02wS0Kmj1cmYCfKpMsjTbWQMh8K/i04DW9X/iR6hAiAn+unFWgh2qkpe08lNoyucXpu9e/7ZRJiVa5TJupaKxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95590},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"node test/smoke.test.js","build":"tsc -p tsconfig.json","rag:index":"npx tsx scripts/index-schema.ts"},"_npmUser":{"name":"n2flowjs-bot","email":"n2flowjs@gmail.com"},"_npmVersion":"10.9.4","description":"Agent library for AN5 ORM projects, helping users understand databases and interact with schema-driven workflows.","directories":{},"_nodeVersion":"24.9.0","dependencies":{"zod":"^4.4.3","genkit":"^1.39.0","@an5/adapters":"^0.1.0","@genkit-ai/dev-local-vectorstore":"^1.39.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","typescript":"^6.0.3","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/agent_0.1.0_1785224445643_0.962914568600447","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@an5/agent","version":"0.1.1","description":"Agent library for AN5 ORM projects, helping users understand databases and interact with schema-driven workflows.","license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","publishConfig":{"access":"public"},"scripts":{"build":"tsc -p tsconfig.json","test":"node test/smoke.test.js","rag:index":"npx tsx scripts/index-schema.ts"},"devDependencies":{"@types/node":"^20.11.0","tsx":"^4.7.1","typescript":"^6.0.3"},"dependencies":{"@genkit-ai/dev-local-vectorstore":"^1.39.0","genkit":"^1.39.0","@an5/adapters":"^0.1.0","zod":"^4.4.3"},"_id":"@an5/agent@0.1.1","_nodeVersion":"24.9.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-O0KEI4KQ58Oc3QPYPPcPwxY6CQWkKRVFjJUEEa/0VhsGqchPQ39kMsYfPgMvmTvwU5Yuw54uzYp5aNEI+yRY2Q==","shasum":"b7e21dd7f3ed6e049ab4629fbfac3ea21d3306cf","tarball":"https://registry.npmjs.org/@an5/agent/-/agent-0.1.1.tgz","fileCount":28,"unpackedSize":95592,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEIrsqoUHaKcqGbb0k1Qj/w4rQ+vZYJJJm8pqFW/fYmVAiBorK2krbEJoXrgqEwP52v67G+Ogv1AgP/tBTv5muIx9g=="}]},"_npmUser":{"name":"n2flowjs-bot","email":"n2flowjs@gmail.com"},"directories":{},"maintainers":[{"name":"n2flowjs-bot","email":"n2flowjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent_0.1.1_1785224604491_0.708942974271761"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-28T07:40:45.479Z","modified":"2026-07-28T07:43:24.770Z","0.1.0":"2026-07-28T07:40:45.789Z","0.1.1":"2026-07-28T07:43:24.621Z"},"license":"MIT","description":"Agent library for AN5 ORM projects, helping users understand databases and interact with schema-driven workflows.","maintainers":[{"name":"n2flowjs-bot","email":"n2flowjs@gmail.com"}],"readme":"# an5Agent\r\n\r\nAI agent library for AN5 ORM. Provides 7 consolidated tools for schema exploration, query generation, database operations, code generation, task workflows, and RAG-powered semantic search.\n\r\n## Features\r\n\r\n- **Schema tools** — List models, describe tables, explore relations\r\n- **Query tools** — Generate, explain, validate SQL queries\r\n- **Database tools** — Execute queries, health checks, table inspection\r\n- **Codegen tools** — Generate client code, analyze schema health\r\n- **RAG pipeline** — Semantic search over schema and query samples\r\n\r\n## Installation\r\n\r\n```bash\nnpm install @an5/agent\n```\r\n\r\n## Usage\r\n\r\n```typescript\r\nimport { createAgent } from '@an5/agent';\n\r\nconst agent = createAgent();\r\n\r\n// Process natural language questions\r\nconst response = await agent.process({\r\n  userQuestion: 'List all users with their orders',\r\n  toolContext: {\r\n    schemaPath: '../an5Schema',\r\n    connectionString: process.env.DATABASE_URL,\r\n  },\r\n});\r\n\r\nconsole.log(response.answer);\r\nconsole.log(response.toolCalls);\r\n\r\n// Execute individual tools\r\nconst models = await agent.executeTool('schema', {\n  action: 'list',\n  schemaPath: '../an5Schema',\n});\n\nconst sql = await agent.executeTool('query', {\n  action: 'generate',\n  description: 'Find top 10 customers by total spend',\n});\n```\r\n\r\n## Available Tools\r\n\r\n| Tool | Actions | Description |\n|------|---------|-------------|\n| `schema` | `list`, `describe`, `relations` | Explore models, fields, and relationships |\n| `query` | `generate`, `explain`, `validate` | Work with SQL from natural language or existing queries |\n| `database` | `execute`, `describe`, `health` | Run safe database operations and inspect tables |\n| `generateClientCode` | n/a | Generate TS/Python/.NET code |\n| `analyzeSchema` | n/a | Find schema design issues |\n| `retrieve` | `schema`, `queries` | RAG semantic search over schema and query samples |\n| `task` | `create`, `list`, `update`, `delete` | Manage task workflows |\n\r\n## RAG Pipeline\r\n\r\nIndex schema and query samples for semantic search:\r\n\r\n```bash\r\n# Index schema into vector store\r\nnpm run rag:index\r\n\r\n# Query samples are stored in query-samples.json\r\n```\r\n\r\n## Custom Tools\r\n\r\n```typescript\r\nimport { createAgent, Tool } from '@an5/agent';\n\r\nconst myTool: Tool = {\r\n  name: 'myCustomTool',\r\n  description: 'Does something custom',\r\n  inputSchema: z.object({ input: z.string() }),\r\n  outputSchema: z.object({ result: z.string() }),\r\n  async execute(input) {\r\n    return { result: `Processed: ${input.input}` };\r\n  },\r\n};\r\n\r\nconst agent = createAgent([myTool]);\r\n```\r\n\r\n## Testing\r\n\r\n```bash\r\n# Unit tests\r\nnode test/unit.test.js\r\n\r\n# Smoke test\r\nnpm test\r\n```\r\n\r\n## Architecture\r\n\r\n```\r\nUser Question\r\n     │\r\n     ▼\r\nAn5Agent.process()\r\n     │\r\n    ├─► schema (list, describe, relations)\n    ├─► query (generate, explain, validate)\n    ├─► database (execute, describe, health)\n    ├─► Codegen Tools (generateClientCode, analyzeSchema)\n    ├─► retrieve (schema, queries)\n    └─► task (create, list, update, delete)\n           │\r\n           ▼\r\n       AgentResponse { answer, toolCalls }\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}