@contextvm/sdk 0.12.4 → 0.13.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 (83) hide show
  1. package/dist/esm/core/constants.d.ts +2 -0
  2. package/dist/esm/core/constants.d.ts.map +1 -1
  3. package/dist/esm/core/constants.js +2 -0
  4. package/dist/esm/core/constants.js.map +1 -1
  5. package/dist/esm/payments/authorization-store.d.ts +55 -0
  6. package/dist/esm/payments/authorization-store.d.ts.map +1 -0
  7. package/dist/esm/payments/authorization-store.js +115 -0
  8. package/dist/esm/payments/authorization-store.js.map +1 -0
  9. package/dist/esm/payments/canonical-identity.d.ts +21 -0
  10. package/dist/esm/payments/canonical-identity.d.ts.map +1 -0
  11. package/dist/esm/payments/canonical-identity.js +54 -0
  12. package/dist/esm/payments/canonical-identity.js.map +1 -0
  13. package/dist/esm/payments/client-payments.d.ts +43 -0
  14. package/dist/esm/payments/client-payments.d.ts.map +1 -1
  15. package/dist/esm/payments/client-payments.js +248 -28
  16. package/dist/esm/payments/client-payments.js.map +1 -1
  17. package/dist/esm/payments/constants.d.ts +12 -0
  18. package/dist/esm/payments/constants.d.ts.map +1 -1
  19. package/dist/esm/payments/constants.js +12 -0
  20. package/dist/esm/payments/constants.js.map +1 -1
  21. package/dist/esm/payments/server-explicit-gating.d.ts +13 -0
  22. package/dist/esm/payments/server-explicit-gating.d.ts.map +1 -0
  23. package/dist/esm/payments/server-explicit-gating.js +189 -0
  24. package/dist/esm/payments/server-explicit-gating.js.map +1 -0
  25. package/dist/esm/payments/server-payments-utils.d.ts +39 -0
  26. package/dist/esm/payments/server-payments-utils.d.ts.map +1 -0
  27. package/dist/esm/payments/server-payments-utils.js +117 -0
  28. package/dist/esm/payments/server-payments-utils.js.map +1 -0
  29. package/dist/esm/payments/server-payments.d.ts +10 -1
  30. package/dist/esm/payments/server-payments.d.ts.map +1 -1
  31. package/dist/esm/payments/server-payments.js +74 -150
  32. package/dist/esm/payments/server-payments.js.map +1 -1
  33. package/dist/esm/payments/server-transport-payments.d.ts +6 -0
  34. package/dist/esm/payments/server-transport-payments.d.ts.map +1 -1
  35. package/dist/esm/payments/server-transport-payments.js +46 -3
  36. package/dist/esm/payments/server-transport-payments.js.map +1 -1
  37. package/dist/esm/payments/types.d.ts +77 -9
  38. package/dist/esm/payments/types.d.ts.map +1 -1
  39. package/dist/esm/payments/types.js.map +1 -1
  40. package/dist/esm/relay/applesauce-relay-pool.d.ts.map +1 -1
  41. package/dist/esm/relay/applesauce-relay-pool.js +22 -9
  42. package/dist/esm/relay/applesauce-relay-pool.js.map +1 -1
  43. package/dist/esm/transport/capability-negotiator.d.ts +17 -2
  44. package/dist/esm/transport/capability-negotiator.d.ts.map +1 -1
  45. package/dist/esm/transport/capability-negotiator.js +27 -2
  46. package/dist/esm/transport/capability-negotiator.js.map +1 -1
  47. package/dist/esm/transport/middleware.d.ts +8 -0
  48. package/dist/esm/transport/middleware.d.ts.map +1 -1
  49. package/dist/esm/transport/nostr-client/event-pipeline.d.ts +14 -0
  50. package/dist/esm/transport/nostr-client/event-pipeline.d.ts.map +1 -1
  51. package/dist/esm/transport/nostr-client/event-pipeline.js +90 -61
  52. package/dist/esm/transport/nostr-client/event-pipeline.js.map +1 -1
  53. package/dist/esm/transport/nostr-client/inbound-coordinator.d.ts +1 -1
  54. package/dist/esm/transport/nostr-client/inbound-coordinator.d.ts.map +1 -1
  55. package/dist/esm/transport/nostr-client/inbound-coordinator.js +16 -1
  56. package/dist/esm/transport/nostr-client/inbound-coordinator.js.map +1 -1
  57. package/dist/esm/transport/nostr-client/outbound-sender.d.ts.map +1 -1
  58. package/dist/esm/transport/nostr-client/outbound-sender.js +2 -2
  59. package/dist/esm/transport/nostr-client/outbound-sender.js.map +1 -1
  60. package/dist/esm/transport/nostr-client/server-metadata-store.d.ts +4 -0
  61. package/dist/esm/transport/nostr-client/server-metadata-store.d.ts.map +1 -1
  62. package/dist/esm/transport/nostr-client/server-metadata-store.js +7 -0
  63. package/dist/esm/transport/nostr-client/server-metadata-store.js.map +1 -1
  64. package/dist/esm/transport/nostr-client-transport.d.ts +9 -0
  65. package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
  66. package/dist/esm/transport/nostr-client-transport.js +19 -3
  67. package/dist/esm/transport/nostr-client-transport.js.map +1 -1
  68. package/dist/esm/transport/nostr-server/inbound-coordinator.d.ts +3 -0
  69. package/dist/esm/transport/nostr-server/inbound-coordinator.d.ts.map +1 -1
  70. package/dist/esm/transport/nostr-server/inbound-coordinator.js +58 -3
  71. package/dist/esm/transport/nostr-server/inbound-coordinator.js.map +1 -1
  72. package/dist/esm/transport/nostr-server/outbound-response-router.d.ts +7 -0
  73. package/dist/esm/transport/nostr-server/outbound-response-router.d.ts.map +1 -1
  74. package/dist/esm/transport/nostr-server/outbound-response-router.js +43 -1
  75. package/dist/esm/transport/nostr-server/outbound-response-router.js.map +1 -1
  76. package/dist/esm/transport/nostr-server/session-store.d.ts +7 -0
  77. package/dist/esm/transport/nostr-server/session-store.d.ts.map +1 -1
  78. package/dist/esm/transport/nostr-server/session-store.js.map +1 -1
  79. package/dist/esm/transport/nostr-server-transport.d.ts +16 -1
  80. package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
  81. package/dist/esm/transport/nostr-server-transport.js +18 -0
  82. package/dist/esm/transport/nostr-server-transport.js.map +1 -1
  83. package/package.json +2 -2
