@unicitylabs/nostr-js-sdk 0.1.0 → 0.2.0

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.
Files changed (78) hide show
  1. package/README.md +86 -5
  2. package/dist/browser/index.js +1650 -75
  3. package/dist/browser/index.js.map +1 -1
  4. package/dist/browser/index.min.js +7 -6
  5. package/dist/browser/index.min.js.map +1 -1
  6. package/dist/browser/index.umd.js +1659 -80
  7. package/dist/browser/index.umd.js.map +1 -1
  8. package/dist/browser/index.umd.min.js +7 -6
  9. package/dist/browser/index.umd.min.js.map +1 -1
  10. package/dist/cjs/NostrKeyManager.js +57 -0
  11. package/dist/cjs/NostrKeyManager.js.map +1 -1
  12. package/dist/cjs/client/NostrClient.js +46 -0
  13. package/dist/cjs/client/NostrClient.js.map +1 -1
  14. package/dist/cjs/crypto/index.js +4 -2
  15. package/dist/cjs/crypto/index.js.map +1 -1
  16. package/dist/cjs/crypto/nip04.js +14 -3
  17. package/dist/cjs/crypto/nip04.js.map +1 -1
  18. package/dist/cjs/crypto/nip44.js +297 -0
  19. package/dist/cjs/crypto/nip44.js.map +1 -0
  20. package/dist/cjs/index.js +27 -1
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/messaging/index.js +24 -0
  23. package/dist/cjs/messaging/index.js.map +1 -0
  24. package/dist/cjs/messaging/nip17.js +267 -0
  25. package/dist/cjs/messaging/nip17.js.map +1 -0
  26. package/dist/cjs/messaging/types.js +20 -0
  27. package/dist/cjs/messaging/types.js.map +1 -0
  28. package/dist/cjs/nametag/NametagUtils.js +1 -1
  29. package/dist/cjs/nametag/NametagUtils.js.map +1 -1
  30. package/dist/cjs/payment/PaymentRequestProtocol.js +2 -0
  31. package/dist/cjs/payment/PaymentRequestProtocol.js.map +1 -1
  32. package/dist/cjs/protocol/EventKinds.js +13 -1
  33. package/dist/cjs/protocol/EventKinds.js.map +1 -1
  34. package/dist/esm/NostrKeyManager.js +57 -0
  35. package/dist/esm/NostrKeyManager.js.map +1 -1
  36. package/dist/esm/client/NostrClient.js +46 -0
  37. package/dist/esm/client/NostrClient.js.map +1 -1
  38. package/dist/esm/crypto/index.js +3 -1
  39. package/dist/esm/crypto/index.js.map +1 -1
  40. package/dist/esm/crypto/nip04.js +14 -3
  41. package/dist/esm/crypto/nip04.js.map +1 -1
  42. package/dist/esm/crypto/nip44.js +283 -0
  43. package/dist/esm/crypto/nip44.js.map +1 -0
  44. package/dist/esm/index.js +4 -1
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/messaging/index.js +8 -0
  47. package/dist/esm/messaging/index.js.map +1 -0
  48. package/dist/esm/messaging/nip17.js +229 -0
  49. package/dist/esm/messaging/nip17.js.map +1 -0
  50. package/dist/esm/messaging/types.js +16 -0
  51. package/dist/esm/messaging/types.js.map +1 -0
  52. package/dist/esm/nametag/NametagUtils.js +1 -1
  53. package/dist/esm/nametag/NametagUtils.js.map +1 -1
  54. package/dist/esm/payment/PaymentRequestProtocol.js +2 -0
  55. package/dist/esm/payment/PaymentRequestProtocol.js.map +1 -1
  56. package/dist/esm/protocol/EventKinds.js +12 -0
  57. package/dist/esm/protocol/EventKinds.js.map +1 -1
  58. package/dist/types/NostrKeyManager.d.ts +36 -0
  59. package/dist/types/NostrKeyManager.d.ts.map +1 -1
  60. package/dist/types/client/NostrClient.d.ts +31 -0
  61. package/dist/types/client/NostrClient.d.ts.map +1 -1
  62. package/dist/types/crypto/index.d.ts +1 -1
  63. package/dist/types/crypto/index.d.ts.map +1 -1
  64. package/dist/types/crypto/nip04.d.ts.map +1 -1
  65. package/dist/types/crypto/nip44.d.ts +78 -0
  66. package/dist/types/crypto/nip44.d.ts.map +1 -0
  67. package/dist/types/index.d.ts +4 -1
  68. package/dist/types/index.d.ts.map +1 -1
  69. package/dist/types/messaging/index.d.ts +8 -0
  70. package/dist/types/messaging/index.d.ts.map +1 -0
  71. package/dist/types/messaging/nip17.d.ts +42 -0
  72. package/dist/types/messaging/nip17.d.ts.map +1 -0
  73. package/dist/types/messaging/types.d.ts +59 -0
  74. package/dist/types/messaging/types.d.ts.map +1 -0
  75. package/dist/types/payment/PaymentRequestProtocol.d.ts.map +1 -1
  76. package/dist/types/protocol/EventKinds.d.ts +6 -0
  77. package/dist/types/protocol/EventKinds.d.ts.map +1 -1
  78. package/package.json +2 -1
