{"_id":"@hraness/oh","_rev":"29-e3f5a409c964b4a25bb709ebb1b8eb00","name":"@hraness/oh","dist-tags":{"legacy":"0.2.3","latest":"0.14.1"},"versions":{"0.2.3":{"name":"@hraness/oh","version":"0.2.3","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.2.3","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"641c954876f679216a5a3c887f0c5a8a4248ad7a","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.2.3.tgz","fileCount":126,"integrity":"sha512-FB3dFexU8CngBjcWp0RDXC4BD91iwlJpKedE6fmtlVABOzvrvzDJSUTmgqIQEyB8/6e6x2I17XTuHPKopYNWTQ==","signatures":[{"sig":"MEUCIAvc+ksHnD/Wz5G1YOcMZY8i7kR6J6dUNxsyxUY77CK0AiEA1lNBJM3WDyRJpi2TL3fsL7G30s9OKsnaskJJkKSp/YM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1937864},"main":"./dist/index.js","type":"module","_from":"file:/private/tmp/oh-npm-bootstrap-v023/hraness-oh-0.2.3.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./package.json":"./package.json","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/semantic.ts ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","build:portable":"bun build ./src/store.ts ./src/libsql.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"benzguo","email":"benzguo@gmail.com"},"_resolved":"/private/tmp/oh-npm-bootstrap-v023/hraness-oh-0.2.3.tgz","_integrity":"sha512-FB3dFexU8CngBjcWp0RDXC4BD91iwlJpKedE6fmtlVABOzvrvzDJSUTmgqIQEyB8/6e6x2I17XTuHPKopYNWTQ==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.19.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.2.3_1788144253982_0.7998154235478201","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@hraness/oh","version":"0.2.6","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.2.6","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"36b031ffbcf747fdd383d647f1279e52e21e1348","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.2.6.tgz","fileCount":126,"integrity":"sha512-1Gir07IJtqunuFNVKm1ieTa/EZGQ7Bubv5ND9CZ+nbrMZaG9t5p4XMGwLFzWZu3lGfdvaUACmZaGKG0jvbxscQ==","signatures":[{"sig":"MEUCIAjTH6lduLUUgLidtdti8hkbF7FWaT1exyDAbTwDV8vxAiEAlpcjvTgCxcnS8YnOlmBZauHkgiw50Nzn+C6KztUSn5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1938713},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.2.6.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./package.json":"./package.json","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/semantic.ts ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/libsql.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.2.6.tgz","_integrity":"sha512-1Gir07IJtqunuFNVKm1ieTa/EZGQ7Bubv5ND9CZ+nbrMZaG9t5p4XMGwLFzWZu3lGfdvaUACmZaGKG0jvbxscQ==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.2.6_1788152086508_0.05528911389098279","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@hraness/oh","version":"0.2.7","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.2.7","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"11c220c5fd8145e87ddd171fc30a00055d0d9aa8","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.2.7.tgz","fileCount":126,"integrity":"sha512-+9OIjJqEzriKdcV2dMze5y6Kl/DzjdbHwSghxVRkxHAhQIsdOoRujFynxgBQL2PXRqFJMRBmSQKnu8R5D/EXLg==","signatures":[{"sig":"MEYCIQCamlI43QTSXEFOtUlZJT4d62kI95Hzs4yLW16ZuT+n4AIhAKrGghMU9Dgrtr5iiMQqN+ndDZyDV0lWF22Xj5bfMY/V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1938713},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.2.7.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./package.json":"./package.json","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/semantic.ts ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/libsql.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.2.7.tgz","_integrity":"sha512-+9OIjJqEzriKdcV2dMze5y6Kl/DzjdbHwSghxVRkxHAhQIsdOoRujFynxgBQL2PXRqFJMRBmSQKnu8R5D/EXLg==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.2.7_1788153273821_0.9544249492837262","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@hraness/oh","version":"0.3.0","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.3.0","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"36a3e61f2469348a4915396e6d20df29a9573bae","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.3.0.tgz","fileCount":151,"integrity":"sha512-XvrvBvD9rW6laYZIzL2g+CKxrWCim19TGfOcsuMzchMOwi+APsCYZN5YEO96Qd/gUkSDrCWWY6PBfdtF8bToUg==","signatures":[{"sig":"MEUCICRuA0SMlMohz/ra6fikGFk7tWubOAn5u8yvK+UWkvz8AiEAiQvo9w9wsD5BgUum1LEzK2NLcV/QercGVCPmVO4qO0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2269211},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/semantic.ts ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/libsql.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory.ts ./src/memory-page.ts ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.3.0.tgz","_integrity":"sha512-XvrvBvD9rW6laYZIzL2g+CKxrWCim19TGfOcsuMzchMOwi+APsCYZN5YEO96Qd/gUkSDrCWWY6PBfdtF8bToUg==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.3.0_1788212485527_0.17741801070371066","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@hraness/oh","version":"0.3.1","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.3.1","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"2c92fb9d01db8e0559d8114f1cdd8fd771c55704","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.3.1.tgz","fileCount":151,"integrity":"sha512-xDUf3Mr+JiA117v+WjCU+1jQhjLFv6/PSOZsvDJH/i2sX80YhIUMzRo7Nd0kw3ajMkFLJ+xLtFWa7KlNZuhxOw==","signatures":[{"sig":"MEQCIGUFG8rt97AVL6esCZtTihmMaxavCiFHU1SDVE7iIY9lAiAorPNDew/aDHQeG5UiI7AR/124fblz3oS6syehm1FZ2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2278223},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.3.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/semantic.ts ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/libsql.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory.ts ./src/memory-page.ts ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.3.1.tgz","_integrity":"sha512-xDUf3Mr+JiA117v+WjCU+1jQhjLFv6/PSOZsvDJH/i2sX80YhIUMzRo7Nd0kw3ajMkFLJ+xLtFWa7KlNZuhxOw==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.3.1_1788214742232_0.6392883359620378","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@hraness/oh","version":"0.3.2","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.3.2","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"e4f452bc5d24e29d2b84d77ee304edfbd443a2cd","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.3.2.tgz","fileCount":161,"integrity":"sha512-r04wQEc9zRzMzAd8CBwJg5CIn73NoJ/w6zkA+qnvGk+jsAk8GL3mdIc+/Oew1oBNHcSIVsUMBSRPjLhD375oKw==","signatures":[{"sig":"MEUCIANjMy/W8yoEH8utOJDiqrmHMx5ag7l+mfDWZeeu1+p/AiEA0zNAWplPsfdRpPu3kP6MbBsJbAKUzaVCiqYIFLS0f+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2509719},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.3.2.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/semantic.ts ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/libsql.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory.ts ./src/memory-page.ts ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.3.2.tgz","_integrity":"sha512-r04wQEc9zRzMzAd8CBwJg5CIn73NoJ/w6zkA+qnvGk+jsAk8GL3mdIc+/Oew1oBNHcSIVsUMBSRPjLhD375oKw==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.3.2_1788229889607_0.987879753017","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@hraness/oh","version":"0.4.0","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.4.0","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"2c40525f2360d39364b0237998a7161fb174af0f","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.4.0.tgz","fileCount":165,"integrity":"sha512-em+cxN2yYs19HV70i78qwX5N/V077p3TSJEsRQMAK3WI5mteclLE5o5kwRFpvi8C+Fg+/aCqoxVt5DM3cwl59Q==","signatures":[{"sig":"MEQCIBhSbMdXCO7zvOkUToNJr1icKkdEZYDtAAvp251fgFJGAiAg2js/d1MIE40RpE80OhqMrAcOb5+ufGbyVRi2+B1d2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2990701},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/semantic.ts ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/libsql.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory.ts ./src/memory-page.ts ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.4.0.tgz","_integrity":"sha512-em+cxN2yYs19HV70i78qwX5N/V077p3TSJEsRQMAK3WI5mteclLE5o5kwRFpvi8C+Fg+/aCqoxVt5DM3cwl59Q==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.4.0_1788686205679_0.3600487924441591","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@hraness/oh","version":"0.4.1","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.4.1","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"cc4ebb545200f55f1c4adf85c4e8366447c1412c","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.4.1.tgz","fileCount":165,"integrity":"sha512-J4JMsGvd2wwacwLn2NT98ZmgBQ/8diaMkxSSBh3oUkOyeBa5V91BIbgfEev2jNDzw1DEAls330q1p1jEZQLrvQ==","signatures":[{"sig":"MEQCIEW+wHbxKYtf9HkJbWT6Kyle/OwiRsQCk4LigYFAcMWlAiBFm1Orh5oWsgu317VyodnqKbzL38RuQJU5EmwYarC5Jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2990701},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.4.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/semantic.ts ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/libsql.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory.ts ./src/memory-page.ts ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.4.1.tgz","_integrity":"sha512-J4JMsGvd2wwacwLn2NT98ZmgBQ/8diaMkxSSBh3oUkOyeBa5V91BIbgfEev2jNDzw1DEAls330q1p1jEZQLrvQ==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.4.1_1788687393845_0.10769185101325718","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@hraness/oh","version":"0.4.2","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.4.2","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"747fc759a932e61fe01425e5cb563fdd1f78494d","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.4.2.tgz","fileCount":218,"integrity":"sha512-wkWnSrRikzeLSli6fdqdxUp9jvgKg0ffLaCyXaYhG0i/1TCjpDWBvvXeFPK4BDok56n+ZNR0cQY7gAdabsEDsw==","signatures":[{"sig":"MEQCIH3qMKvFp4vI+Kxednj1hFIzczqfIEJMSnh92qx8pcxtAiBxOnFVWe+wrOp77WdGbQcofzCezKaOK2osgrXAVwYsig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6536214},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.4.2.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.4.2.tgz","_integrity":"sha512-wkWnSrRikzeLSli6fdqdxUp9jvgKg0ffLaCyXaYhG0i/1TCjpDWBvvXeFPK4BDok56n+ZNR0cQY7gAdabsEDsw==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.4.2_1788728889208_0.7582318542828235","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@hraness/oh","version":"0.4.3","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.4.3","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"6bc40088819f2909b22b92a7c1b6b70f3502d1f7","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.4.3.tgz","fileCount":230,"integrity":"sha512-nNSYgzPwUzlUeTagVZ1Ti/UV92KSs3Q2x2hWx8bp8mt7zFXxVc9EV+Toqp3dRTkiqnxNBVBWVhaTBjr0IM8ZNg==","signatures":[{"sig":"MEUCIQC/7aDLgYhsfFggFPq1PYdX/q8D566wfoktegqlDiVmJAIgJAxw/5vIT8hntVR5Qo9bIxUmN0y/6mC7NFJeMA3AWYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7090827},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.4.3.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","test:node-projection":"node --test ./scripts/projection-node.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.4.3.tgz","_integrity":"sha512-nNSYgzPwUzlUeTagVZ1Ti/UV92KSs3Q2x2hWx8bp8mt7zFXxVc9EV+Toqp3dRTkiqnxNBVBWVhaTBjr0IM8ZNg==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.4.3_1788815698883_0.617324141908036","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@hraness/oh","version":"0.5.0","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.5.0","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"1005f9d45c46abe6f5d13f2743043664e8b7b769","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.5.0.tgz","fileCount":335,"integrity":"sha512-+tgG6ngyVCWdsf2ZjE4ZBC0lT0Cvb/cW0l39c3EfhL/6Kz74Ewv2THTMd8NdppNZbM3zFnv0sQCXr9CHRN/2rw==","signatures":[{"sig":"MEQCIAx8XKjaSKXEGuJCyh3mz6Ub4JhcXus+O5Izm5Rh78otAiA51IH5rpsbvgRCFy1pGK5OXAfzs7o5n9i1CNZMeblZhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8583670},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.5.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.5.0.tgz","_integrity":"sha512-+tgG6ngyVCWdsf2ZjE4ZBC0lT0Cvb/cW0l39c3EfhL/6Kz74Ewv2THTMd8NdppNZbM3zFnv0sQCXr9CHRN/2rw==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.5.0_1789284743651_0.16286592070329498","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@hraness/oh","version":"0.5.1","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.5.1","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"f2e8d25905bacb8272a7960ad0fe1cf69366d9c9","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.5.1.tgz","fileCount":339,"integrity":"sha512-JDr909Jx23zNhqzCO4K2MJ+qF45L5Wanl3fJSGlnre8RWMQ3l6r91MpE15x3zX9szinibubXyFuALrzf/lOqmA==","signatures":[{"sig":"MEYCIQDb8lWmsIXT306h38MSgIwlHhm+ZVq3blLeLJQJ8cA6YgIhAIKBjXa+Ux57SDxaYZQL3bb+08+tCTfzJHfzj3KAVgns","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8586085},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.5.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.5.1.tgz","_integrity":"sha512-JDr909Jx23zNhqzCO4K2MJ+qF45L5Wanl3fJSGlnre8RWMQ3l6r91MpE15x3zX9szinibubXyFuALrzf/lOqmA==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.5.1_1789312675554_0.19943614711777036","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@hraness/oh","version":"0.6.1","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.6.1","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"68c4e6dacc7e04de8ecce48941a50189cef38779","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.6.1.tgz","fileCount":356,"integrity":"sha512-hD3OtTpxmqOl9PbFKfTeCXgoWiiWyE/2l0l9Mxw0btI9nLCYgzeZZoVwYub2HkBsdHLHAdZSk2BdO7IAi1+nyQ==","signatures":[{"sig":"MEYCIQDzByq7UecCUXnTAkdEbWPunNK08P6uRGmJNGIAtIgYsgIhAO2YNC0LV9/Jb2BF6iIV0PXlgMjkcB884TKrdQZPrVpB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12922297},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.6.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.6.1.tgz","_integrity":"sha512-hD3OtTpxmqOl9PbFKfTeCXgoWiiWyE/2l0l9Mxw0btI9nLCYgzeZZoVwYub2HkBsdHLHAdZSk2BdO7IAi1+nyQ==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.6.1_1789315648072_0.054647574245745734","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@hraness/oh","version":"0.7.1","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.7.1","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"7b235dd24b414ebe588c789f286421036b66f8c7","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.7.1.tgz","fileCount":367,"integrity":"sha512-dljEV++erVnITacxPeA/7cQM+z+pKouIhxwIJeieKMfMgP0AVZCVm7LdSddEQ59C6pSiiygC2ITE/eR9HlaOdA==","signatures":[{"sig":"MEUCIQCCdpMes+SrSQfymfcZbAkeG7cwo0hHVatRAlN0iEzvoAIgLyA+g8BFBRkLdVZMF3KvGhLFoQhBcN2gkq/fTmnrjAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12983308},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.7.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.7.1.tgz","_integrity":"sha512-dljEV++erVnITacxPeA/7cQM+z+pKouIhxwIJeieKMfMgP0AVZCVm7LdSddEQ59C6pSiiygC2ITE/eR9HlaOdA==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.7.1_1789348893039_0.41702378887099223","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@hraness/oh","version":"0.8.1","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.8.1","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"16acc87066bef14bf465a6d5b611fee7a9d18e04","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.8.1.tgz","fileCount":388,"integrity":"sha512-vz6Hc8crBgVLv3aA84QWVKNXQgs+re7tnLfFy/GCH8G2hNaEtQ7+XSTOnE6G5IsuFT1CM+NAq3utNSGQ6ElHyQ==","signatures":[{"sig":"MEYCIQDz+xD93BN+wLckRtCdX+PG4Vy0ZkcqKmIklPnh9f3ODgIhAOJ7UDR2/q4pE9zd3AoOZxUqH8hDoJF9amPau17Sitnb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCDK8gNN/14dBnTWOMvTho73zOHIjIvfLpy5ZGug+guIAIhAMkX+rOQI++pa+RLF/3hohOUj1P1rsSY0nlsKakq9iZn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13098766},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.8.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.8.1.tgz","_integrity":"sha512-vz6Hc8crBgVLv3aA84QWVKNXQgs+re7tnLfFy/GCH8G2hNaEtQ7+XSTOnE6G5IsuFT1CM+NAq3utNSGQ6ElHyQ==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.8.1_1789436553342_0.10698487021804426","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@hraness/oh","version":"0.9.0","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.9.0","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"7e44e721da06e77d050f491875aeac43b930a936","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.9.0.tgz","fileCount":410,"integrity":"sha512-GZt/z3mcXgrOhk1VDF732wxYsC7K8QA2Lq1eq7KcWFN6MREP2LJb+MHVOhVTfNc9IThhGpebBMvZYIApuNSIow==","signatures":[{"sig":"MEQCIDNmcTHn/3l/FHGO4MpKjFFNtqYre7umMtXtABMRQ3skAiAxFSpKUNrP7b4Yk7mWxiruHyzPKZOeo/j4anR5Qi5StQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCgFEYDI6ZZES73BmAXkBSOGjJqmYC91sdTkokux6TxZgIhALRQaQuxx5p0QO3TvqzM9/DCMDaBAl1eUxPqNrPnH8bt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13302601},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.9.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.9.0.tgz","_integrity":"sha512-GZt/z3mcXgrOhk1VDF732wxYsC7K8QA2Lq1eq7KcWFN6MREP2LJb+MHVOhVTfNc9IThhGpebBMvZYIApuNSIow==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.9.0_1789443697029_0.6176685338488099","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@hraness/oh","version":"0.10.0","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.10.0","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"e8562f31d719cbbe3be7c90a39f74b5caf98053a","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.10.0.tgz","fileCount":420,"integrity":"sha512-zm49EzVzGkq9omwHsmMRFkv3KiWrB2PuE8AYx1jW/S96Q6UELBC2vtAAbZbbtKV1l+QSeb8QabPPgRvuWevSnw==","signatures":[{"sig":"MEUCIQCZm7MZwQQFL5pmgXmQDIPfpZ6ZBLczu+Aq42AYvdtNegIgQhGD2w6gYQT6E7iwwqyj/w2IlW/gx94Y8+d/mT07mIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAYJ5iuNugkhatlTiVXZYIfWDQu7B78bpqSjW7B/+feDAiEAgGWjYmBobEo3zpA/wMZi2WcKNY/ZnWx19W+Cm6F7/eA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13368149},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/cli.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.0.tgz","_integrity":"sha512-zm49EzVzGkq9omwHsmMRFkv3KiWrB2PuE8AYx1jW/S96Q6UELBC2vtAAbZbbtKV1l+QSeb8QabPPgRvuWevSnw==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.10.0_1789484077264_0.7502895351620567","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@hraness/oh","version":"0.10.2","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.10.2","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"dea5b8759079339ff3f31560fcb3cee6e8057753","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.10.2.tgz","fileCount":427,"integrity":"sha512-bLyO3tOFxx6m1b/Ngswmsddv+oFikyAwI5AN+2oVLn/LJkvdZYM/ZA3ZGVb5SlIBfiN37Mh01toh5Uv61GxBBw==","signatures":[{"sig":"MEUCIHTN1Hd6TD8WcWJ+w2sSRpxMs5ydvSuDJP8qcOoJbqJcAiEAkmHCpkmK0wvooB+B0wVS1Iuab9KsDRRk0kyhbGlIiyM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE8nV4Br7QgyaJiSkYJUsfBSbF+jka/8XwZ4DzToDo1KAiByydfYcKWeugXv/BiSTBZHg81y7uRunYnG5NSpdIqIVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13409698},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.2.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./package.json":"./package.json","./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run build:js && bun run build:portable && bun run build:types","check":"bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.2.tgz","_integrity":"sha512-bLyO3tOFxx6m1b/Ngswmsddv+oFikyAwI5AN+2oVLn/LJkvdZYM/ZA3ZGVb5SlIBfiN37Mh01toh5Uv61GxBBw==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.10.2_1789545980764_0.7485635172096787","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@hraness/oh","version":"0.10.3","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.10.3","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"5980ae995393d28de92ce65f009e1b8d7e9a2a77","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.10.3.tgz","fileCount":479,"integrity":"sha512-ESCt1cDH95akqYtDtAOMJMMu3rakfF58BHiC7z+6yJQhad/WqACYLAT75zp4VckAVTX/7phUiNrl5MEYLcsK6g==","signatures":[{"sig":"MEUCIQDZtIV1aj0Z2Gjpr1RjcSbaqKH7ruljw54hdJ/wlFaeFAIgKyr9dMYXr4q8r8gwu5aqYT8A6gvZFuAoOY1ExG2v8Ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCdznfcV9RJ/SlqPLxYq7NNsZDh6k26Pv+Hgq/KTCPYHQIhAPiUrkZMwL2uPHWKsMIHVRGCpvZb6lovMN8Imdj9p5NI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":19333775},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.3.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sync.ts ./src/canonical-rust.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.3.tgz","_integrity":"sha512-ESCt1cDH95akqYtDtAOMJMMu3rakfF58BHiC7z+6yJQhad/WqACYLAT75zp4VckAVTX/7phUiNrl5MEYLcsK6g==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.10.3_1789683933267_0.7168002432105505","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"@hraness/oh","version":"0.10.6","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.10.6","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"947034ac6bf54e022a32b243d1f4e9b2e802b027","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.10.6.tgz","fileCount":493,"integrity":"sha512-fAiZ03nZNHnya5t3hMW3f6fb3M9tjSdEeSKNRYssAh71fnwijS6BSAAYJ0wmjpajLljNceQ16rO1bTzwqLFkhA==","signatures":[{"sig":"MEYCIQDA468/Uw9Xoo7qD9zJNPZ2l1s7PP30Owk3kQDy00sY1QIhAK8AVvuOr6KOVtE7gMEmn97wHaZZauVl/Uyy55ZLNdDu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCDeEzdyegE6KuvZB0/LO0/KJ0deLnOjkbu/SV13mC69QIgN3spqV8qXn2zLuKTUyXBOJomIrZgKK0s0rp98L7kmJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.10.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20818471},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.6.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.6.tgz","_integrity":"sha512-fAiZ03nZNHnya5t3hMW3f6fb3M9tjSdEeSKNRYssAh71fnwijS6BSAAYJ0wmjpajLljNceQ16rO1bTzwqLFkhA==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.10.6_1789706189487_0.5638488317279147","host":"s3://npm-registry-packages-npm-production"}},"0.10.7":{"name":"@hraness/oh","version":"0.10.7","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.10.7","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"3049908a98fcab1ee1fa6fd1a11c3c4e306b0842","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.10.7.tgz","fileCount":493,"integrity":"sha512-QMUpUOAMMMpkVVBDFRU+WvPB5v2xe8rRzk79YQOqJKFvMgLQmJtIs3oOAmHIvJn6QXt7+jBK1eON6rKIfr3H7g==","signatures":[{"sig":"MEUCIHMRvhNDNZ48seEf6mXGaoR23tJiJDMDEXpQYDWvbArlAiEA9SVJdhaFXoDjhaUG5iRO1A+b3JdUnbgNrCQxUyaNT5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDN2cxDJuIE2uyKQJJDiilnxAgaTY9Zss/WzPj/+hrVDwIhAMFK30nEzampj8f69sriVqHGDJzE/UzaUWaV/mHheWA5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.10.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21256879},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.7.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.7.tgz","_integrity":"sha512-QMUpUOAMMMpkVVBDFRU+WvPB5v2xe8rRzk79YQOqJKFvMgLQmJtIs3oOAmHIvJn6QXt7+jBK1eON6rKIfr3H7g==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.10.7_1789749881337_0.6893828855640798","host":"s3://npm-registry-packages-npm-production"}},"0.10.8":{"name":"@hraness/oh","version":"0.10.8","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.10.8","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"65bdc4e54e94fc6e1afff07397258befc58fc0dd","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.10.8.tgz","fileCount":504,"integrity":"sha512-rtm+D1pzlxTE84zAnIFq3dxQulU/HpstnaUYYW1Cl9HjNG1p+Z0Oy0oNTUQpxtYHh3XClDS2MLsV693WcUwOOA==","signatures":[{"sig":"MEYCIQC7kFIsSrjUFV047Ef0efwbYFfeMFgLStyI9kbGVuGfEgIhANg+bovl38Gnblu/owSOl2bbg6ol4rdjocBXonD9w+Jh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEJ9ljeJh5fue2hdbdKD/VfPU8elSrJbtn4u4fjDyPCRAiBI18l4i/+UHbAAAEnQDL29RnE+OuoczCbsGUgJgSaG8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.10.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21286209},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.8.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./rust-fallback":{"types":"./dist/rust-fallback.d.ts","import":"./dist/rust-fallback.js"},"./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./artifact-manifest":{"types":"./dist/artifact-manifest.d.ts","import":"./dist/artifact-manifest.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build --root=./src ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts ./src/rust-fallback.ts ./src/artifact-manifest.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:manifest":"bun run ./scripts/build-rust-manifest.ts","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.10.8.tgz","_integrity":"sha512-rtm+D1pzlxTE84zAnIFq3dxQulU/HpstnaUYYW1Cl9HjNG1p+Z0Oy0oNTUQpxtYHh3XClDS2MLsV693WcUwOOA==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.10.8_1789762417204_0.5872864171549923","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@hraness/oh","version":"0.11.0","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.11.0","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"a20b7bd52b5df3ef73beabd0a00d91adada99b99","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.11.0.tgz","fileCount":504,"integrity":"sha512-dCP41GmE80xWFEzpFEjwddBkkTP61GRSm3JRw/UeXrOusHZW0bmiRZHFkSoCoTGogjAA9O3wRiCveztmb/thUQ==","signatures":[{"sig":"MEUCIQCWaLBrPk0oqJtw+JcDTEhFZDaOnyE2hqrqrpusNkkFSwIgVxOp7rNPzgjTiNVL76QB/Zk5ZFC8JmoXqY6buQEW8Ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC+lcZVvyq3w/F/dy7kvF9gtCFKdqgP1L23BY/wwCozcgIhALaDN8WLmHlNsFSd2+hrxg9k0bZRox2Gn7MsxXGIFxgg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21395089},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.11.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./rust-fallback":{"types":"./dist/rust-fallback.d.ts","import":"./dist/rust-fallback.js"},"./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./artifact-manifest":{"types":"./dist/artifact-manifest.d.ts","import":"./dist/artifact-manifest.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build --root=./src ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts ./src/rust-fallback.ts ./src/artifact-manifest.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","vercel-build":"bun run ./scripts/vercel-build.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","bench:deductive":"bun run ./scripts/benchmarks/deductive-recall.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:manifest":"bun run ./scripts/build-rust-manifest.ts","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:deductive:fusion":"bun run ./scripts/benchmarks/deductive-fusion-probe.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:deductive:control":"bun run ./scripts/benchmarks/deductive-frozen-control.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.11.0.tgz","_integrity":"sha512-dCP41GmE80xWFEzpFEjwddBkkTP61GRSm3JRw/UeXrOusHZW0bmiRZHFkSoCoTGogjAA9O3wRiCveztmb/thUQ==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"open-source tools for agentic research","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.11.0_1790098502078_0.20612890468957845","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@hraness/oh","version":"0.12.0","keywords":["agentic-research","knowledge-graph","ontology","sqlite"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.12.0","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"d52be91d071ec2ff4abef0a69d1f3bcb5b4af04a","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.12.0.tgz","fileCount":517,"integrity":"sha512-BHAzZHXAldhDCg/J2OGFjN0VSBzwmfzk6QjOLdh3vamOftvDHZXNtwOkPpKpXOag2hX4fEr0vrenG0bF07YGFA==","signatures":[{"sig":"MEUCIDnt7uXc2TNVZNA2yeYVNdoeCMRkknhZT+hM10VPKJYfAiEA8VUeBnsxhEfRt7JSX7EBY34V0YHgRyk5g+Ke0D5ahiw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDfLJrE4LFcWRL48ub9yJHGQvtt3nhXdk8L28421BKXfgIhAJsj72lmRbIsUd1vBUBPEfRoqiEXQ9Vyx6pLO16qqOIn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21520431},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.12.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./rerank":{"types":"./dist/rerank.d.ts","import":"./dist/rerank.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./rust-fallback":{"types":"./dist/rust-fallback.d.ts","import":"./dist/rust-fallback.js"},"./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./artifact-manifest":{"types":"./dist/artifact-manifest.d.ts","import":"./dist/artifact-manifest.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build --root=./src ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts ./src/rust-fallback.ts ./src/artifact-manifest.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts ./src/rerank.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","vercel-build":"bun run ./scripts/vercel-build.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","bench:deductive":"bun run ./scripts/benchmarks/deductive-recall.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:manifest":"bun run ./scripts/build-rust-manifest.ts","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:deductive:fusion":"bun run ./scripts/benchmarks/deductive-fusion-probe.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:deductive:control":"bun run ./scripts/benchmarks/deductive-frozen-control.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.12.0.tgz","_integrity":"sha512-BHAzZHXAldhDCg/J2OGFjN0VSBzwmfzk6QjOLdh3vamOftvDHZXNtwOkPpKpXOag2hX4fEr0vrenG0bF07YGFA==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source memory for agents: source-backed records, retrieval, graph proofs, and verifiable history.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.12.0_1790187927329_0.48318491024991284","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@hraness/oh","version":"0.12.1","keywords":["agent-memory","agentic-research","ai-agents","knowledge-graph","memory","ontology","provenance","sqlite","typescript"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.12.1","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"ba3d302ea098bea5b67fdfe85920509e2aaa7ab1","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.12.1.tgz","fileCount":517,"integrity":"sha512-3XNLhuzFhIrTDqxYyViv19LnYEcXoD3SqRGZC/Hy0ggP8InTaj9zAPfUfI/lppvj5oHAa+q8V1xOugS314bKsg==","signatures":[{"sig":"MEYCIQD5hug82wBIevuugHYnKLUfxcU124Eyfp0gOTf4SevfsAIhAJoN8zOxEmPc4rwi4TfrVjSqG3CoZHGhBVg9mkBjalJO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCcSCwpyxZz/PT8COzk8EpZG1warFraWM47R6O8emKekgIhAMEgdMyhxImvDwmnaMdewVGnCPATdGDBqSoCvtxW7gQl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21527521},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.12.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./rerank":{"types":"./dist/rerank.d.ts","import":"./dist/rerank.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./rust-fallback":{"types":"./dist/rust-fallback.d.ts","import":"./dist/rust-fallback.js"},"./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./artifact-manifest":{"types":"./dist/artifact-manifest.d.ts","import":"./dist/artifact-manifest.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build --root=./src ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts ./src/rust-fallback.ts ./src/artifact-manifest.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts ./src/rerank.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","vercel-build":"bun run ./scripts/vercel-build.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","bench:deductive":"bun run ./scripts/benchmarks/deductive-recall.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:manifest":"bun run ./scripts/build-rust-manifest.ts","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:deductive:fusion":"bun run ./scripts/benchmarks/deductive-fusion-probe.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:deductive:control":"bun run ./scripts/benchmarks/deductive-frozen-control.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.12.1.tgz","_integrity":"sha512-3XNLhuzFhIrTDqxYyViv19LnYEcXoD3SqRGZC/Hy0ggP8InTaj9zAPfUfI/lppvj5oHAa+q8V1xOugS314bKsg==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"Oh is open-source memory for agents that stores each fact with its sources and every change in a history you can replay.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.12.1_1790440071677_0.40827667208182117","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@hraness/oh","version":"0.13.1","keywords":["agent-memory","agentic-research","ai-agents","knowledge-graph","memory","ontology","provenance","sqlite","typescript"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.13.1","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"db41a7bb9ad8ae120b3052bff8c3f3f5bb7c48e3","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.13.1.tgz","fileCount":553,"integrity":"sha512-dM629zXXqRvEuI9LGpaIDZ+vg6VRShRvNnK45RPgjgW9mNuK4Kip2N+KD+myCUEIeFdGUD2ZB2iukOt1/PxR5w==","signatures":[{"sig":"MEUCIDLgsJsYK8uQxI9lOK6HEqDg+l5lKEjTIwucItSurB32AiEA0e7zvdoeu/qExFNuayfA/lKS9KKgGx7+KuHbO96Sgyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEcQzynr+wDAf2SduiLEaAAgQGOGdD58vAPSKALr1HavAiEA8vEUMPUFfjJgPGDHSQNLG0NyDCGXAiUwDGk+kowGnno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21693041},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.13.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./rerank":{"types":"./dist/rerank.d.ts","import":"./dist/rerank.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./rust-fallback":{"types":"./dist/rust-fallback.d.ts","import":"./dist/rust-fallback.js"},"./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./artifact-manifest":{"types":"./dist/artifact-manifest.d.ts","import":"./dist/artifact-manifest.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun test ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build --root=./src ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts ./src/rust-fallback.ts ./src/artifact-manifest.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts ./src/rerank.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","vercel-build":"bun run ./scripts/vercel-build.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","bench:deductive":"bun run ./scripts/benchmarks/deductive-recall.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:manifest":"bun run ./scripts/build-rust-manifest.ts","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:deductive:fusion":"bun run ./scripts/benchmarks/deductive-fusion-probe.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:deductive:control":"bun run ./scripts/benchmarks/deductive-frozen-control.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.13.1.tgz","_integrity":"sha512-dM629zXXqRvEuI9LGpaIDZ+vg6VRShRvNnK45RPgjgW9mNuK4Kip2N+KD+myCUEIeFdGUD2ZB2iukOt1/PxR5w==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"Oh is open-source memory for agents that stores each fact with its sources and every change in a history you can replay.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.13.1_1790459424905_0.853720015143006","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@hraness/oh","version":"0.13.2","keywords":["agent-memory","agentic-research","ai-agents","knowledge-graph","memory","ontology","provenance","sqlite","typescript"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.13.2","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"8c1a0eefc287489fe7af5038aa7afde155feea2d","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.13.2.tgz","fileCount":563,"integrity":"sha512-zfiulZAOJOMhOl1h792FxenuV4R7RFnhvDrwOd3R/ak7FpAKMPU84e9BIPCnQTDRALl1gm+osRJfbXxE7HcGqQ==","signatures":[{"sig":"MEQCIFrMpK+h6JCLIWqTiF/dooKlcv2Zhuxoox63gxm/8LScAiBRbokNPAOdqqIWV8OX1DJCy9+U3b2uwnGh8f6tzJ68fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCrk7fJMkNn/1JfA09P1GzfUJdwTcKPQFIO6+kU/K42FgIhAJZSThqwqk4PAAlsqWXXejUHPQrr0HohnxSBkcDEqF2o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22606321},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.13.2.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./rerank":{"types":"./dist/rerank.d.ts","import":"./dist/rerank.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./rust-fallback":{"types":"./dist/rust-fallback.d.ts","import":"./dist/rust-fallback.js"},"./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./artifact-manifest":{"types":"./dist/artifact-manifest.d.ts","import":"./dist/artifact-manifest.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun run ./scripts/test-shards.ts --timeout=30000 ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build --root=./src ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts ./src/rust-fallback.ts ./src/artifact-manifest.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts ./src/rerank.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","vercel-build":"bun run ./scripts/vercel-build.ts","test:platform":"bun run ./scripts/test-shards.ts --timeout=30000 --path-ignore-patterns='tests/memory-benchmark-*' ./src ./tests ./site/tests/source.test.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","check:platform":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test:platform && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","bench:deductive":"bun run ./scripts/benchmarks/deductive-recall.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:manifest":"bun run ./scripts/build-rust-manifest.ts","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:deductive:fusion":"bun run ./scripts/benchmarks/deductive-fusion-probe.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:deductive:control":"bun run ./scripts/benchmarks/deductive-frozen-control.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.13.2.tgz","_integrity":"sha512-zfiulZAOJOMhOl1h792FxenuV4R7RFnhvDrwOd3R/ak7FpAKMPU84e9BIPCnQTDRALl1gm+osRJfbXxE7HcGqQ==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"Oh is open-source memory for agents that stores each fact with its sources and every change in a history you can replay.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.13.2_1790695970957_0.5924583866843169","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"@hraness/oh","version":"0.13.3","keywords":["agent-memory","agentic-research","ai-agents","knowledge-graph","memory","ontology","provenance","sqlite","typescript"],"author":{"name":"Hraness"},"license":"MIT","_id":"@hraness/oh@0.13.3","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"homepage":"https://oh.computer","bugs":{"url":"https://github.com/hraness/oh/issues"},"bin":{"oh":"dist/cli.js"},"dist":{"shasum":"6527f353b22514890bab1618350ea3758c092aee","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.13.3.tgz","fileCount":563,"integrity":"sha512-7Cc7dF/otW9Q5gnV4yNCNKbr8Uub2A7Gjxh87vvAv9JN79sfPXE+1Zah1tVBAiYCaKRssDW0RdQODm7l81VvFw==","signatures":[{"sig":"MEUCIDXhdvUZ1P/z5IQZBXUKGvGwUVu2ML5+b0jFwAOj88YAAiEAyUKRWvlSmXmwnkx/ztnXxsgso0Q+j4qfp7JZSOWsKWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD3WrQ+tSUNGk6ZrVNcoxxHvt4ORv5m3p5wCR1gn8VcpwIhAPbQytflmiJUhLtbuC7NKL7aXolK5pJ1BRB1CHl6Ylkr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.13.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22606321},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.13.3.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./rerank":{"types":"./dist/rerank.d.ts","import":"./dist/rerank.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./rust-fallback":{"types":"./dist/rust-fallback.d.ts","import":"./dist/rust-fallback.js"},"./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./artifact-manifest":{"types":"./dist/artifact-manifest.d.ts","import":"./dist/artifact-manifest.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"private":false,"scripts":{"test":"bun run ./scripts/test-shards.ts --timeout=30000 ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build --root=./src ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts ./src/rust-fallback.ts ./src/artifact-manifest.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts ./src/rerank.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","vercel-build":"bun run ./scripts/vercel-build.ts","test:platform":"bun run ./scripts/test-shards.ts --timeout=30000 --path-ignore-patterns='tests/memory-benchmark-*' ./src ./tests ./site/tests/source.test.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","check:platform":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test:platform && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","bench:deductive":"bun run ./scripts/benchmarks/deductive-recall.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:manifest":"bun run ./scripts/build-rust-manifest.ts","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","test:research-package":"bun run ./scripts/test-research-package.ts","bench:deductive:fusion":"bun run ./scripts/benchmarks/deductive-fusion-probe.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:deductive:control":"bun run ./scripts/benchmarks/deductive-frozen-control.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.13.3.tgz","_integrity":"sha512-7Cc7dF/otW9Q5gnV4yNCNKbr8Uub2A7Gjxh87vvAv9JN79sfPXE+1Zah1tVBAiYCaKRssDW0RdQODm7l81VvFw==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"Oh is open-source memory for agents that stores each fact with its sources and every change in a history you can replay.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oh_0.13.3_1790698102632_0.6866582537460972","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"_id":"@hraness/oh@0.14.1","bin":{"oh":"dist/cli.js"},"bugs":{"url":"https://github.com/hraness/oh/issues"},"dist":{"shasum":"2efbffd2c3793c92f08e3d08f5a2aef868ba8d63","tarball":"https://registry.npmjs.org/@hraness/oh/-/oh-0.14.1.tgz","fileCount":578,"integrity":"sha512-djBvmumO5cd17lJ3rmPxLe5E4CKQFJFpDfbq2XISI2s8WNmXANLliswK2mC4EZ5seDzzsD+vBDYnKUcDGs69kQ==","signatures":[{"sig":"MEUCIQCDar02U0oqyw/aCEjzd2kON+blQ5gJgf/UXYyq54fEpAIgY8gCtrzaEbmDI3SZHjKfRI1dQg7oQjQWKyVJuLH1L3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICXdXaIIEAZhcViyIKO4ZDwleJf/W3RqeZfwJRbuVNF/AiEA2lCuKuoHcwwHFb3R4C9SRKC0mxSZDAC+yPZq3kxMQrg="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hraness%2foh@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22756924},"main":"./dist/index.js","name":"@hraness/oh","type":"module","_from":"file:/home/runner/work/oh/oh/artifacts/hraness-oh-0.14.1.tgz","types":"./dist/index.d.ts","author":{"name":"Hraness"},"engines":{"bun":">=1.3.14","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk.d.ts","import":"./dist/sdk.js"},"./sync":{"types":"./dist/sync.d.ts","import":"./dist/sync.js"},"./store":{"types":"./dist/store.d.ts","import":"./dist/store.js"},"./libsql":{"types":"./dist/libsql.d.ts","import":"./dist/libsql.js"},"./memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./rerank":{"types":"./dist/rerank.d.ts","import":"./dist/rerank.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","import":"./dist/sqlite/index.js"},"./research":{"types":"./dist/research.d.ts","import":"./dist/research-runtime/research.js"},"./semantic":{"types":"./dist/semantic.d.ts","import":"./dist/semantic.js"},"./projection":{"types":"./dist/projection-public.d.ts","import":"./dist/projection-public.js"},"./memory-page":{"types":"./dist/memory-page.d.ts","import":"./dist/memory-page.js"},"./archive-wasm":"./dist/rust-artifacts/oh-archive-wasm/oh_archive_wasm.js","./datalog-wasm":"./dist/rust-artifacts/oh-datalog-wasm/oh_datalog_wasm.js","./package.json":"./package.json","./rust-fallback":{"types":"./dist/rust-fallback.d.ts","import":"./dist/rust-fallback.js"},"./canonical-rust":{"types":"./dist/canonical-rust.d.ts","import":"./dist/canonical-rust.js"},"./research-store":{"types":"./dist/research-store.d.ts","import":"./dist/research-runtime/research-store.js"},"./semantic-cloud":{"types":"./dist/semantic-cloud.d.ts","import":"./dist/semantic-cloud.js"},"./projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"},"./projection/rust":{"types":"./dist/projection-rust.d.ts","import":"./dist/projection-rust.js"},"./sqlite-snapshot":{"types":"./dist/sqlite-snapshot.d.ts","import":"./dist/sqlite-snapshot.js"},"./artifact-manifest":{"types":"./dist/artifact-manifest.d.ts","import":"./dist/artifact-manifest.js"},"./archive-strict-wasm":"./dist/rust-artifacts/oh-archive-strict-wasm/oh_archive_strict_wasm.wasm","./experimental/memory":{"types":"./dist/memory.d.ts","import":"./dist/memory.js"},"./canonical-rust/artifact":"./dist/rust-artifacts/oh-canonical-raw-wasm/artifact.js","./canonical-rust/raw-wasm":"./dist/rust-artifacts/oh-canonical-raw-wasm/oh_canonical_raw_wasm.wasm","./experimental/projection-suss":{"types":"./dist/projection-suss.d.ts","import":"./dist/projection-suss.js"}},"license":"MIT","private":false,"scripts":{"test":"bun run ./scripts/test-shards.ts --timeout=30000 ./src ./tests ./site/tests/source.test.ts","build":"bun run rust:build:artifacts && bun run build:js && bun run build:portable && bun run build:types","check":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","build:js":"bun build --root=./src ./src/index.ts ./src/sdk.ts ./src/sqlite/index.ts ./src/sqlite-snapshot.ts ./src/sync.ts ./src/canonical-rust.ts ./src/projection-rust.ts ./src/rust-fallback.ts ./src/artifact-manifest.ts --outdir ./dist --target bun --format esm --external bun:sqlite && bun run ./scripts/build-cli.ts && bun build ./src/semantic.ts ./src/rerank.ts --outdir ./dist --target bun --format esm --external bun:sqlite","bench:lab":"bun run ./scripts/benchmarks/lab.ts","test:node":"node ./tests/node-portable.mjs","typecheck":"tsc -p tsconfig.json --noEmit","rust:build":"bun run rust:build:canonical:wasm && bun run rust:build:canonical:raw:wasm && bun run rust:build:archive:wasm && bun run rust:build:datalog:wasm","rust:check":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo check --locked && cargo clippy -- -D warnings && cargo test --locked","build:types":"tsc -p tsconfig.build.json","bench:claude":"bun run ./scripts/benchmarks/claude-study.ts","bench:memory":"bun run ./scripts/benchmark-memory.ts","check:effect":"bun run ./scripts/check-effect-architecture.ts && bun test ./scripts/effect-architecture.test.ts","test:package":"bun run ./scripts/package-smoke.ts","vercel-build":"bun run ./scripts/vercel-build.ts","test:platform":"bun run ./scripts/test-shards.ts --timeout=30000 --path-ignore-patterns='tests/memory-benchmark-*' ./src ./tests ./site/tests/source.test.ts","bench:lab:paid":"bun run ./scripts/benchmarks/lab-paid.ts","build:portable":"bun build ./src/store.ts ./src/projection-public.ts ./src/projection-suss.ts ./src/memory-page.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/semantic-cloud.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/libsql.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun build ./src/memory.ts --outdir ./dist --target node --format esm --external @suss/datalog && bun run build:research","build:research":"bun run ./scripts/build-research.ts","check:platform":"bun run check:cost-surfaces && bun run rust:build:artifacts && bun run typecheck && bun run typecheck:scripts && bun run check:effect && bun run test:platform && bun run build && bun run test:types:node && bun run test:node && bun run test:node-projection && bun run test:research-package && bun run test:package","bench:claude:v2":"bun run ./scripts/benchmarks/claude-study-v2.ts","bench:deductive":"bun run ./scripts/benchmarks/deductive-recall.ts","test:benchmarks":"bun test ./tests/memory-benchmark*.test.ts","test:types:node":"tsc -p tsconfig.node-portable.json --noEmit","bench:gateway:v3":"bun run ./scripts/benchmarks/gateway-study-v3.ts","bench:gateway:v4":"bun run ./scripts/benchmarks/gateway-study-v4.ts","bench:gateway:v5":"bun run ./scripts/benchmarks/gateway-study-v5.ts","bench:gateway:v6":"bun run ./scripts/benchmarks/gateway-study-v6.ts","bench:lab:profile":"bun scripts/benchmarks/lab-reader-profile-run.ts","release:preflight":"bun run ./scripts/check-release-provider-preflight.ts","typecheck:scripts":"tsc -p tsconfig.scripts.json --noEmit","bench:stress:resume":"bun run ./scripts/benchmarks/stress-extraction-resume.ts","bench:stress:sqlite":"bun run ./scripts/benchmarks/stress-sqlite-crash.ts","check:cost-surfaces":"bun ./scripts/check-cost-surfaces.mjs","rust:build:manifest":"bun run ./scripts/build-rust-manifest.ts","rust:build:artifacts":"bun run ./scripts/build-rust-artifacts.ts","test:node-projection":"node --test ./scripts/projection-node.test.mjs","bench:memory-campaign":"bun ./scripts/benchmarks/memory-lab/campaign-v2.ts","test:research-package":"bun run ./scripts/test-research-package.ts","bench:deductive:fusion":"bun run ./scripts/benchmarks/deductive-fusion-probe.ts","bench:stress:retrieval":"bun run ./scripts/benchmarks/stress-retrieval.ts","bench:deductive:control":"bun run ./scripts/benchmarks/deductive-frozen-control.ts","bench:stress:projection":"bun run ./scripts/benchmarks/stress-projection.ts","rust:build:archive:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-archive-wasm && wasm-pack build --target web --out-dir pkg","rust:build:datalog:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-datalog-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust/oh-canonical-wasm && wasm-pack build --target web --out-dir pkg","rust:build:canonical:raw:wasm":"export PATH=\"${HOME}/.cargo/bin:$PATH\" && cd rust && cargo build --release --target wasm32-unknown-unknown -p oh-canonical-raw-wasm"},"version":"0.14.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"3e12f759-7e66-4403-a292-ee4ebcfcdd7e"}},"homepage":"https://oh.computer","keywords":["agent-memory","agentic-research","ai-agents","knowledge-graph","memory","ontology","provenance","sqlite","typescript"],"_resolved":"/home/runner/work/oh/oh/artifacts/hraness-oh-0.14.1.tgz","_integrity":"sha512-djBvmumO5cd17lJ3rmPxLe5E4CKQFJFpDfbq2XISI2s8WNmXANLliswK2mC4EZ5seDzzsD+vBDYnKUcDGs69kQ==","repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"_npmVersion":"11.17.0","description":"Oh is open-source memory for agents that stores each fact with its sources and every change in a history you can replay.","directories":{},"maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"effect":"3.22.1","sigstore":"4.1.1","@types/bun":"1.3.14","fast-check":"4.9.0","typescript":"5.9.3","@suss/datalog":"0.20.0","@hraness/cli-update":"https://github.com/hraness/cli-update/releases/download/v0.1.0/hraness-cli-update-0.1.0.tgz","@hraness/support-foundation":"github:hraness/support-foundation#b32c1c81bb2444f50509ed54388758ecfab1f1c0"},"peerDependencies":{"@tobilu/qmd":"2.5.3","@suss/datalog":"0.20.0","@libsql/client":">=0.17.4 <1"},"peerDependenciesMeta":{"@tobilu/qmd":{"optional":true},"@suss/datalog":{"optional":true},"@libsql/client":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oh_0.14.1_1790830865769_0.025664031094872808"}}},"time":{"created":"2026-08-31T02:44:13.774Z","modified":"2026-10-01T05:01:06.435Z","0.2.3":"2026-08-31T02:44:14.165Z","0.2.6":"2026-08-31T04:54:46.669Z","0.2.7":"2026-08-31T05:14:33.953Z","0.3.0":"2026-08-31T21:41:25.713Z","0.3.1":"2026-08-31T22:19:02.432Z","0.3.2":"2026-09-01T02:31:29.744Z","0.4.0":"2026-09-06T09:16:45.878Z","0.4.1":"2026-09-06T09:36:34.063Z","0.4.2":"2026-09-06T21:08:09.408Z","0.4.3":"2026-09-07T21:14:59.062Z","0.5.0":"2026-09-13T07:32:23.817Z","0.5.1":"2026-09-13T15:17:55.705Z","0.6.1":"2026-09-13T16:07:28.282Z","0.7.1":"2026-09-14T01:21:33.264Z","0.8.1":"2026-09-15T01:42:33.601Z","0.9.0":"2026-09-15T03:41:37.267Z","0.10.0":"2026-09-15T14:54:37.448Z","0.10.2":"2026-09-16T08:06:20.962Z","0.10.3":"2026-09-17T22:25:33.507Z","0.10.6":"2026-09-18T04:36:29.696Z","0.10.7":"2026-09-18T16:44:41.575Z","0.10.8":"2026-09-18T20:13:37.394Z","0.11.0":"2026-09-22T17:35:02.364Z","0.12.0":"2026-09-23T18:25:27.558Z","0.12.1":"2026-09-26T16:27:51.928Z","0.13.1":"2026-09-26T21:50:25.275Z","0.13.2":"2026-09-29T15:32:51.241Z","0.13.3":"2026-09-29T16:08:22.899Z","0.14.1":"2026-10-01T05:01:05.950Z"},"bugs":{"url":"https://github.com/hraness/oh/issues"},"author":{"name":"Hraness"},"license":"MIT","homepage":"https://oh.computer","keywords":["agent-memory","agentic-research","ai-agents","knowledge-graph","memory","ontology","provenance","sqlite","typescript"],"repository":{"url":"git+https://github.com/hraness/oh.git","type":"git"},"description":"Oh is open-source memory for agents that stores each fact with its sources and every change in a history you can replay.","maintainers":[{"name":"benzguo","email":"benzguo@gmail.com"}],"readme":"# Oh\n\n[![skills.sh](https://skills.sh/b/hraness/oh)](https://skills.sh/hraness/oh)\n\nOh is open-source memory for agents that stores each fact with its sources and every change in a history you can replay. It is for TypeScript developers whose agents need to trace an answer back to the passage it came from.\n\nYou get a TypeScript SDK, a CLI, and an Agent Skill. All three read and write\nthe same versioned records and the same append-only log of operations. The\ndefault store is one SQLite file on your machine: it needs no account and no\nhosted model, and its search indexes can be deleted and rebuilt.\n\n[Website](https://oh.computer) · [Versioned specification](spec/README.md) ·\n[Agent Skill](skills/oh/SKILL.md)\n\nLatest release: [v0.13.3](https://github.com/hraness/oh/releases/tag/v0.13.3)\non [npm](https://www.npmjs.com/package/@hraness/oh), free and MIT licensed.\n\n## CLI updates\n\nOh 0.14.1 and newer support automatic updates for Bun and npm globals\non macOS and Linux. Use `oh update disable` to keep a version. See\n[update controls and supported installations](docs/cli-updates.md).\n\n## Why Oh\n\n- **Every record says what it is.** A record declares a kind, a stable key, the\n  keys it depends on, and its content as canonical JSON (one fixed byte\n  encoding, so equal content always has the same SHA-256 digest). The ontology\n  and schemas that give kinds their meaning are versioned. Oh checks shape and\n  references; it cannot tell whether a statement is true.\n- **Every change is on the record.** A write names the head it expects (the\n  space’s current generation and operation digest) and fails if another writer\n  moved it first. Accepted operations are digested, chained to their parent,\n  and never rewritten, so `oh verify` can replay the history and compare. A\n  digest shows that bytes changed; it does not encrypt data or identify who\n  wrote them.\n- **The file you control is the source of truth.** Records and operations live\n  in one SQLite file. Sync is a step you call, with a transport you supply, and\n  it accepts only histories that extend yours, after both sides confirm the same\n  contract (the versions of the record format, ontology, and schemas). Two\n  histories that diverge stop with a conflict for you to resolve.\n- **Search indexes are copies.** The keyword index, optional local embeddings,\n  and the optional hosted vector cache are built from current records and\n  rejoined to them by digest before a result is returned. Deleting an index\n  loses speed, never data.\n- **Rules derive facts without writing them.** Recursive rules run against one\n  graph head and return rows with proofs. The rows are output you can throw\n  away; saving one as knowledge takes your own reviewed write.\n- **Agents get scratch space apart from reviewed memory.** The memory\n  entry point pairs a working store the host can purge with a reviewed store\n  pinned at one head, and every answer says which store each premise came\n  from. Moving working records into the reviewed store goes through a host\n  call the agent never sees. See [Give an agent working memory](docs/working-memory.md).\n\n[The thread through hraness](https://hraness.com/writing/the-thread-through-hraness)\nfollows this design across the projects, and the\n[ALGAL vision](https://algal.computer/docs/vision/) states the bet behind it.\n\n## Install and first run\n\nThe archive below is `0.13.3`, the\n[verified public release](https://github.com/hraness/oh/actions/runs/36593404095).\n\n[Bun 1.3.14 or newer](https://bun.sh/docs/installation) is required for the\nCLI, the SDK, and the SQLite store. The runtime-neutral store interfaces and the\ndirect libSQL store also run on Node 24 and in serverless functions. Install\nthe release from npm:\n\n```sh\nbun add --global @hraness/oh@latest\noh --help\n```\n\nThe same package bytes and their checksum are attached to the\n[immutable GitHub Release](https://github.com/hraness/oh/releases/tag/v0.13.3):\n[`hraness-oh-0.13.3.tgz`](https://github.com/hraness/oh/releases/download/v0.13.3/hraness-oh-0.13.3.tgz)\nand\n[`SHA256SUMS`](https://github.com/hraness/oh/releases/download/v0.13.3/SHA256SUMS).\n\nThe package runs wherever Bun runs. Its native SQLite snapshot helper\n(`@hraness/oh/sqlite-snapshot`) is prebuilt for macOS on Apple silicon and\nIntel, Linux x64 and arm64, and Windows x64.\n\nOh writes to `.oh/oh.sqlite` and the `default` space unless you choose another\npath or space. `oh init`, `oh put`, and `oh sync import` create that directory,\nfile, and space if they are missing; reading commands stop with\n`No Oh store at .oh/oh.sqlite` instead. Keep `.oh/` out of source control.\n\n```sh\noh init\noh put \\\n  --kind entity \\\n  --key entity:ada-lovelace \\\n  --value '{\"name\":\"Ada Lovelace\",\"role\":\"mathematician\"}'\noh get entity:ada-lovelace\noh search \"mathematician\"\noh verify\n```\n\nThis stores one entity, reads it back, finds it through the keyword index, and\nreplays the log to check it. It needs no account, hosted model, remote\ndatabase, or semantic-search package. In a terminal each command prints a short\nresult, such as `✓ Saved entity:ada-lovelace (generation 1).` Add `--json` for\ncanonical JSON; `oh get entity:ada-lovelace --json` prints the record on one\nline, shown here with line breaks added:\n\n```json\n{\n  \"dependencies\": [],\n  \"key\": \"entity:ada-lovelace\",\n  \"kind\": \"entity\",\n  \"recordSha256\": \"fcfe318e7248366d2408d1fa392268ac16490e72487079956c20db96b8369449\",\n  \"v\": 1,\n  \"value\": { \"name\": \"Ada Lovelace\", \"role\": \"mathematician\" }\n}\n```\n\nThe digest is the same on every machine because it covers only the record.\n`oh verify --json` ends with `\"operations\":1,\"records\":1,\"sqliteIntegrity\":\"ok\"`.\n\nThe CLI may print an occasional note about optional development support on\nstderr. It never changes stdout or exit codes, CI turns it off, and\n[Optional development support](docs/development-support.md) explains how to\nswitch it off yourself.\n\n## How Oh behaves\n\nCommands print short text for people and canonical JSON with `--json`. When an\nagent runs Oh (Claude Code, Codex, Cursor, Gemini CLI, or `AI_AGENT` is set),\nJSON is the default; `HRANESS_AUDIENCE=human` or `agent` overrides the guess.\n`oh sync export` and `oh contract` always print JSON. A missing `oh get` or\n`oh tombstone` record exits with status 3. A mistyped command or option exits\nwith status 2. A missing store, an integrity failure, or a concurrent head\nconflict exits with status 1 and leaves the log as it was. Errors name what\nwent wrong and the command to run next; with `--json` they are one\n`{\"ok\":false,\"error\":{...}}` object on stdout.\n\n`oh contract` prints the ontology, graph, schema, and SQLite versions compiled\ninto the installed runtime. Opening a database checks that the contract stored\nin it matches that runtime, and refuses to open it otherwise.\n\nA space holds one current graph and one append-only chain of operations:\n\n- A record has a stable key, one declared kind, ordered dependencies, any\n  canonical JSON content, and a SHA-256 digest over all of that.\n- An operation puts or tombstones (deletes) records in one `BEGIN IMMEDIATE`\n  transaction. Before the head moves, the store compares the caller’s expected\n  generation and operation digest with the current head and refuses a stale one.\n- Each operation’s digest covers its parent operation, the resulting graph\n  revision and record set, the contract, the actor, the timestamp, and the\n  sequence number.\n- The SQLite records and the operation log are the source of truth. The FTS5\n  keyword index and local embedding files are copies that can be rebuilt.\n- Sync exchanges size-limited bundles of operations after both sides confirm\n  the same contract. Only a history that extends the other side’s is applied\n  automatically; a divergent history stops with a conflict.\n  [Fast-forward sync](docs/sync-runtime.md) shows the libSQL and Turso\n  transport. For offline transfer, `oh sync export` writes a bundle to stdout\n  and `oh sync import --file <path>` checks it and applies it in one\n  transaction, or not at all.\n\nVersion 1 of the ontology names seven core ideas: entity, statement,\nassertion, evidence, context, inquiry, and projection. The graph format also\ncarries schema, vocabulary, review, rights, edition, and activity records.\nMeaning specific to an application belongs in registered codecs and versioned\nschema records, where anyone reading the data can find it.\n\n## Follow a question to its answer\n\nA research application can map familiar work onto Oh records, so each step\nof a review is a record you can open:\n\n| Research object | Oh record kind | What you can inspect |\n| --- | --- | --- |\n| Question | `inquiry` | The question and its durable investigation trail. |\n| Source | `entity` | A stable identity for a paper, dataset, person, or system. |\n| Capture | `edition` | A size-limited source edition or extract under an application profile. |\n| Claim | `statement` | The proposition, separate from who accepts it. |\n| Citation | `evidence` | How a passage, table, or observation bears on an assertion. |\n| Artifact | `view` | A derived brief or answer with addressable inputs. |\n\nAn attributable `assertion` sits between a claim and the evidence that bears on\nit. A small review leaves a path you can walk, where a chat answer leaves one\nparagraph:\n\n```text\ninquiry:primary-endpoint\n  → entity:trial-report\n  → edition:trial-report-v1\n  → statement:endpoint-12-weeks\n  → assertion:endpoint-12-weeks\n  → evidence:table-2\n  → view:review-brief\n```\n\nThe [homepage trace](https://oh.computer/#trace) shows the CLI read and an\nillustrative evidence record that passes its schema. It models how records\npoint to their sources; it makes no claim about a real study.\n\nFor research data there is an optional profile with 14 domain vocabularies,\nsource-preserving imports from Wikidata captures, and research packets that\nOh validates before storing. [The research profile](docs/research-profile.md)\nlists each catalog, the version that added it, and what it covers.\n\n## Use the SDK\n\nFor a project dependency, pin the same immutable release in `package.json`:\n\n```json\n{\n  \"dependencies\": {\n    \"@hraness/oh\": \"0.13.3\"\n  }\n}\n```\n\nThe base package has no required runtime dependencies. Keyword search,\nontology parsing, SQLite storage, replay verification, and sync need no hosted\nmodel.\n\n```ts\nimport { Oh } from \"@hraness/oh/sdk\";\n\nconst oh = Oh.open({\n  databasePath: \".oh/research.sqlite\",\n  spaceId: \"paper-one\",\n});\n\ntry {\n  const head = oh.head();\n  oh.put({\n    expectedHead: head,\n    key: \"entity:ada-lovelace\",\n    kind: \"entity\",\n    value: { name: \"Ada Lovelace\" },\n  });\n\n  const result = await oh.search(\"Ada\", { mode: \"keyword\" });\n  console.log(result.results[0]?.record);\n  // Recall fuses several searches and can add records from a date window: spec/v1/recall.md\n  console.log((await oh.recall([\"Ada\", \"engine\"], { asOf: null })).results.length);\n  console.log(oh.verify());\n} finally {\n  await oh.close();\n}\n```\n\nPass the head you reviewed when concurrent writers matter. After an\n`OhConflictError`, read the new head and records, reconcile your change, and\nsubmit a new operation; retrying the same call fails the same way.\n\n[Call Oh from TypeScript](docs/sdk.md) covers every SDK method, batch writes,\nerror classes, and the table of entry points (`@hraness/oh/store`,\n`@hraness/oh/libsql`, `@hraness/oh/sqlite`, `@hraness/oh/sync`,\n`@hraness/oh/projection`, `@hraness/oh/memory`, and the rest), with the\nruntimes each one is tested under.\n\n### Use the best configured retrieval\n\nWith no `mode`, search and recall pick the strongest path you have configured:\nlocal reranking when a reranker is present, hybrid keyword and semantic search\nwhen a semantic backend is present, and keyword search otherwise. There is no\nexperimental switch. Pass `mode` when you need a particular policy or a\nreproducible comparison. A backend that is missing adds a diagnostic to the\nresponse and leaves the other results in place.\n[Search and recall](docs/search.md) shows how to add local embeddings, a local\nreranker, or the hosted cache, and what each costs.\n\n## Give Oh to a coding agent\n\nThe repository includes an installable Agent Skill at\n[`skills/oh`](skills/oh/SKILL.md). Copy or link that directory into the skill\nlocation your agent runner uses. The skill teaches an agent to read the\ncontract and current head, write with the expected generation, verify the\nreplay, and sync only where you tell it to.\n\nYou can also give an agent this prompt:\n\n```text\nInstall @hraness/oh@0.13.3 from npm and use its packaged Oh Agent Skill. The\nexact npm tarball and SHA256SUMS are mirrored by the immutable v0.13.3 Release at\nhttps://github.com/hraness/oh/releases/tag/v0.13.3. Verify the CLI with\n`oh --help` and `oh version`.\nDo not create or modify an Oh database until I name its path and ask you to.\n```\n\n## Limits\n\n- Digests detect changed contract, record, operation, and bundle bytes. They do\n  not encrypt data, authenticate an actor, authorize a write, or prove that a\n  research statement is true.\n- Oh does not redact record values. Protect the database, filesystem, backups,\n  and any sync destination according to the sensitivity of what you store.\n- The optional QMD semantic cache holds text derived from records. Its model\n  and inference stay local, but the cache needs the same care as the records.\n- The libSQL sync transport checks the contract and that histories extend each\n  other. You handle credentials, transport security, access control, tenant\n  isolation, backup, retry, and remote availability.\n- Divergent histories never merge automatically. Oh reports the conflict and\n  leaves reconciliation to you.\n- Derived rows and proofs are disposable output. Publishing one as knowledge\n  takes an application-level review and a new write to the graph.\n\nRead [SECURITY.md](SECURITY.md) for the full public threat model.\n\n## Benchmarks\n\nOn all 500 [LongMemEval-S](benchmarks/LONGMEMEVAL_S_500_RESULT_V1.md)\nquestions, with GPT-5 mini answering each question three times and GPT-4o\njudging with LongMemEval’s prompts, Oh semantic retrieval scored **88.87%** and\nBM25 keyword retrieval **86.13%** (mean of three runs). On questions answered\ncorrectly in at least two of three runs, the measure fixed before the runs, Oh\nleads BM25 by 2.8 points with a 95% interval from 0.0 to 5.6, which does not\nrule out a tie. A lab pipeline that gives the model every message the user\nwrote, plus the assistant replies retrieval ranks highest, scored **93.07%**\n(474 of 500 on the two-of-three measure). Its instructions and rules were\nwritten after studying all 500 questions, so that score is in-sample, and the\npipeline is not part of the package. The\n[benchmark report](https://oh.computer/blog/longmemeval-s-user-log) explains how\nit works and what the study cost.\n\nThe [SDK retrieval evaluation](benchmarks/SDK_RETRIEVAL_QUALIFICATION_RESULT_V1.md)\nscored **80.59%** answer accuracy with the configured default reranking against\n**69.86%** for matched semantic retrieval, a gain of **10.73 percentage\npoints**. Both personas improved, and evidence recall@10 rose from **12.05% to\n26.10%**. All 876 reader cases completed on 146 development questions the\nproject had already seen, with three repeats per arm. A separate comparison\nagainst ordinary hybrid retrieval, with fresh reader responses, scored **80.59%\nagainst 64.16%**; the two candidate samples are kept apart even though their\nscores match. The reader was the Gateway GPT-4o mini alias, scored by exact\noption ID with no judge. The route met its development thresholds only by\ncounting one handled Metal startup message as allowed; a rule allowing no error\nlogs at all would have failed it. No reranker run or cleanup failed. This is a\ndevelopment result, with no untouched holdout and no population-level\nconfidence claim. Both comparisons used 1,752 reader calls and cost\n**$1.461086**.\n\nIn the earlier [CloneMem reserved-persona study](benchmarks/CLONEMEM_RERANK_CONFIRM_RESULT_V1.md),\nOh’s combined lexical and vector candidates with local Qwen3 reranking scored\n**77.82%** answer accuracy against **70.54%** for vector retrieval, a paired\ngain of **7.28 percentage points** with a 95% persona-cluster bootstrap\ninterval of **+4.61 to +10.27 points**. The study covers 861 questions from\nseven personas, three reader repeats per arm, and 5,166 completed cases. Mean\nevidence recall@10 rose from **14.48% to 32.80%**, with **22.1% fewer context\nbytes**. The seven personas were held out from immediate development, but the\nproject had seen the data before. Two failed campaign attempts were excluded\nunder a retry rule added during the run; their captures and costs are recorded.\nAn [independent audit](benchmarks/CLONEMEM_RERANK_CONFIRM_AUDIT_V2.md)\nreproduced the scores and interval, and counting every missing first-attempt\nresponse against Oh left a gain of 6.16 points. The reader was the Gateway\nGPT-4o mini alias, with no verified fixed snapshot, and the scores describe\nthat study’s renderer and candidate preparation, not every SDK deployment.\n\nIn the [matched framework pilot](benchmarks/FRAMEWORK_PILOT_RESULT_V1.md),\nSupermemory scored **75.00%**, Oh **71.67%**, and a BM25 baseline **68.33%**.\nThe paired Oh and Supermemory difference was **−3.33 points**, with a 95%\nwithin-type bootstrap interval from −13.33 to +6.67 that includes zero. All\nthree shared the same 60 LongMemEval-S questions the project had already seen,\na single query, a 20-item retrieval limit, an 8,192-token evidence renderer, a\nGPT-4o reader, and a fixed-rubric judge, with every planned case counted. The\npilot is one configuration on development data.\n\nOh has not shown that it outperforms Letta, Supermemory, or other memory\nframeworks. Published results from other projects use their own protocols, and\nthe [website comparison](https://oh.computer/#benchmarks) keeps them apart from\nOh’s matched runs. A comparison between frameworks needs a common dataset,\nreader, scoring procedure, context allowance, failure accounting, and\nproduction adapter.\n\nResults that did not pass are kept. On LoCoMo, query-aware packing raised\nevidence recall (90.08% against 88.93%) without an answer-quality gain (77.33%\nagainst 78.11%). Earlier CloneMem hybrid and keyword-fusion screens also missed\ntheir answer-quality targets. The\n[experiment history and reproduction guide](benchmarks/README.md) lists every\nstudy.\n\nRun the network-free state and projection checks from a checkout:\n\n```sh\nbun run test:benchmarks\nbun run bench:memory state\nbun run bench:memory projection\n```\n\nThe state suite checks updates, conflicts, provenance, and stale-write rejection.\nReusing canonical tuple keys cut local median projection time by 25% to 34%\nacross the recorded 16-, 32-, and 48-node cases, with identical result digests,\nproofs, and work counts. These microbenchmarks do not predict production\nlatency.\n\nThe [memory benchmark guide](benchmarks/README.md) covers checksum-pinned\ndatasets, raw and extracted memory comparisons, spending limits for paid runs,\nrecorded reader results, and how to reproduce each one. Retrieval recall,\nanswer quality, and how an agent writes memory are measured separately. The\nbenchmark adapters exist to reproduce past studies; the SDK defaults are\ndescribed in [Use the SDK](#use-the-sdk).\n\n## Verify a checkout\n\n```sh\nbun install --frozen-lockfile --ignore-scripts\nbun run check\n```\n\n`bun run check` type-checks the package, runs every test, rebuilds the\ncommitted `dist/` entry points, and fails if any tracked file changes.\n\n## Specification\n\n[`spec/manifest.json`](spec/manifest.json) is the machine-readable index of the\ncontracts. The current contract is version 1:\n\n- [Canonical JSON and digests](spec/v1/canonical-json.md)\n- [Ontology](spec/v1/ontology.md)\n- [Schema evolution](spec/v1/schema-evolution.md)\n- [Graph and operations](spec/v1/graph.md)\n- [SQLite storage](spec/v1/storage.md)\n- [Store ports, profiles, and direct libSQL authority](spec/v1/store.md)\n- [Sync protocol](spec/v1/sync.md)\n- [Local embedding profile](spec/v1/embedding.md)\n- [Derived projections](spec/v1/projection.md)\n- [Compatibility and migration](spec/v1/migration.md)\n\nThe JSON Schemas describe the exchanged formats. The runtime parsers also\nenforce canonical ordering, byte limits, references between records, and the\nexact bytes each digest covers, which JSON Schema cannot express.\n\n## Compared with Mem0, Supermemory, and Zep\n\n- Mem0 and Supermemory give each user of a product a memory, built from facts\n  a model extracts or documents you sync, with hosted plans. Oh has no\n  per-end-user scoping API, connectors, or hosted service.\n- Zep and its open-source Graphiti build a temporal knowledge graph: a model\n  extracts facts, and each fact records when it was true. Oh stores what you\n  write without a model rewriting it, in one SQLite file.\n- Oh links each record to the records it rests on, and `oh verify` replays\n  every change.\n\nThe [comparison page](https://oh.computer/compare) has the full table, dated\nsources, and the matched benchmark runs.\n\n## Who builds on Oh\n\nUse Oh to build an application’s memory layer. Use Wordcell to maintain and query a Markdown knowledge base.\nEach consumer pins an immutable release and upgrades on its own schedule:\n\n- [Wordcell](https://wordcell.io)\n  ([source](https://github.com/hraness/wordcell)) is a knowledge base for\n  agents: markdown, backlinks, search, ontology, and git context. Its Markdown\n  vault is the only source of truth. `wordcell graph rebuild` writes a\n  disposable, gitignored `.wordcell/oh.sqlite` copy of the graph, and no query\n  or rebuild writes back into notes.\n- [Sponge](https://sponge.computer) is a private library for what you read,\n  with notes your agent can cite. Its hosted research agents kept working\n  memory in a server-side Oh store, apart from the knowledge you reviewed.\n  Sponge stopped accepting new hosted research on September 12, 2026.\n  [How Sponge uses Oh](https://sponge.computer/docs/how-sponge-uses-oh).\n\n[Oh and Wordcell](docs/wordcell.md) explains where one ends and the other\nbegins. Wordcell measures its own search pipeline; Oh’s memory benchmark\nscores do not carry over to it.\n\n## Find the right documentation\n\n- **Try it:** [Install and first run](#install-and-first-run).\n- **Build on it in TypeScript:** [Use the SDK](#use-the-sdk), then\n  [Call Oh from TypeScript](docs/sdk.md) and\n  [Search and recall](docs/search.md).\n- **Store data somewhere other than a local file:**\n  [Direct libSQL store](docs/libsql-runtime.md) and\n  [Fast-forward sync](docs/sync-runtime.md).\n- **Give an agent memory:** [Give an agent working memory](docs/working-memory.md),\n  [Memory pages and `.oh.md` files](docs/memory-pages.md), and\n  [How memory host calls run](docs/memory-runtime.md).\n- **Derive facts with rules:** [Derive facts with rules](docs/projections.md).\n- **Run semantic search:**\n  [Local semantic backend lifecycle](docs/semantic-lifecycle.md) and\n  [Hosted semantic cache V2 lifecycle](docs/hosted-semantic-runtime.md).\n- **Store research sources:** [The research profile](docs/research-profile.md).\n- **Hand Oh to an agent or work with a Markdown vault:** the\n  [Oh Agent Skill](skills/oh/SKILL.md) or [Oh and Wordcell](docs/wordcell.md).\n- **Implement or change a contract:** start at the\n  [specification map](spec/README.md), then read the version 1 text and its\n  JSON Schema together.\n- **Contribute or report a vulnerability:** [CONTRIBUTING.md](CONTRIBUTING.md)\n  or the private process in [SECURITY.md](SECURITY.md).\n\n## Contribute and license\n\nRead [CONTRIBUTING.md](CONTRIBUTING.md) before changing a wire format or a\nmigration. Report security issues through the private process in\n[SECURITY.md](SECURITY.md).\n\nOh is available under the [MIT License](LICENSE). Notices for the bundled\nthird-party code are in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).\n","readmeFilename":"README.md"}