Expose the local device's 32-byte Ed25519 identity public key on Shade so apps can hand it to their own backend at enrollment time for signature verification, key pinning or per-device safety-number computation. Closes the gap that forced consumers to ship placeholder random bytes their backend could store but never verify against. - @shade/sdk Shade.identityPublicKey: Promise<Uint8Array> — getter mirrors the existing fingerprint accessor. Throws pre-init, reflects the current key after rotate(), retired key preserved in retired-identities storage per existing grace-period contract. Private key remains unreachable. - Test in shade-sdk/tests/sdk.test.ts: round-trip match against the underlying storage's signingPublicKey, plus value updates after rotate(). - Lockstep version bump 4.3.0 → 4.4.0 across all 25 packages. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
33 lines
853 B
JSON
33 lines
853 B
JSON
{
|
|
"name": "@shade/sdk",
|
|
"version": "4.4.0",
|
|
"type": "module",
|
|
"main": "src/index.ts",
|
|
"types": "src/index.ts",
|
|
"dependencies": {
|
|
"@shade/core": "workspace:*",
|
|
"@shade/crypto-web": "workspace:*",
|
|
"@shade/files": "workspace:*",
|
|
"@shade/key-transparency": "workspace:*",
|
|
"@shade/observability": "workspace:*",
|
|
"@shade/observer": "workspace:*",
|
|
"@shade/proto": "workspace:*",
|
|
"@shade/server": "workspace:*",
|
|
"@shade/storage-sqlite": "workspace:*",
|
|
"@shade/streams": "workspace:*",
|
|
"@shade/transfer": "workspace:*",
|
|
"@shade/transport": "workspace:*"
|
|
},
|
|
"peerDependencies": {
|
|
"@shade/transport-webrtc": "workspace:*"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"@shade/transport-webrtc": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@shade/transport-webrtc": "workspace:*"
|
|
}
|
|
}
|