@contextvm/sdk 0.3.1 → 0.4.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.
- package/dist/esm/core/utils/utils.d.ts +11 -0
- package/dist/esm/core/utils/utils.d.ts.map +1 -1
- package/dist/esm/core/utils/utils.js +15 -0
- package/dist/esm/core/utils/utils.js.map +1 -1
- package/dist/esm/gateway/index.d.ts +10 -8
- package/dist/esm/gateway/index.d.ts.map +1 -1
- package/dist/esm/gateway/index.js +29 -12
- package/dist/esm/gateway/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/payments/cap-tags.d.ts +13 -0
- package/dist/esm/payments/cap-tags.d.ts.map +1 -0
- package/dist/esm/payments/cap-tags.js +38 -0
- package/dist/esm/payments/cap-tags.js.map +1 -0
- package/dist/esm/payments/client-payments.d.ts +10 -0
- package/dist/esm/payments/client-payments.d.ts.map +1 -0
- package/dist/esm/payments/client-payments.js +108 -0
- package/dist/esm/payments/client-payments.js.map +1 -0
- package/dist/esm/payments/fake-payment-handler.d.ts +19 -0
- package/dist/esm/payments/fake-payment-handler.d.ts.map +1 -0
- package/dist/esm/payments/fake-payment-handler.js +16 -0
- package/dist/esm/payments/fake-payment-handler.js.map +1 -0
- package/dist/esm/payments/fake-payment-processor.d.ts +34 -0
- package/dist/esm/payments/fake-payment-processor.d.ts.map +1 -0
- package/dist/esm/payments/fake-payment-processor.js +29 -0
- package/dist/esm/payments/fake-payment-processor.js.map +1 -0
- package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.d.ts +24 -0
- package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.d.ts.map +1 -0
- package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.js +44 -0
- package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.js.map +1 -0
- package/dist/esm/payments/handlers/ln-bolt11-nwc-payment-handler.d.ts +20 -0
- package/dist/esm/payments/handlers/ln-bolt11-nwc-payment-handler.d.ts.map +1 -0
- package/dist/esm/payments/handlers/ln-bolt11-nwc-payment-handler.js +36 -0
- package/dist/esm/payments/handlers/ln-bolt11-nwc-payment-handler.js.map +1 -0
- package/dist/esm/payments/index.d.ts +17 -0
- package/dist/esm/payments/index.d.ts.map +1 -0
- package/dist/esm/payments/index.js +17 -0
- package/dist/esm/payments/index.js.map +1 -0
- package/dist/esm/payments/nip47/connection.d.ts +9 -0
- package/dist/esm/payments/nip47/connection.d.ts.map +1 -0
- package/dist/esm/payments/nip47/connection.js +34 -0
- package/dist/esm/payments/nip47/connection.js.map +1 -0
- package/dist/esm/payments/nip47/nwc-client.d.ts +38 -0
- package/dist/esm/payments/nip47/nwc-client.d.ts.map +1 -0
- package/dist/esm/payments/nip47/nwc-client.js +144 -0
- package/dist/esm/payments/nip47/nwc-client.js.map +1 -0
- package/dist/esm/payments/nip47/types.d.ts +54 -0
- package/dist/esm/payments/nip47/types.d.ts.map +1 -0
- package/dist/esm/payments/nip47/types.js +2 -0
- package/dist/esm/payments/nip47/types.js.map +1 -0
- package/dist/esm/payments/nip47/utils.d.ts +7 -0
- package/dist/esm/payments/nip47/utils.d.ts.map +1 -0
- package/dist/esm/payments/nip47/utils.js +9 -0
- package/dist/esm/payments/nip47/utils.js.map +1 -0
- package/dist/esm/payments/pmi-tags.d.ts +8 -0
- package/dist/esm/payments/pmi-tags.d.ts.map +1 -0
- package/dist/esm/payments/pmi-tags.js +9 -0
- package/dist/esm/payments/pmi-tags.js.map +1 -0
- package/dist/esm/payments/pmis.d.ts +7 -0
- package/dist/esm/payments/pmis.d.ts.map +1 -0
- package/dist/esm/payments/pmis.js +7 -0
- package/dist/esm/payments/pmis.js.map +1 -0
- package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.d.ts +50 -0
- package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.d.ts.map +1 -0
- package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.js +133 -0
- package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.js.map +1 -0
- package/dist/esm/payments/processors/ln-bolt11-nwc-payment-processor.d.ts +41 -0
- package/dist/esm/payments/processors/ln-bolt11-nwc-payment-processor.d.ts.map +1 -0
- package/dist/esm/payments/processors/ln-bolt11-nwc-payment-processor.js +129 -0
- package/dist/esm/payments/processors/ln-bolt11-nwc-payment-processor.js.map +1 -0
- package/dist/esm/payments/server-payments.d.ts +32 -0
- package/dist/esm/payments/server-payments.d.ts.map +1 -0
- package/dist/esm/payments/server-payments.js +199 -0
- package/dist/esm/payments/server-payments.js.map +1 -0
- package/dist/esm/payments/server-transport-payments.d.ts +7 -0
- package/dist/esm/payments/server-transport-payments.d.ts.map +1 -0
- package/dist/esm/payments/server-transport-payments.js +14 -0
- package/dist/esm/payments/server-transport-payments.js.map +1 -0
- package/dist/esm/payments/types.d.ts +174 -0
- package/dist/esm/payments/types.d.ts.map +1 -0
- package/dist/esm/payments/types.js +5 -0
- package/dist/esm/payments/types.js.map +1 -0
- package/dist/esm/transport/nostr-client-transport.d.ts +12 -0
- package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-client-transport.js +49 -18
- package/dist/esm/transport/nostr-client-transport.js.map +1 -1
- package/dist/esm/transport/nostr-server/announcement-manager.d.ts +18 -0
- package/dist/esm/transport/nostr-server/announcement-manager.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server/announcement-manager.js +40 -5
- package/dist/esm/transport/nostr-server/announcement-manager.js.map +1 -1
- package/dist/esm/transport/nostr-server-transport.d.ts +30 -0
- package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server-transport.js +64 -4
- package/dist/esm/transport/nostr-server-transport.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { JSONRPCMessage, JSONRPCNotification, JSONRPCRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A priced capability pattern, consistent with server-side authorization exclusions.
|
|
4
|
+
*/
|
|
5
|
+
export interface PricedCapabilityPattern {
|
|
6
|
+
/** JSON-RPC method (example: `tools/call`) */
|
|
7
|
+
method: string;
|
|
8
|
+
/** Optional capability name (example: tool name for `tools/call`) */
|
|
9
|
+
name?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Server-side pricing metadata for a capability pattern.
|
|
13
|
+
*/
|
|
14
|
+
export interface PricedCapability extends PricedCapabilityPattern {
|
|
15
|
+
/** Amount requested for this invocation. Unit interpretation is implementation-defined. */
|
|
16
|
+
amount: number;
|
|
17
|
+
/**
|
|
18
|
+
* Optional upper bound for variable pricing. When set, `cap` tag uses range format
|
|
19
|
+
* `"<amount>-<maxAmount>"` (CEP-8).
|
|
20
|
+
*/
|
|
21
|
+
maxAmount?: number;
|
|
22
|
+
/** Currency/unit label for display and `cap` tag advertisement (example: `sats`). */
|
|
23
|
+
currencyUnit: string;
|
|
24
|
+
/** Optional human-readable description for the payment request. */
|
|
25
|
+
description?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Nostr `cap` tag as defined by CEP-8. */
|
|
28
|
+
export type CapTag = [
|
|
29
|
+
'cap',
|
|
30
|
+
capabilityIdentifier: string,
|
|
31
|
+
price: string,
|
|
32
|
+
currencyUnit: string
|
|
33
|
+
];
|
|
34
|
+
/** Nostr `pmi` tag as defined by CEP-8. */
|
|
35
|
+
export type PmiTag = ['pmi', pmi: string];
|
|
36
|
+
/** Nostr `direct_payment` tag as defined by CEP-8 (optional bearer-asset optimization). */
|
|
37
|
+
export type DirectPaymentTag = ['direct_payment', pmi: string, payload: string];
|
|
38
|
+
/** Nostr `change` tag as defined by CEP-8 (optional settlement artifact for bearer-asset methods). */
|
|
39
|
+
export type ChangeTag = ['change', pmi: string, payload: string];
|
|
40
|
+
/** A CEP-8 payment-required notification (JSON-RPC notification). */
|
|
41
|
+
export type PaymentRequiredNotification = JSONRPCNotification & {
|
|
42
|
+
method: 'notifications/payment_required';
|
|
43
|
+
params: {
|
|
44
|
+
amount: number;
|
|
45
|
+
pay_req: string;
|
|
46
|
+
pmi: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
/** Time-to-live in seconds (CEP-8). */
|
|
49
|
+
ttl?: number;
|
|
50
|
+
_meta?: Record<string, unknown>;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
/** A CEP-8 payment-accepted notification (JSON-RPC notification). */
|
|
54
|
+
export type PaymentAcceptedNotification = JSONRPCNotification & {
|
|
55
|
+
method: 'notifications/payment_accepted';
|
|
56
|
+
params: {
|
|
57
|
+
amount: number;
|
|
58
|
+
pmi: string;
|
|
59
|
+
_meta?: Record<string, unknown>;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
/** A CEP-8 payment-rejected notification (JSON-RPC notification). */
|
|
63
|
+
export type PaymentRejectedNotification = JSONRPCNotification & {
|
|
64
|
+
method: 'notifications/payment_rejected';
|
|
65
|
+
params: {
|
|
66
|
+
pmi: string;
|
|
67
|
+
amount?: number;
|
|
68
|
+
message?: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export interface PaymentHandlerRequest {
|
|
72
|
+
amount: number;
|
|
73
|
+
pay_req: string;
|
|
74
|
+
description?: string;
|
|
75
|
+
requestEventId: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Client-side module that can execute a payment for a single PMI.
|
|
79
|
+
*/
|
|
80
|
+
export interface PaymentHandler {
|
|
81
|
+
/** The PMI this handler supports (e.g. "bitcoin-lightning-bolt11") */
|
|
82
|
+
readonly pmi: string;
|
|
83
|
+
/** Optional policy check that can decline handling. */
|
|
84
|
+
canHandle?(req: PaymentHandlerRequest): boolean | Promise<boolean>;
|
|
85
|
+
/** Execute the payment (wallet action). */
|
|
86
|
+
handle(req: PaymentHandlerRequest): Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
export interface PaymentProcessorCreateParams {
|
|
89
|
+
amount: number;
|
|
90
|
+
description?: string;
|
|
91
|
+
requestEventId: string;
|
|
92
|
+
clientPubkey: string;
|
|
93
|
+
}
|
|
94
|
+
export interface PaymentProcessorVerifyParams {
|
|
95
|
+
pay_req: string;
|
|
96
|
+
requestEventId: string;
|
|
97
|
+
clientPubkey: string;
|
|
98
|
+
/** Optional abort signal to stop verification early (timeout, shutdown, etc). */
|
|
99
|
+
abortSignal?: AbortSignal;
|
|
100
|
+
}
|
|
101
|
+
export type ResolvePriceQuote = {
|
|
102
|
+
/** Final amount to charge for this specific invocation. */
|
|
103
|
+
amount: number;
|
|
104
|
+
/** Optional override for the payment request description. */
|
|
105
|
+
description?: string;
|
|
106
|
+
/** Optional transparency metadata attached to `payment_required.params._meta`. */
|
|
107
|
+
meta?: Record<string, unknown>;
|
|
108
|
+
};
|
|
109
|
+
export type ResolvePriceRejection = {
|
|
110
|
+
/** Signal that the request should be rejected without asking for payment. */
|
|
111
|
+
reject: true;
|
|
112
|
+
/** Optional human-readable message explaining the rejection. */
|
|
113
|
+
message?: string;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Result of resolvePrice callback.
|
|
117
|
+
*
|
|
118
|
+
* - Return a quote object to proceed with payment flow.
|
|
119
|
+
* - Return a rejection object to emit `payment_rejected` without asking for payment.
|
|
120
|
+
*/
|
|
121
|
+
export type ResolvePriceResult = ResolvePriceQuote | ResolvePriceRejection;
|
|
122
|
+
/**
|
|
123
|
+
* Server-side callback for dynamic pricing.
|
|
124
|
+
*
|
|
125
|
+
* Note: `cap` tags are a discovery surface; this callback determines the final quote
|
|
126
|
+
* used when emitting `notifications/payment_required`.
|
|
127
|
+
*/
|
|
128
|
+
export type ResolvePriceFn = (params: {
|
|
129
|
+
capability: PricedCapability;
|
|
130
|
+
request: JSONRPCRequest;
|
|
131
|
+
clientPubkey: string;
|
|
132
|
+
requestEventId: string;
|
|
133
|
+
}) => Promise<ResolvePriceResult>;
|
|
134
|
+
/**
|
|
135
|
+
* Server-side module that can issue and verify payments for a single PMI.
|
|
136
|
+
*/
|
|
137
|
+
export interface PaymentProcessor {
|
|
138
|
+
/** The PMI this processor can issue/verify */
|
|
139
|
+
readonly pmi: string;
|
|
140
|
+
/** Create a payment request for a specific capability invocation */
|
|
141
|
+
createPaymentRequired(params: PaymentProcessorCreateParams): Promise<{
|
|
142
|
+
amount: number;
|
|
143
|
+
pay_req: string;
|
|
144
|
+
description?: string;
|
|
145
|
+
pmi: string;
|
|
146
|
+
/** Time-to-live in seconds (CEP-8). */
|
|
147
|
+
ttl?: number;
|
|
148
|
+
_meta?: Record<string, unknown>;
|
|
149
|
+
}>;
|
|
150
|
+
/** Wait for and/or verify settlement for a previously issued pay_req */
|
|
151
|
+
verifyPayment(params: PaymentProcessorVerifyParams): Promise<{
|
|
152
|
+
_meta?: Record<string, unknown>;
|
|
153
|
+
}>;
|
|
154
|
+
}
|
|
155
|
+
export interface ServerPaymentsContext {
|
|
156
|
+
/** The client pubkey associated with the inbound request. */
|
|
157
|
+
clientPubkey: string;
|
|
158
|
+
/**
|
|
159
|
+
* Optional list of client-advertised PMIs (ordered by client preference).
|
|
160
|
+
*
|
|
161
|
+
* Source: Nostr event tags (e.g. multiple `['pmi', '<pmi>']`).
|
|
162
|
+
*/
|
|
163
|
+
clientPmis?: readonly string[];
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Minimal capability required by server-side payments to emit CEP-8 correlated notifications.
|
|
167
|
+
*/
|
|
168
|
+
export interface CorrelatedNotificationSender {
|
|
169
|
+
sendNotification(clientPubkey: string, notification: JSONRPCNotification, requestEventId: string): Promise<void>;
|
|
170
|
+
}
|
|
171
|
+
export type ServerForwardFn = (message: JSONRPCMessage) => Promise<void>;
|
|
172
|
+
export type ServerMiddlewareFn = (message: JSONRPCMessage, ctx: ServerPaymentsContext, forward: ServerForwardFn) => Promise<void>;
|
|
173
|
+
export declare function isJsonRpcRequest(message: JSONRPCMessage): message is JSONRPCRequest;
|
|
174
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"AAqNA,MAAM,UAAU,gBAAgB,CAC9B,OAAuB;IAEvB,OAAO,CACJ,OAA0B,CAAC,MAAM,KAAK,SAAS;QAC/C,OAA0B,CAAC,EAAE,KAAK,SAAS,CAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -24,6 +24,10 @@ export interface NostrTransportOptions extends BaseNostrTransportOptions {
|
|
|
24
24
|
export declare class NostrClientTransport extends BaseNostrTransport implements Transport {
|
|
25
25
|
/** Public event handlers required by the Transport interface */
|
|
26
26
|
onmessage?: (message: JSONRPCMessage) => void;
|
|
27
|
+
onmessageWithContext?: (message: JSONRPCMessage, ctx: {
|
|
28
|
+
eventId: string;
|
|
29
|
+
correlatedEventId?: string;
|
|
30
|
+
}) => void;
|
|
27
31
|
onclose?: () => void;
|
|
28
32
|
onerror?: (error: Error) => void;
|
|
29
33
|
/** The server's public key for message targeting */
|
|
@@ -34,6 +38,8 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
34
38
|
private readonly statelessHandler;
|
|
35
39
|
/** Whether stateless mode is enabled */
|
|
36
40
|
private readonly isStateless;
|
|
41
|
+
/** Optional list of client-supported PMIs (ordered by preference). */
|
|
42
|
+
private clientPmis;
|
|
37
43
|
/** The server's initialize event, if received */
|
|
38
44
|
private serverInitializeEvent;
|
|
39
45
|
/**
|
|
@@ -42,6 +48,12 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
42
48
|
* @throws Error if serverPubkey is not a valid hex public key
|
|
43
49
|
*/
|
|
44
50
|
constructor(options: NostrTransportOptions);
|
|
51
|
+
/**
|
|
52
|
+
* Sets the client PMI preference list used for CEP-8 discovery/negotiation.
|
|
53
|
+
*
|
|
54
|
+
* Intended to be called by payments wrappers (e.g. `withClientPayments()`).
|
|
55
|
+
*/
|
|
56
|
+
setClientPmis(pmis: readonly string[]): void;
|
|
45
57
|
/**
|
|
46
58
|
* Starts the transport, connecting to the relay and setting up event listeners.
|
|
47
59
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nostr-client-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-client-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"nostr-client-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-client-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAMpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAQ/E,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGhF;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACtE,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,oBACX,SAAQ,kBACR,YAAW,SAAS;IAEpB,gEAAgE;IACzD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,oBAAoB,CAAC,EAAE,CAC5B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,KACjD,IAAI,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAExC,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuB;IACxD,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,sEAAsE;IACtE,OAAO,CAAC,UAAU,CAAgC;IAClD,iDAAiD;IACjD,OAAO,CAAC,qBAAqB,CAAyB;IAEtD;;;;OAIG;gBACS,OAAO,EAAE,qBAAqB;IAmB1C;;;;OAIG;IACI,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAInD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BnC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnC;;;;OAIG;IACU,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BzD;;;;OAIG;YACW,WAAW;IAyBzB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;;OAGG;YACW,oBAAoB;IA6HlC;;;OAGG;IACI,wBAAwB,IAAI,UAAU,GAAG,SAAS;IAIzD;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA2BtB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;;OAGG;IACH,0BAA0B;;;;;CAO3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InitializeResultSchema, NotificationSchema, isJSONRPCRequest, isJSONRPCNotification, } from '@modelcontextprotocol/sdk/types.js';
|
|
1
|
+
import { InitializeResultSchema, NotificationSchema, isJSONRPCRequest, isJSONRPCNotification, isJSONRPCResultResponse, isJSONRPCErrorResponse, } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { CTXVM_MESSAGES_KIND, GIFT_WRAP_KIND, decryptMessage, DEFAULT_LRU_SIZE, INITIALIZE_METHOD, } from '../core/index.js';
|
|
3
3
|
import { BaseNostrTransport, } from './base-nostr-transport.js';
|
|
4
4
|
import { getNostrEventTag } from '../core/utils/serializers.js';
|
|
@@ -33,6 +33,14 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
33
33
|
});
|
|
34
34
|
this.statelessHandler = new StatelessModeHandler();
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Sets the client PMI preference list used for CEP-8 discovery/negotiation.
|
|
38
|
+
*
|
|
39
|
+
* Intended to be called by payments wrappers (e.g. `withClientPayments()`).
|
|
40
|
+
*/
|
|
41
|
+
setClientPmis(pmis) {
|
|
42
|
+
this.clientPmis = pmis;
|
|
43
|
+
}
|
|
36
44
|
/**
|
|
37
45
|
* Starts the transport, connecting to the relay and setting up event listeners.
|
|
38
46
|
*/
|
|
@@ -120,11 +128,15 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
120
128
|
* @returns The ID of the published Nostr event
|
|
121
129
|
*/
|
|
122
130
|
async sendRequest(message) {
|
|
123
|
-
const
|
|
131
|
+
const isRequest = isJSONRPCRequest(message);
|
|
132
|
+
const pmiTags = isRequest && this.clientPmis
|
|
133
|
+
? this.clientPmis.map((pmi) => ['pmi', pmi])
|
|
134
|
+
: [];
|
|
135
|
+
const tags = [...this.createRecipientTags(this.serverPubkey), ...pmiTags];
|
|
124
136
|
return await this.sendMcpMessage(message, this.serverPubkey, CTXVM_MESSAGES_KIND, tags, undefined, (eventId) => {
|
|
125
137
|
this.correlationStore.registerRequest(eventId, {
|
|
126
|
-
originalRequestId:
|
|
127
|
-
isInitialize:
|
|
138
|
+
originalRequestId: isRequest ? message.id : null,
|
|
139
|
+
isInitialize: isRequest && message.method === INITIALIZE_METHOD,
|
|
128
140
|
});
|
|
129
141
|
});
|
|
130
142
|
}
|
|
@@ -203,25 +215,40 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
203
215
|
});
|
|
204
216
|
}
|
|
205
217
|
}
|
|
206
|
-
if (eTag && !this.correlationStore.hasPendingRequest(eTag)) {
|
|
207
|
-
this.logger.warn('Received response for unknown/expired request', {
|
|
208
|
-
eventId: nostrEvent.id,
|
|
209
|
-
eTag,
|
|
210
|
-
reason: 'Request not found in pending set - may be duplicate or late response',
|
|
211
|
-
});
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
218
|
const mcpMessage = this.convertNostrEventToMcpMessage(nostrEvent);
|
|
215
219
|
if (!mcpMessage) {
|
|
216
220
|
this.logger.error('Skipping invalid Nostr event with malformed JSON content', { eventId: nostrEvent.id, pubkey: nostrEvent.pubkey });
|
|
217
221
|
return;
|
|
218
222
|
}
|
|
219
|
-
|
|
223
|
+
// Message classification MUST be based on JSON-RPC type, not on the presence of an `e` tag.
|
|
224
|
+
// CEP-8 notifications are correlated (include `e`) but are still notifications.
|
|
225
|
+
if (isJSONRPCResultResponse(mcpMessage) ||
|
|
226
|
+
isJSONRPCErrorResponse(mcpMessage)) {
|
|
227
|
+
if (!eTag) {
|
|
228
|
+
this.logger.warn('Received JSON-RPC response without correlation `e` tag', {
|
|
229
|
+
eventId: nostrEvent.id,
|
|
230
|
+
});
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
if (!this.correlationStore.hasPendingRequest(eTag)) {
|
|
234
|
+
this.logger.warn('Received response for unknown/expired request', {
|
|
235
|
+
eventId: nostrEvent.id,
|
|
236
|
+
eTag,
|
|
237
|
+
reason: 'Request not found in pending set - may be duplicate or late response',
|
|
238
|
+
});
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
220
241
|
this.handleResponse(eTag, mcpMessage);
|
|
242
|
+
return;
|
|
221
243
|
}
|
|
222
|
-
|
|
223
|
-
this.handleNotification(mcpMessage);
|
|
244
|
+
if (isJSONRPCNotification(mcpMessage)) {
|
|
245
|
+
this.handleNotification(nostrEvent.id, eTag !== null && eTag !== void 0 ? eTag : undefined, mcpMessage);
|
|
246
|
+
return;
|
|
224
247
|
}
|
|
248
|
+
this.logger.warn('Received unsupported JSON-RPC message type', {
|
|
249
|
+
eventId: nostrEvent.id,
|
|
250
|
+
hasETag: !!eTag,
|
|
251
|
+
});
|
|
225
252
|
}
|
|
226
253
|
catch (error) {
|
|
227
254
|
this.logger.error('Error handling incoming Nostr event', {
|
|
@@ -274,8 +301,8 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
274
301
|
* Handles notification messages by validating and forwarding them.
|
|
275
302
|
* @param mcpMessage - The JSON-RPC notification message
|
|
276
303
|
*/
|
|
277
|
-
handleNotification(mcpMessage) {
|
|
278
|
-
var _a, _b;
|
|
304
|
+
handleNotification(eventId, correlatedEventId, mcpMessage) {
|
|
305
|
+
var _a, _b, _c;
|
|
279
306
|
try {
|
|
280
307
|
const result = NotificationSchema.safeParse(mcpMessage);
|
|
281
308
|
if (!result.success) {
|
|
@@ -286,13 +313,17 @@ export class NostrClientTransport extends BaseNostrTransport {
|
|
|
286
313
|
return;
|
|
287
314
|
}
|
|
288
315
|
(_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, mcpMessage);
|
|
316
|
+
(_b = this.onmessageWithContext) === null || _b === void 0 ? void 0 : _b.call(this, mcpMessage, {
|
|
317
|
+
eventId,
|
|
318
|
+
correlatedEventId,
|
|
319
|
+
});
|
|
289
320
|
}
|
|
290
321
|
catch (error) {
|
|
291
322
|
this.logger.error('Failed to handle incoming notification', {
|
|
292
323
|
error: error instanceof Error ? error.message : String(error),
|
|
293
324
|
stack: error instanceof Error ? error.stack : undefined,
|
|
294
325
|
});
|
|
295
|
-
(
|
|
326
|
+
(_c = this.onerror) === null || _c === void 0 ? void 0 : _c.call(this, error instanceof Error
|
|
296
327
|
? error
|
|
297
328
|
: new Error('Failed to handle incoming notification'));
|
|
298
329
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nostr-client-transport.js","sourceRoot":"","sources":["../../../src/transport/nostr-client-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nostr-client-transport.js","sourceRoot":"","sources":["../../../src/transport/nostr-client-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAElB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAcrD;;;;GAIG;AACH,MAAM,OAAO,oBACX,SAAQ,kBAAkB;IAyB1B;;;;OAIG;IACH,YAAY,OAA8B;;QACxC,KAAK,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAEzC,qCAAqC;QACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,CAAC,WAAW,mCAAI,KAAK,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,IAAI,sBAAsB,CAAC;YACjD,kBAAkB,EAAE,gBAAgB;YACpC,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,IAAuB;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;;QAChB,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACpD,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,YAAY,EAAE;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAEvD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;gBAC5C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;wBACnD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;wBACvD,OAAO,EAAE,KAAK,CAAC,EAAE;qBAClB,CAAC,CAAC;oBACH,MAAA,IAAI,CAAC,OAAO,qDACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAA,IAAI,CAAC,OAAO,oDAAI,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,OAAuB;;QACvC,IAAI,CAAC;YACH,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,OAAO,CAAC,EACtD,CAAC;gBACD,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;oBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;oBACnE,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAqB,CAAC,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,KAAK,EAAE;gBACtD,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC;oBACpC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;wBAC9B,CAAC,CAAC,cAAc;wBAChB,CAAC,CAAC,SAAS;gBACf,MAAM,EACJ,gBAAgB,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC;oBACzD,CAAC,CAAC,OAAO,CAAC,MAAM;oBAChB,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,WAAW,CAAC,OAAuB;QAC/C,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE5C,MAAM,OAAO,GACX,SAAS,IAAI,IAAI,CAAC,UAAU;YAC1B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAa,CAAC;YACxD,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QAE1E,OAAO,MAAM,IAAI,CAAC,cAAc,CAC9B,OAAO,EACP,IAAI,CAAC,YAAY,EACjB,mBAAmB,EACnB,IAAI,EACJ,SAAS,EACT,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE;gBAC7C,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBAChD,YAAY,EAAE,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB;aAChE,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAAC,SAA0B;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAEzE,cAAc,CAAC,GAAG,EAAE;;YAClB,IAAI,CAAC;gBACH,MAAA,IAAI,CAAC,SAAS,qDAAG,QAAQ,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE;oBAClE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACvD,SAAS;iBACV,CAAC,CAAC;gBACH,MAAA,IAAI,CAAC,OAAO,qDACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,KAAiB;;QAClD,IAAI,CAAC;YACH,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,MAAM,WAAW,CACxC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAClC,KAAK,EACL,2BAA2B,CAC5B,CAAC;oBACF,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAe,CAAC;gBAC1D,CAAC;gBAAC,OAAO,YAAY,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;wBACxD,KAAK,EACH,YAAY,YAAY,KAAK;4BAC3B,CAAC,CAAC,YAAY,CAAC,OAAO;4BACtB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;wBAC1B,KAAK,EACH,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;wBAChE,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;qBACrB,CAAC,CAAC;oBACH,MAAA,IAAI,CAAC,OAAO,qDACV,YAAY,YAAY,KAAK;wBAC3B,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CACtD,CAAC;oBACF,OAAO;gBACT,CAAC;YACH,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;oBACjE,cAAc,EAAE,UAAU,CAAC,MAAM;oBACjC,cAAc,EAAE,IAAI,CAAC,YAAY;oBACjC,OAAO,EAAE,UAAU,CAAC,EAAE;iBACvB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC/C,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC/D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAClB,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC;wBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;4BACnD,OAAO,EAAE,UAAU,CAAC,EAAE;yBACvB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,WAAM,CAAC;oBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;wBAC5D,OAAO,EAAE,UAAU,CAAC,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;YAElE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0DAA0D,EAC1D,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CACtD,CAAC;gBACF,OAAO;YACT,CAAC;YAED,4FAA4F;YAC5F,gFAAgF;YAChF,IACE,uBAAuB,CAAC,UAAU,CAAC;gBACnC,sBAAsB,CAAC,UAAU,CAAC,EAClC,CAAC;gBACD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wDAAwD,EACxD;wBACE,OAAO,EAAE,UAAU,CAAC,EAAE;qBACvB,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;wBAChE,OAAO,EAAE,UAAU,CAAC,EAAE;wBACtB,IAAI;wBACJ,MAAM,EACJ,sEAAsE;qBACzE,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS,EAAE,UAAU,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;gBAC7D,OAAO,EAAE,UAAU,CAAC,EAAE;gBACtB,OAAO,EAAE,CAAC,CAAC,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBACvD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACvD,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,OAAO,qDACV,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,wBAAwB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,cAAc,CACpB,iBAAyB,EACzB,UAA0B;;QAE1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CACpD,iBAAiB,EACjB,UAA6B,CAC9B,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAA,IAAI,CAAC,SAAS,qDAAG,UAAU,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;oBAC/C,OAAO,EAAE,iBAAiB;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBAC3C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACvD,iBAAiB;aAClB,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,OAAe,EACf,iBAAqC,EACrC,UAA0B;;QAE1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;oBAC9C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBAC3B,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAA,IAAI,CAAC,SAAS,qDAAG,UAAU,CAAC,CAAC;YAC7B,MAAA,IAAI,CAAC,oBAAoB,qDAAG,UAAU,EAAE;gBACtC,OAAO;gBACP,iBAAiB;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;gBAC1D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,OAAO,qDACV,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,0BAA0B;QACxB,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -25,6 +25,10 @@ export interface AnnouncementManagerOptions {
|
|
|
25
25
|
serverInfo?: ServerInfo;
|
|
26
26
|
/** Encryption mode for determining tag inclusion */
|
|
27
27
|
encryptionMode: EncryptionMode;
|
|
28
|
+
/** Optional extra tags to include in server announcement + initialize response events (e.g. `pmi`). */
|
|
29
|
+
extraCommonTags?: string[][];
|
|
30
|
+
/** Optional capability pricing tags to include in announcement + capability list events (e.g. `cap`). */
|
|
31
|
+
pricingTags?: string[][];
|
|
28
32
|
/** Callback to send a message to the MCP server */
|
|
29
33
|
onSendMessage: (message: JSONRPCMessage) => void;
|
|
30
34
|
/** Callback to publish a Nostr event */
|
|
@@ -55,6 +59,8 @@ export interface AnnouncementManagerOptions {
|
|
|
55
59
|
export declare class AnnouncementManager {
|
|
56
60
|
private readonly serverInfo?;
|
|
57
61
|
private readonly encryptionMode;
|
|
62
|
+
private extraCommonTags;
|
|
63
|
+
private pricingTags;
|
|
58
64
|
private readonly onSendMessage;
|
|
59
65
|
private readonly onPublishEvent;
|
|
60
66
|
private readonly onSignEvent;
|
|
@@ -66,6 +72,18 @@ export declare class AnnouncementManager {
|
|
|
66
72
|
private initializationResolver?;
|
|
67
73
|
private cachedCommonTags?;
|
|
68
74
|
constructor(options: AnnouncementManagerOptions);
|
|
75
|
+
/**
|
|
76
|
+
* Updates extra common tags used for announcement and initialize response events.
|
|
77
|
+
*
|
|
78
|
+
* This is used as an integration seam for optional protocol extensions (e.g. CEP-8 PMI discovery).
|
|
79
|
+
*/
|
|
80
|
+
setExtraCommonTags(tags: string[][]): void;
|
|
81
|
+
/**
|
|
82
|
+
* Updates pricing tags used for announcement and capability list events.
|
|
83
|
+
*
|
|
84
|
+
* This is used for CEP-8 capability pricing advertisement (`cap` tags).
|
|
85
|
+
*/
|
|
86
|
+
setPricingTags(tags: string[][]): void;
|
|
69
87
|
/**
|
|
70
88
|
* Generates common tags from server information for use in Nostr events.
|
|
71
89
|
* @returns Array of tag arrays for Nostr events.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"announcement-manager.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/announcement-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,EAErB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAczC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,qDAAqD;IACrD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oDAAoD;IACpD,cAAc,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"announcement-manager.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/announcement-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,9 +20,12 @@ import { EncryptionMode } from '../../core/interfaces.js';
|
|
|
20
20
|
*/
|
|
21
21
|
export class AnnouncementManager {
|
|
22
22
|
constructor(options) {
|
|
23
|
+
var _a, _b;
|
|
23
24
|
this.isInitialized = false;
|
|
24
25
|
this.serverInfo = options.serverInfo;
|
|
25
26
|
this.encryptionMode = options.encryptionMode;
|
|
27
|
+
this.extraCommonTags = (_a = options.extraCommonTags) !== null && _a !== void 0 ? _a : [];
|
|
28
|
+
this.pricingTags = (_b = options.pricingTags) !== null && _b !== void 0 ? _b : [];
|
|
26
29
|
this.onSendMessage = options.onSendMessage;
|
|
27
30
|
this.onPublishEvent = options.onPublishEvent;
|
|
28
31
|
this.onSignEvent = options.onSignEvent;
|
|
@@ -30,6 +33,23 @@ export class AnnouncementManager {
|
|
|
30
33
|
this.onSubscribe = options.onSubscribe;
|
|
31
34
|
this.logger = options.logger;
|
|
32
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Updates extra common tags used for announcement and initialize response events.
|
|
38
|
+
*
|
|
39
|
+
* This is used as an integration seam for optional protocol extensions (e.g. CEP-8 PMI discovery).
|
|
40
|
+
*/
|
|
41
|
+
setExtraCommonTags(tags) {
|
|
42
|
+
this.extraCommonTags = tags;
|
|
43
|
+
this.cachedCommonTags = undefined;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Updates pricing tags used for announcement and capability list events.
|
|
47
|
+
*
|
|
48
|
+
* This is used for CEP-8 capability pricing advertisement (`cap` tags).
|
|
49
|
+
*/
|
|
50
|
+
setPricingTags(tags) {
|
|
51
|
+
this.pricingTags = tags;
|
|
52
|
+
}
|
|
33
53
|
/**
|
|
34
54
|
* Generates common tags from server information for use in Nostr events.
|
|
35
55
|
* @returns Array of tag arrays for Nostr events.
|
|
@@ -55,6 +75,9 @@ export class AnnouncementManager {
|
|
|
55
75
|
if (this.encryptionMode !== EncryptionMode.DISABLED) {
|
|
56
76
|
commonTags.push([NOSTR_TAGS.SUPPORT_ENCRYPTION]);
|
|
57
77
|
}
|
|
78
|
+
for (const tag of this.extraCommonTags) {
|
|
79
|
+
commonTags.push(tag);
|
|
80
|
+
}
|
|
58
81
|
this.cachedCommonTags = commonTags;
|
|
59
82
|
return commonTags;
|
|
60
83
|
}
|
|
@@ -64,24 +87,36 @@ export class AnnouncementManager {
|
|
|
64
87
|
*/
|
|
65
88
|
getAnnouncementMapping() {
|
|
66
89
|
const commonTags = this.getCommonTags();
|
|
90
|
+
const pricingTags = this.pricingTags;
|
|
91
|
+
const serverAnnouncementTags = pricingTags.length
|
|
92
|
+
? [...commonTags, ...pricingTags]
|
|
93
|
+
: commonTags;
|
|
67
94
|
return [
|
|
68
95
|
{
|
|
69
96
|
schema: InitializeResultSchema,
|
|
70
97
|
kind: SERVER_ANNOUNCEMENT_KIND,
|
|
71
|
-
tags:
|
|
98
|
+
tags: serverAnnouncementTags,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
schema: ListToolsResultSchema,
|
|
102
|
+
kind: TOOLS_LIST_KIND,
|
|
103
|
+
tags: pricingTags,
|
|
72
104
|
},
|
|
73
|
-
{ schema: ListToolsResultSchema, kind: TOOLS_LIST_KIND, tags: [] },
|
|
74
105
|
{
|
|
75
106
|
schema: ListResourcesResultSchema,
|
|
76
107
|
kind: RESOURCES_LIST_KIND,
|
|
77
|
-
tags:
|
|
108
|
+
tags: pricingTags,
|
|
78
109
|
},
|
|
79
110
|
{
|
|
80
111
|
schema: ListResourceTemplatesResultSchema,
|
|
81
112
|
kind: RESOURCETEMPLATES_LIST_KIND,
|
|
82
|
-
tags:
|
|
113
|
+
tags: pricingTags,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
schema: ListPromptsResultSchema,
|
|
117
|
+
kind: PROMPTS_LIST_KIND,
|
|
118
|
+
tags: pricingTags,
|
|
83
119
|
},
|
|
84
|
-
{ schema: ListPromptsResultSchema, kind: PROMPTS_LIST_KIND, tags: [] },
|
|
85
120
|
];
|
|
86
121
|
}
|
|
87
122
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"announcement-manager.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/announcement-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,iCAAiC,EACjC,qBAAqB,EAGrB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"announcement-manager.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/announcement-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,18 @@ export interface NostrServerTransportOptions extends BaseNostrTransportOptions {
|
|
|
33
33
|
clientPubkey: string;
|
|
34
34
|
session: ClientSession;
|
|
35
35
|
}) => void | Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Optional inbound middleware hook to gate or transform messages before they are
|
|
38
|
+
* forwarded to MCP server code via `onmessage` / `onmessageWithContext`.
|
|
39
|
+
*/
|
|
40
|
+
inboundMiddleware?: (message: JSONRPCMessage, ctx: {
|
|
41
|
+
clientPubkey: string;
|
|
42
|
+
}, forward: (message: JSONRPCMessage) => Promise<void>) => Promise<void>;
|
|
36
43
|
}
|
|
44
|
+
export type InboundMiddlewareFn = (message: JSONRPCMessage, ctx: {
|
|
45
|
+
clientPubkey: string;
|
|
46
|
+
clientPmis?: readonly string[];
|
|
47
|
+
}, forward: (message: JSONRPCMessage) => Promise<void>) => Promise<void>;
|
|
37
48
|
/**
|
|
38
49
|
* A server-side transport layer for CTXVM that uses Nostr events for communication.
|
|
39
50
|
* This transport listens for incoming MCP requests via Nostr events and can send
|
|
@@ -53,7 +64,26 @@ export declare class NostrServerTransport extends BaseNostrTransport implements
|
|
|
53
64
|
private readonly announcementManager;
|
|
54
65
|
private readonly injectClientPubkey;
|
|
55
66
|
private readonly onClientSessionEvicted;
|
|
67
|
+
private readonly inboundMiddlewares;
|
|
56
68
|
constructor(options: NostrServerTransportOptions);
|
|
69
|
+
/**
|
|
70
|
+
* Sets extra tags to include in server announcement + initialize response events.
|
|
71
|
+
*
|
|
72
|
+
* Intended for optional protocol extensions (e.g. CEP-8 PMI discovery).
|
|
73
|
+
*/
|
|
74
|
+
setAnnouncementExtraTags(tags: string[][]): void;
|
|
75
|
+
/**
|
|
76
|
+
* Sets pricing tags to include in server announcement + tools list announcement events.
|
|
77
|
+
*
|
|
78
|
+
* Intended for CEP-8 `cap` tag pricing advertisement.
|
|
79
|
+
*/
|
|
80
|
+
setAnnouncementPricingTags(tags: string[][]): void;
|
|
81
|
+
/**
|
|
82
|
+
* Adds an inbound middleware function.
|
|
83
|
+
*
|
|
84
|
+
* Middleware runs in the order it is added.
|
|
85
|
+
*/
|
|
86
|
+
addInboundMiddleware(middleware: InboundMiddlewareFn): void;
|
|
57
87
|
/**
|
|
58
88
|
* Starts the transport, connecting to the relay and setting up event listeners
|
|
59
89
|
* to receive incoming MCP requests.
|