{"_id":"@aitoolkit/agentic","_rev":"1-3fc8913775ac27d3b2583067778380ea","name":"@aitoolkit/agentic","dist-tags":{"latest":"1.8.2"},"versions":{"1.8.1":{"name":"@aitoolkit/agentic","version":"1.8.1","author":{"name":"Luke Morton","email":"lukemorton.dev@gmail.com"},"license":"MIT","_id":"@aitoolkit/agentic@1.8.1","maintainers":[{"name":"drpheltright","email":"lukemorton.designs@gmail.com"}],"dist":{"shasum":"193cd7743a710d4b8ae4cbdd228ec18c359cd11e","tarball":"https://registry.npmjs.org/@aitoolkit/agentic/-/agentic-1.8.1.tgz","fileCount":5,"integrity":"sha512-JKszPgzy168GBdx6MosIBi9cU+7zoFSXMfKyFUlfpJyTpXV9fp5vkApKaqttTPv2IfA8VB8cnWvs4TedTT0tvQ==","signatures":[{"sig":"MEUCIFoVvCBTOCUnB+sekLIsKrYvCAPQ3rP0Gc1R3tWU2WP2AiEA6aiI6/TkQnApP4vzJ0dSIlmVbOIVTLWa4n8xDnF4Abk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3351},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"gitHead":"6eafde60d5a491bff9f8eb67d2cff13211e1dd7a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","prepublish":"tsc"},"_npmUser":{"name":"drpheltright","email":"lukemorton.designs@gmail.com"},"_npmVersion":"10.8.1","description":"Tools for building agentic user experiences","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","typescript":"^5.5.4"},"_npmOperationalInternal":{"tmp":"tmp/agentic_1.8.1_1726597186929_0.03387451490577287","host":"s3://npm-registry-packages"}},"1.8.2":{"name":"@aitoolkit/agentic","version":"1.8.2","description":"Tools for building agentic user experiences","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./*":{"import":"./dist/*.js","types":"./dist/*.d.ts"}},"scripts":{"prepublish":"tsc","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Luke Morton","email":"lukemorton.dev@gmail.com"},"license":"MIT","devDependencies":{"typescript":"^5.5.4","zod":"^3.23.8"},"_id":"@aitoolkit/agentic@1.8.2","gitHead":"ed53c606cf27e1a88b1da88ab668e2042831c778","_nodeVersion":"20.17.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-umYv39kR1zMpb67AjI6B6rPMnmpRzpSEj8chqPutWBMvsBvGTcqNXu5f5w5nYhFDGE80fQwB+bBNBCKKnKvxVg==","shasum":"525492703e210dd3778a05c8a881ecfe521d98ba","tarball":"https://registry.npmjs.org/@aitoolkit/agentic/-/agentic-1.8.2.tgz","fileCount":3,"unpackedSize":2653,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBalEAPYj/bzTs3JezQ7tIWf1DEtWZtxRY8oEZ6ea5BFAiBuVy0hA0F8cIyEGwbjHCU4mwKCCw0/m0OMgYBxhxLVhA=="}]},"_npmUser":{"name":"drpheltright","email":"lukemorton.designs@gmail.com"},"directories":{},"maintainers":[{"name":"drpheltright","email":"lukemorton.designs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/agentic_1.8.2_1726598024704_0.472049484427159"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-17T18:19:46.823Z","modified":"2024-09-17T18:33:45.085Z","1.8.1":"2024-09-17T18:19:47.152Z","1.8.2":"2024-09-17T18:33:44.833Z"},"author":{"name":"Luke Morton","email":"lukemorton.dev@gmail.com"},"license":"MIT","description":"Tools for building agentic user experiences","maintainers":[{"name":"drpheltright","email":"lukemorton.designs@gmail.com"}],"readme":"# @aitoolkit/agentic\n\nA set of tools for building agentic user experiences.\n\n```ts\nimport { nextRoute } from \"@aitoolkit/agentic/next\";\nimport { validZodObject } from \"@aitoolkit/agentic/zod\";\nimport { ConversationalRouter, Task } from \"@aitoolkit/agentic\";\nimport { z } from \"zod\";\n\nconst signInValidator = z\n  .object({\n    email: z.string().min(1).email(),\n    password: z.string().min(1).refine(check),\n  })\n  .refine(({ email, password }) => checkPasswordValid(email, password), {\n    message: \"Email and password do not match\",\n  });\n\nfunction checkPasswordValid(email: string, password: string) {\n  // Check database IRL, but for sake of simple example...\n  return password === \"password\";\n}\n\nconst task = Task({\n  goal: \"assist the user to sign in\",\n  progress: validZodObject(signInValidator),\n});\n\nconst router = ConversationalRouter(task);\n\nexport const POST = nextRoute(router);\n```\n\n````ts\nfunction validZodObject(zodObject) {\n  return function progress({ state, status }) {\n    const validation = zodObject.safeParse(state);\n    if (validation.success) {\n      return status.complete();\n    } else {\n      return status.fromZodErrors(validation.errors);\n    }\n  };\n}```\n````\n","readmeFilename":"README.md"}