{"_id":"@agent-network-protocol/anp-identity","_rev":"4-1b2fbd8127bcc468beb56ec08d72ca5b","name":"@agent-network-protocol/anp-identity","dist-tags":{"dsh-test":"0.2.0-dsh-test.20260831.1","latest":"0.2.2"},"versions":{"0.2.0-dsh-test.20260831.1":{"name":"@agent-network-protocol/anp-identity","version":"0.2.0-dsh-test.20260831.1","license":"Apache-2.0","_id":"@agent-network-protocol/anp-identity@0.2.0-dsh-test.20260831.1","maintainers":[{"name":"chgaowei","email":"chgaowei@gmail.com"}],"dist":{"shasum":"6ead52ced2fd84a8ebcc06b8f36b556d0251d94e","tarball":"https://registry.npmjs.org/@agent-network-protocol/anp-identity/-/anp-identity-0.2.0-dsh-test.20260831.1.tgz","fileCount":13,"integrity":"sha512-VLA6fdALkrAtivoZw7XShK0ePRqYeqzSA9xUezy9XPo3PoiwQL6Ui2Q2V3UvWK29+HuhGb1Ls8B/sjjePfHCqQ==","signatures":[{"sig":"MEUCIQD/fVO6+iGzgAdSf6QCKcusI5/I7P/TrHiRdtNQCueI3gIgRCL53CBy3RzOA4WsOv17W7yG0sPShG9WruJuVj8lQDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168757},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"],"binaryName":"anp-identity"},"_from":"file:/tmp/dsh-test-tarballs/agent-network-protocol-anp-identity-0.2.0-dsh-test.20260831.1.tgz","types":"index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","default":"./index.js","require":"./index.js"},"./provider":{"types":"./provider.d.ts","default":"./provider.js","require":"./provider.js"}},"scripts":{"test":"node scripts/wrap.mjs && node --test test/*.test.cjs && node scripts/check-dts.mjs","build":"napi build --platform --release && node scripts/wrap.mjs","build:all":"napi build --release && node scripts/wrap.mjs","build:debug":"napi build --platform && node scripts/wrap.mjs"},"_npmUser":{"name":"chgaowei","email":"chgaowei@gmail.com"},"_resolved":"/tmp/dsh-test-tarballs/agent-network-protocol-anp-identity-0.2.0-dsh-test.20260831.1.tgz","_integrity":"sha512-VLA6fdALkrAtivoZw7XShK0ePRqYeqzSA9xUezy9XPo3PoiwQL6Ui2Q2V3UvWK29+HuhGb1Ls8B/sjjePfHCqQ==","_npmVersion":"11.17.0","description":"Secure E1 DID identity custody and lifecycle management for ANP","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@napi-rs/cli":"3.8.6"},"optionalDependencies":{"@agent-network-protocol/anp-identity-darwin-x64":"0.2.0-dsh-test.20260831.1","@agent-network-protocol/anp-identity-darwin-arm64":"0.2.0-dsh-test.20260831.1","@agent-network-protocol/anp-identity-linux-x64-gnu":"0.2.0-dsh-test.20260831.1","@agent-network-protocol/anp-identity-win32-x64-msvc":"0.2.0-dsh-test.20260831.1","@agent-network-protocol/anp-identity-linux-arm64-gnu":"0.2.0-dsh-test.20260831.1"},"_npmOperationalInternal":{"tmp":"tmp/anp-identity_0.2.0-dsh-test.20260831.1_1788134770691_0.5381417404639111","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@agent-network-protocol/anp-identity","version":"0.2.1","license":"Apache-2.0","_id":"@agent-network-protocol/anp-identity@0.2.1","maintainers":[{"name":"chgaowei","email":"chgaowei@gmail.com"}],"dist":{"shasum":"ecf312ac2cf0011a4917b404abd57a9a6a7507d9","tarball":"https://registry.npmjs.org/@agent-network-protocol/anp-identity/-/anp-identity-0.2.1.tgz","fileCount":13,"integrity":"sha512-DolNbbhX5fe30d7NcIUbenW0hfLMAN34BvqYBjXYU/B6uvrjkvtNDnsn/k/8xAfmw3SfxlUEViJzXfuxnXzDzg==","signatures":[{"sig":"MEUCIBmnX9yvYxCoo8egTdZogde5vV+a9vpj6GbVtVdzlQ2uAiEAp8CvrWnz7kIK2kbkeycQEcEZ+YQo3SGkJC5ZrLgdU8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168150},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"],"binaryName":"anp-identity"},"_from":"file:/home/ecs-user/awiki-space/verification-runs/2026-09-09-sdk-release/identity-node-artifacts/anp-identity-wrapper/agent-network-protocol-anp-identity-0.2.1.tgz","types":"index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","default":"./index.js","require":"./index.js"},"./provider":{"types":"./provider.d.ts","default":"./provider.js","require":"./provider.js"}},"scripts":{"test":"node scripts/wrap.mjs && node --test test/*.test.cjs && node scripts/check-dts.mjs","build":"napi build --platform --release && node scripts/wrap.mjs","build:all":"napi build --release && node scripts/wrap.mjs","build:debug":"napi build --platform && node scripts/wrap.mjs"},"_npmUser":{"name":"chgaowei","email":"chgaowei@gmail.com"},"_resolved":"/home/ecs-user/awiki-space/verification-runs/2026-09-09-sdk-release/identity-node-artifacts/anp-identity-wrapper/agent-network-protocol-anp-identity-0.2.1.tgz","_integrity":"sha512-DolNbbhX5fe30d7NcIUbenW0hfLMAN34BvqYBjXYU/B6uvrjkvtNDnsn/k/8xAfmw3SfxlUEViJzXfuxnXzDzg==","_npmVersion":"10.9.8","description":"Secure E1 DID identity custody and lifecycle management for ANP","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@napi-rs/cli":"3.8.6"},"optionalDependencies":{"@agent-network-protocol/anp-identity-darwin-x64":"0.2.1","@agent-network-protocol/anp-identity-darwin-arm64":"0.2.1","@agent-network-protocol/anp-identity-linux-x64-gnu":"0.2.1","@agent-network-protocol/anp-identity-win32-x64-msvc":"0.2.1","@agent-network-protocol/anp-identity-linux-arm64-gnu":"0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/anp-identity_0.2.1_1788948796293_0.3495081971003775","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@agent-network-protocol/anp-identity","version":"0.2.2","license":"Apache-2.0","_id":"@agent-network-protocol/anp-identity@0.2.2","maintainers":[{"name":"chgaowei","email":"chgaowei@gmail.com"}],"dist":{"shasum":"c469ac299ae5aeb7a619c7bc154b2f902999825a","tarball":"https://registry.npmjs.org/@agent-network-protocol/anp-identity/-/anp-identity-0.2.2.tgz","fileCount":13,"integrity":"sha512-TDOH5K2V+zc7fLoSzZ5lqX816prBsCDHtooakMuBMuxKtpWFqWg9awh3fYAloIwbVPHaaTyfzn6gV0trFuJWRQ==","signatures":[{"sig":"MEQCIGC6as9Defywq1JZoOJq2oGIWzJbxz329/+dfDJiXC4DAiBu3W0iS82ONd8WC/YcMlmMen2gitbm8BKvfEdE+cHydg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168187},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"],"binaryName":"anp-identity"},"_from":"file:/tmp/awiki-package-release-wkrqzrj5/identity-npm/agent-network-protocol-anp-identity-0.2.2.tgz","types":"index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","default":"./index.js","require":"./index.js"},"./provider":{"types":"./provider.d.ts","default":"./provider.js","require":"./provider.js"}},"scripts":{"test":"node scripts/wrap.mjs && node --test test/*.test.cjs && node scripts/check-dts.mjs","build":"napi build --platform --release && node scripts/wrap.mjs","build:all":"napi build --release && node scripts/wrap.mjs","build:debug":"napi build --platform && node scripts/wrap.mjs"},"_npmUser":{"name":"chgaowei","email":"chgaowei@gmail.com"},"_resolved":"/tmp/awiki-package-release-wkrqzrj5/identity-npm/agent-network-protocol-anp-identity-0.2.2.tgz","_integrity":"sha512-TDOH5K2V+zc7fLoSzZ5lqX816prBsCDHtooakMuBMuxKtpWFqWg9awh3fYAloIwbVPHaaTyfzn6gV0trFuJWRQ==","_npmVersion":"10.9.8","description":"Secure E1 DID identity custody and lifecycle management for ANP","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@napi-rs/cli":"3.8.6"},"optionalDependencies":{"@agent-network-protocol/anp-identity-darwin-x64":"0.2.2","@agent-network-protocol/anp-identity-darwin-arm64":"0.2.2","@agent-network-protocol/anp-identity-linux-x64-gnu":"0.2.2","@agent-network-protocol/anp-identity-win32-x64-msvc":"0.2.2","@agent-network-protocol/anp-identity-linux-arm64-gnu":"0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/anp-identity_0.2.2_1789134391744_0.07511053263077105","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-08-31T00:06:10.463Z","modified":"2026-09-11T14:22:02.753Z","0.2.0-dsh-test.20260831.1":"2026-08-31T00:06:10.837Z","0.2.1":"2026-09-09T10:13:16.413Z","0.2.2":"2026-09-11T13:46:31.874Z"},"license":"Apache-2.0","description":"Secure E1 DID identity custody and lifecycle management for ANP","maintainers":[{"email":"chgaowei@gmail.com","name":"chgaowei"},{"email":"lonely829@gmail.com","name":"howardchan"}],"readme":"# @agent-network-protocol/anp-identity\n\nNode.js bindings for ANP Identity, an E1 DID identity manager that keeps managed\nkeys behind a native Rust boundary. A single Store can own multiple DIDs. All\nfilesystem, keyring, and cryptographic operations are asynchronous so they do\nnot block the JavaScript main thread.\n\n## Public Facade\n\nThe default package entry exports only:\n\n- `IdentityManager` for Store initialization, recovery, and multi-DID lifecycle;\n- `ManagedIdentity` for public snapshots, purpose-scoped signing, verification,\n  Origin Proofs, and document-change preparation;\n- `DocumentChangeSession` for publication, commit, and uncertain-result\n  reconciliation.\n\nIt does not export Engine types, raw ECDH, HTTP Header patches, key import,\nwrapped Root Transfer, or Root key export.\n\n```js\nconst { IdentityManager } = require('@agent-network-protocol/anp-identity')\n\nconst manager = await IdentityManager.open({\n  stateRoot: '/var/lib/example/identity',\n  rootKeyKind: 'local_private_file',\n})\n\nconst [descriptor] = await manager.list()\nconst identity = await manager.get(descriptor.reference)\nconst signature = await identity.sign({\n  purpose: 'authentication',\n  payload: Buffer.from('request bytes'),\n})\n```\n\n## Trusted DSH Provider entry\n\n`@agent-network-protocol/anp-identity/provider` is a separate Host-only entry\nfor a trusted DSH identity plugin and AWiki IM Core adapter. It requires a\nbounded capability lease. High-risk ECDH, Root Transfer, and migration import\noperations additionally consume request-bound one-time tokens.\n\nRoot keys, imported key material, and ECDH shared secrets never return as\nplaintext from this entry. They cross the TypeScript bridge only in fixed-suite\nHPKE envelopes. Ordinary DSH consumers must use the plugin's narrower client\nlease instead of importing this Host entry.\n\n## Root key sources\n\nThe bindings support OS keyring, local private file, named environment variable,\nand an injected 32-byte key. An injected key `Buffer` is consumed and\noverwritten, including validation-error paths. Pass a disposable buffer\ncontaining uniformly random bytes, not a password, and do not reuse it.\n\nEnvironment-backed keys are unpadded base64url values read from the explicitly\nconfigured variable. Local private files protect against accidental disclosure,\nbut copying both that file and the encrypted Store permits offline decryption.\n\n## Security boundary\n\nThis is a logical API/FFI boundary, not process isolation. The native addon\nshares an address space with Node.js and is not an HSM, Secure Enclave, or\nindependent KMS. JavaScript input-buffer copies are outside Rust zeroization.\nSee the repository's `docs/boundary.md` for the full trust model,\nsealed-handoff rules, Root Transfer exception, and first-release Store\nownership.\n\nThe package is supported on a platform only after its native build and tests\npass there. Declaring a target in the build configuration alone is not a support\nguarantee.\n","readmeFilename":"README.md"}