@contextvm/sdk 0.12.4 → 0.12.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"applesauce-relay-pool.d.ts","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applesauce-relay-pool.d.ts","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"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"}
@@ -289,18 +289,31 @@ export class ApplesauceRelayPool {
289
289
  */
290
290
  createSubscription(filters, onEvent, onEose) {
291
291
  logger.debug('Creating subscription', { filters });
292
- const subscription = this.relayGroup.subscription(filters, {
293
- reconnect: Infinity,
294
- resubscribe: Infinity,
295
- });
296
- const sub = subscription.subscribe({
297
- next: (response) => {
298
- if (response === 'EOSE') {
292
+ // NOTE: applesauce-relay 6.0.3 changed `RelayGroup.subscription()` to emit
293
+ // only deduplicated NostrEvents and no longer surfaces EOSE markers.
294
+ //
295
+ // We deliberately subscribe to the raw `RelayGroup.req()` message stream
296
+ // and forward EVERY event without deduplication. Dedup is intentionally NOT
297
+ // performed at the relay layer:
298
+ // - The transport layer already deduplicates gift-wrap envelopes and
299
+ // decrypted inner events via its own `seenEventIds` cache, with
300
+ // protocol-aware semantics.
301
+ // - The explicit-gating payment flow republishes the SAME request event
302
+ // id after payment and relies on the server re-observing it. Relay-
303
+ // layer dedup by event id (whether applesauce 6.0.3's `distinct()` or a
304
+ // local `Set`) silently swallows that retry and deadlocks the flow.
305
+ const sub = this.relayGroup
306
+ .req(filters, { reconnect: Infinity, resubscribe: Infinity })
307
+ .subscribe({
308
+ next: (message) => {
309
+ if (message.type === 'EOSE') {
299
310
  onEose === null || onEose === void 0 ? void 0 : onEose();
300
311
  }
301
- else {
302
- onEvent(response);
312
+ else if (message.type === 'EVENT') {
313
+ onEvent(message.event);
303
314
  }
315
+ // OPEN / CLOSED / ERROR are intentionally ignored; the old
316
+ // `subscription()` filtered them out as well.
304
317
  },
305
318
  complete: () => {
306
319
  logger.debug('Subscription complete');
@@ -1 +1 @@
1
- {"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,UAAU,GAGX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,aAAa,EAEb,SAAS,EACT,KAAK,EACL,OAAO,EAEP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,cAAc,EACd,KAAK,GACN,MAAM,MAAM,CAAC;AAEd,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;AAChD,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAE9D,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAW;IACjC,GAAG,EAAE,CAAC,kEAAkE,CAAC;IACzE,KAAK,EAAE,CAAC;CACT,CAAC;AAiCF;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAwBtB,uBAAuB,CAAC,KAAY;QAC1C,uEAAuE;QACvE,mEAAmE;QACnE,EAAE;QACF,aAAa;QACb,mFAAmF;QACnF,gFAAgF;QAChF,6EAA6E;QAC7E,EAAE;QACF,+EAA+E;QAC/E,IAAI,CAAC;YACF,KAAwC,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1D,CAAC;QAAC,WAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YAED,KAMD,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;QACjC,CAAC;QAAC,WAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAQD;;;OAGG;IACK,qBAAqB,CAC3B,OAAgE;QAEhE,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzE,IAAI,CAAC;gBACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC;YAAC,WAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,KAAY,EACZ,IAA+B;QAE/B,IAAI,CAAC;YACH,IAAI,YAA0C,CAAC;YAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,IAAI,CAAC,aAAa,EAClB,mBAAmB,CAAC,2BAA2B,CAChD,CAAC;YAEF,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,KAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACxC,2DAA2D;gBAC3D,YAAY,GAAG,cAAc,CAC3B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CACpD,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAED,oDAAoD;YACpD,MAAM,QAAQ,GAGR;gBACJ,0BAA0B;gBAC1B,KAAK,CAAC,UAAU;gBAChB,KAAK,CAAC,SAAS;gBACf,KAAK,CAAC,UAAU;gBAChB,KAAK,CAAC,uBAAuB;gBAC7B,KAAK,CAAC,QAAQ;gBACd,KAAK,CAAC,MAAM;gBACZ,kBAAkB;gBAClB,KAAK,CAAC,KAAK;gBACX,KAAK,CAAC,MAAM;gBACZ,KAAK,CAAC,QAAQ;gBACd,6DAA6D;gBAE3D,KAGD,CAAC,OAAO;gBAEP,KAMD,CAAC,0BAA0B;gBAE1B,KAMD,CAAC,4BAA4B;aAC/B,CAAC;YAEF,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,CAAC;gBACH,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;YAAC,WAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;YAED,wBAAwB;YACxB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvD,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBACxC,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,oCAAoC;QACtC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,GAAW;QAC7B,eAAe,EAAE,CAAC;QAElB,+EAA+E;QAC/E,yDAAyD;QACzD,EAAE;QACF,iDAAiD;QACjD,2EAA2E;QAC3E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;YAC3B,GAAG,IAAI,CAAC,YAAY;YACpB,SAAS,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,GAAG,IAAK;SAC7D,CAAC,CAAC;QAEH,0EAA0E;QAC1E,gEAAgE;QAChE,KAAK,CAAC,cAAc,GAAG,CACrB,MAA0B,EAC1B,KAAK,GAAG,CAAC,EACW,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAChD,IAAI,CAAC,mBAAmB,CACzB,CAAC;YACF,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,iFAAiF;QACjF,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5D,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,SAAS;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAChD,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACrC,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,YAAY,SAAmB,EAAE,IAAiC;;QAzNjD,kBAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC9D,oBAAe,GAAG,CAAC,CAAC;QAmDX,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAExC,mBAAc,GAAmB,EAAE,CAAC;QACpC,WAAM,GAAY,EAAE,CAAC;QAmK3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,mCAAI,MAAO,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,mCAAI,KAAM,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,oBAAoB,mCAAI,IAAK,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,mCAAI,KAAM,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG;YACpB,OAAO,EACL,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,0CAAE,OAAO,mCAC7B,mBAAmB,CAAC,kCAAkC;YACxD,OAAO,EACL,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,0CAAE,OAAO,mCAC7B,mBAAmB,CAAC,+BAA+B;SACtD,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CACX,KAAiB,EACjB,IAAoC;;QAEpC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1E,0DAA0D;QAC1D,yEAAyE;QACzE,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,0CAAE,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,CAAC,CAAC;YACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC7C,KAAK,EACL,IAAI,CAAC,cAAc,CACpB,CAAC;gBAEF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,IAAI,CAAC,MAAM;qBACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;qBAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAC7B,CAAC;gBACF,IAAI,aAAa,GAAG,CAAC,CAAC;gBACtB,IAAI,qBAAqB,GAAG,CAAC,CAAC;gBAC9B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;wBAChB,aAAa,IAAI,CAAC,CAAC;oBACrB,CAAC;yBAAM,IACL,QAAQ,CAAC,IAAI,KAAK,SAAS;wBAC3B,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrC,CAAC;wBACD,qBAAqB,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBACxC,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO;oBACP,aAAa,EAAE,SAAS,CAAC,MAAM;oBAC/B,aAAa;oBACb,qBAAqB;oBACrB,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;oBAClD,SAAS;iBACV,CAAC,CAAC;gBAEH,MAAM,uBAAuB,GAC3B,iBAAiB,KAAK,IAAI,CAAC,eAAe;oBAC1C,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC;gBAErC,IACE,aAAa,KAAK,CAAC;oBACnB,SAAS,CAAC,MAAM,KAAK,CAAC;oBACtB,uBAAuB,EACvB,CAAC;oBACD,MAAM,CAAC,IAAI,CACT,wDAAwD,EACxD;wBACE,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,OAAO;wBACP,iBAAiB;wBACjB,iBAAiB,EAAE,IAAI,CAAC,eAAe;qBACxC,CACF,CAAC;oBAEF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACzB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACpD,CAAC;oBAED,MAAM,KAAK,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;wBACtB,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;4BAC3C,OAAO,EAAE,KAAK,CAAC,EAAE;4BACjB,aAAa;4BACb,qBAAqB;yBACtB,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IACE,KAAK,YAAY,KAAK;oBACtB,KAAK,CAAC,OAAO,KAAK,4BAA4B,EAC9C,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IACE,GAAG,GAAG,SAAS;oBACf,mBAAmB,CAAC,6BAA6B,EACjD,CAAC;oBACD,SAAS,GAAG,GAAG,CAAC;oBAChB,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;wBACzC,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,OAAO;wBACP,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,OAAiB,EACjB,OAAoC,EACpC,MAAmB;QAEnB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE;YACzD,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,QAAQ;SACtB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC;YACjC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACxB,MAAM,aAAN,MAAM,uBAAN,MAAM,EAAI,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACxC,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;oBACjC,KAAK;oBACL,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,OAAiB,EACjB,OAAoC,EACpC,MAAmB;QAEnB,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,MAAM,KAAK,GAAsB,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAClE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAElC,kDAAkD;QAClD,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;YACnD,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;SAC7C,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,2EAA2E;QAC3E,OAAO,GAAS,EAAE;;YAChB,IAAI,CAAC;gBACH,MAAA,MAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,WAAW,kDAAI,CAAC;YAC9C,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAE9B,iEAAiE;gBACjE,0DAA0D;gBAC1D,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEzB,uFAAuF;QACvF,gDAAgD;QAChD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;gBAC3C,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,2BAA2B;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc;YAAE,GAAG,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,yEAAyE;QACzE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAErC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACK,uBAAuB;;QAC7B,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAEvE,IAAI,CAAC;YACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,MAAA,GAAG,CAAC,WAAW,mDAAI,CAAC;gBACpB,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;;QACT,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,MAAA,GAAG,CAAC,WAAW,mDAAI,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,iEAAiE;YACjE,0DAA0D;YAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,sCAAsC;IAC9B,eAAe;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;IACH,CAAC;IAED,0EAA0E;IAClE,gBAAgB;QACtB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,qGAAqG;QACrG,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAM,EAAE,IAAI,CAAC,eAAe,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,IAAK,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC;QAEhE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;aAC9D,IAAI;QACH,kBAAkB;QAClB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB;aACA,SAAS,CAAC;YACT,IAAI,EAAE,GAAG,EAAE;gBACT,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gBACb,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED,gEAAgE;IACxD,KAAK,CAAC,aAAa;QACzB,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;YACrC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YAC5C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;SAC/B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,yCAAyC;QACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAElE,sDAAsD;QACtD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;gBACrD,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9B,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,SAAS,EAAE,CAAC,CAAC,SAAS;iBACvB,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,MAAM,MAAM,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC;gBAE7C,IAAI,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;oBAEzC,MAAM,aAAa,CACjB,KAAK,CAAC,QAAQ,CAAC,IAAI,CACjB,MAAM,CACJ,CAAC,GAAG,EAAE,EAAE,CACN,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;wBAClB,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM;wBACjB,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CACpB,EACD,IAAI,CAAC,CAAC,CAAC,EACP,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAC5B,CACF,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC;wBACH,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;oBAChC,CAAC;oBAAC,WAAM,CAAC;wBACP,sBAAsB;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;oBAChE,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,eAAe,EAAE,eAAe,CAAC,MAAM;iBACxC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,6EAA6E;IACrE,OAAO,CAAC,MAAc;QAC5B,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAEjC,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAEjD,8DAA8D;YAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,6EAA6E;YAC7E,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc;gBAAE,GAAG,CAAC,WAAW,EAAE,CAAC;YACzD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,4EAA4E;YAC5E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,+DAA+D;YAC/D,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE/B,8BAA8B;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE9C,6CAA6C;YAC7C,qFAAqF;YACrF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CACvC,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,MAAM,CACX,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAE/C,sBAAsB;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;;AAxrBD,0BAA0B;AACF,sDAAkC,GAAG,KAAM,AAAT,CAAU;AAC5C,mDAA+B,GAAG,CAAC,AAAJ,CAAK;AACpC,6CAAyB,GAAG,GAAG,AAAN,CAAO;AAChC,iDAA6B,GAAG,KAAM,AAAT,CAAU;AAYvC,+CAA2B,GAAG,IAAK,AAAR,CAAS"}
1
+ {"version":3,"file":"applesauce-relay-pool.js","sourceRoot":"","sources":["../../../src/relay/applesauce-relay-pool.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,22 @@ export declare class ClientEventPipeline {
22
22
  /**
23
23
  * Decrypts and verifies an inbound event, checking against the expected server pubkey.
24
24
  * Returns the inner event or null if invalid/duplicate.
25
+ *
26
+ * Deduplication is keyed on the outer event id (the gift-wrap envelope for
27
+ * encrypted events, the bare event for unencrypted events) and applied before
28
+ * any expensive decryption. Decrypted inner events are additionally
29
+ * deduplicated by their own id as defense-in-depth against the same inner
30
+ * request arriving in distinct envelopes. This mirrors the server pipeline.
25
31
  */
26
32
  unwrap(event: NostrEvent): Promise<UnwrappedClientEvent | null>;
33
+ private handleEncryptedEvent;
34
+ private handleUnencryptedEvent;
35
+ /**
36
+ * Returns true if the event's pubkey matches the expected server pubkey;
37
+ * otherwise logs and returns false. Applies to both decrypted inner events
38
+ * and unencrypted events.
39
+ */
40
+ private isFromExpectedServer;
27
41
  private isGiftWrapKindAllowed;
28
42
  }
29
43
  //# sourceMappingURL=event-pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-client/event-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AASzD,mFAAmF;AACnF,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,8EAA8E;AAC9E,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,+GAA+G;AAC/G,qBAAa,mBAAmB;IAClB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,uBAAuB;IAEjD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAiI5E,OAAO,CAAC,qBAAqB;CAS9B"}
1
+ {"version":3,"file":"event-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-client/event-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AASzD,mFAAmF;AACnF,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,8EAA8E;AAC9E,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,+GAA+G;AAC/G,qBAAa,mBAAmB;IAClB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,uBAAuB;IAEjD;;;;;;;;;OASG;IACU,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;YA8C9D,oBAAoB;IA0DlC,OAAO,CAAC,sBAAsB;IA2B9B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -10,21 +10,16 @@ export class ClientEventPipeline {
10
10
  /**
11
11
  * Decrypts and verifies an inbound event, checking against the expected server pubkey.
12
12
  * Returns the inner event or null if invalid/duplicate.
13
+ *
14
+ * Deduplication is keyed on the outer event id (the gift-wrap envelope for
15
+ * encrypted events, the bare event for unencrypted events) and applied before
16
+ * any expensive decryption. Decrypted inner events are additionally
17
+ * deduplicated by their own id as defense-in-depth against the same inner
18
+ * request arriving in distinct envelopes. This mirrors the server pipeline.
13
19
  */
14
20
  async unwrap(event) {
15
- var _a, _b, _c, _d;
21
+ var _a, _b;
16
22
  try {
17
- let nostrEvent = event;
18
- if (event.kind !== GIFT_WRAP_KIND &&
19
- event.kind !== EPHEMERAL_GIFT_WRAP_KIND) {
20
- if (this.deps.seenEventIds.has(event.id)) {
21
- this.deps.logger.debug('Skipping duplicate inbound event', {
22
- eventId: event.id,
23
- });
24
- return null;
25
- }
26
- this.deps.seenEventIds.set(event.id, true);
27
- }
28
23
  if (event.kind === GIFT_WRAP_KIND ||
29
24
  event.kind === EPHEMERAL_GIFT_WRAP_KIND) {
30
25
  if (!this.isGiftWrapKindAllowed(event.kind)) {
@@ -42,55 +37,9 @@ export class ClientEventPipeline {
42
37
  return null;
43
38
  }
44
39
  this.deps.seenEventIds.set(event.id, true);
45
- try {
46
- const decryptedContent = await withTimeout(decryptMessage(event, this.deps.signer), DEFAULT_TIMEOUT_MS, 'Decrypt message timed out');
47
- nostrEvent = JSON.parse(decryptedContent);
48
- // Verify the inner event's cryptographic signature to prevent
49
- // identity forgery. Without this check an attacker can place the
50
- // server's pubkey inside the plaintext and spoof responses. (Fixes #64)
51
- if (!verifyEvent(nostrEvent)) {
52
- this.deps.logger.error('Rejecting decrypted inner event with invalid signature', {
53
- innerEventId: nostrEvent.id,
54
- innerPubkey: nostrEvent.pubkey,
55
- outerEventId: event.id,
56
- });
57
- return null;
58
- }
59
- }
60
- catch (decryptError) {
61
- this.deps.logger.error('Failed to decrypt gift-wrapped event', {
62
- error: decryptError instanceof Error
63
- ? decryptError.message
64
- : String(decryptError),
65
- stack: decryptError instanceof Error ? decryptError.stack : undefined,
66
- eventId: event.id,
67
- pubkey: event.pubkey,
68
- });
69
- (_b = (_a = this.deps).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, decryptError instanceof Error
70
- ? decryptError
71
- : new Error('Failed to decrypt gift-wrapped event'));
72
- return null;
73
- }
40
+ return await this.handleEncryptedEvent(event);
74
41
  }
75
- if (nostrEvent.pubkey !== this.deps.serverPubkey) {
76
- this.deps.logger.debug('Skipping event from unexpected server pubkey:', {
77
- receivedPubkey: nostrEvent.pubkey,
78
- expectedPubkey: this.deps.serverPubkey,
79
- eventId: nostrEvent.id,
80
- });
81
- return null;
82
- }
83
- if (event.kind !== GIFT_WRAP_KIND &&
84
- event.kind !== EPHEMERAL_GIFT_WRAP_KIND) {
85
- if (!verifyEvent(nostrEvent)) {
86
- this.deps.logger.error('Rejecting unencrypted event with invalid signature', {
87
- eventId: nostrEvent.id,
88
- pubkey: nostrEvent.pubkey,
89
- });
90
- return null;
91
- }
92
- }
93
- return { event: nostrEvent };
42
+ return this.handleUnencryptedEvent(event);
94
43
  }
95
44
  catch (error) {
96
45
  this.deps.logger.error('Error in event pipeline unwrap (client)', {
@@ -100,12 +49,92 @@ export class ClientEventPipeline {
100
49
  pubkey: event.pubkey,
101
50
  kind: event.kind,
102
51
  });
103
- (_d = (_c = this.deps).onerror) === null || _d === void 0 ? void 0 : _d.call(_c, error instanceof Error
52
+ (_b = (_a = this.deps).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, error instanceof Error
104
53
  ? error
105
54
  : new Error('Failed to handle incoming Nostr event'));
106
55
  return null;
107
56
  }
108
57
  }
58
+ async handleEncryptedEvent(event) {
59
+ var _a, _b;
60
+ try {
61
+ const decryptedContent = await withTimeout(decryptMessage(event, this.deps.signer), DEFAULT_TIMEOUT_MS, 'Decrypt message timed out');
62
+ const nostrEvent = JSON.parse(decryptedContent);
63
+ // Verify the inner event's cryptographic signature to prevent
64
+ // identity forgery. Without this check an attacker can place the
65
+ // server's pubkey inside the plaintext and spoof responses. (Fixes #64)
66
+ if (!verifyEvent(nostrEvent)) {
67
+ this.deps.logger.error('Rejecting decrypted inner event with invalid signature', {
68
+ innerEventId: nostrEvent.id,
69
+ innerPubkey: nostrEvent.pubkey,
70
+ outerEventId: event.id,
71
+ });
72
+ return null;
73
+ }
74
+ // Deduplicate decrypted inner events before dispatch (defense-in-depth:
75
+ // the same inner request may arrive in distinct gift-wrap envelopes).
76
+ if (this.deps.seenEventIds.has(nostrEvent.id)) {
77
+ this.deps.logger.debug('Skipping duplicate decrypted inner event', {
78
+ outerEventId: event.id,
79
+ innerEventId: nostrEvent.id,
80
+ });
81
+ return null;
82
+ }
83
+ this.deps.seenEventIds.set(nostrEvent.id, true);
84
+ if (!this.isFromExpectedServer(nostrEvent))
85
+ return null;
86
+ return { event: nostrEvent };
87
+ }
88
+ catch (decryptError) {
89
+ this.deps.logger.error('Failed to decrypt gift-wrapped event', {
90
+ error: decryptError instanceof Error
91
+ ? decryptError.message
92
+ : String(decryptError),
93
+ stack: decryptError instanceof Error ? decryptError.stack : undefined,
94
+ eventId: event.id,
95
+ pubkey: event.pubkey,
96
+ });
97
+ (_b = (_a = this.deps).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, decryptError instanceof Error
98
+ ? decryptError
99
+ : new Error('Failed to decrypt gift-wrapped event'));
100
+ return null;
101
+ }
102
+ }
103
+ handleUnencryptedEvent(event) {
104
+ // Deduplicate plain inbound deliveries before dispatch.
105
+ if (this.deps.seenEventIds.has(event.id)) {
106
+ this.deps.logger.debug('Skipping duplicate inbound event', {
107
+ eventId: event.id,
108
+ });
109
+ return null;
110
+ }
111
+ this.deps.seenEventIds.set(event.id, true);
112
+ if (!this.isFromExpectedServer(event))
113
+ return null;
114
+ if (!verifyEvent(event)) {
115
+ this.deps.logger.error('Rejecting unencrypted event with invalid signature', {
116
+ eventId: event.id,
117
+ pubkey: event.pubkey,
118
+ });
119
+ return null;
120
+ }
121
+ return { event };
122
+ }
123
+ /**
124
+ * Returns true if the event's pubkey matches the expected server pubkey;
125
+ * otherwise logs and returns false. Applies to both decrypted inner events
126
+ * and unencrypted events.
127
+ */
128
+ isFromExpectedServer(event) {
129
+ if (event.pubkey === this.deps.serverPubkey)
130
+ return true;
131
+ this.deps.logger.debug('Skipping event from unexpected server pubkey:', {
132
+ receivedPubkey: event.pubkey,
133
+ expectedPubkey: this.deps.serverPubkey,
134
+ eventId: event.id,
135
+ });
136
+ return false;
137
+ }
109
138
  isGiftWrapKindAllowed(kind) {
110
139
  if (this.deps.giftWrapMode === GiftWrapMode.PERSISTENT) {
111
140
  return kind === GIFT_WRAP_KIND;
@@ -1 +1 @@
1
- {"version":3,"file":"event-pipeline.js","sourceRoot":"","sources":["../../../../src/transport/nostr-client/event-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-pipeline.js","sourceRoot":"","sources":["../../../../src/transport/nostr-client/event-pipeline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contextvm/sdk",
3
- "version": "0.12.4",
3
+ "version": "0.12.5",
4
4
  "description": "ContextVM SDK for JavaScript/TypeScript",
5
5
  "license": "LGPL-3.0-1",
6
6
  "author": "ContextVM",
@@ -104,7 +104,7 @@
104
104
  "dependencies": {
105
105
  "@contextvm/mcp-sdk": "^1.30.0",
106
106
  "@noble/hashes": "^2.2.0",
107
- "applesauce-relay": "^5.2.0",
107
+ "applesauce-relay": "^6.0.3",
108
108
  "canonicalize": "^2.1.0",
109
109
  "nostr-tools": "~2.18.2",
110
110
  "pino": "^10.3.1",