@@ -1,8 +1,9 @@
1
- import { isJsonRpcRequest, } from './types.js';
1
+ import { isJsonRpcRequest } from './types.js';
2
2
  import { LruCache } from '../core/utils/lru-cache.js';
3
3
  import { withTimeout } from '../core/utils/utils.js';
4
4
  import { createLogger } from '../core/utils/logger.js';
5
5
  import { DEFAULT_PAYMENT_TTL_MS, PAYMENT_ACCEPTED_METHOD, PAYMENT_REJECTED_METHOD, PAYMENT_REQUIRED_METHOD, } from './constants.js';
6
+ import { buildProcessorsByPmi, matchPricedCapability, resolveAndInitiatePayment, } from './server-payments-utils.js';
6
7
  function purgeExpiredPending(params) {
7
8
  let checked = 0;
8
9
  for (const [key, value] of params.pending.entries()) {
@@ -15,46 +16,6 @@ function purgeExpiredPending(params) {
15
16
  }
16
17
  }
17
18
  }
18
- function getVerificationTimeoutMs(params) {
19
- // CEP-8 TTL is in seconds. If TTL is absent, default is 5 minutes.
20
- const ttlSeconds = params.ttlSeconds;
21
- if (ttlSeconds === undefined) {
22
- return 5 * 60 * 1000;
23
- }
24
- if (!Number.isFinite(ttlSeconds) || ttlSeconds <= 0) {
25
- return 5 * 60 * 1000;
26
- }
27
- return Math.floor(ttlSeconds * 1000);
28
- }
29
- function matchPricedCapability(message, priced) {
30
- const capabilityName = getCapabilityNameForPricing(message);
31
- return priced.find((p) => {
32
- if (p.method !== message.method)
33
- return false;
34
- if (p.name === undefined)
35
- return true;
36
- return p.name === capabilityName;
37
- });
38
- }
39
- function getCapabilityNameForPricing(message) {
40
- const params = message.params;
41
- switch (message.method) {
42
- case 'tools/call': {
43
- const name = params === null || params === void 0 ? void 0 : params.name;
44
- return typeof name === 'string' ? name : undefined;
45
- }
46
- case 'prompts/get': {
47
- const name = params === null || params === void 0 ? void 0 : params.name;
48
- return typeof name === 'string' ? name : undefined;
49
- }
50
- case 'resources/read': {
51
- const uri = params === null || params === void 0 ? void 0 : params.uri;
52
- return typeof uri === 'string' ? uri : undefined;
53
- }
54
- default:
55
- return undefined;
56
- }
57
- }
58
19
  function createPaymentRequiredNotification(params) {
59
20
  return {
60
21
  jsonrpc: '2.0',
@@ -76,38 +37,27 @@ function createPaymentRejectedNotification(params) {
76
37
  params,
77
38
  };
78
39
  }
79
- function isResolvePriceRejection(quote) {
80
- return 'reject' in quote && quote.reject;
81
- }
82
- function isResolvePriceWaiver(quote) {
83
- return 'waive' in quote && quote.waive;
84
- }
85
40
  /**
86
41
  * Creates a server-side middleware that gates priced requests until payment is verified.
87
42
  */
88
43
  export function createServerPaymentsMiddleware(params) {
89
- var _a, _b;
44
+ var _a, _b, _c;
90
45
  const { sender, options } = params;
91
46
  const logger = createLogger('server-payments');
92
- const processorsByPmi = new Map(options.processors.map((p) => [p.pmi, p]));
93
- // Warn on duplicate PMI processors Map construction silently keeps only the last.
94
- const seenProcessorPmis = new Set();
95
- for (const p of options.processors) {
96
- if (seenProcessorPmis.has(p.pmi)) {
97
- logger.warn('duplicate PMI processor registered, last one wins', {
98
- pmi: p.pmi,
99
- });
100
- }
101
- seenProcessorPmis.add(p.pmi);
102
- }
103
- const paymentTtlMs = (_a = options.paymentTtlMs) !== null && _a !== void 0 ? _a : DEFAULT_PAYMENT_TTL_MS;
104
- const pending = new LruCache((_b = options.maxPendingPayments) !== null && _b !== void 0 ? _b : 1000);
47
+ const processorsByPmi = (_a = params.processorsByPmi) !== null && _a !== void 0 ? _a : buildProcessorsByPmi(options.processors, logger);
48
+ const paymentTtlMs = (_b = options.paymentTtlMs) !== null && _b !== void 0 ? _b : DEFAULT_PAYMENT_TTL_MS;
49
+ const pending = new LruCache((_c = options.maxPendingPayments) !== null && _c !== void 0 ? _c : 1000);
105
50
  return async (message, ctx, forward) => {
106
51
  // Only gate requests. Never interfere with notifications.
107
52
  if (!isJsonRpcRequest(message)) {
108
53
  await forward(message);
109
54
  return;
110
55
  }
56
+ if (ctx.paymentInteraction !== undefined &&
57
+ ctx.paymentInteraction !== 'transparent') {
58
+ await forward(message);
59
+ return;
60
+ }
111
61
  const priced = matchPricedCapability(message, options.pricedCapabilities);
112
62
  if (!priced) {
113
63
  await forward(message);
@@ -135,111 +85,85 @@ export function createServerPaymentsMiddleware(params) {
135
85
  }
136
86
  // IMPORTANT: set pending state synchronously before any await to make idempotency atomic.
137
87
  const inFlight = (async () => {
138
- var _a, _b;
139
- const clientPmis = ctx.clientPmis;
140
- const chosenPmi = clientPmis
141
- ? clientPmis.find((pmi) => processorsByPmi.has(pmi))
142
- : undefined;
143
- const chosenProcessor = chosenPmi
144
- ? processorsByPmi.get(chosenPmi)
145
- : options.processors[0];
146
- if (!chosenProcessor) {
147
- throw new Error('No payment processors configured');
148
- }
149
- const processor = chosenProcessor;
150
- const quote = options.resolvePrice
151
- ? await options.resolvePrice({
152
- capability: priced,
153
- request: message,
154
- clientPubkey: ctx.clientPubkey,
155
- requestEventId,
156
- })
157
- : { amount: priced.amount, description: priced.description };
88
+ const initResult = await resolveAndInitiatePayment({
89
+ message,
90
+ priced,
91
+ requestEventId,
92
+ clientPubkey: ctx.clientPubkey,
93
+ clientPmis: ctx.clientPmis,
94
+ options,
95
+ processorsByPmi,
96
+ });
158
97
  // Handle rejection: emit payment_rejected and do not forward.
159
- if (isResolvePriceRejection(quote)) {
98
+ if (initResult.kind === 'rejected') {
160
99
  logger.info('payment rejected', {
161
100
  requestEventId,
162
- pmi: processor.pmi,
101
+ pmi: initResult.pmi,
163
102
  amount: priced.amount,
164
- reason: quote.message,
103
+ reason: initResult.message,
165
104
  });
166
105
  const rejectedNotification = createPaymentRejectedNotification({
167
- pmi: processor.pmi,
106
+ pmi: initResult.pmi,
168
107
  amount: priced.amount,
169
- message: quote.message,
108
+ message: initResult.message,
170
109
  });
171
110
  await sender.sendNotification(ctx.clientPubkey, rejectedNotification, requestEventId);
111
+ return;
172
112
  }
173
- else if (isResolvePriceWaiver(quote)) {
113
+ if (initResult.kind === 'waived') {
174
114
  logger.debug('payment waived, forwarding priced request', {
175
115
  requestEventId,
176
116
  method: message.method,
177
117
  });
178
118
  await forward(message);
119
+ return;
179
120
  }
180
- else {
181
- const resolvedQuote = quote;
182
- const paymentRequired = await processor.createPaymentRequired({
183
- amount: resolvedQuote.amount,
184
- description: resolvedQuote.description,
185
- requestEventId,
186
- clientPubkey: ctx.clientPubkey,
187
- });
188
- const mergedMeta = resolvedQuote.meta === undefined &&
189
- paymentRequired._meta === undefined
190
- ? undefined
191
- : {
192
- ...((_a = paymentRequired._meta) !== null && _a !== void 0 ? _a : {}),
193
- ...((_b = resolvedQuote.meta) !== null && _b !== void 0 ? _b : {}),
194
- };
195
- const requiredNotification = createPaymentRequiredNotification({
196
- amount: paymentRequired.amount,
197
- pay_req: paymentRequired.pay_req,
198
- pmi: paymentRequired.pmi,
199
- description: paymentRequired.description,
200
- ttl: paymentRequired.ttl,
201
- _meta: mergedMeta,
202
- });
203
- logger.info('payment required notification sent', {
204
- requestEventId,
205
- pmi: paymentRequired.pmi,
206
- amount: paymentRequired.amount,
207
- ttl: paymentRequired.ttl,
208
- });
209
- await sender.sendNotification(ctx.clientPubkey, requiredNotification, requestEventId);
210
- const verifyTimeoutMs = getVerificationTimeoutMs({
211
- ttlSeconds: paymentRequired.ttl,
212
- });
213
- const effectiveTimeoutMs = Math.min(verifyTimeoutMs, paymentTtlMs);
214
- logger.debug('verifying payment', {
215
- requestEventId,
216
- pmi: paymentRequired.pmi,
217
- timeoutMs: effectiveTimeoutMs,
218
- });
219
- const controller = new AbortController();
220
- const verified = await withTimeout(processor.verifyPayment({
221
- pay_req: paymentRequired.pay_req,
222
- requestEventId,
223
- clientPubkey: ctx.clientPubkey,
224
- abortSignal: controller.signal,
225
- }), effectiveTimeoutMs, 'verifyPayment timed out').finally(() => controller.abort());
226
- logger.info('payment accepted', {
227
- requestEventId,
228
- pmi: paymentRequired.pmi,
229
- amount: paymentRequired.amount,
230
- });
231
- const acceptedNotification = createPaymentAcceptedNotification({
232
- amount: paymentRequired.amount,
233
- pmi: paymentRequired.pmi,
234
- _meta: verified._meta,
235
- });
236
- await sender.sendNotification(ctx.clientPubkey, acceptedNotification, requestEventId);
237
- logger.debug('forwarding priced request after payment', {
238
- requestEventId,
239
- method: message.method,
240
- });
241
- await forward(message);
242
- }
121
+ const { paymentRequired, mergedMeta, processor, verifyTimeoutMs } = initResult;
122
+ const requiredNotification = createPaymentRequiredNotification({
123
+ amount: paymentRequired.amount,
124
+ pay_req: paymentRequired.pay_req,
125
+ pmi: paymentRequired.pmi,
126
+ description: paymentRequired.description,
127
+ ttl: paymentRequired.ttl,
128
+ _meta: mergedMeta,
129
+ });
130
+ logger.info('payment required notification sent', {
131
+ requestEventId,
132
+ pmi: paymentRequired.pmi,
133
+ amount: paymentRequired.amount,
134
+ ttl: paymentRequired.ttl,
135
+ });
136
+ await sender.sendNotification(ctx.clientPubkey, requiredNotification, requestEventId);
137
+ // Use the strict verification timeout bound for polling
138
+ const pollingTimeoutMs = Math.min(verifyTimeoutMs, paymentTtlMs);
139
+ logger.debug('verifying payment', {
140
+ requestEventId,
141
+ pmi: paymentRequired.pmi,
142
+ timeoutMs: pollingTimeoutMs,
143
+ });
144
+ const controller = new AbortController();
145
+ const verified = await withTimeout(processor.verifyPayment({
146
+ pay_req: paymentRequired.pay_req,
147
+ requestEventId,
148
+ clientPubkey: ctx.clientPubkey,
149
+ abortSignal: controller.signal,
150
+ }), pollingTimeoutMs, 'verifyPayment timed out').finally(() => controller.abort());
151
+ logger.info('payment accepted', {
152
+ requestEventId,
153
+ pmi: paymentRequired.pmi,
154
+ amount: paymentRequired.amount,
155
+ });
156
+ const acceptedNotification = createPaymentAcceptedNotification({
157
+ amount: paymentRequired.amount,
158
+ pmi: paymentRequired.pmi,
159
+ _meta: verified._meta,
160
+ });
161
+ await sender.sendNotification(ctx.clientPubkey, acceptedNotification, requestEventId);
162
+ logger.debug('forwarding priced request after payment', {
163
+ requestEventId,
164
+ method: message.method,
165
+ });
166
+ await forward(message);
243
167
  })();
244
168
  const state = {
245
169
  expiresAtMs: now + paymentTtlMs,
@@ -1 +1 @@
1
- {"version":3,"file":"server-payments.js","sourceRoot":"","sources":["../../../src/payments/server-payments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-payments.js","sourceRoot":"","sources":["../../../src/payments/server-payments.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,12 @@ import type { NostrServerTransport } from '../transport/nostr-server-transport.j
2
2
  import type { ServerPaymentsOptions } from './server-payments.js';
3
3
  /**
4
4
  * Attaches CEP-8 payments gating to a NostrServerTransport.
5
+ *
6
+ * By default the server uses the `optional` policy: it advertises
7
+ * `explicit_gating` support and mirrors each client's requested lifecycle, so a
8
+ * client that requests `explicit_gating` is gated while transparent clients keep
9
+ * the notification-based flow. Pass `paymentInteraction: 'transparent'` for a
10
+ * transparent-only server.
5
11
  */
6
12
  export declare function withServerPayments(transport: NostrServerTransport, options: ServerPaymentsOptions): NostrServerTransport;
7
13
  //# sourceMappingURL=server-transport-payments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-transport-payments.d.ts","sourceRoot":"","sources":["../../../src/payments/server-transport-payments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAKlE;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,CAatB"}
1
+ {"version":3,"file":"server-transport-payments.d.ts","sourceRoot":"","sources":["../../../src/payments/server-transport-payments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAUlE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,CA0DtB"}
@@ -1,14 +1,57 @@
1
1
  import { createCapTagsFromPricedCapabilities } from './cap-tags.js';
2
2
  import { createPmiTagsFromProcessors } from './pmi-tags.js';
3
3
  import { createServerPaymentsMiddleware } from './server-payments.js';
4
+ import { createExplicitGatingMiddleware } from './server-explicit-gating.js';
5
+ import { AuthorizationStore } from './authorization-store.js';
6
+ import { buildProcessorsByPmi } from './server-payments-utils.js';
7
+ import { createLogger } from '../core/utils/logger.js';
8
+ import { NOSTR_TAGS } from '../core/constants.js';
4
9
  /**
5
10
  * Attaches CEP-8 payments gating to a NostrServerTransport.
11
+ *
12
+ * By default the server uses the `optional` policy: it advertises
13
+ * `explicit_gating` support and mirrors each client's requested lifecycle, so a
14
+ * client that requests `explicit_gating` is gated while transparent clients keep
15
+ * the notification-based flow. Pass `paymentInteraction: 'transparent'` for a
16
+ * transparent-only server.
6
17
  */
7
18
  export function withServerPayments(transport, options) {
8
- // CEP-8 discovery tags: advertise supported PMIs + reference pricing on announcement/list events.
9
- transport.setAnnouncementExtraTags(createPmiTagsFromProcessors(options.processors));
19
+ var _a;
20
+ // Build the PMI → processor map once and share it across both middlewares.
21
+ const processorsByPmi = buildProcessorsByPmi(options.processors, createLogger('server-payments'));
22
+ const policy = (_a = options.paymentInteraction) !== null && _a !== void 0 ? _a : 'optional';
23
+ const supportsExplicitGating = policy === 'optional';
24
+ // CEP-8 discovery tags: advertise supported PMIs + reference pricing on
25
+ // announcement/list events. When explicit gating is supported, also advertise
26
+ // it as an available opt-in mode (availability, not effective session mode).
27
+ const extraTags = createPmiTagsFromProcessors(options.processors);
28
+ if (supportsExplicitGating) {
29
+ extraTags.push([NOSTR_TAGS.PAYMENT_INTERACTION, 'explicit_gating']);
30
+ }
31
+ transport.setAnnouncementExtraTags(extraTags);
10
32
  transport.setAnnouncementPricingTags(createCapTagsFromPricedCapabilities(options.pricedCapabilities));
11
- transport.addInboundMiddleware(createServerPaymentsMiddleware({ sender: transport, options }));
33
+ // Expose the configured policy to the transport coordinator so it can accept
34
+ // or reject per-session `payment_interaction` requests.
35
+ transport.setSupportedPaymentInteraction(policy);
36
+ transport.addInboundMiddleware(createServerPaymentsMiddleware({
37
+ sender: transport,
38
+ options,
39
+ processorsByPmi,
40
+ }));
41
+ // The transparent middleware self-gates on the per-session effective mode, so
42
+ // it is safe to register the explicit-gating middleware alongside it. Each
43
+ // request is routed to exactly one lifecycle based on the negotiated mode.
44
+ if (supportsExplicitGating) {
45
+ const authorizationStore = new AuthorizationStore({});
46
+ transport.addInboundMiddleware(createExplicitGatingMiddleware({
47
+ options,
48
+ authorizationStore,
49
+ sendResponse: async (clientPubkey, response, requestEventId) => {
50
+ await transport.sendTargetedResponse(clientPubkey, response, requestEventId);
51
+ },
52
+ processorsByPmi,
53
+ }));
54
+ }
12
55
  return transport;
13
56
  }
14
57
  //# sourceMappingURL=server-transport-payments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-transport-payments.js","sourceRoot":"","sources":["../../../src/payments/server-transport-payments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA+B,EAC/B,OAA8B;IAE9B,kGAAkG;IAClG,SAAS,CAAC,wBAAwB,CAChC,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,CAChD,CAAC;IACF,SAAS,CAAC,0BAA0B,CAClC,mCAAmC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAChE,CAAC;IAEF,SAAS,CAAC,oBAAoB,CAC5B,8BAA8B,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAC/D,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"server-transport-payments.js","sourceRoot":"","sources":["../../../src/payments/server-transport-payments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA+B,EAC/B,OAA8B;;IAE9B,2EAA2E;IAC3E,MAAM,eAAe,GAAG,oBAAoB,CAC1C,OAAO,CAAC,UAAU,EAClB,YAAY,CAAC,iBAAiB,CAAC,CAChC,CAAC;IAEF,MAAM,MAAM,GACV,MAAA,OAAO,CAAC,kBAAkB,mCAAI,UAAU,CAAC;IAC3C,MAAM,sBAAsB,GAAG,MAAM,KAAK,UAAU,CAAC;IAErD,wEAAwE;IACxE,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,SAAS,GAAe,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE9E,IAAI,sBAAsB,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC9C,SAAS,CAAC,0BAA0B,CAClC,mCAAmC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAChE,CAAC;IAEF,6EAA6E;IAC7E,wDAAwD;IACxD,SAAS,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAEjD,SAAS,CAAC,oBAAoB,CAC5B,8BAA8B,CAAC;QAC7B,MAAM,EAAE,SAAS;QACjB,OAAO;QACP,eAAe;KAChB,CAAC,CACH,CAAC;IAEF,8EAA8E;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACtD,SAAS,CAAC,oBAAoB,CAC5B,8BAA8B,CAAC;YAC7B,OAAO;YACP,kBAAkB;YAClB,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;gBAC7D,MAAM,SAAS,CAAC,oBAAoB,CAClC,YAAY,EACZ,QAAQ,EACR,cAAc,CACf,CAAC;YACJ,CAAC;YACD,eAAe;SAChB,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -50,6 +50,66 @@ export type PaymentRequiredNotification = JSONRPCNotification & {
50
50
  _meta?: Record<string, unknown>;
51
51
  };
52
52
  };
53
+ /**
54
+ * CEP-8 payment interaction modes.
55
+ *
56
+ * These are the wire/session-level modes negotiated via the `payment_interaction`
57
+ * tag: `transparent` (default) and `explicit_gating` (opt-in).
58
+ */
59
+ export type PaymentInteractionMode = 'transparent' | 'explicit_gating';
60
+ /**
61
+ * Server-side policy for which payment interaction lifecycles it accepts.
62
+ *
63
+ * This is a server configuration concern, distinct from the wire-level
64
+ * {@link PaymentInteractionMode}. It mirrors the OPTIONAL policy used for
65
+ * encryption and gift wrapping, where the peer's chosen mode is mirrored rather
66
+ * than forced.
67
+ *
68
+ * - `optional`: Accept both lifecycles and mirror the client's requested mode
69
+ * for the session (the default). A client that requests `explicit_gating`
70
+ * gets it; a client that omits the tag or requests `transparent` stays on the
71
+ * transparent lifecycle.
72
+ * - `transparent`: Transparent-only. Reject `explicit_gating` requests with a
73
+ * `-32602` negotiation error per CEP-8 effective-mode disclosure.
74
+ */
75
+ export type PaymentInteractionPolicy = 'optional' | 'transparent';
76
+ /** A single payment option inside a -32042 error.data.payment_options entry. */
77
+ export interface PaymentOption {
78
+ amount: number;
79
+ pmi: string;
80
+ pay_req: string;
81
+ description?: string;
82
+ ttl?: number;
83
+ _meta?: Record<string, unknown>;
84
+ }
85
+ /** Shape of error.data for -32042 Payment Required. */
86
+ export interface PaymentRequiredErrorData {
87
+ instructions?: string;
88
+ payment_options: PaymentOption[];
89
+ }
90
+ /** Shape of error.data for -32043 Payment Pending. */
91
+ export interface PaymentPendingErrorData {
92
+ instructions?: string;
93
+ retry_after?: number;
94
+ }
95
+ /** Nostr `payment_interaction` tag as defined by CEP-8. */
96
+ export type PaymentInteractionTag = [
97
+ 'payment_interaction',
98
+ PaymentInteractionMode
99
+ ];
100
+ /**
101
+ * Canonical invocation identity for explicit-gating authorization matching.
102
+ *
103
+ * `invocationHash` is SHA-256 over JCS({method, params}). This means `params` MUST be
104
+ * deterministic — no timestamps, UUIDs, or ephemeral IDs that change across retries.
105
+ * Clients MUST preserve the exact original `params` object when retrying after payment
106
+ * so the retry computes the same `invocationHash` and matches the paid authorization.
107
+ */
108
+ export interface CanonicalInvocationIdentity {
109
+ clientPubkey: string;
110
+ /** Hex-encoded SHA-256 of JCS({method, params}). */
111
+ invocationHash: string;
112
+ }
53
113
  /** A CEP-8 payment-accepted notification (JSON-RPC notification). */
54
114
  export type PaymentAcceptedNotification = JSONRPCNotification & {
55
115
  method: 'notifications/payment_accepted';
@@ -165,6 +225,18 @@ export type ResolvePriceFn = (params: {
165
225
  clientPubkey: string;
166
226
  requestEventId: string;
167
227
  }) => Promise<ResolvePriceResult>;
228
+ /**
229
+ * The structure returned by a PaymentProcessor when a new payment is issued.
230
+ */
231
+ export interface PaymentRequired {
232
+ amount: number;
233
+ pay_req: string;
234
+ description?: string;
235
+ pmi: string;
236
+ /** Time-to-live in seconds (CEP-8). */
237
+ ttl?: number;
238
+ _meta?: Record<string, unknown>;
239
+ }
168
240
  /**
169
241
  * Server-side module that can issue and verify payments for a single PMI.
170
242
  */
@@ -172,15 +244,7 @@ export interface PaymentProcessor {
172
244
  /** The PMI this processor can issue/verify */
173
245
  readonly pmi: string;
174
246
  /** Create a payment request for a specific capability invocation */
175
- createPaymentRequired(params: PaymentProcessorCreateParams): Promise<{
176
- amount: number;
177
- pay_req: string;
178
- description?: string;
179
- pmi: string;
180
- /** Time-to-live in seconds (CEP-8). */
181
- ttl?: number;
182
- _meta?: Record<string, unknown>;
183
- }>;
247
+ createPaymentRequired(params: PaymentProcessorCreateParams): Promise<PaymentRequired>;
184
248
  /** Wait for and/or verify settlement for a previously issued pay_req */
185
249
  verifyPayment(params: PaymentProcessorVerifyParams): Promise<{
186
250
  _meta?: Record<string, unknown>;
@@ -195,6 +259,10 @@ export interface ServerPaymentsContext {
195
259
  * Source: Nostr event tags (e.g. multiple `['pmi', '<pmi>']`).
196
260
  */
197
261
  clientPmis?: readonly string[];
262
+ /**
263
+ * The negotiated payment interaction mode for the session.
264
+ */
265
+ paymentInteraction?: PaymentInteractionMode;
198
266
  }
199
267
  /**
200
268
  * Minimal capability required by server-side payments to emit CEP-8 correlated notifications.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"AAsJA;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAA8B;IACvD,OAAO;QACL,KAAK,EAAE,IAAI;QACX,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,OAAkE;IAElE,OAAO;QACL,MAAM;QACN,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAK,SAAS,IAAI;YACxC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;QACF,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAiFD,MAAM,UAAU,gBAAgB,CAC9B,OAAuB;IAEvB,OAAO,CACJ,OAA0B,CAAC,MAAM,KAAK,SAAS;QAC/C,OAA0B,CAAC,EAAE,KAAK,SAAS,CAC7C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"AAyNA;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAA8B;IACvD,OAAO;QACL,KAAK,EAAE,IAAI;QACX,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,OAAkE;IAElE,OAAO;QACL,MAAM;QACN,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAK,SAAS,IAAI;YACxC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;QACF,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AA6FD,MAAM,UAAU,gBAAgB,CAC9B,OAAuB;IAEvB,OAAO,CACJ,OAA0B,CAAC,MAAM,KAAK,SAAS;QAC/C,OAA0B,CAAC,EAAE,KAAK,SAAS,CAC7C,CAAC;AACJ,CAAC"}
@@ -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":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAqBrD,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,MAGzB,CAAC;AAeF,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,IAAI,CACjB,YAAY,EACZ,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,CAC7D,CAAC;IACF,kEAAkE;IAClE,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;IACtE,OAAO,CAAC,eAAe,CAAK;IAG5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAU;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAK;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAU;IAG/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAG7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAA6C;IAC3E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8C;IAE7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAS;IAE5D,OAAO,CAAC,uBAAuB;IA8B/B,OAAO,CAAC,gBAAgB,CAAC,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAe;IAE7B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;YACW,gBAAgB;IAwF9B,OAAO,CAAC,WAAW;IA+CnB;;;;OAIG;gBACS,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,0BAA0B;IAoBlE;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;;OAGG;IACG,OAAO,CACX,KAAK,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IAwHhB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IA8C1B;;;;;OAKG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,MAAM,IAAI,CAAC;IA6BtB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,WAAW,IAAI,IAAI;IAgBnB;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB,sCAAsC;IACtC,OAAO,CAAC,eAAe;IAOvB,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB;IA2BxB,gEAAgE;YAClD,aAAa;IAgF3B,6EAA6E;IAC7E,OAAO,CAAC,OAAO;CA4ChB"}
@@ -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');