{"_id":"@adikuma/breadcrumb-protocol","_rev":"6-10b2bac43f892a5bf149c2da43f6ad77","name":"@adikuma/breadcrumb-protocol","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@adikuma/breadcrumb-protocol","version":"0.1.0","_id":"@adikuma/breadcrumb-protocol@0.1.0","maintainers":[{"name":"adikuma","email":"adityakuma0308@gmail.com"}],"dist":{"shasum":"1533841af9cea43d94bd80df6820c31396f796f0","tarball":"https://registry.npmjs.org/@adikuma/breadcrumb-protocol/-/breadcrumb-protocol-0.1.0.tgz","fileCount":5,"integrity":"sha512-TsPez8a0mz8ScLJ7Nf4cAsn/1AV80NQYkVIz5vYbAGmocJ9r8Suk17YyZC3EposHqoSgnDel26wCyICI7wLPyw==","signatures":[{"sig":"MEQCIElxCgK85zJbVcptoxJid1uoqSyyWAbiGEZYZxNg3espAiAXo48pgUIQUZ3SS8XPU74OU0GN/UE7vvEZhfCQMhiwZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23076},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"tsc -p tsconfig.json --noEmit && vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"adikuma","email":"adityakuma0308@gmail.com"},"deprecated":"old versions predate the stable format, use latest","description":"schema and validation helpers for breadcrumb review handoffs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"4.4.3","yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","typescript":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/breadcrumb-protocol_0.1.0_1781457149244_0.8897984293611128","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@adikuma/breadcrumb-protocol","version":"0.1.1","_id":"@adikuma/breadcrumb-protocol@0.1.1","maintainers":[{"name":"adikuma","email":"adityakuma0308@gmail.com"}],"dist":{"shasum":"89c8619cc734f6ad72394abfcc5085efe24eaffb","tarball":"https://registry.npmjs.org/@adikuma/breadcrumb-protocol/-/breadcrumb-protocol-0.1.1.tgz","fileCount":6,"integrity":"sha512-Gcvh01jQarlrC/hHtYF509N9q482r2l+aElTSqrQ7XhMFQcDBZ2+9vFpgfmdIxFZF6BtCCqx1+slNJG8jBm+Gg==","signatures":[{"sig":"MEUCIQCn4NqWp4v7KtcHVBSVrtgQX1dlauc5vcfbEGNHKLDyKwIgMkyB6H6+JmTbFuDvcRso9OY4SUOg1cbBDdoIQ+x9DY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24619},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"tsc -p tsconfig.json --noEmit && vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"adikuma","email":"adityakuma0308@gmail.com"},"deprecated":"old versions predate the stable format, use latest","description":"schema and validation helpers for breadcrumb review handoffs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"4.4.3","yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","typescript":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/breadcrumb-protocol_0.1.1_1781457783581_0.026559981363628138","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@adikuma/breadcrumb-protocol","version":"0.2.0","_id":"@adikuma/breadcrumb-protocol@0.2.0","maintainers":[{"name":"adikuma","email":"adityakuma0308@gmail.com"}],"dist":{"shasum":"232ddf84eca6f97d2fb1301f8314f5ffeaf43b9f","tarball":"https://registry.npmjs.org/@adikuma/breadcrumb-protocol/-/breadcrumb-protocol-0.2.0.tgz","fileCount":6,"integrity":"sha512-lL7oxYRP2lgKsstiMTiu/tKrkPWGx7HBQnyhFfk738ZqCwtdvM4p5XbJMJco8SRwWXvFkLTh8+uw+DqzQT/Ufg==","signatures":[{"sig":"MEYCIQCStI4iCPeeVbWll5gdbnJtRlEoQ30m3Dgwr6jHXf/x/wIhAIXJ1NFohTYh11KLBxsS0d0BJ/ksuHDbzdq6fgFJJ1Vc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25187},"type":"module","_from":"file:adikuma-breadcrumb-protocol-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"tsc -p tsconfig.json --noEmit && vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"adikuma","email":"adityakuma0308@gmail.com"},"_resolved":"C:\\Users\\adity\\desktop\\coding projects\\breadcrumb\\packages\\protocol\\adikuma-breadcrumb-protocol-0.2.0.tgz","_integrity":"sha512-lL7oxYRP2lgKsstiMTiu/tKrkPWGx7HBQnyhFfk738ZqCwtdvM4p5XbJMJco8SRwWXvFkLTh8+uw+DqzQT/Ufg==","_npmVersion":"11.6.2","description":"schema and validation helpers for breadcrumb review handoffs","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"4.4.3","yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","typescript":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/breadcrumb-protocol_0.2.0_1782411406838_0.5788505479984858","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@adikuma/breadcrumb-protocol","version":"0.2.1","license":"MIT","_id":"@adikuma/breadcrumb-protocol@0.2.1","maintainers":[{"name":"adikuma","email":"adityakuma0308@gmail.com"}],"homepage":"https://github.com/adikuma-labs/breadcrumb-protocol#readme","bugs":{"url":"https://github.com/adikuma-labs/breadcrumb-protocol/issues"},"dist":{"shasum":"275835c0300537cf8ecf92c0ffed2f1fbf6f0657","tarball":"https://registry.npmjs.org/@adikuma/breadcrumb-protocol/-/breadcrumb-protocol-0.2.1.tgz","fileCount":7,"integrity":"sha512-JQvIBRZ4P1XsVZ/TTB4IPBbr8K1P8aZ1UawXQyb1zCP9MIBkMgToeXYx/iJR3BEF/AKK3JwgMZf9Xdz1xO6aNw==","signatures":[{"sig":"MEUCIQDTJMBAR6CLO35yZhISyrwDr4KiYHWTxNIGItJlwICmvgIgKs8QJl/3yLBZ2R0lHdnEQQoqnDFunCAFD0vjWGrhU/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26510},"type":"module","_from":"file:packages/protocol/adikuma-breadcrumb-protocol-0.2.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"tsc -p tsconfig.json --noEmit && vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"adikuma","email":"adityakuma0308@gmail.com"},"_resolved":"C:\\Users\\adity\\desktop\\coding projects\\breadcrumb-protocol\\packages\\protocol\\adikuma-breadcrumb-protocol-0.2.1.tgz","_integrity":"sha512-JQvIBRZ4P1XsVZ/TTB4IPBbr8K1P8aZ1UawXQyb1zCP9MIBkMgToeXYx/iJR3BEF/AKK3JwgMZf9Xdz1xO6aNw==","repository":{"url":"git+https://github.com/adikuma-labs/breadcrumb-protocol.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.16.0","description":"schema and validation helpers for breadcrumb review handoffs","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"4.4.3","yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","typescript":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/breadcrumb-protocol_0.2.1_1784514910214_0.27726352277188804","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@adikuma/breadcrumb-protocol","version":"0.3.0","type":"module","description":"schema and validation helpers for breadcrumb review handoffs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"types":"./dist/index.d.ts","dependencies":{"yaml":"2.9.0","zod":"4.4.3"},"devDependencies":{"typescript":"6.0.3","vitest":"4.1.8"},"repository":{"type":"git","url":"git+https://github.com/adikuma-labs/breadcrumb-protocol.git","directory":"packages/protocol"},"homepage":"https://github.com/adikuma-labs/breadcrumb-protocol#readme","license":"MIT","scripts":{"build":"tsc -p tsconfig.build.json","check":"tsc -p tsconfig.json --noEmit && vitest run","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"_id":"@adikuma/breadcrumb-protocol@0.3.0","bugs":{"url":"https://github.com/adikuma-labs/breadcrumb-protocol/issues"},"_integrity":"sha512-SdVGefkkXGjQWuYCihP3O93w2o5CECbjpwkrlw4560/rpoP2bfg/PUbAVV2Wv/r3/yu3ImOp2wxWMVQXoUwP5Q==","_resolved":"/home/runner/work/breadcrumb-protocol/breadcrumb-protocol/packages/protocol/adikuma-breadcrumb-protocol-0.3.0.tgz","_from":"file:adikuma-breadcrumb-protocol-0.3.0.tgz","_nodeVersion":"24.18.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-SdVGefkkXGjQWuYCihP3O93w2o5CECbjpwkrlw4560/rpoP2bfg/PUbAVV2Wv/r3/yu3ImOp2wxWMVQXoUwP5Q==","shasum":"642fb3d980f9b40ac9a721841746580bb685dcaf","tarball":"https://registry.npmjs.org/@adikuma/breadcrumb-protocol/-/breadcrumb-protocol-0.3.0.tgz","fileCount":7,"unpackedSize":27452,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adikuma%2fbreadcrumb-protocol@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICp1Bby+rlMz1GVnLkxDZrCa4iLO8xctgvjJCjgEBtc0AiAnTsA2xyr3wfXqYv86YpGH/kbv80pH+1n96sxz0iOVZg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:abe67058-2564-40f7-8147-24f01e9bdeed"}},"directories":{},"maintainers":[{"name":"adikuma","email":"adityakuma0308@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/breadcrumb-protocol_0.3.0_1785383984759_0.9172134755327497"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-14T17:12:29.113Z","modified":"2026-07-30T03:59:45.241Z","0.1.0":"2026-06-14T17:12:29.364Z","0.1.1":"2026-06-14T17:23:03.720Z","0.2.0":"2026-06-25T18:16:46.963Z","0.2.1":"2026-07-20T02:35:10.343Z","0.3.0":"2026-07-30T03:59:44.904Z"},"bugs":{"url":"https://github.com/adikuma-labs/breadcrumb-protocol/issues"},"license":"MIT","homepage":"https://github.com/adikuma-labs/breadcrumb-protocol#readme","repository":{"type":"git","url":"git+https://github.com/adikuma-labs/breadcrumb-protocol.git","directory":"packages/protocol"},"description":"schema and validation helpers for breadcrumb review handoffs","maintainers":[{"name":"adikuma","email":"adityakuma0308@gmail.com"}],"readme":"# @adikuma/breadcrumb-protocol\n\nSchema and validation helpers for Breadcrumb review handoffs.\n\nBreadcrumb uses a small `.breadcrumb/tasks/<task-id>/review.yml` file to explain an agent-written code change before a human reviews it. This package defines that file format and validates it with Zod.\n\nMost users should install the CLI instead:\n\n```bash\npnpm dlx @adikuma/breadcrumb init\n```\n\nUse this package directly when building tools that need to read or validate Breadcrumb handoffs.\n\n```bash\npnpm add @adikuma/breadcrumb-protocol\n```\n\n```ts\nimport { parseBreadcrumbReviewYaml } from \"@adikuma/breadcrumb-protocol\";\n\nconst result = parseBreadcrumbReviewYaml(source);\n\nif (!result.ok) {\n  console.error(result.errors);\n}\n```\n\n## What It Validates\n\n- `version` must be `1`\n- `risk` must be `low`, `medium`, or `high`\n- paths must be relative POSIX paths\n- each `review_sequence` section needs a `title`, a `why`, and a `files` list\n- every `review_sequence` file must also appear in `files`\n- duplicate paths and invalid schema fields are rejected\n\n## Minimal Handoff\n\n```yaml\nversion: 1\nid: quote-add-ons\ntitle: Add optional add-ons to the quote flow\nuser_goal: Let sales reps add optional services to a quote.\nsummary: Adds add-on selection and includes add-ons in quote totals.\nreview_sequence:\n  - title: Pricing rule\n    why: Read the pricing rule first; the rest of the change builds on it.\n    files:\n      - src/pricing/tax.ts\nfiles:\n  - path: src/pricing/tax.ts\n    why: Defines the add-on pricing and tax rule.\n    risk: medium\n```\n\n## Package Role\n\nThis package is intentionally separate from the CLI so the Breadcrumb web app, CLI, and future tooling can all validate the same handoff format.\n","readmeFilename":"README.md"}