@@ -0,0 +1,229 @@
1
+ /**
2
+ * NIP-17 Private Direct Messages Protocol.
3
+ * Implements gift-wrapping for sender anonymity using NIP-44 encryption.
4
+ *
5
+ * Message flow:
6
+ * 1. Create Rumor (kind 14, unsigned) with actual message content
7
+ * 2. Create Seal (kind 13, signed by sender) encrypting the rumor
8
+ * 3. Create Gift Wrap (kind 1059, signed by random ephemeral key) encrypting the seal
9
+ *
10
+ * Only the recipient can decrypt and verify the true sender.
11
+ */
12
+ import { sha256 } from '@noble/hashes/sha256';
13
+ import { bytesToHex, hexToBytes } from '@noble/hashes/utils';
14
+ import { NostrKeyManager } from '../NostrKeyManager.js';
15
+ import { Event } from '../protocol/Event.js';
16
+ import * as EventKinds from '../protocol/EventKinds.js';
17
+ import * as NIP44 from '../crypto/nip44.js';
18
+ import * as Schnorr from '../crypto/schnorr.js';
19
+ // Randomization window for timestamps (+/- 2 days in seconds)
20
+ const TIMESTAMP_RANDOMIZATION = 2 * 24 * 60 * 60;
21
+ /**
22
+ * Create a gift-wrapped private message.
23
+ *
24
+ * @param senderKeys Sender's key manager
25
+ * @param recipientPubkeyHex Recipient's public key (hex)
26
+ * @param content Message content
27
+ * @param options Optional message options (reply-to, etc.)
28
+ * @returns Gift-wrapped event (kind 1059)
29
+ */
30
+ export function createGiftWrap(senderKeys, recipientPubkeyHex, content, options) {
31
+ // 1. Create Rumor (kind 14, unsigned)
32
+ const rumor = createRumor(senderKeys.getPublicKeyHex(), recipientPubkeyHex, content, EventKinds.CHAT_MESSAGE, options?.replyToEventId);
33
+ // 2. Create Seal (kind 13, signed by sender, encrypts rumor)
34
+ const seal = createSeal(senderKeys, recipientPubkeyHex, rumor);
35
+ // 3. Create Gift Wrap (kind 1059, signed by ephemeral key, encrypts seal)
36
+ return wrapSeal(seal, recipientPubkeyHex);
37
+ }
38
+ /**
39
+ * Create a gift-wrapped read receipt.
40
+ *
41
+ * @param senderKeys Sender's key manager
42
+ * @param recipientPubkeyHex Recipient (original sender) public key
43
+ * @param messageEventId Event ID of the message being acknowledged
44
+ * @returns Gift-wrapped read receipt event
45
+ */
46
+ export function createReadReceipt(senderKeys, recipientPubkeyHex, messageEventId) {
47
+ // Create rumor with kind 15 (read receipt)
48
+ const tags = [
49
+ ['p', recipientPubkeyHex],
50
+ ['e', messageEventId],
51
+ ];
52
+ // Use actual timestamp for rumor (privacy via outer layers)
53
+ const actualTimestamp = Math.floor(Date.now() / 1000);
54
+ const rumor = {
55
+ id: '', // Will be computed
56
+ pubkey: senderKeys.getPublicKeyHex(),
57
+ created_at: actualTimestamp,
58
+ kind: EventKinds.READ_RECEIPT,
59
+ tags,
60
+ content: '', // Read receipts have empty content
61
+ };
62
+ // Compute the rumor ID
63
+ rumor.id = computeRumorId(rumor);
64
+ const seal = createSeal(senderKeys, recipientPubkeyHex, rumor);
65
+ return wrapSeal(seal, recipientPubkeyHex);
66
+ }
67
+ /**
68
+ * Unwrap a gift-wrapped message.
69
+ *
70
+ * @param giftWrap Gift wrap event (kind 1059)
71
+ * @param recipientKeys Recipient's key manager
72
+ * @returns Parsed private message
73
+ */
74
+ export function unwrap(giftWrap, recipientKeys) {
75
+ if (giftWrap.kind !== EventKinds.GIFT_WRAP) {
76
+ throw new Error(`Event is not a gift wrap (kind ${giftWrap.kind})`);
77
+ }
78
+ // Get ephemeral sender's pubkey from gift wrap
79
+ const ephemeralPubkey = giftWrap.pubkey;
80
+ const ephemeralPubkeyBytes = hexToBytes(ephemeralPubkey);
81
+ // Decrypt seal from gift wrap content
82
+ const sealJson = NIP44.decrypt(giftWrap.content, recipientKeys.getPrivateKey(), ephemeralPubkeyBytes);
83
+ const sealData = JSON.parse(sealJson);
84
+ if (sealData.kind !== EventKinds.SEAL) {
85
+ throw new Error(`Inner event is not a seal (kind ${sealData.kind})`);
86
+ }
87
+ // Verify seal signature
88
+ const sealPubkey = sealData.pubkey;
89
+ const sealIdBytes = hexToBytes(sealData.id);
90
+ const sigBytes = hexToBytes(sealData.sig);
91
+ const pubkeyBytes = hexToBytes(sealPubkey);
92
+ if (!Schnorr.verify(sigBytes, sealIdBytes, pubkeyBytes)) {
93
+ throw new Error('Seal signature verification failed');
94
+ }
95
+ // Decrypt rumor from seal content
96
+ const rumorJson = NIP44.decrypt(sealData.content, recipientKeys.getPrivateKey(), pubkeyBytes);
97
+ const rumor = JSON.parse(rumorJson);
98
+ // Extract reply-to event ID if present
99
+ const replyToEventId = getTagValue(rumor.tags, 'e');
100
+ return {
101
+ eventId: giftWrap.id,
102
+ senderPubkey: sealPubkey,
103
+ recipientPubkey: recipientKeys.getPublicKeyHex(),
104
+ content: rumor.content,
105
+ timestamp: rumor.created_at,
106
+ kind: rumor.kind,
107
+ replyToEventId,
108
+ };
109
+ }
110
+ // ========== Helper Functions ==========
111
+ /**
112
+ * Create an unsigned rumor (kind 14 or 15).
113
+ * Note: Rumor uses actual timestamp for correct message ordering.
114
+ * Only seal and gift wrap use randomized timestamps for privacy.
115
+ */
116
+ function createRumor(senderPubkey, recipientPubkey, content, kind, replyToEventId) {
117
+ const tags = [['p', recipientPubkey]];
118
+ if (replyToEventId) {
119
+ tags.push(['e', replyToEventId, '', 'reply']);
120
+ }
121
+ // Use actual timestamp for rumor (inner message) - needed for correct ordering
122
+ // Privacy is provided by randomized timestamps on seal and gift wrap layers
123
+ const actualTimestamp = Math.floor(Date.now() / 1000);
124
+ const rumor = {
125
+ id: '', // Will be computed
126
+ pubkey: senderPubkey,
127
+ created_at: actualTimestamp,
128
+ kind,
129
+ tags,
130
+ content,
131
+ };
132
+ // Compute the rumor ID
133
+ rumor.id = computeRumorId(rumor);
134
+ return rumor;
135
+ }
136
+ /**
137
+ * Compute the rumor ID from serialized data.
138
+ * ID = SHA-256([0, pubkey, created_at, kind, tags, content])
139
+ */
140
+ function computeRumorId(rumor) {
141
+ const serialized = JSON.stringify([
142
+ 0,
143
+ rumor.pubkey,
144
+ rumor.created_at,
145
+ rumor.kind,
146
+ rumor.tags,
147
+ rumor.content,
148
+ ]);
149
+ const hash = sha256(new TextEncoder().encode(serialized));
150
+ return bytesToHex(hash);
151
+ }
152
+ /**
153
+ * Create a seal (kind 13) that encrypts a rumor.
154
+ */
155
+ function createSeal(senderKeys, recipientPubkeyHex, rumor) {
156
+ const rumorJson = JSON.stringify(rumor);
157
+ // Encrypt rumor with NIP-44
158
+ const recipientPubkey = hexToBytes(recipientPubkeyHex);
159
+ const encryptedRumor = NIP44.encrypt(rumorJson, senderKeys.getPrivateKey(), recipientPubkey);
160
+ // Create seal data
161
+ const pubkey = senderKeys.getPublicKeyHex();
162
+ const created_at = randomizeTimestamp();
163
+ const kind = EventKinds.SEAL;
164
+ const tags = []; // Seals have no tags
165
+ const content = encryptedRumor;
166
+ // Calculate ID
167
+ const sealId = Event.calculateId(pubkey, created_at, kind, tags, content);
168
+ // Sign
169
+ const sealIdBytes = hexToBytes(sealId);
170
+ const sig = senderKeys.signHex(sealIdBytes);
171
+ return new Event({
172
+ id: sealId,
173
+ pubkey,
174
+ created_at,
175
+ kind,
176
+ tags,
177
+ content,
178
+ sig,
179
+ });
180
+ }
181
+ /**
182
+ * Wrap a seal in a gift wrap (kind 1059) using an ephemeral key.
183
+ */
184
+ function wrapSeal(seal, recipientPubkeyHex) {
185
+ // Generate ephemeral key for the gift wrap
186
+ const ephemeralKeys = NostrKeyManager.generate();
187
+ const sealJson = JSON.stringify(seal.toJSON());
188
+ // Encrypt seal with NIP-44 using ephemeral key
189
+ const recipientPubkey = hexToBytes(recipientPubkeyHex);
190
+ const encryptedSeal = NIP44.encrypt(sealJson, ephemeralKeys.getPrivateKey(), recipientPubkey);
191
+ // Create gift wrap data
192
+ const pubkey = ephemeralKeys.getPublicKeyHex();
193
+ const created_at = randomizeTimestamp();
194
+ const kind = EventKinds.GIFT_WRAP;
195
+ const tags = [['p', recipientPubkeyHex]];
196
+ const content = encryptedSeal;
197
+ // Calculate ID
198
+ const giftWrapId = Event.calculateId(pubkey, created_at, kind, tags, content);
199
+ // Sign with ephemeral key
200
+ const giftWrapIdBytes = hexToBytes(giftWrapId);
201
+ const sig = ephemeralKeys.signHex(giftWrapIdBytes);
202
+ // Clear ephemeral key from memory
203
+ ephemeralKeys.clear();
204
+ return new Event({
205
+ id: giftWrapId,
206
+ pubkey,
207
+ created_at,
208
+ kind,
209
+ tags,
210
+ content,
211
+ sig,
212
+ });
213
+ }
214
+ /**
215
+ * Generate a randomized timestamp for privacy (+/- 2 days).
216
+ */
217
+ function randomizeTimestamp() {
218
+ const now = Math.floor(Date.now() / 1000);
219
+ const randomOffset = Math.floor(Math.random() * 2 * TIMESTAMP_RANDOMIZATION) - TIMESTAMP_RANDOMIZATION;
220
+ return now + randomOffset;
221
+ }
222
+ /**
223
+ * Get the first value of a tag by name from a tags array.
224
+ */
225
+ function getTagValue(tags, tagName) {
226
+ const tag = tags.find((t) => t[0] === tagName);
227
+ return tag?.[1];
228
+ }
229
+ //# sourceMappingURL=nip17.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nip17.js","sourceRoot":"","sources":["../../../src/messaging/nip17.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * NIP-17 Messaging Types - Private Direct Messages
3
+ */
4
+ /**
5
+ * Check if a message is a chat message (kind 14).
6
+ */
7
+ export function isChatMessage(message) {
8
+ return message.kind === 14;
9
+ }
10
+ /**
11
+ * Check if a message is a read receipt (kind 15).
12
+ */
13
+ export function isReadReceipt(message) {
14
+ return message.kind === 15;
15
+ }
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/messaging/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwDH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAuB;IACnD,OAAO,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAuB;IACnD,OAAO,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;AAC7B,CAAC"}
@@ -34,7 +34,7 @@ function isLikelyPhoneNumber(str) {
34
34
  return false;
35
35
  }
