@openclaw/nostr 2026.7.2-beta.5 → 2026.8.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.js +10 -7
- package/dist/{channel-DNeI-LB-.js → channel-BifOvAwp.js} +58 -41
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{config-schema-CelPzg1N.js → config-schema-CkYd8ACn.js} +1 -0
- package/dist/doctor-contract-api.js +5 -7
- package/dist/{setup-adapter-BjKmSwdW.js → setup-adapter-DLthHa2q.js} +40 -12
- package/dist/setup-api.js +1 -1
- package/dist/setup-plugin-api.js +11 -39
- package/dist/{setup-surface-BJCFpe02.js → setup-surface-DAhyNOcb.js} +5 -18
- package/node_modules/nostr-tools/lib/cjs/abstract-pool.js +24 -25
- package/node_modules/nostr-tools/lib/cjs/abstract-pool.js.map +3 -3
- package/node_modules/nostr-tools/lib/cjs/abstract-relay.js +14 -5
- package/node_modules/nostr-tools/lib/cjs/abstract-relay.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/core.js +17 -1
- package/node_modules/nostr-tools/lib/cjs/core.js.map +3 -3
- package/node_modules/nostr-tools/lib/cjs/filter.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/index.js +137 -127
- package/node_modules/nostr-tools/lib/cjs/index.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/kinds.js +17 -1
- package/node_modules/nostr-tools/lib/cjs/kinds.js.map +3 -3
- package/node_modules/nostr-tools/lib/cjs/nip04.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip10.js +20 -5
- package/node_modules/nostr-tools/lib/cjs/nip10.js.map +3 -3
- package/node_modules/nostr-tools/lib/cjs/nip13.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip17.js +30 -23
- package/node_modules/nostr-tools/lib/cjs/nip17.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip18.js +21 -14
- package/node_modules/nostr-tools/lib/cjs/nip18.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip19.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip21.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip22.js +22 -7
- package/node_modules/nostr-tools/lib/cjs/nip22.js.map +3 -3
- package/node_modules/nostr-tools/lib/cjs/nip25.js +21 -14
- package/node_modules/nostr-tools/lib/cjs/nip25.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip27.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip28.js +21 -14
- package/node_modules/nostr-tools/lib/cjs/nip28.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip29.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip30.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip42.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip44.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip45.js +22 -9
- package/node_modules/nostr-tools/lib/cjs/nip45.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip46.js +76 -67
- package/node_modules/nostr-tools/lib/cjs/nip46.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip47.js +25 -18
- package/node_modules/nostr-tools/lib/cjs/nip47.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip57.js +23 -16
- package/node_modules/nostr-tools/lib/cjs/nip57.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip58.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nip59.js +16 -7
- package/node_modules/nostr-tools/lib/cjs/nip59.js.map +3 -3
- package/node_modules/nostr-tools/lib/cjs/nip75.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip94.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/nip98.js +23 -16
- package/node_modules/nostr-tools/lib/cjs/nip98.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nip99.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/nipb0.js +34 -16
- package/node_modules/nostr-tools/lib/cjs/nipb0.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/nipb7.js +13 -7
- package/node_modules/nostr-tools/lib/cjs/nipb7.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/pool.js +67 -58
- package/node_modules/nostr-tools/lib/cjs/pool.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/pure.js +21 -14
- package/node_modules/nostr-tools/lib/cjs/pure.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/references.js.map +1 -1
- package/node_modules/nostr-tools/lib/cjs/relay.js +56 -40
- package/node_modules/nostr-tools/lib/cjs/relay.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/signer.js +21 -14
- package/node_modules/nostr-tools/lib/cjs/signer.js.map +4 -4
- package/node_modules/nostr-tools/lib/cjs/utils.js +10 -0
- package/node_modules/nostr-tools/lib/cjs/utils.js.map +2 -2
- package/node_modules/nostr-tools/lib/cjs/wasm.js +16 -2
- package/node_modules/nostr-tools/lib/cjs/wasm.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/abstract-pool.js +24 -25
- package/node_modules/nostr-tools/lib/esm/abstract-pool.js.map +3 -3
- package/node_modules/nostr-tools/lib/esm/abstract-relay.js +14 -5
- package/node_modules/nostr-tools/lib/esm/abstract-relay.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/core.js +15 -1
- package/node_modules/nostr-tools/lib/esm/core.js.map +3 -3
- package/node_modules/nostr-tools/lib/esm/filter.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/index.js +87 -77
- package/node_modules/nostr-tools/lib/esm/index.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/kinds.js +17 -1
- package/node_modules/nostr-tools/lib/esm/kinds.js.map +3 -3
- package/node_modules/nostr-tools/lib/esm/nip04.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip10.js +18 -5
- package/node_modules/nostr-tools/lib/esm/nip10.js.map +3 -3
- package/node_modules/nostr-tools/lib/esm/nip13.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip17.js +15 -8
- package/node_modules/nostr-tools/lib/esm/nip17.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip18.js +15 -8
- package/node_modules/nostr-tools/lib/esm/nip18.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip19.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip21.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip22.js +20 -7
- package/node_modules/nostr-tools/lib/esm/nip22.js.map +3 -3
- package/node_modules/nostr-tools/lib/esm/nip25.js +15 -8
- package/node_modules/nostr-tools/lib/esm/nip25.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip27.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip28.js +15 -8
- package/node_modules/nostr-tools/lib/esm/nip28.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip29.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip30.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip42.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip44.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip45.js +23 -10
- package/node_modules/nostr-tools/lib/esm/nip45.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip46.js +60 -51
- package/node_modules/nostr-tools/lib/esm/nip46.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip47.js +15 -8
- package/node_modules/nostr-tools/lib/esm/nip47.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip57.js +17 -10
- package/node_modules/nostr-tools/lib/esm/nip57.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip58.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nip59.js +10 -1
- package/node_modules/nostr-tools/lib/esm/nip59.js.map +3 -3
- package/node_modules/nostr-tools/lib/esm/nip75.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip94.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/nip98.js +15 -8
- package/node_modules/nostr-tools/lib/esm/nip98.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nip99.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/nipb0.js +35 -17
- package/node_modules/nostr-tools/lib/esm/nipb0.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/nipb7.js +13 -7
- package/node_modules/nostr-tools/lib/esm/nipb7.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/pool.js +60 -51
- package/node_modules/nostr-tools/lib/esm/pool.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/pure.js +15 -8
- package/node_modules/nostr-tools/lib/esm/pure.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/references.js.map +1 -1
- package/node_modules/nostr-tools/lib/esm/relay.js +50 -34
- package/node_modules/nostr-tools/lib/esm/relay.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/signer.js +15 -8
- package/node_modules/nostr-tools/lib/esm/signer.js.map +4 -4
- package/node_modules/nostr-tools/lib/esm/utils.js +10 -0
- package/node_modules/nostr-tools/lib/esm/utils.js.map +2 -2
- package/node_modules/nostr-tools/lib/esm/wasm.js +17 -3
- package/node_modules/nostr-tools/lib/esm/wasm.js.map +4 -4
- package/node_modules/nostr-tools/lib/nostr.bundle.js +86 -74
- package/node_modules/nostr-tools/lib/nostr.bundle.js.map +4 -4
- package/node_modules/nostr-tools/lib/types/abstract-pool.d.ts +6 -4
- package/node_modules/nostr-tools/lib/types/abstract-relay.d.ts +2 -2
- package/node_modules/nostr-tools/lib/types/kinds.d.ts +2 -0
- package/node_modules/nostr-tools/lib/types/nipb0.d.ts +0 -1
- package/node_modules/nostr-tools/lib/types/nipb7.d.ts +0 -1
- package/node_modules/nostr-tools/lib/types/utils.d.ts +4 -0
- package/node_modules/nostr-tools/node_modules/nostr-wasm/dist/generate.d.ts +1 -0
- package/node_modules/nostr-tools/package.json +1 -1
- package/openclaw.plugin.json +29 -0
- package/package.json +9 -6
- package/node_modules/nostr-tools/lib/types/helpers.d.ts +0 -2
- /package/node_modules/{nostr-wasm/dist/generate.d.ts → nostr-tools/lib/types/nipb0.test.d.ts} +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/LICENSE +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/README.md +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_arx.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_arx.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_arx.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_arx.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_poly1305.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_poly1305.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_poly1305.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_poly1305.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_polyval.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_polyval.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_polyval.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/_polyval.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/aes.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/aes.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/aes.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/aes.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/chacha.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/chacha.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/chacha.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/chacha.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/ff1.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/ff1.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/ff1.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/ff1.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/index.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/index.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/index.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/index.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/package.json +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/salsa.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/salsa.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/salsa.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/salsa.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/_arx.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/_poly1305.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/_polyval.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/aes.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/chacha.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/ff1.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/index.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/salsa.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/utils.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/src/webcrypto.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/utils.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/utils.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/utils.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/utils.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/webcrypto.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/webcrypto.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/webcrypto.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/ciphers/webcrypto.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/LICENSE +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/README.md +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/bls.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/bls.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/bls.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/bls.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/curve.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/curve.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/curve.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/curve.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/edwards.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/edwards.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/edwards.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/edwards.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/fft.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/fft.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/fft.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/fft.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/hash-to-curve.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/hash-to-curve.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/hash-to-curve.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/hash-to-curve.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/modular.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/modular.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/modular.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/modular.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/montgomery.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/montgomery.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/montgomery.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/montgomery.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/oprf.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/oprf.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/oprf.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/oprf.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/poseidon.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/poseidon.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/poseidon.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/poseidon.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/tower.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/tower.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/tower.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/tower.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/weierstrass.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/weierstrass.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/weierstrass.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/abstract/weierstrass.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/bls12-381.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/bls12-381.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/bls12-381.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/bls12-381.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/bn254.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/bn254.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/bn254.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/bn254.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/ed25519.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/ed25519.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/ed25519.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/ed25519.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/ed448.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/ed448.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/ed448.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/ed448.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/index.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/index.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/index.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/index.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/misc.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/misc.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/misc.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/misc.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/nist.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/nist.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/nist.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/nist.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/package.json +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/secp256k1.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/secp256k1.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/secp256k1.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/secp256k1.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/bls.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/curve.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/edwards.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/fft.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/hash-to-curve.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/modular.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/montgomery.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/oprf.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/poseidon.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/tower.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/abstract/weierstrass.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/bls12-381.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/bn254.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/ed25519.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/ed448.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/index.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/misc.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/nist.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/secp256k1.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/utils.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/src/webcrypto.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/utils.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/utils.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/utils.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/utils.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/webcrypto.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/webcrypto.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/webcrypto.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/curves/webcrypto.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/LICENSE +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/README.md +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_blake.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_blake.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_blake.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_blake.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_md.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_md.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_md.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_md.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_u64.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_u64.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_u64.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/_u64.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/argon2.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/argon2.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/argon2.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/argon2.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake1.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake1.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake1.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake1.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake2.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake2.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake2.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake2.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake3.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake3.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake3.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/blake3.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/eskdf.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/eskdf.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/eskdf.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/eskdf.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/hkdf.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/hkdf.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/hkdf.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/hkdf.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/hmac.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/hmac.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/hmac.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/hmac.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/index.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/index.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/index.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/index.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/legacy.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/legacy.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/legacy.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/legacy.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/package.json +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/pbkdf2.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/pbkdf2.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/pbkdf2.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/pbkdf2.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/scrypt.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/scrypt.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/scrypt.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/scrypt.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha2.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha2.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha2.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha2.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha3-addons.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha3-addons.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha3-addons.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha3-addons.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha3.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha3.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha3.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/sha3.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/_blake.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/_md.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/_u64.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/argon2.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/blake1.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/blake2.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/blake3.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/eskdf.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/hkdf.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/hmac.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/index.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/legacy.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/pbkdf2.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/scrypt.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/sha2.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/sha3-addons.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/sha3.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/utils.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/src/webcrypto.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/utils.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/utils.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/utils.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/utils.js.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/webcrypto.d.ts +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/webcrypto.d.ts.map +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/webcrypto.js +0 -0
- /package/node_modules/{@noble → nostr-tools/node_modules/@noble}/hashes/webcrypto.js.map +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/base/LICENSE +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/base/README.md +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/base/index.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/base/index.d.ts.map +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/base/index.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/base/index.js.map +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/base/index.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/base/package.json +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip32/LICENSE +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip32/README.md +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip32/index.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip32/index.d.ts.map +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip32/index.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip32/index.js.map +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip32/index.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip32/package.json +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/LICENSE +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/README.md +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/index.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/index.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/package.json +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/src/index.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/czech.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/czech.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/english.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/english.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/french.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/french.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/italian.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/italian.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/japanese.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/japanese.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/korean.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/korean.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/portuguese.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/portuguese.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/simplified-chinese.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/simplified-chinese.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/spanish.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/spanish.js +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/traditional-chinese.d.ts +0 -0
- /package/node_modules/{@scure → nostr-tools/node_modules/@scure}/bip39/wordlists/traditional-chinese.js +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/README.md +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/api/emsimp.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/api/nostr.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/api/secp256k1-types.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/api/secp256k1.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/api/types.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/api/wasm-env.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/gen/wasm.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/gzipped.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/gzipped.js +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/headless.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/main.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/main.js +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/nostr.js +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/secp256k1.js +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/dist/types.d.ts +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/package.json +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/public/out/secp256k1.js +0 -0
- /package/node_modules/{nostr-wasm → nostr-tools/node_modules/nostr-wasm}/public/out/secp256k1.wasm +0 -0
package/dist/api.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { s as resolveNostrAccount } from "./setup-surface-
|
|
1
|
+
import { s as resolveNostrAccount } from "./setup-surface-DAhyNOcb.js";
|
|
2
2
|
import { getPluginRuntimeGatewayRequestScope } from "./runtime-api.js";
|
|
3
|
-
import { n as NostrProfileSchema } from "./config-schema-
|
|
4
|
-
import { a as getNostrRuntime, i as contentToProfile, n as nostrPlugin, o as setNostrRuntime, r as publishNostrProfile, t as getNostrProfileState } from "./channel-
|
|
3
|
+
import { n as NostrProfileSchema } from "./config-schema-CkYd8ACn.js";
|
|
4
|
+
import { a as getNostrRuntime, i as contentToProfile, n as nostrPlugin, o as setNostrRuntime, r as publishNostrProfile, t as getNostrProfileState } from "./channel-BifOvAwp.js";
|
|
5
5
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { SimplePool } from "nostr-tools";
|
|
8
8
|
import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
|
|
9
|
+
import { isBlockedHostnameOrIp, isLoopbackHost } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
9
10
|
import { readJsonBodyWithLimit, requestBodyErrorToText } from "openclaw/plugin-sdk/webhook-request-guards";
|
|
10
11
|
import { createFixedWindowRateLimiter } from "openclaw/plugin-sdk/webhook-ingress";
|
|
11
12
|
import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
|
|
12
|
-
import { isBlockedHostnameOrIp } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
13
13
|
//#region extensions/nostr/src/nostr-profile-url-safety.ts
|
|
14
14
|
function validateUrlSafety(urlStr) {
|
|
15
15
|
try {
|
|
@@ -114,7 +114,11 @@ async function importProfileFromRelays(opts) {
|
|
|
114
114
|
error: "No profile found on any relay",
|
|
115
115
|
relaysQueried
|
|
116
116
|
};
|
|
117
|
-
const bestEvent = events.reduce((current, candidate) =>
|
|
117
|
+
const bestEvent = events.reduce((current, candidate) => {
|
|
118
|
+
const candidateIsNewer = candidate.event.created_at > current.event.created_at;
|
|
119
|
+
const candidateWinsTie = candidate.event.created_at === current.event.created_at && candidate.event.id < current.event.id;
|
|
120
|
+
return candidateIsNewer || candidateWinsTie ? candidate : current;
|
|
121
|
+
});
|
|
118
122
|
let parsedContent;
|
|
119
123
|
try {
|
|
120
124
|
parsedContent = JSON.parse(bestEvent.event.content);
|
|
@@ -230,8 +234,7 @@ function isLoopbackRemoteAddress(remoteAddress) {
|
|
|
230
234
|
}
|
|
231
235
|
function isLoopbackOriginLike(value) {
|
|
232
236
|
try {
|
|
233
|
-
|
|
234
|
-
return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "::1";
|
|
237
|
+
return isLoopbackHost(new URL(value).hostname);
|
|
235
238
|
} catch {
|
|
236
239
|
return false;
|
|
237
240
|
}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { a as listNostrAccountIds, c as normalizePubkey, l as validatePrivateKey, n as nostrSetupContract, o as resolveDefaultNostrAccountId, r as nostrSetupWizard, s as resolveNostrAccount
|
|
2
|
-
import { a as collectStatusIssuesFromLastError, i as buildChannelConfigSchema, n as NostrProfileSchema, o as createDefaultChannelRuntimeState, r as DEFAULT_ACCOUNT_ID, s as formatPairingApproveHint, t as NostrConfigSchema } from "./config-schema-
|
|
3
|
-
import {
|
|
1
|
+
import { a as listNostrAccountIds, c as normalizePubkey, l as validatePrivateKey, n as nostrSetupContract, o as resolveDefaultNostrAccountId, r as nostrSetupWizard, s as resolveNostrAccount } from "./setup-surface-DAhyNOcb.js";
|
|
2
|
+
import { a as collectStatusIssuesFromLastError, i as buildChannelConfigSchema, n as NostrProfileSchema, o as createDefaultChannelRuntimeState, r as DEFAULT_ACCOUNT_ID, s as formatPairingApproveHint, t as NostrConfigSchema } from "./config-schema-CkYd8ACn.js";
|
|
3
|
+
import { s as DEFAULT_RELAYS } from "./setup-adapter-DLthHa2q.js";
|
|
4
4
|
import { t as normalizeNostrStateAccountId } from "./state-account-id-CvBZ9s6P.js";
|
|
5
5
|
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
6
6
|
import { createScopedDmSecurityResolver, createTopLevelChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
7
7
|
import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
|
|
8
8
|
import { missingTargetError } from "openclaw/plugin-sdk/channel-feedback";
|
|
9
|
-
import { DEFAULT_INGRESS_ADOPTION_STALL_MS, bindIngressLifecycleToReplyOptions, createChannelIngressMonitor, createChannelMessageAdapterFromOutbound, runPassiveAccountLifecycle } from "openclaw/plugin-sdk/channel-outbound";
|
|
9
|
+
import { DEFAULT_INGRESS_ADOPTION_STALL_MS, bindIngressLifecycleToReplyOptions, createChannelIngressError, createChannelIngressMonitor, createChannelMessageAdapterFromOutbound, runPassiveAccountLifecycle } from "openclaw/plugin-sdk/channel-outbound";
|
|
10
10
|
import { buildPassiveChannelStatusSummary, buildTrafficStatusSummary } from "openclaw/plugin-sdk/extension-shared";
|
|
11
11
|
import { createComputedAccountStatusAdapter } from "openclaw/plugin-sdk/status-helpers";
|
|
12
|
-
import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
12
|
+
import { isRecord as isNostrIngressRecord, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
13
13
|
import { resolveStableChannelMessageIngress } from "openclaw/plugin-sdk/channel-ingress-runtime";
|
|
14
14
|
import { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing";
|
|
15
15
|
import { attachChannelToResult } from "openclaw/plugin-sdk/channel-send-result";
|
|
16
|
-
import {
|
|
16
|
+
import { channelReadyPatch } from "openclaw/plugin-sdk/gateway-runtime";
|
|
17
|
+
import { chunkTextForOutbound, sanitizeAssistantVisibleText, stripMarkdown } from "openclaw/plugin-sdk/text-chunking";
|
|
17
18
|
import { SimplePool, finalizeEvent, getPublicKey, verifyEvent } from "nostr-tools";
|
|
18
19
|
import { decrypt, encrypt } from "nostr-tools/nip04";
|
|
19
20
|
import { createDirectDmPreCryptoGuardPolicy } from "openclaw/plugin-sdk/direct-dm-guard-policy";
|
|
@@ -378,13 +379,10 @@ function createNostrCursorStateWriter(options) {
|
|
|
378
379
|
var NostrIngressPermanentError = class extends Error {
|
|
379
380
|
constructor(reason, message, options) {
|
|
380
381
|
super(message, options);
|
|
381
|
-
this.name = "NostrIngressPermanentError";
|
|
382
382
|
this.reason = reason;
|
|
383
|
+
this.name = "NostrIngressPermanentError";
|
|
383
384
|
}
|
|
384
385
|
};
|
|
385
|
-
function isNostrIngressRecord(value) {
|
|
386
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
387
|
-
}
|
|
388
386
|
function requiredString(value, field) {
|
|
389
387
|
if (typeof value === "string" && value.trim()) return value;
|
|
390
388
|
throw new NostrIngressPermanentError("invalid-event", `Nostr event is missing ${field}.`);
|
|
@@ -426,23 +424,12 @@ const { setRuntime: setNostrRuntime, getRuntime: getNostrRuntime } = createPlugi
|
|
|
426
424
|
//#endregion
|
|
427
425
|
//#region extensions/nostr/src/nostr-ingress.ts
|
|
428
426
|
const NOSTR_INGRESS_POLL_INTERVAL_MS = 500;
|
|
429
|
-
const NOSTR_INGRESS_PRUNE_INTERVAL_MS = 3600 * 1e3;
|
|
430
|
-
const NOSTR_INGRESS_COMPLETED_TTL_MS = 720 * 60 * 60 * 1e3;
|
|
431
|
-
const NOSTR_INGRESS_COMPLETED_MAX_ENTRIES = 1e5;
|
|
432
|
-
const NOSTR_INGRESS_FAILED_TTL_MS = 720 * 60 * 60 * 1e3;
|
|
433
|
-
const NOSTR_INGRESS_FAILED_MAX_ENTRIES = 1e5;
|
|
434
427
|
const NOSTR_INGRESS_APPEND_RETRY_MS = [
|
|
435
428
|
0,
|
|
436
429
|
100,
|
|
437
430
|
300
|
|
438
431
|
];
|
|
439
|
-
|
|
440
|
-
constructor(reason, message) {
|
|
441
|
-
super(message);
|
|
442
|
-
this.name = "NostrIngressAdmissionRejectedError";
|
|
443
|
-
this.reason = reason;
|
|
444
|
-
}
|
|
445
|
-
};
|
|
432
|
+
const NostrIngressAdmissionRejectedError = createChannelIngressError("NostrIngressAdmissionRejectedError", { withReason: true });
|
|
446
433
|
function deserializeNostrIngressEvent(rawEvent, claimedId) {
|
|
447
434
|
let parsed;
|
|
448
435
|
try {
|
|
@@ -467,10 +454,6 @@ function createNostrIngress(options) {
|
|
|
467
454
|
queue ??= getNostrRuntime().state.openChannelIngressQueue({ accountId: options.accountId });
|
|
468
455
|
return queue;
|
|
469
456
|
};
|
|
470
|
-
const legacyMigration = migrateNostrLegacyRecentEventIds({
|
|
471
|
-
queue: getQueue(),
|
|
472
|
-
eventIds: options.legacyEventIds ?? []
|
|
473
|
-
});
|
|
474
457
|
const monitor = createChannelIngressMonitor({
|
|
475
458
|
queue: getQueue,
|
|
476
459
|
inspect: (event) => {
|
|
@@ -506,11 +489,8 @@ function createNostrIngress(options) {
|
|
|
506
489
|
deliver: (event, lifecycle) => options.deliver(event, lifecycle),
|
|
507
490
|
pollIntervalMs: options.pollIntervalMs ?? NOSTR_INGRESS_POLL_INTERVAL_MS,
|
|
508
491
|
retention: {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
completedMaxEntries: NOSTR_INGRESS_COMPLETED_MAX_ENTRIES,
|
|
512
|
-
failedTtlMs: NOSTR_INGRESS_FAILED_TTL_MS,
|
|
513
|
-
failedMaxEntries: NOSTR_INGRESS_FAILED_MAX_ENTRIES
|
|
492
|
+
completedMaxEntries: 1e5,
|
|
493
|
+
failedMaxEntries: 1e5
|
|
514
494
|
},
|
|
515
495
|
drain: {
|
|
516
496
|
adoptionStallTimeoutMs: options.adoptionStallTimeoutMs ?? DEFAULT_INGRESS_ADOPTION_STALL_MS,
|
|
@@ -523,9 +503,14 @@ function createNostrIngress(options) {
|
|
|
523
503
|
createStoppedError,
|
|
524
504
|
onError: (error) => options.onError?.(error, "ingress drain")
|
|
525
505
|
});
|
|
526
|
-
const monitorStart =
|
|
506
|
+
const monitorStart = (async () => {
|
|
507
|
+
monitor.ensureQueueAvailable();
|
|
508
|
+
await migrateNostrLegacyRecentEventIds({
|
|
509
|
+
queue: getQueue(),
|
|
510
|
+
eventIds: options.legacyEventIds ?? []
|
|
511
|
+
});
|
|
527
512
|
if (!stopping) monitor.start();
|
|
528
|
-
});
|
|
513
|
+
})();
|
|
529
514
|
monitorStart.catch((error) => options.onError?.(error, "ingress drain"));
|
|
530
515
|
let admissionTail = Promise.resolve();
|
|
531
516
|
const prepareAdmission = (event) => {
|
|
@@ -559,7 +544,7 @@ function createNostrIngress(options) {
|
|
|
559
544
|
};
|
|
560
545
|
};
|
|
561
546
|
const admitOnce = async (prepared) => {
|
|
562
|
-
await
|
|
547
|
+
await monitorStart;
|
|
563
548
|
const pending = await getQueue().listPending({ limit: options.maxPendingEvents });
|
|
564
549
|
const claims = await getQueue().listClaims();
|
|
565
550
|
if (pending.length + claims.length >= options.maxPendingEvents) throw new NostrIngressAdmissionRejectedError("backpressure", "Nostr event exceeds the durable ingress backlog.");
|
|
@@ -848,7 +833,7 @@ function createNostrRelaySubscriptionGroup(options) {
|
|
|
848
833
|
clearTimeout(deadlineTimer);
|
|
849
834
|
deadlineTimers.delete(deadlineTimer);
|
|
850
835
|
settleBackfill(relay, "incomplete");
|
|
851
|
-
if (!locallyClosing && !options.abort.aborted) options.onClose(relay, reasons);
|
|
836
|
+
if (!locallyClosing && !options.abort.aborted) options.onClose(relay, reasons.map(({ reason }) => reason));
|
|
852
837
|
},
|
|
853
838
|
maxWait: confirmDeadlineMs + LIBRARY_EOSE_TIMEOUT_MARGIN_MS,
|
|
854
839
|
abort: options.abort
|
|
@@ -1374,6 +1359,9 @@ async function sendEncryptedDm(pool, sk, toPubkey, text, relays, metrics, circui
|
|
|
1374
1359
|
const activeBuses = /* @__PURE__ */ new Map();
|
|
1375
1360
|
const metricsSnapshots = /* @__PURE__ */ new Map();
|
|
1376
1361
|
const ACCESS_GROUP_PREFIX = "accessGroup:";
|
|
1362
|
+
function normalizeRelayLifecycleKey(relay) {
|
|
1363
|
+
return new URL(relay).toString();
|
|
1364
|
+
}
|
|
1377
1365
|
function parseNostrAccessGroupAllowFromEntry(entry) {
|
|
1378
1366
|
const trimmed = entry.trim();
|
|
1379
1367
|
if (!trimmed.startsWith(ACCESS_GROUP_PREFIX)) return null;
|
|
@@ -1409,17 +1397,20 @@ const startNostrGatewayAccount = async (ctx) => {
|
|
|
1409
1397
|
const account = ctx.account;
|
|
1410
1398
|
ctx.setStatus({
|
|
1411
1399
|
accountId: account.accountId,
|
|
1412
|
-
publicKey: account.publicKey
|
|
1400
|
+
publicKey: account.publicKey,
|
|
1401
|
+
lifecycle: "starting"
|
|
1413
1402
|
});
|
|
1414
1403
|
ctx.log?.info?.(`[${account.accountId}] starting Nostr provider (pubkey: ${account.publicKey})`);
|
|
1415
1404
|
if (!account.configured) throw new Error("Nostr private key not configured");
|
|
1405
|
+
const channelRuntime = ctx.channelRuntime;
|
|
1406
|
+
if (!channelRuntime?.inbound?.buildContext) throw new Error("Nostr requires its registered channel runtime context builder");
|
|
1416
1407
|
const runtime = getNostrRuntime();
|
|
1417
1408
|
const pairing = createChannelPairingController({
|
|
1418
1409
|
core: runtime,
|
|
1419
1410
|
channel: "nostr",
|
|
1420
1411
|
accountId: account.accountId
|
|
1421
1412
|
});
|
|
1422
|
-
const resolveInboundAccess = async (senderPubkey, rawBody) => await resolveStableChannelMessageIngress({
|
|
1413
|
+
const resolveInboundAccess = async (senderPubkey, rawBody, contextBinding) => await resolveStableChannelMessageIngress({
|
|
1423
1414
|
channelId: "nostr",
|
|
1424
1415
|
accountId: account.accountId,
|
|
1425
1416
|
identity: nostrIngressIdentity,
|
|
@@ -1430,11 +1421,13 @@ const startNostrGatewayAccount = async (ctx) => {
|
|
|
1430
1421
|
kind: "direct",
|
|
1431
1422
|
id: senderPubkey
|
|
1432
1423
|
},
|
|
1424
|
+
contextBinding,
|
|
1433
1425
|
dmPolicy: account.config.dmPolicy ?? "pairing",
|
|
1434
1426
|
allowFrom: account.config.allowFrom,
|
|
1435
1427
|
command: runtime.channel.commands.shouldComputeCommandAuthorized(rawBody, ctx.cfg) ? { modeWhenAccessGroupsOff: "configured" } : void 0
|
|
1436
1428
|
});
|
|
1437
1429
|
let busHandle = null;
|
|
1430
|
+
const connectedRelays = /* @__PURE__ */ new Set();
|
|
1438
1431
|
const authorizeSender = async (input) => {
|
|
1439
1432
|
const resolved = await resolveInboundAccess(input.senderId, "");
|
|
1440
1433
|
if (resolved.senderAccess.decision === "allow") return "allow";
|
|
@@ -1474,6 +1467,12 @@ const startNostrGatewayAccount = async (ctx) => {
|
|
|
1474
1467
|
}
|
|
1475
1468
|
const { dispatchInboundDirectDm } = await import("./inbound-direct-dm-runtime-DHn9NoYN.js");
|
|
1476
1469
|
await dispatchInboundDirectDm({
|
|
1470
|
+
channelRuntime,
|
|
1471
|
+
resolveChannelIngress: async (contextBinding) => {
|
|
1472
|
+
const exactAccess = await resolveInboundAccess(senderPubkey, text, contextBinding);
|
|
1473
|
+
if (!exactAccess.senderAccess.allowed) throw new Error(`Nostr sender authorization changed before dispatch (${senderPubkey})`);
|
|
1474
|
+
return exactAccess;
|
|
1475
|
+
},
|
|
1477
1476
|
cfg: ctx.cfg,
|
|
1478
1477
|
channel: "nostr",
|
|
1479
1478
|
channelLabel: "Nostr",
|
|
@@ -1492,14 +1491,14 @@ const startNostrGatewayAccount = async (ctx) => {
|
|
|
1492
1491
|
commandAuthorized: resolvedAccess.commandAccess.requested ? resolvedAccess.commandAccess.authorized : void 0,
|
|
1493
1492
|
turnAdoptionLifecycle: bindIngressLifecycleToReplyOptions(lifecycle).turnAdoptionLifecycle,
|
|
1494
1493
|
deliver: async (payload) => {
|
|
1495
|
-
const
|
|
1496
|
-
if (!
|
|
1494
|
+
const sanitizedText = sanitizeAssistantVisibleText(payload && typeof payload === "object" && "text" in payload ? payload.text ?? "" : "");
|
|
1495
|
+
if (!sanitizedText) return;
|
|
1497
1496
|
const tableMode = runtime.channel.text.resolveMarkdownTableMode({
|
|
1498
1497
|
cfg: ctx.cfg,
|
|
1499
1498
|
channel: "nostr",
|
|
1500
1499
|
accountId: account.accountId
|
|
1501
1500
|
});
|
|
1502
|
-
const message = stripMarkdown(runtime.channel.text.convertMarkdownTables(
|
|
1501
|
+
const message = stripMarkdown(runtime.channel.text.convertMarkdownTables(sanitizedText, tableMode));
|
|
1503
1502
|
if (message) await reply(message);
|
|
1504
1503
|
},
|
|
1505
1504
|
onRecordError: (err) => {
|
|
@@ -1514,9 +1513,17 @@ const startNostrGatewayAccount = async (ctx) => {
|
|
|
1514
1513
|
ctx.log?.error?.(`[${account.accountId}] Nostr error (${context}): ${error.message}`);
|
|
1515
1514
|
},
|
|
1516
1515
|
onConnect: (relay) => {
|
|
1516
|
+
connectedRelays.add(normalizeRelayLifecycleKey(relay));
|
|
1517
|
+
ctx.setStatus(channelReadyPatch({ accountId: account.accountId }));
|
|
1517
1518
|
ctx.log?.debug?.(`[${account.accountId}] Connected to relay: ${relay}`);
|
|
1518
1519
|
},
|
|
1519
1520
|
onDisconnect: (relay) => {
|
|
1521
|
+
connectedRelays.delete(normalizeRelayLifecycleKey(relay));
|
|
1522
|
+
if (connectedRelays.size === 0) ctx.setStatus({
|
|
1523
|
+
accountId: account.accountId,
|
|
1524
|
+
connected: false,
|
|
1525
|
+
lifecycle: "recovering"
|
|
1526
|
+
});
|
|
1520
1527
|
ctx.log?.debug?.(`[${account.accountId}] Disconnected from relay: ${relay}`);
|
|
1521
1528
|
},
|
|
1522
1529
|
onEose: (relays) => {
|
|
@@ -1564,6 +1571,8 @@ const nostrPairingTextAdapter = {
|
|
|
1564
1571
|
const nostrOutboundAdapter = {
|
|
1565
1572
|
deliveryMode: "direct",
|
|
1566
1573
|
textChunkLimit: 4e3,
|
|
1574
|
+
chunker: chunkTextForOutbound,
|
|
1575
|
+
sanitizeText: ({ text }) => sanitizeAssistantVisibleText(text),
|
|
1567
1576
|
deliveryCapabilities: { durableFinal: {
|
|
1568
1577
|
text: true,
|
|
1569
1578
|
messageSendingHooks: true
|
|
@@ -1629,6 +1638,14 @@ function normalizeNostrTarget(target) {
|
|
|
1629
1638
|
return target.trim();
|
|
1630
1639
|
}
|
|
1631
1640
|
}
|
|
1641
|
+
function inferNostrTargetChatType(target) {
|
|
1642
|
+
try {
|
|
1643
|
+
normalizePubkey(stripNostrTargetPrefix(target));
|
|
1644
|
+
return "direct";
|
|
1645
|
+
} catch {
|
|
1646
|
+
return;
|
|
1647
|
+
}
|
|
1648
|
+
}
|
|
1632
1649
|
const resolveNostrDmPolicy = createScopedDmSecurityResolver({
|
|
1633
1650
|
channelKey: "nostr",
|
|
1634
1651
|
resolvePolicy: (account) => account.config.dmPolicy,
|
|
@@ -1703,7 +1720,6 @@ const nostrPlugin = createChatChannelPlugin({
|
|
|
1703
1720
|
},
|
|
1704
1721
|
reload: { configPrefixes: ["channels.nostr"] },
|
|
1705
1722
|
configSchema: buildChannelConfigSchema(NostrConfigSchema),
|
|
1706
|
-
setup: nostrSetupAdapter,
|
|
1707
1723
|
setupContract: nostrSetupContract,
|
|
1708
1724
|
setupWizard: nostrSetupWizard,
|
|
1709
1725
|
config: {
|
|
@@ -1718,6 +1734,7 @@ const nostrPlugin = createChatChannelPlugin({
|
|
|
1718
1734
|
messaging: {
|
|
1719
1735
|
targetPrefixes: ["nostr"],
|
|
1720
1736
|
normalizeTarget: normalizeNostrTarget,
|
|
1737
|
+
inferTargetChatType: ({ to }) => inferNostrTargetChatType(to),
|
|
1721
1738
|
targetResolver: {
|
|
1722
1739
|
looksLikeId: (input, normalized) => {
|
|
1723
1740
|
const trimmed = normalized?.trim() || stripNostrTargetPrefix(input);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as nostrPlugin } from "./channel-
|
|
1
|
+
import { n as nostrPlugin } from "./channel-BifOvAwp.js";
|
|
2
2
|
export { nostrPlugin };
|
|
@@ -46,6 +46,7 @@ const NostrConfigSchema = z.object({
|
|
|
46
46
|
defaultAccount: z.string().optional(),
|
|
47
47
|
/** Whether this channel is enabled */
|
|
48
48
|
enabled: z.boolean().optional(),
|
|
49
|
+
configWrites: z.boolean().optional(),
|
|
49
50
|
/** Markdown formatting overrides (tables). */
|
|
50
51
|
markdown: MarkdownConfigSchema,
|
|
51
52
|
/** Private key in hex or nsec bech32 format */
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
import { t as normalizeNostrStateAccountId } from "./state-account-id-CvBZ9s6P.js";
|
|
2
|
+
import { asFiniteNumber } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
3
|
import fs from "node:fs/promises";
|
|
3
4
|
import path from "node:path";
|
|
4
|
-
import { archiveLegacyStateSource } from "openclaw/plugin-sdk/runtime-doctor";
|
|
5
|
+
import { archiveLegacyStateSource } from "openclaw/plugin-sdk/runtime-doctor-migrations";
|
|
5
6
|
//#region extensions/nostr/doctor-contract-api.ts
|
|
6
7
|
const BUS_STATE_NAMESPACE = "bus-state";
|
|
7
8
|
const PROFILE_STATE_NAMESPACE = "profile-state";
|
|
8
9
|
const MAX_NOSTR_STATE_ENTRIES = 256;
|
|
9
|
-
function finiteNumberOrNull(value) {
|
|
10
|
-
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
11
|
-
}
|
|
12
10
|
function parseBusState(value) {
|
|
13
11
|
if (!value || typeof value !== "object" || Array.isArray(value)) return null;
|
|
14
12
|
const parsed = value;
|
|
15
13
|
if (parsed.version !== 1 && parsed.version !== 2) return null;
|
|
16
14
|
return {
|
|
17
15
|
version: 2,
|
|
18
|
-
lastProcessedAt:
|
|
19
|
-
gatewayStartedAt:
|
|
16
|
+
lastProcessedAt: asFiniteNumber(parsed.lastProcessedAt) ?? null,
|
|
17
|
+
gatewayStartedAt: asFiniteNumber(parsed.gatewayStartedAt) ?? null,
|
|
20
18
|
recentEventIds: parsed.version === 2 && Array.isArray(parsed.recentEventIds) ? parsed.recentEventIds.filter((entry) => typeof entry === "string") : []
|
|
21
19
|
};
|
|
22
20
|
}
|
|
@@ -31,7 +29,7 @@ function parseProfileState(value) {
|
|
|
31
29
|
}
|
|
32
30
|
return {
|
|
33
31
|
version: 1,
|
|
34
|
-
lastPublishedAt:
|
|
32
|
+
lastPublishedAt: asFiniteNumber(parsed.lastPublishedAt) ?? null,
|
|
35
33
|
lastPublishedEventId: typeof parsed.lastPublishedEventId === "string" ? parsed.lastPublishedEventId : null,
|
|
36
34
|
lastPublishResults: rawResults === null || Object.keys(lastPublishResults).length === 0 ? null : lastPublishResults
|
|
37
35
|
};
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
|
+
import { hasConfiguredSecretInput, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
2
3
|
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/routing";
|
|
3
|
-
import { patchTopLevelChannelConfigSection, splitSetupEntries } from "openclaw/plugin-sdk/setup";
|
|
4
|
+
import { createSetupTranslator, createStandardChannelSetupStatus, patchTopLevelChannelConfigSection, splitSetupEntries } from "openclaw/plugin-sdk/setup";
|
|
4
5
|
import { defineChannelSetupContract } from "openclaw/plugin-sdk/channel-setup";
|
|
5
6
|
//#region extensions/nostr/src/default-relays.ts
|
|
6
7
|
const DEFAULT_RELAYS = ["wss://relay.damus.io", "wss://nos.lol"];
|
|
7
8
|
//#endregion
|
|
9
|
+
//#region extensions/nostr/src/private-key.ts
|
|
10
|
+
const NOSTR_PRIVATE_KEY_ENV_VAR = "NOSTR_PRIVATE_KEY";
|
|
11
|
+
function resolveNostrPrivateKey(value) {
|
|
12
|
+
const configured = normalizeSecretInputString(value);
|
|
13
|
+
if (configured || hasConfiguredSecretInput(value)) return configured ?? "";
|
|
14
|
+
return process.env["NOSTR_PRIVATE_KEY"]?.trim() ?? "";
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
8
17
|
//#region extensions/nostr/src/setup-adapter.ts
|
|
9
18
|
const channel = "nostr";
|
|
10
19
|
function buildNostrSetupPatch(accountId, patch) {
|
|
@@ -41,25 +50,23 @@ function createNostrSetupAdapter(params) {
|
|
|
41
50
|
patch: buildNostrSetupPatch(accountId, name?.trim() ? { name: name.trim() } : {})
|
|
42
51
|
}),
|
|
43
52
|
validateInput: ({ input }) => {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const privateKey = typedInput.privateKey?.trim();
|
|
53
|
+
if (!input.useEnv) {
|
|
54
|
+
const privateKey = input.privateKey?.trim();
|
|
47
55
|
if (!privateKey) return "Nostr requires --private-key or --use-env.";
|
|
48
56
|
if (!params.validatePrivateKey(privateKey)) return "Nostr private key must be valid nsec or 64-character hex.";
|
|
49
57
|
}
|
|
50
|
-
if (
|
|
58
|
+
if (input.relayUrls?.trim()) return parseRelayUrls(input.relayUrls).error ?? null;
|
|
51
59
|
return null;
|
|
52
60
|
},
|
|
53
61
|
applyAccountConfig: ({ cfg, accountId, input }) => {
|
|
54
|
-
const
|
|
55
|
-
const relayResult = typedInput.relayUrls?.trim() ? parseRelayUrls(typedInput.relayUrls) : { relays: [] };
|
|
62
|
+
const relayResult = input.relayUrls?.trim() ? parseRelayUrls(input.relayUrls) : { relays: [] };
|
|
56
63
|
return patchTopLevelChannelConfigSection({
|
|
57
64
|
cfg,
|
|
58
65
|
channel,
|
|
59
66
|
enabled: true,
|
|
60
|
-
clearFields:
|
|
67
|
+
clearFields: input.useEnv ? ["privateKey"] : void 0,
|
|
61
68
|
patch: buildNostrSetupPatch(accountId, {
|
|
62
|
-
...
|
|
69
|
+
...input.useEnv ? {} : { privateKey: input.privateKey?.trim() },
|
|
63
70
|
...relayResult.relays.length > 0 ? { relays: relayResult.relays } : {}
|
|
64
71
|
})
|
|
65
72
|
});
|
|
@@ -89,11 +96,32 @@ function createNostrSetupContract(adapter) {
|
|
|
89
96
|
cli: {
|
|
90
97
|
flags: "--use-env",
|
|
91
98
|
description: "Use NOSTR_PRIVATE_KEY"
|
|
92
|
-
}
|
|
99
|
+
},
|
|
100
|
+
envVars: [NOSTR_PRIVATE_KEY_ENV_VAR]
|
|
93
101
|
}
|
|
94
102
|
},
|
|
95
|
-
|
|
103
|
+
adapter
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function createNostrSetupStatus(resolveAccount) {
|
|
107
|
+
const t = createSetupTranslator();
|
|
108
|
+
return createStandardChannelSetupStatus({
|
|
109
|
+
channelLabel: "Nostr",
|
|
110
|
+
configuredLabel: t("wizard.channels.statusConfigured"),
|
|
111
|
+
unconfiguredLabel: t("wizard.channels.statusNeedsPrivateKey"),
|
|
112
|
+
configuredHint: t("wizard.channels.statusConfigured"),
|
|
113
|
+
unconfiguredHint: t("wizard.channels.statusNeedsPrivateKey"),
|
|
114
|
+
configuredScore: 1,
|
|
115
|
+
unconfiguredScore: 0,
|
|
116
|
+
includeStatusLine: true,
|
|
117
|
+
resolveConfigured: ({ cfg, accountId }) => resolveAccount({
|
|
118
|
+
cfg,
|
|
119
|
+
accountId
|
|
120
|
+
}).configured,
|
|
121
|
+
resolveExtraStatusLines: ({ cfg }) => {
|
|
122
|
+
return [`Relays: ${resolveAccount({ cfg }).relays.length || DEFAULT_RELAYS.length}`];
|
|
123
|
+
}
|
|
96
124
|
});
|
|
97
125
|
}
|
|
98
126
|
//#endregion
|
|
99
|
-
export {
|
|
127
|
+
export { parseRelayUrls as a, createNostrSetupStatus as i, createNostrSetupAdapter as n, resolveNostrPrivateKey as o, createNostrSetupContract as r, DEFAULT_RELAYS as s, buildNostrSetupPatch as t };
|
package/dist/setup-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as nostrSetupWizard, t as nostrSetupAdapter } from "./setup-surface-
|
|
1
|
+
import { r as nostrSetupWizard, t as nostrSetupAdapter } from "./setup-surface-DAhyNOcb.js";
|
|
2
2
|
export { nostrSetupAdapter, nostrSetupWizard };
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
import { i as buildChannelConfigSchema, t as NostrConfigSchema } from "./config-schema-
|
|
2
|
-
import {
|
|
1
|
+
import { i as buildChannelConfigSchema, t as NostrConfigSchema } from "./config-schema-CkYd8ACn.js";
|
|
2
|
+
import { i as createNostrSetupStatus, n as createNostrSetupAdapter, o as resolveNostrPrivateKey, r as createNostrSetupContract, s as DEFAULT_RELAYS } from "./setup-adapter-DLthHa2q.js";
|
|
3
3
|
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
4
|
-
import { DEFAULT_ACCOUNT_ID, createDelegatedSetupWizardProxy
|
|
4
|
+
import { DEFAULT_ACCOUNT_ID, createDelegatedSetupWizardProxy } from "openclaw/plugin-sdk/setup-runtime";
|
|
5
5
|
//#region extensions/nostr/src/channel.setup.ts
|
|
6
|
-
const t = createSetupTranslator();
|
|
7
6
|
const channel = "nostr";
|
|
8
7
|
function getNostrConfig(cfg) {
|
|
9
8
|
return cfg.channels?.nostr;
|
|
10
9
|
}
|
|
11
|
-
function listSetupNostrAccountIds(cfg) {
|
|
12
|
-
const nostrCfg = getNostrConfig(cfg);
|
|
13
|
-
if (!(typeof nostrCfg?.privateKey === "string" ? nostrCfg.privateKey.trim() : "")) return [];
|
|
14
|
-
return [resolveDefaultSetupNostrAccountId(cfg)];
|
|
15
|
-
}
|
|
16
10
|
function resolveDefaultSetupNostrAccountId(cfg) {
|
|
17
11
|
const configured = getNostrConfig(cfg)?.defaultAccount;
|
|
18
12
|
return typeof configured === "string" && configured.trim() ? configured.trim() : DEFAULT_ACCOUNT_ID;
|
|
@@ -20,7 +14,7 @@ function resolveDefaultSetupNostrAccountId(cfg) {
|
|
|
20
14
|
function resolveSetupNostrAccount(params) {
|
|
21
15
|
const nostrCfg = getNostrConfig(params.cfg);
|
|
22
16
|
const accountId = params.accountId?.trim() || resolveDefaultSetupNostrAccountId(params.cfg);
|
|
23
|
-
const privateKey =
|
|
17
|
+
const privateKey = resolveNostrPrivateKey(nostrCfg?.privateKey);
|
|
24
18
|
const configured = Boolean(privateKey);
|
|
25
19
|
return {
|
|
26
20
|
accountId,
|
|
@@ -42,34 +36,10 @@ function resolveSetupNostrAccount(params) {
|
|
|
42
36
|
}
|
|
43
37
|
};
|
|
44
38
|
}
|
|
45
|
-
function looksLikeNostrPrivateKey(privateKey) {
|
|
46
|
-
return privateKey.startsWith("nsec1") || privateKey.startsWith("NSEC1") || /^[0-9a-fA-F]{64}$/.test(privateKey);
|
|
47
|
-
}
|
|
48
|
-
const nostrSetupAdapter = createNostrSetupAdapter({
|
|
49
|
-
resolveAccountId: (cfg, accountId) => accountId?.trim() || resolveDefaultSetupNostrAccountId(cfg),
|
|
50
|
-
validatePrivateKey: looksLikeNostrPrivateKey
|
|
51
|
-
});
|
|
52
|
-
const nostrSetupContract = createNostrSetupContract(nostrSetupAdapter);
|
|
53
39
|
const nostrSetupWizard = createDelegatedSetupWizardProxy({
|
|
54
40
|
channel,
|
|
55
|
-
loadWizard: async () => (await import("./setup-surface-
|
|
56
|
-
status:
|
|
57
|
-
channelLabel: "Nostr",
|
|
58
|
-
configuredLabel: t("wizard.channels.statusConfigured"),
|
|
59
|
-
unconfiguredLabel: t("wizard.channels.statusNeedsPrivateKey"),
|
|
60
|
-
configuredHint: t("wizard.channels.statusConfigured"),
|
|
61
|
-
unconfiguredHint: t("wizard.channels.statusNeedsPrivateKey"),
|
|
62
|
-
configuredScore: 1,
|
|
63
|
-
unconfiguredScore: 0,
|
|
64
|
-
includeStatusLine: true,
|
|
65
|
-
resolveConfigured: ({ cfg, accountId }) => resolveSetupNostrAccount({
|
|
66
|
-
cfg,
|
|
67
|
-
accountId
|
|
68
|
-
}).configured,
|
|
69
|
-
resolveExtraStatusLines: ({ cfg }) => {
|
|
70
|
-
return [`Relays: ${resolveSetupNostrAccount({ cfg }).relays.length || DEFAULT_RELAYS.length}`];
|
|
71
|
-
}
|
|
72
|
-
}) },
|
|
41
|
+
loadWizard: async () => (await import("./setup-surface-DAhyNOcb.js").then((n) => n.i)).nostrSetupWizard,
|
|
42
|
+
status: createNostrSetupStatus(resolveSetupNostrAccount),
|
|
73
43
|
resolveShouldPromptAccountIds: () => false,
|
|
74
44
|
delegatePrepare: true,
|
|
75
45
|
delegateFinalize: true
|
|
@@ -91,11 +61,13 @@ const nostrSetupPlugin = {
|
|
|
91
61
|
},
|
|
92
62
|
reload: { configPrefixes: ["channels.nostr"] },
|
|
93
63
|
configSchema: buildChannelConfigSchema(NostrConfigSchema),
|
|
94
|
-
|
|
95
|
-
|
|
64
|
+
setupContract: createNostrSetupContract(createNostrSetupAdapter({
|
|
65
|
+
resolveAccountId: (cfg, accountId) => accountId?.trim() || resolveDefaultSetupNostrAccountId(cfg),
|
|
66
|
+
validatePrivateKey: (privateKey) => /^(?:nsec1|NSEC1)|^[0-9a-fA-F]{64}$/u.test(privateKey)
|
|
67
|
+
})),
|
|
96
68
|
setupWizard: nostrSetupWizard,
|
|
97
69
|
config: {
|
|
98
|
-
listAccountIds:
|
|
70
|
+
listAccountIds: (cfg) => resolveSetupNostrAccount({ cfg }).configured ? [resolveDefaultSetupNostrAccountId(cfg)] : [],
|
|
99
71
|
resolveAccount: (cfg, accountId) => resolveSetupNostrAccount({
|
|
100
72
|
cfg,
|
|
101
73
|
accountId
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as parseRelayUrls, i as createNostrSetupStatus, n as createNostrSetupAdapter, o as resolveNostrPrivateKey, r as createNostrSetupContract, s as DEFAULT_RELAYS, t as buildNostrSetupPatch } from "./setup-adapter-DLthHa2q.js";
|
|
2
2
|
import { createAccountListHelpers } from "openclaw/plugin-sdk/account-helpers";
|
|
3
3
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import { hasConfiguredSecretInput, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
5
5
|
import { getPublicKey, nip19 } from "nostr-tools";
|
|
6
6
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId, normalizeOptionalAccountId } from "openclaw/plugin-sdk/account-id";
|
|
7
7
|
import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/routing";
|
|
8
|
-
import { createSetupTranslator,
|
|
8
|
+
import { createSetupTranslator, createTopLevelChannelDmPolicy, createTopLevelChannelParsedAllowFromPrompt, defineTokenCredential, formatDocsLink, mergeAllowFromEntries, parseSetupEntriesWithParser, patchTopLevelChannelConfigSection, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup";
|
|
9
9
|
//#region \0rolldown/runtime.js
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
11
11
|
var __exportAll = (all, no_symbols) => {
|
|
@@ -59,7 +59,7 @@ const { listAccountIds: listNostrAccountIds, resolveDefaultAccountId: resolveDef
|
|
|
59
59
|
fallbackAccountIdWhenEmpty: false,
|
|
60
60
|
resolveImplicitAccountId: (cfg) => {
|
|
61
61
|
const account = cfg.channels?.nostr;
|
|
62
|
-
return
|
|
62
|
+
return resolveNostrPrivateKey(account?.privateKey) ? normalizeOptionalAccountId(account?.defaultAccount) ?? DEFAULT_ACCOUNT_ID : void 0;
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
65
|
/**
|
|
@@ -69,7 +69,7 @@ function resolveNostrAccount(opts) {
|
|
|
69
69
|
const accountId = normalizeAccountId(opts.accountId ?? resolveDefaultNostrAccountId(opts.cfg));
|
|
70
70
|
const nostrCfg = opts.cfg.channels?.nostr;
|
|
71
71
|
const baseEnabled = nostrCfg?.enabled !== false;
|
|
72
|
-
const privateKey =
|
|
72
|
+
const privateKey = resolveNostrPrivateKey(nostrCfg?.privateKey);
|
|
73
73
|
const configured = Boolean(privateKey);
|
|
74
74
|
let publicKey = "";
|
|
75
75
|
if (privateKey) try {
|
|
@@ -162,20 +162,7 @@ const nostrSetupWizard = {
|
|
|
162
162
|
channel,
|
|
163
163
|
resolveAccountIdForConfigure: ({ accountOverride, defaultAccountId }) => accountOverride?.trim() || defaultAccountId,
|
|
164
164
|
resolveShouldPromptAccountIds: () => false,
|
|
165
|
-
status:
|
|
166
|
-
channelLabel: "Nostr",
|
|
167
|
-
configuredLabel: t("wizard.channels.statusConfigured"),
|
|
168
|
-
unconfiguredLabel: t("wizard.channels.statusNeedsPrivateKey"),
|
|
169
|
-
configuredHint: t("wizard.channels.statusConfigured"),
|
|
170
|
-
unconfiguredHint: t("wizard.channels.statusNeedsPrivateKey"),
|
|
171
|
-
configuredScore: 1,
|
|
172
|
-
unconfiguredScore: 0,
|
|
173
|
-
includeStatusLine: true,
|
|
174
|
-
resolveConfigured: ({ cfg }) => resolveNostrAccount({ cfg }).configured,
|
|
175
|
-
resolveExtraStatusLines: ({ cfg }) => {
|
|
176
|
-
return [`Relays: ${resolveNostrAccount({ cfg }).relays.length || DEFAULT_RELAYS.length}`];
|
|
177
|
-
}
|
|
178
|
-
}),
|
|
165
|
+
status: createNostrSetupStatus(resolveNostrAccount),
|
|
179
166
|
introNote: {
|
|
180
167
|
title: t("wizard.nostr.setupTitle"),
|
|
181
168
|
lines: NOSTR_SETUP_HELP_LINES
|