{"_id":"@act-spec/adapter-builder","name":"@act-spec/adapter-builder","dist-tags":{"rc":"0.2.0-rc.1","latest":"0.2.0-rc.1"},"versions":{"0.2.0-rc.1":{"name":"@act-spec/adapter-builder","version":"0.2.0-rc.1","description":"PRD-206 Builder.io adapter for the ACT (Agent Content Tree) v0.1 reference implementation. Consumes the Builder.io Content API and emits PRD-100/PRD-102 envelopes; supports two emission modes (pass-through emits a single `marketing:builder-page` block car","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-builder"},"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"},"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-builder@0.2.0-rc.1","_integrity":"sha512-YTIzuyoAMOf7ZHZoU00HzBMemqeoP4FvI/D6MTHS6M1b2GgsID8VwjdVGZMhHwOeaG7aldJ+WS6YsvCUPYAYFQ==","_resolved":"/private/var/folders/yp/y7frhcvj70jgr6b8g633lghr0000gn/T/f8167f478077057ac1d4fcbd58b4d71e/act-spec-adapter-builder-0.2.0-rc.1.tgz","_from":"file:act-spec-adapter-builder-0.2.0-rc.1.tgz","_nodeVersion":"22.19.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-YTIzuyoAMOf7ZHZoU00HzBMemqeoP4FvI/D6MTHS6M1b2GgsID8VwjdVGZMhHwOeaG7aldJ+WS6YsvCUPYAYFQ==","shasum":"fac491c6cd949c07f8b345dac451720ea76d22f6","tarball":"https://registry.npmjs.org/@act-spec/adapter-builder/-/adapter-builder-0.2.0-rc.1.tgz","fileCount":51,"unpackedSize":336448,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDZVoPasy+OySQ6YKQ4YOFoYXSxExD6k29vG4LF9Q165wIgeAtispG2SuInTBVZiqRZ/v4mxDLizweeAjNSTNCIDwg="}]},"_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-builder_0.2.0-rc.1_1777915281283_0.5637820191370793"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-04T17:21:21.151Z","0.2.0-rc.1":"2026-05-04T17:21:21.516Z","modified":"2026-05-04T17:21:21.856Z"},"maintainers":[{"name":"jdforsythe","email":"jdforsythe@gmail.com"}],"description":"PRD-206 Builder.io adapter for the ACT (Agent Content Tree) v0.1 reference implementation. Consumes the Builder.io Content API and emits PRD-100/PRD-102 envelopes; supports two emission modes (pass-through emits a single `marketing:builder-page` block car","homepage":"https://act-spec.org","repository":{"type":"git","url":"git+https://github.com/act-spec/act.git","directory":"packages/adapter-builder"},"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-builder\n\nBuilder.io adapter for ACT (Agent Content Tree). Consumes the Builder.io\nContent API and emits ACT envelopes against the shared adapter framework\n(`@act-spec/adapter-framework`). Two emission modes:\n\n- **pass-through** — wraps the raw Builder tree in a single\n  `marketing:builder-page` block carrying `payload`. Lossless for downstream\n  Builder rendering.\n- **extraction** — walks Builder primitives (`Text`, `Image`, `Button`,\n  `CustomCode`, `Section`, `Symbol`) into `prose` / `code` / `marketing:*`\n  blocks per a configured mapping.\n\nOther behaviors: public-key kind validation (private keys are rejected with\na redacted error), draft / published version selection, optional locale\nfan-out via Builder targeting, opt-in experiment / variant emission,\nreference resolution with cycle tolerance, Symbol recursion bound,\n`lastUpdated` delta marker, and HMAC-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-builder\": \"workspace:*\" } }\n```\n\nFor out-of-tree hand-test, run `pnpm pack` inside `packages/adapter-builder`\nand install the resulting tarball locally.\n\n## Usage\n\n```ts\nimport { createBuilderAdapter } from '@act-spec/adapter-builder';\n\nconst adapter = createBuilderAdapter({\n  config: {\n    apiKey: process.env.BUILDER_PUBLIC_KEY!,\n    model: 'page',\n    mode: 'extraction',\n    referenceDepth: 2,\n    symbolRecursionMax: 2,\n  },\n});\n```\n\nPass-through mode keeps the Builder payload intact for the host renderer:\n\n```ts\nconst adapter = createBuilderAdapter({\n  config: { apiKey, model: 'page', mode: 'pass-through' },\n});\n```\n\nWebhook signatures:\n\n```ts\nimport { verifyWebhookSignature } from '@act-spec/adapter-builder';\n\nconst ok = verifyWebhookSignature(rawBody, headers['x-builder-signature'], secret);\n```\n\n## Conformance / what's tested\n\nEvery public API has a citing test in `src/builder.test.ts`. The\nconformance gate runs `@act-spec/validator` against the bundled\n`test-fixtures/` corpus and fails on any structural gap or capability-band\nmismatch.\n\n```bash\npnpm -F @act-spec/adapter-builder conformance\n```\n\n## Configuration (selected)\n\n| Option | Default | Notes |\n| --- | --- | --- |\n| `apiKey` | (required) | Public API key. Private keys are rejected. |\n| `model` | `'page'` | Builder model name. |\n| `mode` | `'extraction'` | `'pass-through'` keeps the raw Builder tree. |\n| `referenceDepth` | `2` | Reference resolution depth (0–3). |\n| `symbolRecursionMax` | `2` | Symbol recursion bound (1–3). |\n| `concurrency` | `4` | Adapter framework parallelism. |\n| `version` | `'published'` | `'draft'` selects unpublished content. |\n| `locale` | `undefined` | Enables locale fan-out via Builder targeting. |\n\n## Compatibility\n\nNo Builder SDK peer dependency; the adapter speaks HTTP to the Builder\nContent API directly.\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-bde99d797e21b6ce1431c3d86be86f70"}