{"_id":"@absolutejs/outcomes","_rev":"10-660e57b8cc3c577fb1e5fd486e056627","name":"@absolutejs/outcomes","dist-tags":{"latest":"0.3.1"},"versions":{"0.0.1":{"name":"@absolutejs/outcomes","version":"0.0.1","author":"Alex Kahn","license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.0.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"9cb1baa65673a7fc6f20ddc70be50d0ecd1df74d","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.0.1.tgz","fileCount":8,"integrity":"sha512-Js9msOEuf/3mx26XGdVGgKsvwHSSW4f5BnYV1j31sWRGCWzoY3Fa3Jtm8znsKw/qN3BcWcO1PR4/Qu3G10QI+Q==","signatures":[{"sig":"MEQCIHytajW4m4MPqPtVbVIuIblA+P2nSbsmW4FW5ySCNJGqAiBVzAiqWbEqGw1AyBprXaDyufGIUd4TLCPwEw1ctuAdLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18354},"main":"./dist/index.js","types":"./dist/src/index.d.ts","shasum":"9cb1baa65673a7fc6f20ddc70be50d0ecd1df74d","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --target=bun && tsc --emitDeclarationOnly --project tsconfig.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-Js9msOEuf/3mx26XGdVGgKsvwHSSW4f5BnYV1j31sWRGCWzoY3Fa3Jtm8znsKw/qN3BcWcO1PR4/Qu3G10QI+Q==","repository":{"url":"https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.8.3","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.0.1_1783544308250_0.9309185835104108","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@absolutejs/outcomes","version":"0.1.0","author":"Alex Kahn","license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.1.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"7cc7171bbed9abeb539b6b571197f1dca44ff9b3","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.1.0.tgz","fileCount":8,"integrity":"sha512-SIxNdg9mLaIqj2IA9MNqv+Qo4/8TbYJ3Bzxfxhwrarf6oiGJEypZw7pl2KiKqvF9ZZu7XCRQrNjwjsdvbLoYyg==","signatures":[{"sig":"MEUCIAgazlPF2Ivrq8ZjFHL71PjfrXazDFkz4nS13mxs9myIAiEAn9FWEhn+sHDOqTeFd9A2PtaNfdGumELIuunwP46IiIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21941},"main":"./dist/index.js","types":"./dist/src/index.d.ts","shasum":"7cc7171bbed9abeb539b6b571197f1dca44ff9b3","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --target=bun && tsc --emitDeclarationOnly --project tsconfig.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-SIxNdg9mLaIqj2IA9MNqv+Qo4/8TbYJ3Bzxfxhwrarf6oiGJEypZw7pl2KiKqvF9ZZu7XCRQrNjwjsdvbLoYyg==","repository":{"url":"https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.8.3","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.1.0_1783906562958_0.19658696954376165","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@absolutejs/outcomes","version":"0.1.1","author":"Alex Kahn","license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.1.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"0fc3ff2604b144f24b55485652686f19ec97dcc6","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.1.1.tgz","fileCount":11,"integrity":"sha512-NN5hekrw2urIMBNfpi+3FkQW7mmDMM06kn2cA/5Fp3jmfeXItgXuYhW5RGoRR9/oIjSRdUTv9c4UW6LdPjIxVQ==","signatures":[{"sig":"MEUCIBPKPGmKj9XEl9hMlbimrlwvOF07SmIy0OGfJzKqJAh6AiEAk4Q5xHh297kP38x4Jv+0PyejJkNNourg3GzvB8+D54I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390321},"main":"./dist/index.js","types":"./dist/src/index.d.ts","shasum":"0fc3ff2604b144f24b55485652686f19ec97dcc6","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/src/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --root ./src --target=bun && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-NN5hekrw2urIMBNfpi+3FkQW7mmDMM06kn2cA/5Fp3jmfeXItgXuYhW5RGoRR9/oIjSRdUTv9c4UW6LdPjIxVQ==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.8.3","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.1.1_1783964493771_0.22260604659194771","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@absolutejs/outcomes","version":"0.2.0","author":{"name":"Alex Kahn"},"license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.2.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"bfafffb3ca83c02fad425116c23a13272a70ec79","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.2.0.tgz","fileCount":13,"integrity":"sha512-sGkKCwp4yPZz2tatVdHGBjFZNchYHEgfTZZ59q1x5747cYyFAde7DTyLu2JWrgIVZxf5Q59QOqyrDxIkT8yGJA==","signatures":[{"sig":"MEYCIQDTKg3v53v1xl4moYijnUEAQoX0ni6RywvPp1IMO9JuuAIhAJuJvDy1unHrHZXpZYsLXM+Bq7SXR7z/WEnTkTizBrzn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430824},"main":"./dist/index.js","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./drizzle":{"types":"./dist/src/drizzle.d.ts","import":"./dist/drizzle.js","default":"./dist/drizzle.js"},"./manifest":{"types":"./dist/src/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"01915b151dcea089df14f160d5a5b08d9f12e488","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/drizzle.ts src/manifest.ts --outdir dist --root ./src --target=bun --external drizzle-orm --external 'drizzle-orm/*' --external drizzle-typebox && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.9.2","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"drizzle-typebox":"1.0.0-beta.14-a36c63d","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3","drizzle-orm":"1.0.0-rc.4","@electric-sql/pglite":"0.3.14"},"peerDependencies":{"drizzle-orm":">=1.0.0-rc.4 <2"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.2.0_1784805101769_0.33670936507027216","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@absolutejs/outcomes","version":"0.2.1","author":"Alex Kahn","license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.2.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"347059ce366bc661e07c90f9db76bd158fa44df3","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.2.1.tgz","fileCount":13,"integrity":"sha512-S2R9sdT9Y0FhtVYaCSrdz+krYj3GDSd31SDpu7UNQaWgPVsCAoC+09ToaLu3Ji7hAz3ArwmQHK/Xc0nkNzGAeg==","signatures":[{"sig":"MEUCIGFttKOJSNimaMZBJOPekdurBFYuSOCx/W0pcIFZLQw2AiEAg7OjwO34gYlITzQUowenA+S1DA+vYKpe1dqFA4c7Iuo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431191},"main":"./dist/index.js","types":"./dist/src/index.d.ts","shasum":"347059ce366bc661e07c90f9db76bd158fa44df3","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./drizzle":{"types":"./dist/src/drizzle.d.ts","import":"./dist/drizzle.js","default":"./dist/drizzle.js"},"./manifest":{"types":"./dist/src/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/drizzle.ts src/manifest.ts --outdir dist --root ./src --target=bun --external drizzle-orm --external 'drizzle-orm/*' --external drizzle-typebox && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-S2R9sdT9Y0FhtVYaCSrdz+krYj3GDSd31SDpu7UNQaWgPVsCAoC+09ToaLu3Ji7hAz3ArwmQHK/Xc0nkNzGAeg==","absolutejs":{"manifestContract":2},"repository":{"url":"https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.8.3","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"drizzle-typebox":"1.0.0-beta.14-a36c63d","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3","drizzle-orm":"1.0.0-rc.4","@electric-sql/pglite":"0.3.14"},"peerDependencies":{"drizzle-orm":">=1.0.0-rc.4 <2"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.2.1_1784810388039_0.31753636323898027","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@absolutejs/outcomes","version":"0.2.2","author":"Alex Kahn","license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.2.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"d5d6459cc5837b1a2db2ec44d2b73b299aeb79d8","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.2.2.tgz","fileCount":13,"integrity":"sha512-YSpcwcTDMrpyzC8bfuyxzH+DzQJoOYC7YzA4g7FaVucTVox0S42/AWj3MQYrDc/IVR7a1YzDCuVoZaqCJhn9rg==","signatures":[{"sig":"MEUCIDBs8Oni08G9P57OyhDf2gUlWrMG8yD1YVojrqlyCAfxAiEAsQ+UiRkPrywUZv7Q4oGyu+qSMHyYuks3+/S+zgBfbRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431313},"main":"./dist/index.js","types":"./dist/src/index.d.ts","shasum":"d5d6459cc5837b1a2db2ec44d2b73b299aeb79d8","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./drizzle":{"types":"./dist/src/drizzle.d.ts","import":"./dist/drizzle.js","default":"./dist/drizzle.js"},"./manifest":{"types":"./dist/src/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/drizzle.ts src/manifest.ts --outdir dist --root ./src --target=bun --external drizzle-orm --external 'drizzle-orm/*' --external drizzle-typebox && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-YSpcwcTDMrpyzC8bfuyxzH+DzQJoOYC7YzA4g7FaVucTVox0S42/AWj3MQYrDc/IVR7a1YzDCuVoZaqCJhn9rg==","absolutejs":{"manifestContract":2},"repository":{"url":"https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.8.3","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"drizzle-typebox":"1.0.0-beta.14-a36c63d","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3","drizzle-orm":"1.0.0-rc.4","@electric-sql/pglite":"0.3.14"},"peerDependencies":{"drizzle-orm":">=1.0.0-rc.4 <2"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.2.2_1784810536748_0.5394102899545623","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@absolutejs/outcomes","version":"0.2.3","author":"Alex Kahn","license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.2.3","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"6ba515d92292b7e6236015d3105fd6f424d6590b","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.2.3.tgz","fileCount":13,"integrity":"sha512-aKDywavyeW4/hpRkwnOETczs8LubGP+VMA/gRlsPCV5DJwm42j1Yaww2PM257osaVhBAKP9RatTk2awq9yP2qg==","signatures":[{"sig":"MEQCICIkPneJ6+Mh3JfPSBwr4ZPOlR7fdRaMAiAD+Ee8s1b8AiAkuxuNZ0uIhgAyC1gx2Aa9pJYDIf7CammmZSqdgJCByQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203746},"main":"./dist/index.js","types":"./dist/src/index.d.ts","shasum":"6ba515d92292b7e6236015d3105fd6f424d6590b","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./drizzle":{"types":"./dist/src/drizzle.d.ts","import":"./dist/drizzle.js","default":"./dist/drizzle.js"},"./manifest":{"types":"./dist/src/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/drizzle.ts src/manifest.ts --outdir dist --root ./src --target=bun --external drizzle-orm --external 'drizzle-orm/*' --external drizzle-typebox && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-aKDywavyeW4/hpRkwnOETczs8LubGP+VMA/gRlsPCV5DJwm42j1Yaww2PM257osaVhBAKP9RatTk2awq9yP2qg==","absolutejs":{"runtimePeers":{"drizzle-orm":{"range":">=1.0.0-rc.4 <2","tested":"1.0.0-rc.4","optional":true,"buildExternals":["drizzle-orm","drizzle-orm/*"],"artifactImports":["drizzle-orm","drizzle-orm/pg-core"],"artifactReferences":[]}},"manifestContract":2},"repository":{"url":"https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.8.3","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"drizzle-typebox":"1.0.0-beta.14-a36c63d","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3","drizzle-orm":"1.0.0-rc.4","@electric-sql/pglite":"0.3.14"},"peerDependencies":{"drizzle-orm":">=1.0.0-rc.4 <2"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.2.3_1785116262000_0.024838673127651756","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@absolutejs/outcomes","version":"0.2.4","author":{"name":"Alex Kahn"},"license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.2.4","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"307ca489f9f417a52bce986bd4c17115cd8feb66","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.2.4.tgz","fileCount":13,"integrity":"sha512-MABj54S7WVGega75qWbi7g0FPLb7gQkrbTk+NbnpwA/8Els3t2ubK3df8YRkvlbVOunoCHD+BhmwiIhmetdjHA==","signatures":[{"sig":"MEUCIQDxIYCmGYkZ9OwuVDFhoZi5V3xFyY0d5m6LvOeutZkGLgIgVLLMq5ORNPw9c5YqImtfKsjBu7fRTr1I/XsApxcdEHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203962},"main":"./dist/index.js","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./drizzle":{"types":"./dist/src/drizzle.d.ts","import":"./dist/drizzle.js","default":"./dist/drizzle.js"},"./manifest":{"types":"./dist/src/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"c872c1eed18d2ab00330cf0a476bef1d8fdffc4e","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/drizzle.ts src/manifest.ts --outdir dist --root ./src --target=bun --external drizzle-orm --external 'drizzle-orm/*' --external drizzle-typebox && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"runtimePeers":{"drizzle-orm":{"range":">=1.0.0-rc.4 <2","tested":"1.0.0-rc.4","optional":true,"buildExternals":["drizzle-orm","drizzle-orm/*"],"artifactImports":["drizzle-orm","drizzle-orm/pg-core"],"artifactReferences":[]}},"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.9.2","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"drizzle-typebox":"1.0.0-beta.14-a36c63d","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3","drizzle-orm":"1.0.0-rc.4","@electric-sql/pglite":"0.3.14"},"peerDependencies":{"drizzle-orm":">=1.0.0-rc.4 <2"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.2.4_1785177488434_0.7838683405272828","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@absolutejs/outcomes","version":"0.3.0","author":{"name":"Alex Kahn"},"license":"BUSL-1.1","_id":"@absolutejs/outcomes@0.3.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"dist":{"shasum":"fd4d218bf1b85c3b4296247aa240608a06ce7acf","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.3.0.tgz","fileCount":13,"integrity":"sha512-ILctsrk3Mp6Ak3gMB07oNwqnVUYhjsXXjn1NyaOwlhwb4fsIb+jkSk/CoGMpbVUNiniwDpJyIglhI8Xgy2Zp7w==","signatures":[{"sig":"MEQCIH3CIVXg2Kh4bVR1KLrRdISStZyBhIH9E/vIU2NNFUrAAiAZpNqPVVXKSncPs3YuANdYAp9DLPGYlvBZZne5W165Jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203560},"main":"./dist/index.js","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./drizzle":{"types":"./dist/src/drizzle.d.ts","import":"./dist/drizzle.js","default":"./dist/drizzle.js"},"./manifest":{"types":"./dist/src/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"c5a7a46efe543e9355e968973daab94126ed99a3","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/drizzle.ts src/manifest.ts --outdir dist --root ./src --target=bun --external drizzle-orm --external 'drizzle-orm/*' --external drizzle-typebox --external typebox --external 'typebox/*' && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit --project tsconfig.json"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/outcomes.git","type":"git"},"_npmVersion":"10.9.2","description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"typebox":"^1.3.16","drizzle-typebox":"1.0.0-beta.14-a36c63d","@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"latest","typescript":"5.8.3","drizzle-orm":"1.0.0-rc.4","@electric-sql/pglite":"0.3.14"},"peerDependencies":{"drizzle-orm":">=1.0.0-rc.4 <2"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/outcomes_0.3.0_1787448989459_0.8626411701202918","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"author":{"name":"Alex Kahn"},"description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","devDependencies":{"@electric-sql/pglite":"0.3.14","@types/bun":"latest","drizzle-orm":"1.0.0-rc.4","prettier":"3.5.3","typescript":"5.8.3"},"license":"BUSL-1.1","publishConfig":{"access":"public"},"main":"./dist/index.js","name":"@absolutejs/outcomes","repository":{"type":"git","url":"git+https://github.com/absolutejs/outcomes.git"},"homepage":"https://github.com/absolutejs/outcomes","bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"scripts":{"build":"rm -rf dist && bun build src/index.ts src/drizzle.ts src/manifest.ts --outdir dist --root ./src --target=bun --external drizzle-orm --external 'drizzle-orm/*' --external drizzle-typebox --external typebox --external 'typebox/*' && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run test && bun run build && bun publish","test":"bun test","typecheck":"tsc --noEmit --project tsconfig.json"},"types":"./dist/src/index.d.ts","version":"0.3.1","absolutejs":{"manifestContract":2},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./drizzle":{"types":"./dist/src/drizzle.d.ts","import":"./dist/drizzle.js","default":"./dist/drizzle.js"},"./manifest":{"types":"./dist/src/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"dependencies":{"@absolutejs/manifest":"^0.10.0","@sinclair/typebox":"^0.34.0","drizzle-typebox":"1.0.0-beta.14-a36c63d","typebox":"^1.3.16"},"peerDependencies":{"drizzle-orm":">=1.0.0-rc.4 <2"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_id":"@absolutejs/outcomes@0.3.1","gitHead":"eff7adf003b414ad6863fadaa3c4c67fa73a4418","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-XBJ06JyA+QaN/s/fztQkdh5NPoqunkPGMkD0v+USCNMhebcnZE1BFAJgvF713SFzoywsjarT4Mj7qEW+PysoEg==","shasum":"6eac97177ff42f7cf3ceebf828509191d2c655a1","tarball":"https://registry.npmjs.org/@absolutejs/outcomes/-/outcomes-0.3.1.tgz","fileCount":13,"unpackedSize":90858,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoIIYHP0G8uCU2ofVeHJ8yNQent0q+bqRRfIy5vFtswwIgZrtkO53ioYGqhUnr9ajXRp5WqmoYk/k+QRUK2mUCMyM="}]},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"directories":{},"maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/outcomes_0.3.1_1787449397226_0.1490265539647695"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T20:58:28.072Z","modified":"2026-08-23T01:43:17.644Z","0.0.1":"2026-07-08T20:58:28.383Z","0.1.0":"2026-07-13T01:36:03.139Z","0.1.1":"2026-07-13T17:41:33.939Z","0.2.0":"2026-07-23T11:11:41.922Z","0.2.1":"2026-07-23T12:39:48.165Z","0.2.2":"2026-07-23T12:42:16.895Z","0.2.3":"2026-07-27T01:37:42.157Z","0.2.4":"2026-07-27T18:38:08.579Z","0.3.0":"2026-08-23T01:36:29.613Z","0.3.1":"2026-08-23T01:43:17.410Z"},"bugs":{"url":"https://github.com/absolutejs/outcomes/issues"},"author":{"name":"Alex Kahn"},"license":"BUSL-1.1","homepage":"https://github.com/absolutejs/outcomes","repository":{"type":"git","url":"git+https://github.com/absolutejs/outcomes.git"},"description":"Outcome feedback loop for AI agents — typed artifact features + attribution-joined outcome stats + evidence rendering, so an agent's context (not its weights) gets measurably better per user. Experiment variants bolt on.","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"readme":"# @absolutejs/outcomes\n\nListed attributed artifacts retain their observation time, allowing hosts to\nbuild privacy-safe time cohorts without reaching around the store contract.\n\nThe outcome feedback loop that makes an AI agent **measurably better per\nuser** — without training anything.\n\nUsed by the hosted AbsoluteJS.ai platform and available as a standalone outcomes package.\n\n## The idea\n\nAn agent produces artifacts (outreach emails, generated pages, drafts). Things\nhappen to them (opens, replies, conversions, meetings). If you record both\nsides with typed features frozen at production time, the agent's **context**\ncan get smarter every week — and you can show users the receipts.\n\nYou define the vocabulary once — artifact kinds with typed, bucketable\nfeatures, and an ordered list of outcome events — and the package derives:\n\n- **The ledger contract** (`OutcomeStore`): record artifacts + outcomes,\n  attribution is the join on your artifact id.\n- **The stats** (`computeOutcomeStats`): each outcome's rate overall, per\n  feature bucket, and per experiment variant when present (the A/B bolt-on).\n  Below your `minSample` it reports not-ready, so hosts stay **quiet instead\n  of showing confident noise** — the cold-start contract.\n- **The evidence** (`renderEvidence`): a compact text block your OWN AI call\n  distills into a \"what works for you\" memo that conditions future\n  generations. The package never calls a model itself.\n\n```ts\nimport {\n\tcomputeOutcomeStats,\n\tdefineOutcomeVocabulary,\n\trenderEvidence\n} from '@absolutejs/outcomes';\n\nconst vocabulary = defineOutcomeVocabulary({\n\tartifacts: {\n\t\toutreach_email: {\n\t\t\tlabel: 'Outreach email',\n\t\t\tfeatures: {\n\t\t\t\tsubjectWords: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tbuckets: [\n\t\t\t\t\t\t{ label: 'short', max: 7 },\n\t\t\t\t\t\t{ label: 'medium', max: 12 }\n\t\t\t\t\t],\n\t\t\t\t\toverflowLabel: 'long'\n\t\t\t\t},\n\t\t\t\tmode: { type: 'string', values: ['outreach', 'followup'] },\n\t\t\t\thasQuestion: { type: 'boolean' }\n\t\t\t}\n\t\t}\n\t},\n\toutcomes: ['opened', 'replied', 'meeting_scheduled']\n});\n\n// At production time: store.recordArtifact({ id: sendId, ownerId, kind, features })\n// From your signal hooks: store.recordOutcome({ artifactId: sendId, outcome: \"replied\", ownerId })\n\nconst rows = await store.listArtifactsWithOutcomes(\n\townerId,\n\t'outreach_email',\n\tsince\n);\nconst stats = computeOutcomeStats(vocabulary, 'outreach_email', rows, {\n\tminSample: 10\n});\nif (stats.ready) {\n\tconst memo = await yourAiCall(\n\t\t`Distill what works:\\n${renderEvidence(stats)}`\n\t);\n\t// …feed `memo` into every future draft; show `stats` in your UI.\n}\n```\n\nSame machinery for an outreach copilot (features: subject length, tone;\noutcomes: replies) and an AI website builder (features: hero copy length,\nlayout; outcomes: conversions from your analytics beacon).\n\n## Production persistence (Drizzle + Postgres/Neon)\n\nThe optional `@absolutejs/outcomes/drizzle` entry exports a typed Postgres\nschema and store. It works with any Drizzle `PgAsyncDatabase`, including a\nNeon-backed database, and never creates schema at application runtime:\n\n```ts\nimport {\n\tcreateDrizzleOutcomeStore,\n\toutcomesDrizzleSchema\n} from '@absolutejs/outcomes/drizzle';\n\nconst store = createDrizzleOutcomeStore({ db });\n```\n\nInclude `outcomesDrizzleSchema` in your Drizzle migration schema. The same\nentry exports `OutcomeArtifactInsertSchema`, `OutcomeArtifactSelectSchema`,\n`OutcomeEventInsertSchema`, and `OutcomeEventSelectSchema`, generated with\nDrizzle-TypeBox directly from those tables so route contracts never restate\ndatabase shapes.\n\nOutcome writes require `ownerId`; both memory and Drizzle stores no-op unless\nthe artifact belongs to that owner. The contract-2 AI tools expose the same\nowner/resource binding for host policy enforcement.\n\n## License\n\nBusiness Source License 1.1 — free for your own products and internal use;\nyou may not offer it as a competing hosted experimentation/analytics/\noptimization service. Converts to Apache 2.0 on July 8, 2030. See\n[LICENSE](./LICENSE).\n","readmeFilename":"README.md"}