{"_id":"@ariada-org/bus","name":"@ariada-org/bus","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ariada-org/bus","version":"0.1.0","description":"Typed check/fix reconciliation primitives for Ariada facts.","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{},"devDependencies":{"@types/node":"^22.10.0","typescript":"^5.7.2","vitest":"^4.1.0"},"license":"EUPL-1.2","scripts":{"build":"tsc -p tsconfig.json","lint":"eslint src tests","test":"vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"_id":"@ariada-org/bus@0.1.0","_integrity":"sha512-oJ2CIl7iBA4HxjO+DYUfxlWGzTlGblg6F/BE/rGIAssfbYSpDWOPIyp2k4V1Uz4VslpXXpEHsgn+fCdF4kGhqg==","_resolved":"/private/var/folders/2c/_42xj0l179z8yc7wmp5k91s00000gn/T/f5ee6e8b522559e84db629899d95857e/ariada-org-bus-0.1.0.tgz","_from":"file:ariada-org-bus-0.1.0.tgz","_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-oJ2CIl7iBA4HxjO+DYUfxlWGzTlGblg6F/BE/rGIAssfbYSpDWOPIyp2k4V1Uz4VslpXXpEHsgn+fCdF4kGhqg==","shasum":"34fa0b465eaf42d66da892d8194d874939c7a405","tarball":"https://registry.npmjs.org/@ariada-org/bus/-/bus-0.1.0.tgz","fileCount":7,"unpackedSize":23896,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCiBtq7e5QMoHZHhL0GovpZs0vdawMlZyjCP5ofx9yjEgIgdx8X6mH72i3xfa1HHj3ixp6DEtniQaOFnYzDfKOLP9A="}]},"_npmUser":{"name":"agonist","email":"ab@agonist.ai"},"directories":{},"maintainers":[{"name":"agonist","email":"ab@agonist.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bus_0.1.0_1784942562077_0.04609877937560847"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-25T01:22:41.933Z","0.1.0":"2026-07-25T01:22:42.244Z","modified":"2026-07-25T01:22:42.438Z"},"maintainers":[{"name":"agonist","email":"ab@agonist.ai"}],"description":"Typed check/fix reconciliation primitives for Ariada facts.","license":"EUPL-1.2","readme":"# @ariada-org/bus\n\nTyped reconciliation primitives for keeping derived files aligned with source facts.\n\nThe package is intentionally small: it does not run a service, open sockets, or store state\nin a database. Callers provide a source fact, derived targets, and choose `check` or `fix`.\n\n## API\n\n```ts\nimport { applyReconcileWrites, reconcileTargets } from '@ariada-org/bus';\n\nconst source = { version: '0.1.0' };\nconst result = reconcileTargets(source, [\n  {\n    id: 'readme-version',\n    path: 'README.md',\n    current: 'version: old\\n',\n    render: (fact) => `version: ${fact.version}\\n`,\n  },\n], { mode: 'fix' });\n\napplyReconcileWrites(result.writes);\n```\n\n`check` mode reports drift without writes. `fix` mode returns stable writes; applying them\nand running the same reconciliation again should produce no further writes.\n\nThe first additional fact class is `live-deploy-drift`, which compares current build bytes\nwith rendered live bytes and emits a fact only when their hashes differ.\n","readmeFilename":"README.md","_rev":"1-df02d43a75c42152d50c8a01f8238ecb"}