@contextvm/sdk 0.12.5 → 0.13.1

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 (80) 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 +20 -0
  10. package/dist/esm/payments/canonical-identity.d.ts.map +1 -0
  11. package/dist/esm/payments/canonical-identity.js +59 -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 +75 -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 +11 -9
  41. package/dist/esm/relay/applesauce-relay-pool.d.ts.map +1 -1
  42. package/dist/esm/relay/applesauce-relay-pool.js +21 -82
  43. package/dist/esm/relay/applesauce-relay-pool.js.map +1 -1
  44. package/dist/esm/transport/capability-negotiator.d.ts +17 -2
  45. package/dist/esm/transport/capability-negotiator.d.ts.map +1 -1
  46. package/dist/esm/transport/capability-negotiator.js +27 -2
  47. package/dist/esm/transport/capability-negotiator.js.map +1 -1
  48. package/dist/esm/transport/middleware.d.ts +8 -0
  49. package/dist/esm/transport/middleware.d.ts.map +1 -1
  50. package/dist/esm/transport/nostr-client/inbound-coordinator.d.ts +1 -1
  51. package/dist/esm/transport/nostr-client/inbound-coordinator.d.ts.map +1 -1
  52. package/dist/esm/transport/nostr-client/inbound-coordinator.js +16 -1
  53. package/dist/esm/transport/nostr-client/inbound-coordinator.js.map +1 -1
  54. package/dist/esm/transport/nostr-client/outbound-sender.d.ts.map +1 -1
  55. package/dist/esm/transport/nostr-client/outbound-sender.js +2 -2
  56. package/dist/esm/transport/nostr-client/outbound-sender.js.map +1 -1
  57. package/dist/esm/transport/nostr-client/server-metadata-store.d.ts +4 -0
  58. package/dist/esm/transport/nostr-client/server-metadata-store.d.ts.map +1 -1
  59. package/dist/esm/transport/nostr-client/server-metadata-store.js +7 -0
  60. package/dist/esm/transport/nostr-client/server-metadata-store.js.map +1 -1
  61. package/dist/esm/transport/nostr-client-transport.d.ts +9 -0
  62. package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
  63. package/dist/esm/transport/nostr-client-transport.js +19 -3
  64. package/dist/esm/transport/nostr-client-transport.js.map +1 -1
  65. package/dist/esm/transport/nostr-server/inbound-coordinator.d.ts +3 -0
  66. package/dist/esm/transport/nostr-server/inbound-coordinator.d.ts.map +1 -1
  67. package/dist/esm/transport/nostr-server/inbound-coordinator.js +58 -3
  68. package/dist/esm/transport/nostr-server/inbound-coordinator.js.map +1 -1
  69. package/dist/esm/transport/nostr-server/outbound-response-router.d.ts +7 -0
  70. package/dist/esm/transport/nostr-server/outbound-response-router.d.ts.map +1 -1
  71. package/dist/esm/transport/nostr-server/outbound-response-router.js +43 -1
  72. package/dist/esm/transport/nostr-server/outbound-response-router.js.map +1 -1
  73. package/dist/esm/transport/nostr-server/session-store.d.ts +7 -0
  74. package/dist/esm/transport/nostr-server/session-store.d.ts.map +1 -1
  75. package/dist/esm/transport/nostr-server/session-store.js.map +1 -1
  76. package/dist/esm/transport/nostr-server-transport.d.ts +16 -1
  77. package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
  78. package/dist/esm/transport/nostr-server-transport.js +18 -0
  79. package/dist/esm/transport/nostr-server-transport.js.map +1 -1
  80. 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,64 @@ 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
+ * `invocationHash` excludes `params._meta`, so retries with regenerated
103
+ * transport metadata (e.g. progressToken) still match a paid authorization;
104
+ * only the semantic `method` and params must be preserved when retrying.
105
+ */
106
+ export interface CanonicalInvocationIdentity {
107
+ clientPubkey: string;
108
+ /** Hex-encoded SHA-256 of JCS({method, params}) with `params._meta` excluded. */
109
+ invocationHash: string;
110
+ }
53
111
  /** A CEP-8 payment-accepted notification (JSON-RPC notification). */
