{"_id":"@bragi-ai/test-fixtures","name":"@bragi-ai/test-fixtures","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@bragi-ai/test-fixtures","version":"0.1.0","description":"Shared fixtures and canonical implementations for Portal↔AppKit contract testing","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./capabilities-manifest":{"types":"./dist/capabilities-manifest/index.d.ts","import":"./dist/capabilities-manifest/index.js"}},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts","test":"vitest run","test:watch":"vitest"},"dependencies":{},"devDependencies":{"@types/node":"^22.0.0","tsup":"^8.0.0","typescript":"^5.8.0","vitest":"^3.2.0"},"_id":"@bragi-ai/test-fixtures@0.1.0","gitHead":"6a0bc332ac3d5f40ec7906c0f97613d4ae8722ba","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-9+s8ytfKDEhWpJ9hvo5tKyPStyx5bCliKoabDpCVhPCKWan1xhoXq5uo4bQIk0ns5NkjM2+uLXw5oPUn9F1wuQ==","shasum":"38acf077cf0a79bbbc3ee925a352bff07207ad21","tarball":"https://registry.npmjs.org/@bragi-ai/test-fixtures/-/test-fixtures-0.1.0.tgz","fileCount":11,"unpackedSize":42831,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCdzRGQGa7eKEZW6OgYhIZbp9SLlQVh5GxdkCu0fbU+4wIgDCKnxsZL5XTzK4On724UHKpTtM3L/cC73hpCfXme+8c="}]},"_npmUser":{"name":"nihviid","email":"nikolaj.hviid@bragi.com"},"directories":{},"maintainers":[{"name":"nihviid","email":"nikolaj.hviid@bragi.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/test-fixtures_0.1.0_1777376319179_0.5435057405395711"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-28T11:38:39.055Z","0.1.0":"2026-04-28T11:38:39.322Z","modified":"2026-04-28T11:38:39.578Z"},"maintainers":[{"name":"nihviid","email":"nikolaj.hviid@bragi.com"}],"description":"Shared fixtures and canonical implementations for Portal↔AppKit contract testing","readme":"# @bragi-ai/test-fixtures\n\nShared fixtures and canonical implementations for Portal↔AppKit interface contract testing.\n\n## Purpose\n\nThis package provides a single source of truth for cross-system test fixtures that prevent divergence in signed payloads, content hashes, and request/response shapes. Both Portal and AppKit tests import from this library, guaranteeing payload parity.\n\n## Installation\n\n```bash\npnpm add @bragi-ai/test-fixtures\n```\n\n## Usage\n\n### Capability Manifest Fixtures\n\n```typescript\nimport {\n  FIXTURE_CAPABILITY_MANIFEST,\n  FIXTURE_CAPABILITY_HASH,\n  verifyContentHash,\n  canonicalJson,\n  sha256Hex,\n} from '@bragi-ai/test-fixtures';\n\n// Verify the fixture's content hash matches expected value\nconst isValid = verifyContentHash(\n  FIXTURE_CAPABILITY_MANIFEST,\n  FIXTURE_CAPABILITY_HASH\n);\n\n// Compute canonical JSON for deterministic comparisons\nconst canonical = canonicalJson(FIXTURE_CAPABILITY_MANIFEST);\n\n// Compute SHA-256 hash\nconst hash = sha256Hex(canonical);\n```\n\n## Structure\n\n- **`capabilities-manifest/`** — HAL plugin capability fixture and canonicalization helpers\n- **`registry-surfaces/`** (planned) — Surface bundle manifest fixtures\n- **`manifest-registry/`** (planned) — Manifest registry response fixtures\n- **`config-resolved/`** (planned) — Resolved config response fixtures\n- **`webhooks/`** (planned) — Webhook payload fixtures\n- **`drivers-registry/`** (planned) — Drivers registry response fixtures\n- **`sse-events/`** (planned) — SSE event shape fixtures\n\n## Requirements\n\n- Node.js ≥20\n- TypeScript 5+\n\n## License\n\nProprietary\n","readmeFilename":"README.md","_rev":"1-957ae56b0a177aa393f0ff5621bb045d"}