36
36
  // Count non-digit characters (excluding common phone number chars)
37
- const cleanedLength = str.replace(/[\s\-\(\)\.]/g, '').length;
37
+ const cleanedLength = str.replace(/[\s\-().]/g, '').length;
38
38
  const digitRatio = digitCount / cleanedLength;
39
39
  return digitRatio > 0.5;
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NametagUtils.js","sourceRoot":"","sources":["../../../src/nametag/NametagUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NametagUtils.js","sourceRoot":"","sources":["../../../src/nametag/NametagUtils.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,9 @@ const MESSAGE_PREFIX = 'payment_request:';
11
11
  */
12
12
  function generateRequestId() {
13
13
  const bytes = new Uint8Array(4);
14
+ // eslint-disable-next-line no-undef
14
15
  if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
16
+ // eslint-disable-next-line no-undef
15
17
  crypto.getRandomValues(bytes);
16
18
  }
17
19
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentRequestProtocol.js","sourceRoot":"","sources":["../../../src/payment/PaymentRequestProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaymentRequestProtocol.js","sourceRoot":"","sources":["../../../src/payment/PaymentRequestProtocol.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export const CONTACTS = 3;
17
17
  export const ENCRYPTED_DM = 4;
18
18
  /** NIP-09: Event deletion */
