{"_id":"@aiosbrain/foundation","_rev":"3-b8ee7fbd161114ba1b9fce918b592ac4","name":"@aiosbrain/foundation","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@aiosbrain/foundation","version":"0.1.0","license":"MIT","_id":"@aiosbrain/foundation@0.1.0","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"homepage":"https://github.com/aiosbrain/aios-workspace#readme","bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"dist":{"shasum":"2c370a217f086e29cdec8057ca775a4d1634ec6a","tarball":"https://registry.npmjs.org/@aiosbrain/foundation/-/foundation-0.1.0.tgz","fileCount":22,"integrity":"sha512-TBgjbHgzA2WpmCLR1xqUp2pBPnPhLInTmzmJjTwLo7TwVrRqj4aVtx11REqJRnw4di2CSugtM59li2v8eHdMvQ==","signatures":[{"sig":"MEQCIDI4Mdzv1FL3RRNWntqu3VfNdZNJbwDzh/sk+DarQ0oWAiB+JA+6DEwEDE91OgeK/njQsiwRCD3N4a1pIozMP7OBeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129671},"type":"module","engines":{"node":">=22 <23"},"exports":{"./runtimes":"./src/runtimes.mjs","./git-files":"./src/git-files.mjs","./tasks-table":{"types":"./src/tasks-table.d.mts","default":"./src/tasks-table.mjs"},"./brain-client":"./src/brain-client.mjs","./brain-config":"./src/brain-config.mjs","./constitution":"./src/constitution.mjs","./linear-client":"./src/linear-client.mjs","./workspace-parse":{"types":"./src/workspace-parse/index.d.mts","default":"./src/workspace-parse/index.mjs"},"./adapter-contract":"./src/adapter-contract.mjs","./workspace-markers":"./src/workspace-markers.mjs","./internal/flat-yaml":{"types":"./src/internal/flat-yaml.d.mts","default":"./src/internal/flat-yaml.mjs"},"./internal/skill-scan":"./src/internal/skill-scan.mjs","./internal/brain-origin":"./src/internal/brain-origin.mjs","./internal/transcript-adapters":"./src/internal/transcript-adapters.mjs"},"gitHead":"d6dcdeb74a44c8424e85b0781f5f11d4e06a3dfa","_npmUser":{"name":"iamjohndass","email":"john@john-ellison.com"},"repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git","directory":"packages/foundation"},"_npmVersion":"10.9.4","description":"Shared hub modules of the AIOS workspace toolkit (AIO-601, multi-repo split): agent-runtime registry, workspace content parsers, brain/linear clients, git-backed file enumeration, and the engineering-constitution digest loader. ESM subpath exports only — ","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/foundation_0.1.0_1785417250983_0.6573403906794411","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aiosbrain/foundation","version":"0.1.1","license":"AGPL-3.0-only","_id":"@aiosbrain/foundation@0.1.1","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"homepage":"https://github.com/aiosbrain/aios-workspace#readme","bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"dist":{"shasum":"7c3f13ef89e65821bada9344c82e396a0ee9afbf","tarball":"https://registry.npmjs.org/@aiosbrain/foundation/-/foundation-0.1.1.tgz","fileCount":22,"integrity":"sha512-ku0srEwy+nht0Za77GY7qlVn58qhCGi9nuGM3Y92ARBJxT6Ctm3l/1eqJykegVrWFaXhSxaPZtcUKqTHrRQtLw==","signatures":[{"sig":"MEQCIEKqHz6pqGOfQHXrPrxbp59QGJTuv95Zx9gHM+rmK/dnAiA39XRXsGwVX1nTuMOpgTKyKNslABSCbfwQN2DkrbQXUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiosbrain%2ffoundation@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":165092},"type":"module","engines":{"node":">=22"},"exports":{"./runtimes":"./src/runtimes.mjs","./git-files":"./src/git-files.mjs","./tasks-table":{"types":"./src/tasks-table.d.mts","default":"./src/tasks-table.mjs"},"./brain-client":"./src/brain-client.mjs","./brain-config":"./src/brain-config.mjs","./constitution":"./src/constitution.mjs","./linear-client":"./src/linear-client.mjs","./workspace-parse":{"types":"./src/workspace-parse/index.d.mts","default":"./src/workspace-parse/index.mjs"},"./adapter-contract":"./src/adapter-contract.mjs","./workspace-markers":"./src/workspace-markers.mjs","./internal/flat-yaml":{"types":"./src/internal/flat-yaml.d.mts","default":"./src/internal/flat-yaml.mjs"},"./internal/skill-scan":"./src/internal/skill-scan.mjs","./internal/brain-origin":"./src/internal/brain-origin.mjs","./internal/transcript-adapters":"./src/internal/transcript-adapters.mjs"},"gitHead":"1471f7cd16f6ce48da35f95544cc7b24050464fb","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c107acc-d1a2-4cd3-aa5b-913eb08e6cbb"}},"repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git","directory":"packages/foundation"},"_npmVersion":"12.0.2","description":"Shared hub modules of the AIOS workspace toolkit (AIO-601, multi-repo split): agent-runtime registry, workspace content parsers, brain/linear clients, git-backed file enumeration, and the engineering-constitution digest loader. ESM subpath exports only — ","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/foundation_0.1.1_1787300240721_0.6378151450337453","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aiosbrain/foundation","version":"0.1.2","description":"Shared hub modules of the AIOS workspace toolkit (AIO-601, multi-repo split): agent-runtime registry, workspace content parsers, brain/linear clients, git-backed file enumeration, and the engineering-constitution digest loader. ESM subpath exports only — ","type":"module","license":"AGPL-3.0-only","repository":{"type":"git","url":"git+https://github.com/aiosbrain/aios-workspace.git","directory":"packages/foundation"},"publishConfig":{"access":"public"},"engines":{"node":">=22"},"peerDependencies":{"@dotenvx/dotenvx":"^2.19.1"},"peerDependenciesMeta":{"@dotenvx/dotenvx":{"optional":true}},"exports":{"./runtimes":"./src/runtimes.mjs","./workspace-markers":"./src/workspace-markers.mjs","./adapter-contract":"./src/adapter-contract.mjs","./workspace-parse":{"types":"./src/workspace-parse/index.d.mts","default":"./src/workspace-parse/index.mjs"},"./brain-config":"./src/brain-config.mjs","./linear-client":"./src/linear-client.mjs","./brain-client":"./src/brain-client.mjs","./git-files":"./src/git-files.mjs","./constitution":"./src/constitution.mjs","./tasks-table":{"types":"./src/tasks-table.d.mts","default":"./src/tasks-table.mjs"},"./internal/flat-yaml":{"types":"./src/internal/flat-yaml.d.mts","default":"./src/internal/flat-yaml.mjs"},"./internal/brain-origin":"./src/internal/brain-origin.mjs","./internal/transcript-adapters":"./src/internal/transcript-adapters.mjs","./internal/skill-scan":"./src/internal/skill-scan.mjs"},"gitHead":"b1518d4f4d832003526a3c0af1ea84479ef783d4","_id":"@aiosbrain/foundation@0.1.2","bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"homepage":"https://github.com/aiosbrain/aios-workspace#readme","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-VQZCsTk1GgNp1C3/iT429hl8Cq22Bb79DKGGFFcAdmozy5v4LK44WSJMcle/UHR7xCcm7HhuAykILJZn9KZIAg==","shasum":"e6b9c9651b8c7ff833d93a62cacb2efee9082b05","tarball":"https://registry.npmjs.org/@aiosbrain/foundation/-/foundation-0.1.2.tgz","fileCount":22,"unpackedSize":166498,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiosbrain%2ffoundation@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGkAF0o+NN17CiRqnMJUrMoxtzP+yN5PcH4dt6Gb/AfkAiA3drA5Bna9efpDirKDb6leaHboGjg9SRlRGhM2Yx0xng=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c107acc-d1a2-4cd3-aa5b-913eb08e6cbb"}},"directories":{},"maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/foundation_0.1.2_1787304155879_0.5470041127680803"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T13:14:10.682Z","modified":"2026-08-21T09:22:36.349Z","0.1.0":"2026-07-30T13:14:11.134Z","0.1.1":"2026-08-21T08:17:20.885Z","0.1.2":"2026-08-21T09:22:36.025Z"},"bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"license":"AGPL-3.0-only","homepage":"https://github.com/aiosbrain/aios-workspace#readme","repository":{"type":"git","url":"git+https://github.com/aiosbrain/aios-workspace.git","directory":"packages/foundation"},"description":"Shared hub modules of the AIOS workspace toolkit (AIO-601, multi-repo split): agent-runtime registry, workspace content parsers, brain/linear clients, git-backed file enumeration, and the engineering-constitution digest loader. ESM subpath exports only — ","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"readme":"# @aiosbrain/foundation\n\nShared hub modules of the AIOS workspace toolkit, extracted as an npm workspace package\n(AIO-601, part of the multi-repo split program AIO-594). ESM only, zero runtime\ndependencies, Node `>=22 <23`.\n\nThere is **no root export**. Every module is a dedicated subpath, and undeclared deep\npaths do not resolve — the exports map below is the whole public surface.\n\n## Public subpaths\n\n| Subpath | What it is |\n|---------|------------|\n| `@aiosbrain/foundation/runtimes` | Canonical agent-runtime registry (`RUNTIMES`, driver caps, model catalogs, approval modes). The single source of truth for BYOA export targets and GUI-drivable runtimes. |\n| `@aiosbrain/foundation/workspace-parse` | Dependency-light parsers for AIOS workspace content: frontmatter, tier normalization, item-payload validation, evidence rows, decision-table scanning + H3 admin-row redaction. Ships its own `.d.mts` typings. |\n| `@aiosbrain/foundation/brain-config` | Resolves the team-brain connection (brain URL + member API key + team) from `process.env`, workspace/toolkit `.env` (incl. dotenvx-encrypted), and `aios.yaml`. |\n| `@aiosbrain/foundation/linear-client` | Minimal Linear GraphQL client + helpers (`normalizeBlockedBy`, `extractRepoFileRefs`). |\n| `@aiosbrain/foundation/brain-client` | HTTP/SSE client for the Team Brain member API (`createBrainClient`, SSE block parsing). |\n| `@aiosbrain/foundation/git-files` | Enumerate a repo's content via git (`git ls-files`), never a filesystem walk (AIO-517). |\n| `@aiosbrain/foundation/constitution` | Load the repo's engineering-constitution digest for prompt injection. |\n| `@aiosbrain/foundation/tasks-table` | Markdown task/decision-table parsing + merge writeback (`parseTaskRows`, `mergeTaskWriteback`, canonical statuses). Promoted from `./internal/` in AIO-600 C3: the GUI tasks panel must round-trip tables exactly the way `aios pull` does, so the shared implementation is public rather than copied. Ships `.d.mts` typings. |\n| `@aiosbrain/foundation/workspace-markers` | The one definition of \"what makes a directory an AIOS workspace\" (`WORKSPACE_MARKERS`). Shared by the `run-gui` launcher and the GUI server's startup check so the lists can never drift (AIO-600 C5). |\n| `@aiosbrain/foundation/adapter-contract` | The GUI adapter-registry + write-guard contract checks (`checkAdapterRegistry`, `checkGuardWrite`, `GUARD_SCENARIOS`). Core-owned inversion of OGR07's former direct gui imports; run by both `validation/check-runtime-adapters.mjs` and the GUI's own `adapter-contract.test.mjs` (AIO-600 C5). |\n\n## Private/unstable internal subpaths\n\nThe `./internal/*` subpaths exist **only** so the toolkit's back-compat shims in\n`scripts/` can re-export modules that are internal to this package. They are **not**\npublic API: no semver guarantee, may be renamed, split, or removed in any release, and\nthey are deliberately excluded from the package's public-API contract test.\n\n| Subpath | Why it exists |\n|---------|---------------|\n| `@aiosbrain/foundation/internal/flat-yaml` | Restricted flat-YAML reader used by `workspace-parse` and `brain-config`. |\n| `@aiosbrain/foundation/internal/brain-origin` | Brain origin normalization/locking, used by `brain-client`. |\n| `@aiosbrain/foundation/internal/transcript-adapters` | Fact/stakeholder wire adapters, used by `workspace-parse`. |\n| `@aiosbrain/foundation/internal/skill-scan` | Pure static safety scanner for an Agent Skill directory (`scanSkill`). Consumed by the workspace GUI's skill-library install flow and by the `scripts/skill-scan.mjs` CLI shim (AIO-600). |\n\n## Relationship to @aios-alpha/design\n\nThis package follows the precedent set by `@aios-alpha/design` / `@aios-alpha/ui`:\na published, no-auth npm package under the `@aios-alpha` scope that is the single\nsource of truth for a shared surface (there: design tokens; here: the toolkit's hub\nmodules), consumed by sibling repos rather than copy-pasted. Like the design package,\nconsumers pin it as an ordinary dependency; inside the toolkit repo it resolves via the\nnpm workspace, so the shims in `scripts/` always see the current source.\n\n## Consumption\n\n```js\nimport { RUNTIMES } from \"@aiosbrain/foundation/runtimes\";\nimport { parseFrontmatter, normalizeTier } from \"@aiosbrain/foundation/workspace-parse\";\n```\n\nInside the toolkit repo, keep importing the `scripts/<hub>.mjs` shims — they re-export\nfrom this package and preserve every historical import path.\n","readmeFilename":"README.md"}