54
112
  export type PaymentAcceptedNotification = JSONRPCNotification & {
55
113
  method: 'notifications/payment_accepted';
@@ -165,6 +223,18 @@ export type ResolvePriceFn = (params: {
165
223
  clientPubkey: string;
166
224
  requestEventId: string;
167
225
  }) => Promise<ResolvePriceResult>;
226
+ /**
227
+ * The structure returned by a PaymentProcessor when a new payment is issued.
228
+ */
229
+ export interface PaymentRequired {
230
+ amount: number;
231
+ pay_req: string;
232
+ description?: string;
233
+ pmi: string;
234
+ /** Time-to-live in seconds (CEP-8). */
235
+ ttl?: number;
236
+ _meta?: Record<string, unknown>;
237
+ }
168
238
  /**
169
239
  * Server-side module that can issue and verify payments for a single PMI.
170
240
  */
@@ -172,15 +242,7 @@ export interface PaymentProcessor {
172
242
  /** The PMI this processor can issue/verify */
173
243
  readonly pmi: string;
174
244
  /** 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
- }>;
245
+ createPaymentRequired(params: PaymentProcessorCreateParams): Promise<PaymentRequired>;
184
246
  /** Wait for and/or verify settlement for a previously issued pay_req */
185
247
  verifyPayment(params: PaymentProcessorVerifyParams): Promise<{
186
248
  _meta?: Record<string, unknown>;
@@ -195,6 +257,10 @@ export interface ServerPaymentsContext {
195
257
  * Source: Nostr event tags (e.g. multiple `['pmi', '<pmi>']`).
196
258
  */
197
259
  clientPmis?: readonly string[];
260
+ /**
261
+ * The negotiated payment interaction mode for the session.
262
+ */
263
+ paymentInteraction?: PaymentInteractionMode;
198
264
  }
199
265
  /**
200
266
  * 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":"AAuNA;;;;;;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"}
@@ -36,22 +36,24 @@ export declare class ApplesauceRelayPool implements RelayHandler {
36
36
  private readonly relayOptions?;
37
37
  private readonly publishOptions;
38
38
  private static readonly DISCONNECT_CLOSE_TIMEOUT_MS;
39
- private prepareRelayForShutdown;
40
39
  private pingSubscription?;
41
40
  private readonly destroy$;
42
41
  private rebuildInFlight?;
43
42
  private relayObservers;
44
43
  private relays;
45
44
  /**
46
- * Safely completes an RxJS Subject or BehaviorSubject if it exists and isn't already closed.
47
- * This is a defensive measure to prevent memory leaks from incomplete cleanup in external libraries.
45
+ * Terminates a relay for discard. `Relay.close()` (applesauce-relay >= 6.2)
46
+ * cancels the armed reconnect timer and tears down internal watchers, but
47
+ * does NOT complete `_ready$` — the source of the watchTower. Its
48
+ * reconnect-on-error path could then re-arm a reconnect timer after close,
49
+ * leaking a timer and racing freshly-built relays during rebuild.
50
+ *
51
+ * Order matters: complete `_ready$` BEFORE `close()`, otherwise close()'s
52
+ * socket teardown can trip the watchTower's reconnect path and arm a timer
53
+ * that completing the source won't cancel. `close()` then also cancels any
54
+ * reconnect timer armed before this call.
48
55
  */
49
- private completeSubjectSafely;
50
- /**
51
- * Safely closes a relay, optionally awaiting the close handshake (bounded), and completes
52
- * all its RxJS subjects to prevent memory leaks.
53
- */
54
- private safelyCloseRelay;
56
+ private discardRelay;
55
57
  private createRelay;
56
58
  /**
57
59
  * Creates a new ApplesauceRelayPool instance.
@@ -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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"}