{"_id":"@booboo-brain/build","_rev":"4-b80d9f76fa24db73cb356d5b680ce412","name":"@booboo-brain/build","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@booboo-brain/build","version":"0.1.0","license":"MIT","_id":"@booboo-brain/build@0.1.0","maintainers":[{"name":"jessedu29","email":"jessedu29260@outlook.com"}],"homepage":"https://github.com/jessedu29260-netizen/booboo#readme","bugs":{"url":"https://github.com/jessedu29260-netizen/booboo/issues"},"dist":{"shasum":"70900a7ef8411e774f32e51b582eca85ac84f6fa","tarball":"https://registry.npmjs.org/@booboo-brain/build/-/build-0.1.0.tgz","fileCount":5,"integrity":"sha512-wKdP5jcAFgmvpgA7FszpHeuo+rai6/UWIToKw/+9PfO2mzInUYjK5RuOdgIPGXPMr4M38Gjx08fJcpvTjczj/A==","signatures":[{"sig":"MEUCIGHNCrUOIldfFEEyBuHQwznNfaI6LWKV9KhiwBVfWrqCAiEAto3e8/mYo5t5NmGhoPoAfyhrvOcbvYAaIZ+Wh7KgGJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12300},"main":"./dist/index.js","type":"module","_from":"file:booboo-brain-build-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm --dts --clean"},"_npmUser":{"name":"jessedu29","email":"jessedu29260@outlook.com"},"_resolved":"C:\\Users\\jesse\\AppData\\Local\\Temp\\a4f65ba3c19129984b466f7967fe1370\\booboo-brain-build-0.1.0.tgz","_integrity":"sha512-wKdP5jcAFgmvpgA7FszpHeuo+rai6/UWIToKw/+9PfO2mzInUYjK5RuOdgIPGXPMr4M38Gjx08fJcpvTjczj/A==","repository":{"url":"git+https://github.com/jessedu29260-netizen/booboo.git","type":"git","directory":"packages/build"},"_npmVersion":"11.12.0","description":"Booboo build engine — config-driven adapters (postgres, json) + merge/walls → emits a Booboo graph.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"pg":"^8.13.0","yaml":"^2.6.0","@booboo-brain/spec":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","vitest":"^2","@types/pg":"^8.11.0","typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/build_0.1.0_1782983723584_0.3819512130046838","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@booboo-brain/build","version":"0.1.1","license":"MIT","_id":"@booboo-brain/build@0.1.1","maintainers":[{"name":"jessedu29","email":"jessedu29260@outlook.com"}],"homepage":"https://github.com/jessedu29260-netizen/booboo#readme","bugs":{"url":"https://github.com/jessedu29260-netizen/booboo/issues"},"dist":{"shasum":"ad57f5f84bd6ff389cd5ec2ee8b8f1b93b4942bb","tarball":"https://registry.npmjs.org/@booboo-brain/build/-/build-0.1.1.tgz","fileCount":5,"integrity":"sha512-eTp15z0VZIKz+k4/KSmCZ4UZ5IsRgbjAu/Ga8/mTfXMQp3QL2T+sHgsdPYl8AD92S7t7XA8lLPHnly4Sp4PEAg==","signatures":[{"sig":"MEUCIHsEJrL/VqHBcthCjQ3GVqnNk2rf1yLv0c6NQbnp/MDPAiEAiBA86RR/PAhMTJ9oteyT7J769vneqb2uzg4oi8z8osU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12687},"main":"./dist/index.js","type":"module","_from":"file:booboo-brain-build-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm --dts --clean"},"_npmUser":{"name":"jessedu29","email":"jessedu29260@outlook.com"},"_resolved":"C:\\Users\\jesse\\AppData\\Local\\Temp\\cc7550a4239106a28e95783c61ad04c5\\booboo-brain-build-0.1.1.tgz","_integrity":"sha512-eTp15z0VZIKz+k4/KSmCZ4UZ5IsRgbjAu/Ga8/mTfXMQp3QL2T+sHgsdPYl8AD92S7t7XA8lLPHnly4Sp4PEAg==","repository":{"url":"git+https://github.com/jessedu29260-netizen/booboo.git","type":"git","directory":"packages/build"},"_npmVersion":"11.12.0","description":"Booboo build engine — config-driven adapters (postgres, json) + merge/walls → emits a Booboo graph.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"pg":"^8.13.0","yaml":"^2.6.0","@booboo-brain/spec":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","vitest":"^2","@types/pg":"^8.11.0","typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/build_0.1.1_1782990890540_0.8355439068688773","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@booboo-brain/build","version":"0.2.0","license":"MIT","_id":"@booboo-brain/build@0.2.0","maintainers":[{"name":"jessedu29","email":"jessedu29260@outlook.com"}],"homepage":"https://github.com/jessedu29260-netizen/booboo#readme","bugs":{"url":"https://github.com/jessedu29260-netizen/booboo/issues"},"dist":{"shasum":"63392e667f005eb7e0dafbc2d1f2336f9a29ff5e","tarball":"https://registry.npmjs.org/@booboo-brain/build/-/build-0.2.0.tgz","fileCount":5,"integrity":"sha512-BpphxDjd59HO188HVZGWxxqkkX9FqeiQ+SLuU/9PWN22S25LZsnSjjUdamrMwsVG98NEt+n/zZk1ohn2emDp4w==","signatures":[{"sig":"MEYCIQCFytm7zkiWpXMT6EX+eJzVXybK1fDri2SJEPhVm+zxwQIhAM9f5idQaebv1AJMrMaj2bNZFUW/qvJ/J55YIkOzBM+W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14787},"main":"./dist/index.js","type":"module","_from":"file:booboo-brain-build-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm --dts --clean"},"_npmUser":{"name":"jessedu29","email":"jessedu29260@outlook.com"},"_resolved":"C:\\Users\\jesse\\AppData\\Local\\Temp\\3306ceeca4ff83d1ffd383c8fdf61bc1\\booboo-brain-build-0.2.0.tgz","_integrity":"sha512-BpphxDjd59HO188HVZGWxxqkkX9FqeiQ+SLuU/9PWN22S25LZsnSjjUdamrMwsVG98NEt+n/zZk1ohn2emDp4w==","repository":{"url":"git+https://github.com/jessedu29260-netizen/booboo.git","type":"git","directory":"packages/build"},"_npmVersion":"11.12.0","description":"Booboo build engine — config-driven adapters (postgres, json) + merge/walls → emits a Booboo graph.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"pg":"^8.13.0","yaml":"^2.6.0","@booboo-brain/spec":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","vitest":"^2","@types/pg":"^8.11.0","typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/build_0.2.0_1783239071566_0.14660211901154852","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@booboo-brain/build","version":"0.2.1","description":"Booboo build engine — config-driven adapters (postgres, json) + merge/walls → emits a Booboo graph.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessymariau/booboo.git","directory":"packages/build"},"bugs":{"url":"https://github.com/jessymariau/booboo/issues"},"homepage":"https://github.com/jessymariau/booboo#readme","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"pg":"^8.13.0","yaml":"^2.6.0","@booboo-brain/spec":"0.3.2"},"devDependencies":{"@types/pg":"^8.11.0","tsup":"^8","typescript":"^5","vitest":"^2"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"scripts":{"build":"tsup src/index.ts --format esm --dts --clean","test":"vitest run"},"_id":"@booboo-brain/build@0.2.1","_integrity":"sha512-EVIsJG+H0Zy0A1YmBv3Bg64wE8eOayIO1b8EJWhejfxr0O1oh9k88jcFmFnaZTKRTRPwYavDDRLwFiudkcVgUg==","_resolved":"/tmp/54320ee1889ba608b3527057b1a1abae/booboo-brain-build-0.2.1.tgz","_from":"file:booboo-brain-build-0.2.1.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-EVIsJG+H0Zy0A1YmBv3Bg64wE8eOayIO1b8EJWhejfxr0O1oh9k88jcFmFnaZTKRTRPwYavDDRLwFiudkcVgUg==","shasum":"1aa8e73a4b900b5f55d02bb03d35c932dd4b605c","tarball":"https://registry.npmjs.org/@booboo-brain/build/-/build-0.2.1.tgz","fileCount":5,"unpackedSize":15037,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHmAqzC1KRAjyLrbRIXU/fQtau1/aiWMT+WmZPFXs1t6AiEA6IRNGvK+jevzFVy6HvFPh8b/3/OQ2liMigduwS0k1BI="}]},"_npmUser":{"name":"jessedu29","email":"jessedu29260@outlook.com"},"directories":{},"maintainers":[{"name":"jessedu29","email":"jessedu29260@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/build_0.2.1_1785436745534_0.4589469198665532"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-02T09:15:23.428Z","modified":"2026-07-30T18:39:05.913Z","0.1.0":"2026-07-02T09:15:23.728Z","0.1.1":"2026-07-02T11:14:50.699Z","0.2.0":"2026-07-05T08:11:11.705Z","0.2.1":"2026-07-30T18:39:05.748Z"},"bugs":{"url":"https://github.com/jessymariau/booboo/issues"},"license":"MIT","homepage":"https://github.com/jessymariau/booboo#readme","repository":{"type":"git","url":"git+https://github.com/jessymariau/booboo.git","directory":"packages/build"},"description":"Booboo build engine — config-driven adapters (postgres, json) + merge/walls → emits a Booboo graph.","maintainers":[{"name":"jessedu29","email":"jessedu29260@outlook.com"}],"readme":"# @booboo-brain/build\n\nTurn any database into a [Booboo](../../README.md) graph with a YAML config — no glue code.\n\n## Use\n\n```bash\nbooboo build --config booboo.config.yaml\n```\n\nEach source is read through an adapter, then the engine merges them, applies privacy\n**walls**, auto-wires a spine edge for every `parent`, drops dangling links, validates\nagainst `@booboo-brain/spec`, and writes the snapshot.\n\n## Config\n\n```yaml\ntitle: \"My System\"\nroot: { id: core, type: root, label: CORE, layer: agents }\nlayers:\n  - { name: agents, color: \"#c9a04a\" }\n  - { name: memory, color: \"#a78bd0\" }\nwalls: [secret, private]            # a node whose `cluster` is listed here is NEVER emitted\nsources:\n  - adapter: postgres\n    url: ${DATABASE_URL}            # ${ENV_VAR} is substituted from the environment\n    nodes:\n      - { table: agents, layer: agents, id: slug, label: name, parent: core, weight: 0.6, icon: emoji, cluster: team }\n      - { table: notes,  layer: memory, id: id,   label: title, cluster: project, where: \"archived = false\" }\n    links:\n      - { table: edges, source: src, target: dst, type: rel }\n  - adapter: json                   # merge an existing Booboo file as-is\n    path: ./extra.booboo.json\noutput:\n  snapshot: ./my.booboo.json\n```\n\n**Node mapping** — `id` `label` `cluster` `icon` `color` `weight_from` are **column names**;\n`weight` `tier` `parent` `type` `prefix` are literals. `weight_from` is min-max normalised\nto `0..1`. `where` is raw SQL (trusted config).\n\n**Adapters** — `postgres` (read-only; Supabase / Neon / local; SSL auto-on for remote hosts)\nand `json` (passthrough merge). Add one by exporting `(src) => { nodes, links }` and wiring\nit into `build.ts`.\n\n## API\n\n```ts\nimport { buildFromConfig, build, loadConfig } from \"@booboo-brain/build\";\nconst { graph, snapshotPath } = await buildFromConfig(\"booboo.config.yaml\");\n```\n\nLayout is the viewer's job, so the emitted graph carries no positions — it stays small and\nportable. Feed the snapshot to `@booboo-brain/viewer`, serve it over the REST/MCP layer, or commit\nit as a fixture.\n","readmeFilename":"README.md"}