{"_id":"@act-spec/adapter-storyblok","name":"@act-spec/adapter-storyblok","dist-tags":{"rc":"0.2.0-rc.1","latest":"0.2.0-rc.1"},"versions":{"0.2.0-rc.1":{"name":"@act-spec/adapter-storyblok","version":"0.2.0-rc.1","description":"PRD-204 Storyblok adapter for the ACT (Agent Content Tree) v0.1 reference implementation. Consumes the Storyblok Content Delivery API (stories + TipTap-derived rich text + component blocks) and emits PRD-100/PRD-102 envelopes; supports content-type / fiel","license":"Apache-2.0","author":{"name":"Jeremy Forsythe","email":"jeremy@act-spec.org"},"homepage":"https://act-spec.org","bugs":{"url":"https://github.com/act-spec/act/issues"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/act-spec/act.git","directory":"packages/adapter-storyblok"},"dependencies":{"ajv":"^8.17.1","ajv-formats":"^3.0.1","@act-spec/adapter-framework":"0.2.0-rc.1","@act-spec/core":"0.2.0-rc.1","@act-spec/validator":"0.2.0-rc.1"},"peerDependencies":{"storyblok-js-client":"^6.0.0"},"peerDependenciesMeta":{"storyblok-js-client":{"optional":true}},"devDependencies":{"@vitest/coverage-v8":"^2.1.9","tsx":"^4.19.2","typescript":"^5.6.3","vitest":"^2.1.4"},"scripts":{"build":"tsc -p tsconfig.json","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"eslint src","typecheck":"tsc -p tsconfig.json --noEmit","conformance":"tsx conformance.ts"},"_id":"@act-spec/adapter-storyblok@0.2.0-rc.1","_integrity":"sha512-1ZFy4Y67x25jJGzDTw1tA7iR8SxOz55HtHLdTE63KO5pheaHY8apt/UMmy9n+P170DQQw9dE3pwerfE42c8ilA==","_resolved":"/private/var/folders/yp/y7frhcvj70jgr6b8g633lghr0000gn/T/7075eebaf66575188f059e205ca30c30/act-spec-adapter-storyblok-0.2.0-rc.1.tgz","_from":"file:act-spec-adapter-storyblok-0.2.0-rc.1.tgz","_nodeVersion":"22.19.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-1ZFy4Y67x25jJGzDTw1tA7iR8SxOz55HtHLdTE63KO5pheaHY8apt/UMmy9n+P170DQQw9dE3pwerfE42c8ilA==","shasum":"be6cd98049b7f6ca6eacf47b62b658a7dcd6c290","tarball":"https://registry.npmjs.org/@act-spec/adapter-storyblok/-/adapter-storyblok-0.2.0-rc.1.tgz","fileCount":41,"unpackedSize":291548,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDsrexQdSaps5KvxjKV5LEORbGcybdDFyxqfGly0QKEGwIgIDrsG8LJrEi96giAkfMfxgGJ6YwQyPLovfQuA8NujiU="}]},"_npmUser":{"name":"jdforsythe","email":"jdforsythe@gmail.com"},"directories":{},"maintainers":[{"name":"jdforsythe","email":"jdforsythe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adapter-storyblok_0.2.0-rc.1_1777915293869_0.8015181167100078"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-04T17:21:33.727Z","0.2.0-rc.1":"2026-05-04T17:21:34.051Z","modified":"2026-05-04T17:21:34.299Z"},"maintainers":[{"name":"jdforsythe","email":"jdforsythe@gmail.com"}],"description":"PRD-204 Storyblok adapter for the ACT (Agent Content Tree) v0.1 reference implementation. Consumes the Storyblok Content Delivery API (stories + TipTap-derived rich text + component blocks) and emits PRD-100/PRD-102 envelopes; supports content-type / fiel","homepage":"https://act-spec.org","repository":{"type":"git","url":"git+https://github.com/act-spec/act.git","directory":"packages/adapter-storyblok"},"author":{"name":"Jeremy Forsythe","email":"jeremy@act-spec.org"},"bugs":{"url":"https://github.com/act-spec/act/issues"},"license":"Apache-2.0","readme":"# @act-spec/adapter-storyblok\n\nStoryblok adapter for ACT (Agent Content Tree). Consumes the Storyblok\nContent Delivery API (stories + TipTap-derived rich text + component\nblocks) and emits ACT envelopes against the shared adapter framework\n(`@act-spec/adapter-framework`). Supports content-type and field mapping,\nrich-text → block conversion, story-link resolution with cycle tolerance,\nlocale fan-out (folder + field strategies), `cv`-marker delta, and\nHMAC-SHA256 webhook signature verification.\n\n## Status\n\nACT v0.1 internal hand-test candidate. Public release lands at v0.2.\n\n## Install\n\nUnpublished in v0.1. Consume via the workspace:\n\n```jsonc\n// package.json\n{ \"dependencies\": { \"@act-spec/adapter-storyblok\": \"workspace:*\" } }\n```\n\n## Usage\n\n```ts\nimport { createStoryblokAdapter } from '@act-spec/adapter-storyblok';\n\nconst adapter = createStoryblokAdapter({\n  config: {\n    accessToken: { from_env: 'STORYBLOK_TOKEN' },\n    spaceId: 12345,\n    region: 'eu',\n    version: 'published',                  // or 'draft'\n    linkResolutionDepth: 2,                // 0–5\n    componentRecursionMax: 2,              // 1–4\n    mappings: {\n      article: {\n        type: 'article',\n        title: 'title',\n        body: { from: 'body', as: 'richtext' },\n      },\n    },\n  },\n});\n```\n\nWebhook signatures:\n\n```ts\nimport { verifyWebhookSignature } from '@act-spec/adapter-storyblok';\n\nconst ok = verifyWebhookSignature(rawBody, headers['webhook-signature'], secret);\n```\n\n## Conformance / what's tested\n\nEvery public API has a citing test in `src/storyblok.test.ts` covering\nTipTap richtext walks, component-block recursion bounds, story-link\ncycles, and the `cv`-marker delta path. The conformance gate runs\n`@act-spec/validator` against the bundled fixtures.\n\n```bash\npnpm -F @act-spec/adapter-storyblok conformance\n```\n\n## Configuration (selected)\n\n| Option | Default | Notes |\n| --- | --- | --- |\n| `accessToken` | (required) | Inline string OR `{ from_env: 'NAME' }`. |\n| `spaceId` | (required) | Storyblok space ID. |\n| `region` | `'eu'` | Or `'us'` / `'ap'` / `'ca'` / `'cn'`. |\n| `version` | `'published'` | `'draft'` requires a preview token. |\n| `linkResolutionDepth` | `2` | Range 0–5. |\n| `componentRecursionMax` | `2` | Range 1–4. |\n| `mappings` | `{}` | Content-type → field-mapping DSL. |\n| `concurrency` | `4` | Adapter framework parallelism. |\n\n## Peer dependencies\n\nOptional peer; install when wiring the live Storyblok client:\n\n| Peer | Range |\n| --- | --- |\n| `storyblok-js-client` | `^6.0.0` |\n\n## Links\n\n- Adapter framework: [`@act-spec/adapter-framework`](../adapter-framework)\n- Repository: <https://github.com/act-spec/act>\n","readmeFilename":"README.md","_rev":"1-570362544ec32752f61a5f5c303c776f"}