{"_id":"@claritylabs/cl-pipelines","name":"@claritylabs/cl-pipelines","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@claritylabs/cl-pipelines","version":"0.1.0","description":"Runtime-agnostic long-running jobs + agent primitives with Convex adapter and UI","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./convex":{"types":"./dist/convex.d.ts","import":"./dist/convex.mjs","require":"./dist/convex.js"},"./ui":{"types":"./dist/ui.d.ts","import":"./dist/ui.mjs","require":"./dist/ui.js"}},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","test":"vitest run","test:watch":"vitest"},"peerDependencies":{"zod":">=3.22.0","convex":">=1.17.0","react":">=18.0.0","ai":">=6.0.0"},"peerDependenciesMeta":{"convex":{"optional":true},"react":{"optional":true},"ai":{"optional":true}},"devDependencies":{"@types/react":"^19.0.0","@types/react-dom":"^19.0.0","ai":"^6.0.0","convex":"^1.17.0","react":"^19.0.0","react-dom":"^19.0.0","tsup":"^8.4.0","typescript":"^5.8.0","vitest":"^3.2.4","zod":"^3.24.0"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"repository":{"type":"git","url":"git+https://github.com/claritylabs-inc/cl-pipelines.git"},"license":"Apache-2.0","gitHead":"bcf97e1b903e54991739eb3587a4356355a090ba","_id":"@claritylabs/cl-pipelines@0.1.0","bugs":{"url":"https://github.com/claritylabs-inc/cl-pipelines/issues"},"homepage":"https://github.com/claritylabs-inc/cl-pipelines#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-zp3/UaxV2bhRhtigF9jr8pqU1smpgs7muIZjWDVJSLf5q1hVbR0S+9Wnv9VuP1yG5tHYkpiOed1M9TmyTr9/gQ==","shasum":"ecf21a7d757d59b606d363e61bc6b37af9401821","tarball":"https://registry.npmjs.org/@claritylabs/cl-pipelines/-/cl-pipelines-0.1.0.tgz","fileCount":21,"unpackedSize":128272,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCTNQqSmim+FWoa997EaYGdgwfV7KNaUXZ9I6ml4sgEBgIgUewtxIw8lFAVfoBMBrtJdy/HEXPNst6WBPyu4qpFpIM="}]},"_npmUser":{"name":"terrywangclarity","email":"terry@claritylabs.inc"},"directories":{},"maintainers":[{"name":"terrywangclarity","email":"terry@claritylabs.inc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cl-pipelines_0.1.0_1776887743613_0.9899293118693269"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-22T19:55:43.444Z","0.1.0":"2026-04-22T19:55:43.729Z","modified":"2026-04-22T19:55:44.018Z"},"maintainers":[{"name":"terrywangclarity","email":"terry@claritylabs.inc"}],"description":"Runtime-agnostic long-running jobs + agent primitives with Convex adapter and UI","homepage":"https://github.com/claritylabs-inc/cl-pipelines#readme","repository":{"type":"git","url":"git+https://github.com/claritylabs-inc/cl-pipelines.git"},"bugs":{"url":"https://github.com/claritylabs-inc/cl-pipelines/issues"},"license":"Apache-2.0","readme":"# CL-Pipelines\n\nRuntime-agnostic long-running jobs + agent primitives. Typed checkpoints, resume/full retry, Convex adapter, headless UI.\n\n**[Documentation](https://claritylabs.inc/docs/pipelines)** | **[npm](https://www.npmjs.com/package/@claritylabs/cl-pipelines)** | **[GitHub](https://github.com/claritylabs-inc/cl-pipelines)**\n\n## Installation\n\n```bash\nnpm install @claritylabs/cl-pipelines\n```\n\n## Quickstart\n\n```typescript\nimport type { Phase } from \"@claritylabs/cl-pipelines\";\nimport {\n  runPipeline,\n  advancePhase,\n  createMemoryStorage,\n  createMemoryScheduler,\n} from \"@claritylabs/cl-pipelines\";\n\ntype CounterState = { count: number };\n\nconst countUp: Phase<CounterState> = {\n  name: \"countUp\",\n  run: async (ctx) => {\n    const { count } = ctx.checkpoint.state;\n    await ctx.log(`count is ${count}`);\n    return { kind: \"next\", nextPhase: \"logDone\", state: { count: count + 1 } };\n  },\n};\n\nconst logDone: Phase<CounterState> = {\n  name: \"logDone\",\n  run: async (ctx) => {\n    await ctx.log(`done, count = ${ctx.checkpoint.state.count}`);\n    return { kind: \"done\" };\n  },\n};\n\nconst phases = [countUp, logDone];\nconst storage = createMemoryStorage<CounterState>();\nconst scheduler = createMemoryScheduler();\n\nscheduler._bind((jobId) => advancePhase({ jobId, phases, storage, scheduler }));\n\nawait runPipeline({ jobId: \"job-1\", phases, storage, scheduler, initialState: { count: 0 } });\nawait scheduler.drain();\n\nconst job = storage._inspect().get(\"job-1\")!;\nconsole.log(job.status); // \"complete\"\n```\n\n## Subpath Exports\n\n| Subpath | Contents | Peer deps |\n|---|---|---|\n| `@claritylabs/cl-pipelines` | Core phase runner, agent primitive, memory adapters | `zod >=3.22` |\n| `@claritylabs/cl-pipelines/convex` | Convex storage + scheduler adapters, schema builder | `convex >=1.17`, `zod >=3.22` |\n| `@claritylabs/cl-pipelines/ui` | Headless React UI primitives | `react >=18` |\n\n## When to Use\n\n- Durable long-running jobs that must survive process restarts and partial failures.\n- Agent loops (LLM + tools) where each turn is checkpointed and can be retried independently.\n- Multi-phase pipelines with explicit checkpoint boundaries, typed state, and resume/full retry modes.\n\n## Docs\n\nFull documentation at **[claritylabs.inc/docs/pipelines](https://claritylabs.inc/docs/pipelines)**.\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md","_rev":"1-3f0e3f0beac5936d7f86a3f2bccd8348"}