19
19
  export const DELETION = 5;
20
+ /** NIP-17: Seal (signed, encrypted rumor) */
21
+ export const SEAL = 13;
22
+ /** NIP-17: Private chat message (rumor - unsigned inner event) */
23
+ export const CHAT_MESSAGE = 14;
24
+ /** NIP-17: Read receipt (rumor kind) */
25
+ export const READ_RECEIPT = 15;
20
26
  /** NIP-25: Reactions (likes, etc.) */
21
27
  export const REACTION = 7;
22
28
  /** NIP-59: Gift wrap for private events */
@@ -89,6 +95,12 @@ export function getName(kind) {
89
95
  return 'Encrypted DM';
90
96
  case DELETION:
91
97
  return 'Deletion';
98
+ case SEAL:
99
+ return 'Seal';
100
+ case CHAT_MESSAGE:
101
+ return 'Chat Message';
102
+ case READ_RECEIPT:
103
+ return 'Read Receipt';
92
104
  case REACTION:
93
105
  return 'Reaction';
94
106
  case GIFT_WRAP:
@@ -1 +1 @@
1
- {"version":3,"file":"EventKinds.js","sourceRoot":"","sources":["../../../src/protocol/EventKinds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventKinds.js","sourceRoot":"","sources":["../../../src/protocol/EventKinds.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,42 @@ export declare class NostrKeyManager {
135
135
  * @returns 32-byte shared secret
136
136
  */
137
137
  deriveSharedSecret(theirPublicKey: Uint8Array): Uint8Array;
138
+ /**
139
+ * Encrypt a message using NIP-44 encryption.
140
+ * Uses XChaCha20-Poly1305 with HKDF key derivation.
141
+ * @param message Message to encrypt
142
+ * @param recipientPublicKey 32-byte x-only public key of recipient
143
+ * @returns Base64-encoded encrypted content
144
+ */
145
+ encryptNip44(message: string, recipientPublicKey: Uint8Array): string;
146
+ /**
147
+ * Encrypt a message using NIP-44 with hex-encoded recipient public key.
148
+ * @param message Message to encrypt
149
+ * @param recipientPublicKeyHex Hex-encoded recipient public key
150
+ * @returns Base64-encoded encrypted content
151
+ */
152
+ encryptNip44Hex(message: string, recipientPublicKeyHex: string): string;
153
+ /**
154
+ * Decrypt a NIP-44 encrypted message.
155
+ * @param encryptedContent Base64-encoded encrypted content
156
+ * @param senderPublicKey 32-byte x-only public key of sender
157
+ * @returns Decrypted message
158
+ */
159
+ decryptNip44(encryptedContent: string, senderPublicKey: Uint8Array): string;
160
+ /**
161
+ * Decrypt a NIP-44 message using hex-encoded sender public key.
162
+ * @param encryptedContent Base64-encoded encrypted content
163
+ * @param senderPublicKeyHex Hex-encoded sender public key
164
+ * @returns Decrypted message
165
+ */
166
+ decryptNip44Hex(encryptedContent: string, senderPublicKeyHex: string): string;
167
+ /**
168
+ * Derive NIP-44 conversation key with another party.
169
+ * Uses ECDH + HKDF with sorted public keys as salt.
170
+ * @param theirPublicKey 32-byte x-only public key
171
+ * @returns 32-byte conversation key
172
+ */
173
+ deriveConversationKey(theirPublicKey: Uint8Array): Uint8Array;
138
174
  /**
139
175
  * Check if a public key matches this key manager's public key.
140
176
  * @param publicKeyHex Hex-encoded public key to check
@@ -1 +1 @@
1
- {"version":3,"file":"NostrKeyManager.d.ts","sourceRoot":"","sources":["../../src/NostrKeyManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAkB;IAEjC;;OAEG;IACH,OAAO;IASP;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe;IAI9D;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe;IAKhE;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAK9C;;;OAGG;IACH,MAAM,CAAC,QAAQ,IAAI,eAAe;IAKlC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACH,aAAa,IAAI,UAAU;IAK3B;;;OAGG;IACH,gBAAgB,IAAI,MAAM;IAK1B;;;OAGG;IACH,OAAO,IAAI,MAAM;IAKjB;;;OAGG;IACH,YAAY,IAAI,UAAU;IAK1B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAKzB;;;OAGG;IACH,OAAO,IAAI,MAAM;IAKjB;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU;IAKzC;;;;OAIG;IACH,OAAO,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM;IAKxC;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CACX,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,UAAU,EACvB,SAAS,EAAE,UAAU,GACpB,OAAO;IAIV;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO;IAIV;;;;;OAKG;IACG,OAAO,CACX,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,UAAU,GAC7B,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;OAKG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,MAAM,CAAC;IAMlB;;;;;OAKG;IACG,OAAO,CACX,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,UAAU,GAC1B,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;OAKG;IACG,UAAU,CACd,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,CAAC;IAMlB;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU;IAK1D;;;;OAIG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAK5C;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"NostrKeyManager.d.ts","sourceRoot":"","sources":["../../src/NostrKeyManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAkB;IAEjC;;OAEG;IACH,OAAO;IASP;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe;IAI9D;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe;IAKhE;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAK9C;;;OAGG;IACH,MAAM,CAAC,QAAQ,IAAI,eAAe;IAKlC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACH,aAAa,IAAI,UAAU;IAK3B;;;OAGG;IACH,gBAAgB,IAAI,MAAM;IAK1B;;;OAGG;IACH,OAAO,IAAI,MAAM;IAKjB;;;OAGG;IACH,YAAY,IAAI,UAAU;IAK1B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAKzB;;;OAGG;IACH,OAAO,IAAI,MAAM;IAKjB;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU;IAKzC;;;;OAIG;IACH,OAAO,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM;IAKxC;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CACX,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,UAAU,EACvB,SAAS,EAAE,UAAU,GACpB,OAAO;IAIV;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO;IAIV;;;;;OAKG;IACG,OAAO,CACX,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,UAAU,GAC7B,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;OAKG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,MAAM,CAAC;IAMlB;;;;;OAKG;IACG,OAAO,CACX,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,UAAU,GAC1B,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;OAKG;IACG,UAAU,CACd,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,CAAC;IAMlB;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU;IAS1D;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,GAAG,MAAM;IAKrE;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAMvE;;;;;OAKG;IACH,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,GAAG,MAAM;IAK3E;;;;;OAKG;IACH,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAM7E;;;;;OAKG;IACH,qBAAqB,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU;IAK7D;;;;OAIG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAK5C;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -6,6 +6,7 @@ import { NostrKeyManager } from '../NostrKeyManager.js';
6
6
  import { Event, UnsignedEventData } from '../protocol/Event.js';
7
7
  import { Filter } from '../protocol/Filter.js';
8
8
  import { NostrEventListener } from './NostrEventListener.js';
9
+ import type { PrivateMessage, PrivateMessageOptions } from '../messaging/types.js';
9
10
  /**
10
11
  * NostrClient provides the main interface for Nostr protocol operations.
11
12
  */
@@ -163,5 +164,35 @@ export declare class NostrClient {
163
164
  * @returns Promise that resolves with the event ID
164
165
  */
165
166
  createAndPublishEvent(data: UnsignedEventData): Promise<string>;
167
+ /**
168
+ * Send a private message using NIP-17 gift-wrapping.
169
+ * @param recipientPubkeyHex Recipient's public key (hex)
170
+ * @param message Message content
171
+ * @param options Optional message options (reply-to, etc.)
172
+ * @returns Promise that resolves with the gift wrap event ID
173
+ */
174
+ sendPrivateMessage(recipientPubkeyHex: string, message: string, options?: PrivateMessageOptions): Promise<string>;
175
+ /**
176
+ * Send a private message to a recipient identified by their nametag.
177
+ * Resolves the nametag to a pubkey automatically.
178
+ * @param recipientNametag Recipient's nametag (Unicity ID)
179
+ * @param message Message content
180
+ * @param options Optional message options (reply-to, etc.)
181
+ * @returns Promise that resolves with the gift wrap event ID
182
+ */
183
+ sendPrivateMessageToNametag(recipientNametag: string, message: string, options?: PrivateMessageOptions): Promise<string>;
184
+ /**
185
+ * Send a read receipt for a message using NIP-17 gift-wrapping.
186
+ * @param recipientPubkeyHex Recipient (original sender) public key
187
+ * @param messageEventId Event ID of the message being acknowledged
188
+ * @returns Promise that resolves with the gift wrap event ID
189
+ */
190
+ sendReadReceipt(recipientPubkeyHex: string, messageEventId: string): Promise<string>;
191
+ /**
192
+ * Unwrap a gift-wrapped private message.
193
+ * @param giftWrap Gift wrap event (kind 1059)
194
+ * @returns Parsed private message
195
+ */
196
+ unwrapPrivateMessage(giftWrap: Event): PrivateMessage;
166
197
  }
167
198
  //# sourceMappingURL=NostrClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NostrClient.d.ts","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NostrClient.d.ts","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ export * from './bech32.js';
5
5
  export * as Bech32 from './bech32.js';
6
6
  export * from './schnorr.js';
7
7
  export * as SchnorrSigner from './schnorr.js';
8
- export * from './nip04.js';
9
8
  export * as NIP04 from './nip04.js';
9
+ export * as NIP44 from './nip44.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,aAAa,MAAM,cAAc,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,aAAa,MAAM,cAAc,CAAC;AAI9C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"nip04.d.ts","sourceRoot":"","sources":["../../../src/crypto/nip04.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4KH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,UAAU,CAsBZ;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAIR;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAC3B,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAIjB"}
1
+ {"version":3,"file":"nip04.d.ts","sourceRoot":"","sources":["../../../src/crypto/nip04.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwLH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,UAAU,CAsBZ;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAIR;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAC3B,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAIjB"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * NIP-44 Encryption implementation.
3
+ * ChaCha20-Poly1305 AEAD encryption with HKDF key derivation.
4
+ * Works in both Node.js and browser environments.
5
+ * See: https://github.com/nostr-protocol/nips/blob/master/44.md
6
+ */
7
+ /** NIP-44 version byte */
8
+ export declare const VERSION = 2;
9
+ /**
10
+ * Derive conversation key using ECDH + HKDF.
11
+ * NIP-44 uses sorted public keys as salt for HKDF.
12
+ *
13
+ * @param myPrivateKey 32-byte private key
14
+ * @param theirPublicKey 32-byte x-only public key
15
+ * @returns 32-byte conversation key
16
+ */
17
+ export declare function deriveConversationKey(myPrivateKey: Uint8Array, theirPublicKey: Uint8Array): Uint8Array;
18
+ /**
19
+ * Derive conversation key from hex-encoded keys.
20
+ */
21
+ export declare function deriveConversationKeyHex(myPrivateKeyHex: string, theirPublicKeyHex: string): string;
22
+ /**
23
+ * Calculate padded length according to NIP-44 spec.
24
+ * Uses power-of-2 chunk padding to hide message length.
25
+ */
26
+ export declare function calcPaddedLen(unpaddedLen: number): number;
27
+ /**
28
+ * Pad message according to NIP-44 spec.
29
+ * Format: length(2 bytes big-endian) || message || padding
30
+ */
31
+ export declare function pad(message: Uint8Array): Uint8Array;
32
+ /**
33
+ * Unpad message according to NIP-44 spec.
34
+ */
35
+ export declare function unpad(padded: Uint8Array): Uint8Array;
36
+ /**
37
+ * Encrypt a message using NIP-44.
38
+ *
39
+ * @param message Plaintext message
40
+ * @param myPrivateKey Sender's 32-byte private key
41
+ * @param theirPublicKey Recipient's 32-byte x-only public key
42
+ * @returns Base64-encoded encrypted payload
43
+ */
44
+ export declare function encrypt(message: string, myPrivateKey: Uint8Array, theirPublicKey: Uint8Array): string;
45
+ /**
46
+ * Encrypt a message using a pre-derived conversation key.
47
+ *
48
+ * @param message Plaintext message
49
+ * @param conversationKey 32-byte conversation key
50
+ * @returns Base64-encoded encrypted payload
51
+ */
52
+ export declare function encryptWithKey(message: string, conversationKey: Uint8Array): string;
53
+ /**
54
+ * Decrypt a NIP-44 encrypted message.
55
+ *
56
+ * @param encryptedContent Base64-encoded encrypted payload
57
+ * @param myPrivateKey Recipient's 32-byte private key
58
+ * @param theirPublicKey Sender's 32-byte x-only public key
59
+ * @returns Decrypted plaintext message
60
+ */
61
+ export declare function decrypt(encryptedContent: string, myPrivateKey: Uint8Array, theirPublicKey: Uint8Array): string;
62
+ /**
63
+ * Decrypt a message using a pre-derived conversation key.
64
+ *
65
+ * @param encryptedContent Base64-encoded encrypted payload
66
+ * @param conversationKey 32-byte conversation key
67
+ * @returns Decrypted plaintext message
68
+ */
69
+ export declare function decryptWithKey(encryptedContent: string, conversationKey: Uint8Array): string;
70
+ /**
71
+ * Encrypt a message using hex-encoded keys.
72
+ */
73
+ export declare function encryptHex(message: string, myPrivateKeyHex: string, theirPublicKeyHex: string): string;
74
+ /**
75
+ * Decrypt a message using hex-encoded keys.
76
+ */
77
+ export declare function decryptHex(encryptedContent: string, myPrivateKeyHex: string, theirPublicKeyHex: string): string;
78
+ //# sourceMappingURL=nip44.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nip44.d.ts","sourceRoot":"","sources":["../../../src/crypto/nip44.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,0BAA0B;AAC1B,eAAO,MAAM,OAAO,IAAO,CAAC;AAiB5B;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,UAAU,CAmBZ;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAIR;AA0CD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiBzD;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAsBnD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAkBpD;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,GAAG,MAAM,CA8BnF;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GACzB,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,GAAG,MAAM,CA8B5F;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAIR"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  export { NostrKeyManager } from './NostrKeyManager.js';
17
17
  export * from './crypto/index.js';
18
- export { Bech32, SchnorrSigner, NIP04, } from './crypto/index.js';
18
+ export { Bech32, SchnorrSigner, NIP04, NIP44, } from './crypto/index.js';
19
19
  export * from './protocol/index.js';
20
20
  export { EventKinds } from './protocol/index.js';
21
21
  export * from './client/index.js';
@@ -23,10 +23,13 @@ export * from './nametag/index.js';
23
23
  export { NametagUtils, NametagBinding } from './nametag/index.js';
24
24
  export { TokenTransferProtocol } from './token/index.js';
25
25
  export { PaymentRequestProtocol } from './payment/index.js';
26
+ export * from './messaging/index.js';
27
+ export * as NIP17 from './messaging/nip17.js';
26
28
  export type { DecodedBech32, } from './crypto/bech32.js';
27
29
  export type { EventTag, UnsignedEventData, SignedEventData, } from './protocol/Event.js';
28
30
  export type { FilterData, } from './protocol/Filter.js';
29
31
  export type { NostrEventListener, } from './client/NostrEventListener.js';
30
32
  export type { IWebSocket, WebSocketMessageEvent, WebSocketCloseEvent, WebSocketErrorEvent, } from './client/WebSocketAdapter.js';
31
33
  export type { PaymentRequest, ParsedPaymentRequest, } from './payment/PaymentRequestProtocol.js';
34
+ export type { Rumor, PrivateMessage, PrivateMessageOptions, } from './messaging/types.js';
32
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,MAAM,EACN,aAAa,EACb,KAAK,GACN,MAAM,mBAAmB,CAAC;AAG3B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,YAAY,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,QAAQ,EACR,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,cAAc,EACd,oBAAoB,GACrB,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,MAAM,EACN,aAAa,EACb,KAAK,EACL,KAAK,GACN,MAAM,mBAAmB,CAAC;AAG3B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,cAAc,sBAAsB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAG9C,YAAY,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,QAAQ,EACR,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,cAAc,EACd,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EACV,KAAK,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * NIP-17 Private Direct Messages Module
3
+ *
4
+ * Provides secure, private messaging over Nostr using gift-wrapping.
5
+ */
6
+ export * from './types.js';
7
+ export * from './nip17.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/messaging/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}