{"_id":"@alvin0/ai-agent-sdk-observability-node","_rev":"4-42f0f9c3e32db6a204f653846fc12d08","name":"@alvin0/ai-agent-sdk-observability-node","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@alvin0/ai-agent-sdk-observability-node","version":"0.1.0","author":{"name":"alvin0 - chaulamdinhai","email":"chaulamdinhai@gmail.com"},"license":"MIT","_id":"@alvin0/ai-agent-sdk-observability-node@0.1.0","maintainers":[{"name":"alvin0","email":"chaulamdinhai@gmail.com"}],"homepage":"https://github.com/alvin0/ai-agent-sdk/tree/main/packages/observability-node#readme","bugs":{"url":"https://github.com/alvin0/ai-agent-sdk/issues"},"dist":{"shasum":"59891b18683d23169bdf83f4a3b87c210eebf73c","tarball":"https://registry.npmjs.org/@alvin0/ai-agent-sdk-observability-node/-/ai-agent-sdk-observability-node-0.1.0.tgz","fileCount":19,"integrity":"sha512-Wl99FfwaxtjveyMs2alnlq4Gg/hFPSME1P+HTLNFWA3bR34DjwLB2oH1wZlnwqM86EDWv6/rl67tSaxYrnmWaA==","signatures":[{"sig":"MEUCIBIExvTG5Hl+jKpBXPk2yjCkyJlq+LEcq9wFEqceXEexAiEAqt0p9T1wIbGdLnJRB7xotRptPJlqvGfCkJ+txAp09WI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alvin0%2fai-agent-sdk-observability-node@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":158242},"main":"./dist/index.mjs","type":"module","_from":"file:artifacts/alvin0-ai-agent-sdk-observability-node-0.1.0.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.12"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./journal":{"types":"./dist/journal.d.mts","import":"./dist/journal.mjs","default":"./dist/journal.mjs"},"./diagnostic":{"types":"./dist/diagnostic.d.mts","import":"./dist/diagnostic.mjs","default":"./dist/diagnostic.mjs"},"./package.json":"./package.json"},"scripts":{"pack":"pnpm pack --pack-destination artifacts","test":"vitest run --config vitest.config.ts","build":"tsdown","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true});require('node:fs').rmSync('artifacts',{recursive:true,force:true})\"","test:pack":"node scripts/test-packed.mts","typecheck":"tsc --noEmit","check:types":"attw --profile esm-only --pack .","check:publint":"publint"},"_npmUser":{"name":"alvin0","email":"chaulamdinhai@gmail.com"},"_resolved":"/home/runner/work/ai-agent-sdk/ai-agent-sdk/artifacts/alvin0-ai-agent-sdk-observability-node-0.1.0.tgz","_integrity":"sha512-Wl99FfwaxtjveyMs2alnlq4Gg/hFPSME1P+HTLNFWA3bR34DjwLB2oH1wZlnwqM86EDWv6/rl67tSaxYrnmWaA==","aiAgentSdk":{"roles":["observation-exporter","diagnostics"],"coreApi":1,"runtime":"node"},"repository":{"url":"git+https://github.com/alvin0/ai-agent-sdk.git","type":"git","directory":"packages/observability-node"},"_npmVersion":"10.9.3","description":"Durable Node JSONL observation journal, recovery, lifecycle, and opt-in wire diagnostics","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"0.22.14","vitest":"4.1.11","publint":"0.3.24","typescript":"7.0.2","@types/node":"26.4.0","@arethetypeswrong/cli":"0.18.5","@alvin0/ai-agent-sdk-core":"^0.1.0"},"peerDependencies":{"@alvin0/ai-agent-sdk-core":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-agent-sdk-observability-node_0.1.0_1788971804013_0.9983010080369457","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@alvin0/ai-agent-sdk-observability-node","version":"0.1.1","author":{"name":"alvin0 - chaulamdinhai","email":"chaulamdinhai@gmail.com"},"license":"MIT","_id":"@alvin0/ai-agent-sdk-observability-node@0.1.1","maintainers":[{"name":"alvin0","email":"chaulamdinhai@gmail.com"}],"homepage":"https://github.com/alvin0/ai-agent-sdk/tree/main/packages/observability-node#readme","bugs":{"url":"https://github.com/alvin0/ai-agent-sdk/issues"},"dist":{"shasum":"6f1324e5ef9db091df2cda756d655260490706e9","tarball":"https://registry.npmjs.org/@alvin0/ai-agent-sdk-observability-node/-/ai-agent-sdk-observability-node-0.1.1.tgz","fileCount":19,"integrity":"sha512-+fXDfXb571NvLMAK2ZL4ZuTTHll4mUr42GIQI5u8zvhumgbqtZjZmXGnmjO7IDKLmAQMrQHkNbFFI0gRNqv3Qg==","signatures":[{"sig":"MEUCIGhcVq78D1PhCEIu/i1BmLcrJWKJKhcl+UbwmQMz5jCCAiEAhk6WGEkBm+zZ+jq5HEUBQhsFJhs620vfNP47EYjcgJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alvin0%2fai-agent-sdk-observability-node@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":158349},"main":"./dist/index.mjs","type":"module","_from":"file:artifacts/alvin0-ai-agent-sdk-observability-node-0.1.1.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.12"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./journal":{"types":"./dist/journal.d.mts","import":"./dist/journal.mjs","default":"./dist/journal.mjs"},"./diagnostic":{"types":"./dist/diagnostic.d.mts","import":"./dist/diagnostic.mjs","default":"./dist/diagnostic.mjs"},"./package.json":"./package.json"},"scripts":{"pack":"pnpm pack --pack-destination artifacts","test":"vitest run --config vitest.config.ts","build":"tsdown","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true});require('node:fs').rmSync('artifacts',{recursive:true,force:true})\"","test:pack":"node scripts/test-packed.mts","typecheck":"tsc --noEmit","check:types":"attw --profile esm-only --pack .","check:publint":"publint"},"_npmUser":{"name":"alvin0","email":"chaulamdinhai@gmail.com"},"_resolved":"/home/runner/work/ai-agent-sdk/ai-agent-sdk/artifacts/alvin0-ai-agent-sdk-observability-node-0.1.1.tgz","_integrity":"sha512-+fXDfXb571NvLMAK2ZL4ZuTTHll4mUr42GIQI5u8zvhumgbqtZjZmXGnmjO7IDKLmAQMrQHkNbFFI0gRNqv3Qg==","aiAgentSdk":{"roles":["observation-exporter","diagnostics"],"coreApi":1,"runtime":"node"},"repository":{"url":"git+https://github.com/alvin0/ai-agent-sdk.git","type":"git","directory":"packages/observability-node"},"_npmVersion":"10.9.3","description":"Durable Node JSONL observation journal, recovery, lifecycle, and opt-in wire diagnostics","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"0.22.14","vitest":"4.1.11","publint":"0.3.24","typescript":"7.0.2","@types/node":"26.4.0","@arethetypeswrong/cli":"0.18.5","@alvin0/ai-agent-sdk-core":"^0.1.1"},"peerDependencies":{"@alvin0/ai-agent-sdk-core":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ai-agent-sdk-observability-node_0.1.1_1789238149225_0.6953846447655263","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@alvin0/ai-agent-sdk-observability-node","version":"0.1.2","author":{"name":"alvin0 - chaulamdinhai","email":"chaulamdinhai@gmail.com"},"license":"MIT","_id":"@alvin0/ai-agent-sdk-observability-node@0.1.2","maintainers":[{"name":"alvin0","email":"chaulamdinhai@gmail.com"}],"homepage":"https://github.com/alvin0/ai-agent-sdk/tree/main/packages/observability-node#readme","bugs":{"url":"https://github.com/alvin0/ai-agent-sdk/issues"},"dist":{"shasum":"4d9a42e3dbc04729732e74a796bf81b704d9d01f","tarball":"https://registry.npmjs.org/@alvin0/ai-agent-sdk-observability-node/-/ai-agent-sdk-observability-node-0.1.2.tgz","fileCount":19,"integrity":"sha512-wItfzJkBPqcDgLgdaKk5WDJF7D5cCLRqZnxT0P20iD0/a3/dHRWUqeQNJLubbPInR+NX53mHPE1kLupuMLfWng==","signatures":[{"sig":"MEUCIGoYwPTiJBTaZQHIjn0GYtIy3xHFbBX3YaRY+zr/3R2BAiEA3AVReuvvfP8NGo3UspxUxLbZb1vir2teNPVA/BEWf6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alvin0%2fai-agent-sdk-observability-node@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":158349},"main":"./dist/index.mjs","type":"module","_from":"file:artifacts/alvin0-ai-agent-sdk-observability-node-0.1.2.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.12"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./journal":{"types":"./dist/journal.d.mts","import":"./dist/journal.mjs","default":"./dist/journal.mjs"},"./diagnostic":{"types":"./dist/diagnostic.d.mts","import":"./dist/diagnostic.mjs","default":"./dist/diagnostic.mjs"},"./package.json":"./package.json"},"scripts":{"pack":"pnpm pack --pack-destination artifacts","test":"vitest run --config vitest.config.ts","build":"tsdown","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true});require('node:fs').rmSync('artifacts',{recursive:true,force:true})\"","test:pack":"node scripts/test-packed.mts","typecheck":"tsc --noEmit","check:types":"attw --profile esm-only --pack .","check:publint":"publint"},"_npmUser":{"name":"alvin0","email":"chaulamdinhai@gmail.com"},"_resolved":"/home/runner/work/ai-agent-sdk/ai-agent-sdk/artifacts/alvin0-ai-agent-sdk-observability-node-0.1.2.tgz","_integrity":"sha512-wItfzJkBPqcDgLgdaKk5WDJF7D5cCLRqZnxT0P20iD0/a3/dHRWUqeQNJLubbPInR+NX53mHPE1kLupuMLfWng==","aiAgentSdk":{"roles":["observation-exporter","diagnostics"],"coreApi":1,"runtime":"node"},"repository":{"url":"git+https://github.com/alvin0/ai-agent-sdk.git","type":"git","directory":"packages/observability-node"},"_npmVersion":"10.9.3","description":"Durable Node JSONL observation journal, recovery, lifecycle, and opt-in wire diagnostics","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"0.22.14","vitest":"4.1.11","publint":"0.3.24","typescript":"7.0.2","@types/node":"26.4.0","@arethetypeswrong/cli":"0.18.5","@alvin0/ai-agent-sdk-core":"^0.1.2"},"peerDependencies":{"@alvin0/ai-agent-sdk-core":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/ai-agent-sdk-observability-node_0.1.2_1789281447280_0.17284776627082676","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@alvin0/ai-agent-sdk-observability-node","author":{"name":"alvin0 - chaulamdinhai","email":"chaulamdinhai@gmail.com"},"version":"0.1.3","description":"Durable Node JSONL observation journal, recovery, lifecycle, and opt-in wire diagnostics","license":"MIT","repository":{"type":"git","url":"git+https://github.com/alvin0/ai-agent-sdk.git","directory":"packages/observability-node"},"homepage":"https://github.com/alvin0/ai-agent-sdk/tree/main/packages/observability-node#readme","bugs":{"url":"https://github.com/alvin0/ai-agent-sdk/issues"},"type":"module","sideEffects":false,"main":"./dist/index.mjs","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./journal":{"types":"./dist/journal.d.mts","import":"./dist/journal.mjs","default":"./dist/journal.mjs"},"./diagnostic":{"types":"./dist/diagnostic.d.mts","import":"./dist/diagnostic.mjs","default":"./dist/diagnostic.mjs"},"./package.json":"./package.json"},"publishConfig":{"access":"public","provenance":true},"peerDependencies":{"@alvin0/ai-agent-sdk-core":"^0.1.3"},"devDependencies":{"@alvin0/ai-agent-sdk-core":"^0.1.3","@arethetypeswrong/cli":"0.18.5","@types/node":"26.4.0","publint":"0.3.24","tsdown":"0.22.14","typescript":"7.0.2","vitest":"4.1.11"},"engines":{"node":">=22.12"},"aiAgentSdk":{"runtime":"node","coreApi":1,"roles":["observation-exporter","diagnostics"]},"scripts":{"build":"tsdown","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true});require('node:fs').rmSync('artifacts',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","test":"vitest run --config vitest.config.ts","pack":"pnpm pack --pack-destination artifacts","test:pack":"node scripts/test-packed.mts","check:publint":"publint","check:types":"attw --profile esm-only --pack ."},"_id":"@alvin0/ai-agent-sdk-observability-node@0.1.3","_integrity":"sha512-WsD7f/PJ9Jq7ILFMkqakb5l9Itlqdqpw5F2YdVLjVqWI9r9rwqketwtzsYuHBevGk679LRf3Yx9fpg8JNMmqzg==","_resolved":"/home/runner/work/ai-agent-sdk/ai-agent-sdk/artifacts/alvin0-ai-agent-sdk-observability-node-0.1.3.tgz","_from":"file:artifacts/alvin0-ai-agent-sdk-observability-node-0.1.3.tgz","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-WsD7f/PJ9Jq7ILFMkqakb5l9Itlqdqpw5F2YdVLjVqWI9r9rwqketwtzsYuHBevGk679LRf3Yx9fpg8JNMmqzg==","shasum":"15f136380ab571aae6934e250de7c45e5de52c85","tarball":"https://registry.npmjs.org/@alvin0/ai-agent-sdk-observability-node/-/ai-agent-sdk-observability-node-0.1.3.tgz","fileCount":19,"unpackedSize":158349,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alvin0%2fai-agent-sdk-observability-node@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGZu6+U/tjAlQTl0Ua+EucQPy/pvOt9QWyhOfRzw2QaqAiBawVHO0LnSjDsla+aFb/PqoMMxk+MXyVq3X/lqhJBmHQ=="}]},"_npmUser":{"name":"alvin0","email":"chaulamdinhai@gmail.com"},"directories":{},"maintainers":[{"name":"alvin0","email":"chaulamdinhai@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-agent-sdk-observability-node_0.1.3_1789484966231_0.8656869942945304"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-09T16:36:43.837Z","modified":"2026-09-15T15:09:26.678Z","0.1.0":"2026-09-09T16:36:44.170Z","0.1.1":"2026-09-12T18:35:49.372Z","0.1.2":"2026-09-13T06:37:27.416Z","0.1.3":"2026-09-15T15:09:26.375Z"},"bugs":{"url":"https://github.com/alvin0/ai-agent-sdk/issues"},"author":{"name":"alvin0 - chaulamdinhai","email":"chaulamdinhai@gmail.com"},"license":"MIT","homepage":"https://github.com/alvin0/ai-agent-sdk/tree/main/packages/observability-node#readme","repository":{"type":"git","url":"git+https://github.com/alvin0/ai-agent-sdk.git","directory":"packages/observability-node"},"description":"Durable Node JSONL observation journal, recovery, lifecycle, and opt-in wire diagnostics","maintainers":[{"name":"alvin0","email":"chaulamdinhai@gmail.com"}],"readme":"# @alvin0/ai-agent-sdk-observability-node\n\nRuntime: **Node 22.12+**.\n\n```sh\npnpm add @alvin0/ai-agent-sdk-core @alvin0/ai-agent-sdk-observability-node\n```\n\nNode-only durable observation journal and explicit lifecycle/diagnostic helpers.\nThe journal root is always caller-supplied. Records use checksum-framed JSONL,\nprivate directory/file modes, unique segments, atomic acknowledgment cursors,\nbounded retention, and strict corruption recovery.\n\nExact provider-wire diagnostics are a separate high-risk capability and refuse\nconstruction unless both `content: 'full'` and `allowWireBodies: true` are set.\nNothing installs process lifecycle handlers automatically.\n\nFor normal runtime composition, use the inert `jsonlObservationExporter()`\nfactory. Filesystem resources are acquired only when `createAgentRuntime()`\ncalls its `ready()` lifecycle boundary:\n\n```ts\nimport { createAgentRuntime } from '@alvin0/ai-agent-sdk-core'\nimport {\n  jsonlObservationExporter,\n  recoverRuntimeObservationJournal,\n} from '@alvin0/ai-agent-sdk-observability-node'\n\nconst runtime = await createAgentRuntime({\n  providers: [provider],\n  observability: {\n    mode: 'reliable',\n    exporters: [{\n      exporter: jsonlObservationExporter({\n        rootDir: './observations',\n        mode: 'reliable',\n      }),\n      ownership: 'owned',\n      requirement: 'required',\n      boundary: 'local-durable',\n    }],\n  },\n})\n\nawait runtime.close()\nconst recovered = await recoverRuntimeObservationJournal('./observations')\n```\n\nThe runtime adapter persists privacy-filtered events and atomic terminal run\nrecords in `runtime-delivery/`, and acknowledges their IDs separately. The\ncaller still closes the runtime explicitly; an owned exporter is closed by the\nruntime after all active runs settle. `recoverRuntimeObservationJournal()`\nverifies checksums and returns both event and terminal-run records from this\nrecommended format; `recoverJournal()` remains the advanced legacy-journal\nrecovery API.\n\nComposition: `runtime.observability.exporters`. Lifecycle:\n`explicit-owned-or-borrowed`; normal JSONL composition selects owned local\ndurability, while advanced hosts may retain a borrowed exporter explicitly.\n\nUse `@alvin0/ai-agent-sdk-observability-node/journal` when only durable journal and\nlifecycle APIs are needed, or `@alvin0/ai-agent-sdk-observability-node/diagnostic` for\nthe separately gated exact-wire capability. That diagnostic route exports\n`createDailyJsonlRequestLogger()` and `combineProviderRequestLoggers()` for\nprovider request-logger slots. The root entry re-exports both.\n","readmeFilename":"README.md"}