{"_id":"@ademu/adc-bin","_rev":"3-1e6654d23e1d8f691fd58d60993b2330","name":"@ademu/adc-bin","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.3":{"name":"@ademu/adc-bin","version":"0.2.3","author":{"url":"https://ademu.com","name":"Ademú","email":"npm@ademu.com"},"license":"(MIT OR Apache-2.0)","_id":"@ademu/adc-bin@0.2.3","maintainers":[{"name":"marios_ademu","email":"npm@ademu.com"}],"homepage":"https://ademu.com","dist":{"shasum":"ae0bde98eda3dcf3b7dc4ac4a687d75558c0b5f9","tarball":"https://registry.npmjs.org/@ademu/adc-bin/-/adc-bin-0.2.3.tgz","fileCount":19,"integrity":"sha512-TWb3wEK2zsXLbrlj/uceZIgtfODCxKF4C8M3SGs0HghabCIpSCXG50neOE7JShmrW3gJmKIzuhNzwgUqOPriEQ==","signatures":[{"sig":"MEUCIQCBaJwF6TXqdfsUL8VQvXHv/WxSwvemovEyKQ/qQz5wMAIgDwdg8zOMBEEhAIgApVPcctKznwM06yA5xS8dV+Fhxuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29138},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"tsc && tsc -p tsconfig.typetests.json && node --test test/*.test.mjs","build":"tsc"},"_npmUser":{"name":"marios_ademu","email":"npm@ademu.com"},"_npmVersion":"11.19.0","description":"The adc daemon binary for your platform, delivered as npm optional dependencies — resolveAdcBinaryPath() finds the installed one.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^20.19.0"},"optionalDependencies":{"@ademu/adc-linux-x64":"0.2.3","@ademu/adc-linux-arm64":"0.2.3","@ademu/adc-darwin-arm64":"0.2.3"},"_npmOperationalInternal":{"tmp":"tmp/adc-bin_0.2.3_1788445224023_0.6134739759220333","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@ademu/adc-bin","version":"0.2.4","author":{"url":"https://ademu.com","name":"Ademú","email":"npm@ademu.com"},"license":"(MIT OR Apache-2.0)","_id":"@ademu/adc-bin@0.2.4","maintainers":[{"name":"marios_ademu","email":"npm@ademu.com"}],"homepage":"https://ademu.com","dist":{"shasum":"b657d687cc60d4f6f83403cc02a5471356a463f7","tarball":"https://registry.npmjs.org/@ademu/adc-bin/-/adc-bin-0.2.4.tgz","fileCount":19,"integrity":"sha512-d/jDqrCiCXghwOR69AzOnKDMHozxauPVc+pQfG/n2xyt0SGreZgQJQyYu14+kh1LceGk6dSdG6gzklHyjxb3rw==","signatures":[{"sig":"MEUCIQDH4MLSXozB2z9NYAW1qSbX9NkhYKKgdbc3tLfxEbW7sgIgR+wOoE3P3jDPqfV7lb/G+4blkzlDxMI2xMsp8qZ/5a4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29400},"type":"module","_from":"file:/home/runner/work/_temp/tarballs/ademu-adc-bin-0.2.4.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"tsc && tsc -p tsconfig.typetests.json && node --test test/*.test.mjs","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acec27c7-779d-4517-bf70-2f514b19ff58"}},"_resolved":"/home/runner/work/_temp/tarballs/ademu-adc-bin-0.2.4.tgz","_integrity":"sha512-d/jDqrCiCXghwOR69AzOnKDMHozxauPVc+pQfG/n2xyt0SGreZgQJQyYu14+kh1LceGk6dSdG6gzklHyjxb3rw==","_npmVersion":"11.19.0","description":"The adc daemon binary for your platform, delivered as npm optional dependencies — resolveAdcBinaryPath() finds the installed one.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^20.19.0"},"optionalDependencies":{"@ademu/adc-linux-x64":"0.2.4","@ademu/adc-linux-arm64":"0.2.4","@ademu/adc-darwin-arm64":"0.2.4"},"_npmOperationalInternal":{"tmp":"tmp/adc-bin_0.2.4_1788448808982_0.3752682489080805","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"_id":"@ademu/adc-bin@0.3.0","dist":{"shasum":"08db8d0b2473e95c4a4e982c42210c309bede69a","tarball":"https://registry.npmjs.org/@ademu/adc-bin/-/adc-bin-0.3.0.tgz","fileCount":19,"integrity":"sha512-qXxDOdveM4cCjjgPBw//8Ze0fOJihEZiEjPecSFPNoFlwvaEg6kKs1rGAU37sIfIlPdQdIDKg/Fjky/HW+vkbQ==","signatures":[{"sig":"MEQCIFNSnFBZotrcss3Xn9IzGrJZIc1w8OCtnpC5VTsx+Dv5AiAVsx/FmJYXmlCWivAlpGxBfu6PQa9GGZxqGxWTk88nEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDwylS13mbrQYpYSOfZkK8J/q/jKImfZLQR+8ATciU3GAIgPlV8T94KJVknz79YN+2v7XkZMjgPOBieGtSpZauj/sk="}],"unpackedSize":29400},"name":"@ademu/adc-bin","type":"module","_from":"file:/home/runner/work/_temp/tarballs/ademu-adc-bin-0.3.0.tgz","author":{"url":"https://ademu.com","name":"Ademú","email":"npm@ademu.com"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"license":"(MIT OR Apache-2.0)","scripts":{"test":"tsc && tsc -p tsconfig.typetests.json && node --test test/*.test.mjs","build":"tsc"},"version":"0.3.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:acec27c7-779d-4517-bf70-2f514b19ff58"}},"homepage":"https://ademu.com","_resolved":"/home/runner/work/_temp/tarballs/ademu-adc-bin-0.3.0.tgz","_integrity":"sha512-qXxDOdveM4cCjjgPBw//8Ze0fOJihEZiEjPecSFPNoFlwvaEg6kKs1rGAU37sIfIlPdQdIDKg/Fjky/HW+vkbQ==","_npmVersion":"11.19.0","description":"The adc daemon binary for your platform, delivered as npm optional dependencies — resolveAdcBinaryPath() finds the installed one.","directories":{},"maintainers":[{"name":"marios_ademu","email":"npm@ademu.com"}],"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^20.19.0"},"optionalDependencies":{"@ademu/adc-linux-x64":"0.3.0","@ademu/adc-linux-arm64":"0.3.0","@ademu/adc-darwin-arm64":"0.3.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adc-bin_0.3.0_1790498805665_0.08869779039790204"}}},"time":{"created":"2026-09-03T14:20:23.889Z","modified":"2026-09-27T08:46:45.956Z","0.2.3":"2026-09-03T14:20:24.220Z","0.2.4":"2026-09-03T15:20:09.096Z","0.3.0":"2026-09-27T08:46:45.745Z"},"author":{"url":"https://ademu.com","name":"Ademú","email":"npm@ademu.com"},"license":"(MIT OR Apache-2.0)","homepage":"https://ademu.com","description":"The adc daemon binary for your platform, delivered as npm optional dependencies — resolveAdcBinaryPath() finds the installed one.","maintainers":[{"name":"marios_ademu","email":"npm@ademu.com"}],"readme":"# @ademu/adc-bin\n\nThe `adc` daemon binary for your platform, delivered the way esbuild delivers its binary: this\nmeta package declares one **optional dependency per published platform**\n(`@ademu/adc-darwin-arm64`, `@ademu/adc-linux-x64`, `@ademu/adc-linux-arm64`), npm installs the\none whose `os`/`cpu` match your host and skips the rest, and `resolveAdcBinaryPath()` tells you\nwhere it landed. No postinstall, no download at install time — the host that motivated this is\nthe OpenClaw plugin, which installs plugins with `npm install --omit=dev --ignore-scripts`, so\nbinaries must arrive as packages or not at all.\n\nZero runtime dependencies (node stdlib only), ESM, strict TypeScript, `engines.node >= 20`.\n\n## Install\n\n```sh\nnpm i @ademu/adc-bin @ademu/adc-control\n```\n\n## Usage\n\n```ts\nimport { resolveAdcBinaryPath } from '@ademu/adc-bin';\nimport { ensureDaemon } from '@ademu/adc-control';\n\nconst binaryPath = resolveAdcBinaryPath();          // e.g. …/node_modules/@ademu/adc-darwin-arm64/bin/adc\nconst { spawned, socketPath } = await ensureDaemon({ binaryPath });\n```\n\nTwo typed errors: `UnsupportedPlatformError` (`.platform`, `.arch`) when this host has no\npublished package (Windows, Intel macOS — see below), and `PlatformPackageMissingError`\n(`.packageName`) when the host is supported but its optional package was not installed\n(`--no-optional` / `--omit=optional`, or a lockfile generated on another platform with optional\ndependencies pruned). Anything else from module resolution propagates untouched.\n\n## What gets installed\n\n| host (`process.platform-process.arch`) | package | binary |\n| --- | --- | --- |\n| `darwin-arm64` | `@ademu/adc-darwin-arm64` | `bin/adc` for `aarch64-apple-darwin` |\n| `linux-x64` | `@ademu/adc-linux-x64` | `bin/adc` for `x86_64-unknown-linux-musl` (static) |\n| `linux-arm64` | `@ademu/adc-linux-arm64` | `bin/adc` for `aarch64-unknown-linux-musl` (static) |\n\nEvery `@ademu/adc-bin@X.Y.Z` pins `@ademu/adc-<platform>@X.Y.Z` exactly, and `X.Y.Z` is the adc\nrelease version — pinning the meta package pins the daemon. The platform packages declare\n`bin: { adc: \"bin/adc\" }`, but npm only links `node_modules/.bin/adc` when a platform package is a\nDIRECT dependency of your project; when it arrives transitively through `@ademu/adc-bin` (the\nnormal case) there is no `.bin` link — `resolveAdcBinaryPath()` is the supported way to find the\nbinary (verified on the published 0.2.3 packages).\n\n## Verification (build-time)\n\nEach platform package's `bin/adc` is the unmodified `adc` member of the GitHub release asset\n`adc-X.Y.Z-<target>.tar.gz`. The generator that produces these packages (`dev/build-npm-binaries.sh`)\nverifies the release's `SHA256SUMS` against its minisign signature (`SHA256SUMS.minisig`, key id\n`CEE35089367D2654`; the public key is committed at `dev/release-signing.pub` in the AdemuMLS\nrepository) and every tarball against `SHA256SUMS` before it writes a single file — it refuses to\nrepackage a release it cannot authenticate. Each package records two digests in `package.json`:\n`ademu.sha256` (the release tarball) and `ademu.binary_sha256` (the shipped `bin/adc`), so\n`shasum -a 256 node_modules/@ademu/adc-<platform>/bin/adc` checks that the installed file is the one\nthe package was generated from. Be precise about what that is: it is build-time verification by\nthe publisher. Chaining the installed binary to the signed release *independently* needs the release\nassets and the public key, which are not reachable while the repository is private.\n\n## Not published: Windows, Intel macOS\n\n`resolveAdcBinaryPath()` throws `UnsupportedPlatformError` on `win32-*` and `darwin-x64` — the same\nhosts `install.sh` refuses. When a Windows build ships (roadmap Phase 5, `@ademu/adc-win32-x64`),\nthis package's `optionalDependencies` grow and the platform table gains a row; consumers change\nnothing.\n\n## Developing\n\nThis directory is a member of the `adc/clients` npm workspace (`npm ci && npm test` at the\nworkspace root). The committed `package.json` is deliberately `\"private\": true` with version\n`0.0.0-dev` and **no** `optionalDependencies`: the publishable manifest is derived at release time\nby `dev/build-npm-binaries.sh`, which stamps the adc release version and the three exact\noptional-dependency pins into a copy. Committing those pins would make every `npm ci` in the\nworkspace download three daemon binaries from the registry — and fail outright before the first\npublish. The platform table lives in `src/platforms.ts` and must stay identical to the generator's\n`TARGETS` table (`test/platform-table.test.mjs` enforces it).\n","readmeFilename":"README.md"}