@contextvm/sdk 0.11.8 → 0.11.10
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/base64.d.ts +3 -0
- package/dist/esm/core/utils/base64.d.ts.map +1 -0
- package/dist/esm/core/utils/base64.js +24 -0
- package/dist/esm/core/utils/base64.js.map +1 -0
- package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.d.ts.map +1 -1
- package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.js +2 -1
- package/dist/esm/payments/handlers/ln-bolt11-lnbits-payment-handler.js.map +1 -1
- package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.d.ts.map +1 -1
- package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.js +2 -1
- package/dist/esm/payments/processors/ln-bolt11-lnbits-payment-processor.js.map +1 -1
- package/dist/esm/transport/capability-negotiator.d.ts +141 -0
- package/dist/esm/transport/capability-negotiator.d.ts.map +1 -0
- package/dist/esm/transport/capability-negotiator.js +198 -0
- package/dist/esm/transport/capability-negotiator.js.map +1 -0
- package/dist/esm/transport/middleware.d.ts +9 -0
- package/dist/esm/transport/middleware.d.ts.map +1 -0
- package/dist/esm/transport/middleware.js +2 -0
- package/dist/esm/transport/middleware.js.map +1 -0
- package/dist/esm/transport/nostr-client/event-pipeline.d.ts +29 -0
- package/dist/esm/transport/nostr-client/event-pipeline.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/event-pipeline.js +109 -0
- package/dist/esm/transport/nostr-client/event-pipeline.js.map +1 -0
- package/dist/esm/transport/nostr-client/inbound-coordinator.d.ts +37 -0
- package/dist/esm/transport/nostr-client/inbound-coordinator.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/inbound-coordinator.js +159 -0
- package/dist/esm/transport/nostr-client/inbound-coordinator.js.map +1 -0
- package/dist/esm/transport/nostr-client/inbound-notification-dispatcher.d.ts +28 -0
- package/dist/esm/transport/nostr-client/inbound-notification-dispatcher.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/inbound-notification-dispatcher.js +65 -0
- package/dist/esm/transport/nostr-client/inbound-notification-dispatcher.js.map +1 -0
- package/dist/esm/transport/nostr-client/open-stream-factory.d.ts +36 -0
- package/dist/esm/transport/nostr-client/open-stream-factory.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/open-stream-factory.js +126 -0
- package/dist/esm/transport/nostr-client/open-stream-factory.js.map +1 -0
- package/dist/esm/transport/nostr-client/outbound-sender.d.ts +45 -0
- package/dist/esm/transport/nostr-client/outbound-sender.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/outbound-sender.js +105 -0
- package/dist/esm/transport/nostr-client/outbound-sender.js.map +1 -0
- package/dist/esm/transport/nostr-client/server-metadata-store.d.ts +35 -0
- package/dist/esm/transport/nostr-client/server-metadata-store.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/server-metadata-store.js +107 -0
- package/dist/esm/transport/nostr-client/server-metadata-store.js.map +1 -0
- package/dist/esm/transport/nostr-client-transport.d.ts +18 -41
- package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-client-transport.js +117 -553
- package/dist/esm/transport/nostr-client-transport.js.map +1 -1
- package/dist/esm/transport/nostr-server/correlation-store.d.ts +2 -2
- package/dist/esm/transport/nostr-server/correlation-store.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server/correlation-store.js +12 -3
- package/dist/esm/transport/nostr-server/correlation-store.js.map +1 -1
- package/dist/esm/transport/nostr-server/event-pipeline.d.ts +32 -0
- package/dist/esm/transport/nostr-server/event-pipeline.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/event-pipeline.js +118 -0
- package/dist/esm/transport/nostr-server/event-pipeline.js.map +1 -0
- package/dist/esm/transport/nostr-server/inbound-coordinator.d.ts +56 -0
- package/dist/esm/transport/nostr-server/inbound-coordinator.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/inbound-coordinator.js +168 -0
- package/dist/esm/transport/nostr-server/inbound-coordinator.js.map +1 -0
- package/dist/esm/transport/nostr-server/inbound-notification-dispatcher.d.ts +44 -0
- package/dist/esm/transport/nostr-server/inbound-notification-dispatcher.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/inbound-notification-dispatcher.js +153 -0
- package/dist/esm/transport/nostr-server/inbound-notification-dispatcher.js.map +1 -0
- package/dist/esm/transport/nostr-server/open-stream-factory.d.ts +81 -0
- package/dist/esm/transport/nostr-server/open-stream-factory.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/open-stream-factory.js +224 -0
- package/dist/esm/transport/nostr-server/open-stream-factory.js.map +1 -0
- package/dist/esm/transport/nostr-server/outbound-notification-broadcaster.d.ts +24 -0
- package/dist/esm/transport/nostr-server/outbound-notification-broadcaster.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/outbound-notification-broadcaster.js +64 -0
- package/dist/esm/transport/nostr-server/outbound-notification-broadcaster.js.map +1 -0
- package/dist/esm/transport/nostr-server/outbound-response-router.d.ts +62 -0
- package/dist/esm/transport/nostr-server/outbound-response-router.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/outbound-response-router.js +125 -0
- package/dist/esm/transport/nostr-server/outbound-response-router.js.map +1 -0
- package/dist/esm/transport/nostr-server-transport.d.ts +15 -62
- package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server-transport.js +121 -741
- package/dist/esm/transport/nostr-server-transport.js.map +1 -1
- package/dist/esm/transport/open-stream/registry.d.ts.map +1 -1
- package/dist/esm/transport/open-stream/registry.js +7 -1
- package/dist/esm/transport/open-stream/registry.js.map +1 -1
- package/dist/esm/transport/open-stream/session.d.ts +1 -0
- package/dist/esm/transport/open-stream/session.d.ts.map +1 -1
- package/dist/esm/transport/open-stream/session.js +14 -4
- package/dist/esm/transport/open-stream/session.js.map +1 -1
- package/dist/esm/transport/server-transport-common-schemas.d.ts +1 -0
- package/dist/esm/transport/server-transport-common-schemas.d.ts.map +1 -1
- package/dist/esm/transport/server-transport-common-schemas.js +21 -1
- package/dist/esm/transport/server-transport-common-schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { isJSONRPCRequest, } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { CTXVM_MESSAGES_KIND, INITIALIZE_METHOD } from '../../core/index.js';
|
|
3
|
+
import { sendOversizedClientRequest } from './oversized-client-sender.js';
|
|
4
|
+
/**
|
|
5
|
+
* Encapsulates outbound client request routing, including CEP-22 oversized handling.
|
|
6
|
+
*/
|
|
7
|
+
export class ClientOutboundSender {
|
|
8
|
+
constructor(deps) {
|
|
9
|
+
this.deps = deps;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Sends an MCP message to the server, registering correlation when applicable.
|
|
13
|
+
*/
|
|
14
|
+
async sendRequest(message) {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
const isRequest = isJSONRPCRequest(message);
|
|
17
|
+
// --- CEP-22 Oversized Transfer (proactive path) ---
|
|
18
|
+
if (this.deps.oversizedEnabled && isRequest) {
|
|
19
|
+
const progressToken = (_b = (_a = message.params) === null || _a === void 0 ? void 0 : _a._meta) === null || _b === void 0 ? void 0 : _b.progressToken;
|
|
20
|
+
if (progressToken !== undefined) {
|
|
21
|
+
const tags = this.deps.capabilityNegotiator.buildOutboundTags({
|
|
22
|
+
baseTags: this.deps.createRecipientTags(this.deps.serverPubkey),
|
|
23
|
+
includeDiscovery: isRequest,
|
|
24
|
+
});
|
|
25
|
+
const giftWrapKind = this.deps.capabilityNegotiator.chooseOutboundGiftWrapKind();
|
|
26
|
+
const publishedEventSize = await this.deps.measurePublishedMcpMessageSize(message, this.deps.serverPubkey, CTXVM_MESSAGES_KIND, tags, undefined, giftWrapKind);
|
|
27
|
+
if (publishedEventSize > this.deps.oversizedThreshold) {
|
|
28
|
+
await this.sendOversizedRequest(message, String(progressToken), giftWrapKind);
|
|
29
|
+
return 'oversized-transfer';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const tags = this.deps.capabilityNegotiator.buildOutboundTags({
|
|
34
|
+
baseTags: this.deps.createRecipientTags(this.deps.serverPubkey),
|
|
35
|
+
includeDiscovery: isRequest,
|
|
36
|
+
});
|
|
37
|
+
const giftWrapKind = this.deps.capabilityNegotiator.chooseOutboundGiftWrapKind();
|
|
38
|
+
const eventId = await this.deps.sendMcpMessage(message, this.deps.serverPubkey, CTXVM_MESSAGES_KIND, tags, undefined, (eventId) => {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
const progressToken = isRequest
|
|
41
|
+
? (_b = (_a = message.params) === null || _a === void 0 ? void 0 : _a._meta) === null || _b === void 0 ? void 0 : _b.progressToken
|
|
42
|
+
: undefined;
|
|
43
|
+
const originalRequestContext = isRequest
|
|
44
|
+
? this.deps.getOriginalRequestContext(message)
|
|
45
|
+
: undefined;
|
|
46
|
+
this.deps.correlationStore.registerRequest(eventId, {
|
|
47
|
+
originalRequestId: isRequest ? message.id : null,
|
|
48
|
+
isInitialize: isRequest && message.method === INITIALIZE_METHOD,
|
|
49
|
+
progressToken: progressToken !== undefined ? String(progressToken) : undefined,
|
|
50
|
+
originalRequestContext,
|
|
51
|
+
});
|
|
52
|
+
if (isRequest &&
|
|
53
|
+
message.method === 'tools/call' &&
|
|
54
|
+
progressToken !== undefined) {
|
|
55
|
+
this.deps.resolvePendingOpenStream(String(progressToken));
|
|
56
|
+
}
|
|
57
|
+
}, giftWrapKind);
|
|
58
|
+
if (isRequest) {
|
|
59
|
+
this.deps.capabilityNegotiator.markDiscoveryTagsSent();
|
|
60
|
+
}
|
|
61
|
+
return eventId;
|
|
62
|
+
}
|
|
63
|
+
async sendOversizedRequest(originalMessage, progressToken, giftWrapKind) {
|
|
64
|
+
const frameRecipientTags = this.deps.createRecipientTags(this.deps.serverPubkey);
|
|
65
|
+
const startFrameTags = this.deps.capabilityNegotiator.buildOutboundTags({
|
|
66
|
+
baseTags: frameRecipientTags,
|
|
67
|
+
includeDiscovery: true,
|
|
68
|
+
});
|
|
69
|
+
const chunkSizeBytes = await this.deps.resolveSafeOversizedChunkSize({
|
|
70
|
+
desiredChunkSizeBytes: this.deps.oversizedChunkSize,
|
|
71
|
+
maxPublishedEventBytes: this.deps.oversizedThreshold,
|
|
72
|
+
recipientPublicKey: this.deps.serverPubkey,
|
|
73
|
+
kind: CTXVM_MESSAGES_KIND,
|
|
74
|
+
progressToken,
|
|
75
|
+
progress: this.deps.serverSupportsOversizedTransfer() ? 2 : 3,
|
|
76
|
+
tags: frameRecipientTags,
|
|
77
|
+
giftWrapKind,
|
|
78
|
+
});
|
|
79
|
+
const serialized = JSON.stringify(originalMessage);
|
|
80
|
+
const endFrameEventId = await sendOversizedClientRequest(serialized, progressToken, {
|
|
81
|
+
chunkSizeBytes,
|
|
82
|
+
acceptTimeoutMs: this.deps.oversizedAcceptTimeoutMs,
|
|
83
|
+
serverPubkey: this.deps.serverPubkey,
|
|
84
|
+
serverSupportsOversizedTransfer: this.deps.serverSupportsOversizedTransfer(),
|
|
85
|
+
giftWrapKind,
|
|
86
|
+
startFrameTags,
|
|
87
|
+
continuationFrameTags: frameRecipientTags,
|
|
88
|
+
}, {
|
|
89
|
+
sendMcpMessage: this.deps.sendMcpMessage,
|
|
90
|
+
waitForAccept: this.deps.waitForAccept,
|
|
91
|
+
logger: this.deps.logger,
|
|
92
|
+
});
|
|
93
|
+
// Register the original request for correlating the final response.
|
|
94
|
+
if (endFrameEventId) {
|
|
95
|
+
this.deps.correlationStore.registerRequest(endFrameEventId, {
|
|
96
|
+
originalRequestId: originalMessage.id,
|
|
97
|
+
isInitialize: originalMessage.method === INITIALIZE_METHOD,
|
|
98
|
+
progressToken,
|
|
99
|
+
originalRequestContext: this.deps.getOriginalRequestContext(originalMessage),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
this.deps.capabilityNegotiator.markDiscoveryTagsSent();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=outbound-sender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-sender.js","sourceRoot":"","sources":["../../../../src/transport/nostr-client/outbound-sender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type InitializeResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { type NostrEvent } from 'nostr-tools';
|
|
3
|
+
export type ListEnvelopeType = 'tools' | 'resources' | 'templates' | 'prompts';
|
|
4
|
+
/**
|
|
5
|
+
* Stores server discovery metadata learned by the client transport.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ServerMetadataStore {
|
|
8
|
+
private serverInitializeEvent;
|
|
9
|
+
private serverToolsListEvent;
|
|
10
|
+
private serverPromptsListEvent;
|
|
11
|
+
private serverResourcesListEvent;
|
|
12
|
+
private serverResourceTemplatesListEvent;
|
|
13
|
+
private supportsOversizedTransfer;
|
|
14
|
+
private supportsOpenStream;
|
|
15
|
+
clear(): void;
|
|
16
|
+
setServerInitializeEvent(event: NostrEvent): void;
|
|
17
|
+
getServerInitializeEvent(): NostrEvent | undefined;
|
|
18
|
+
setSupportsOversizedTransfer(supported: boolean): void;
|
|
19
|
+
setSupportsOpenStream(supported: boolean): void;
|
|
20
|
+
getServerSupportsOversizedTransfer(): boolean;
|
|
21
|
+
getServerSupportsOpenStream(): boolean;
|
|
22
|
+
updateListEnvelopeState(type: ListEnvelopeType, event: NostrEvent): void;
|
|
23
|
+
getServerToolsListEvent(): NostrEvent | undefined;
|
|
24
|
+
getServerResourcesListEvent(): NostrEvent | undefined;
|
|
25
|
+
getServerResourceTemplatesListEvent(): NostrEvent | undefined;
|
|
26
|
+
getServerPromptsListEvent(): NostrEvent | undefined;
|
|
27
|
+
getServerInitializeResult(): InitializeResult | undefined;
|
|
28
|
+
serverSupportsEncryption(): boolean;
|
|
29
|
+
serverSupportsEphemeralEncryption(): boolean;
|
|
30
|
+
getServerInitializeName(): string | undefined;
|
|
31
|
+
getServerInitializeAbout(): string | undefined;
|
|
32
|
+
getServerInitializeWebsite(): string | undefined;
|
|
33
|
+
getServerInitializePicture(): string | undefined;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=server-metadata-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-metadata-store.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-client/server-metadata-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;AAE/E;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,oBAAoB,CAAyB;IACrD,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,wBAAwB,CAAyB;IACzD,OAAO,CAAC,gCAAgC,CAAyB;IACjE,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,kBAAkB,CAAS;IAE5B,KAAK,IAAI,IAAI;IAUb,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIjD,wBAAwB,IAAI,UAAU,GAAG,SAAS;IAIlD,4BAA4B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAItD,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAI/C,kCAAkC,IAAI,OAAO;IAI7C,2BAA2B,IAAI,OAAO;IAItC,uBAAuB,CAC5B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,UAAU,GAChB,IAAI;IAmBA,uBAAuB,IAAI,UAAU,GAAG,SAAS;IAIjD,2BAA2B,IAAI,UAAU,GAAG,SAAS;IAIrD,mCAAmC,IAAI,UAAU,GAAG,SAAS;IAI7D,yBAAyB,IAAI,UAAU,GAAG,SAAS;IAInD,yBAAyB,IAAI,gBAAgB,GAAG,SAAS;IAgBzD,wBAAwB,IAAI,OAAO;IAKnC,iCAAiC,IAAI,OAAO;IAO5C,uBAAuB,IAAI,MAAM,GAAG,SAAS;IAO7C,wBAAwB,IAAI,MAAM,GAAG,SAAS;IAO9C,0BAA0B,IAAI,MAAM,GAAG,SAAS;IAOhD,0BAA0B,IAAI,MAAM,GAAG,SAAS;CAMxD"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { InitializeResultSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { NOSTR_TAGS } from '../../core/constants.js';
|
|
3
|
+
import { getNostrEventTag } from '../../core/utils/serializers.js';
|
|
4
|
+
import { queryTags } from '../../core/utils/utils.js';
|
|
5
|
+
/**
|
|
6
|
+
* Stores server discovery metadata learned by the client transport.
|
|
7
|
+
*/
|
|
8
|
+
export class ServerMetadataStore {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.supportsOversizedTransfer = false;
|
|
11
|
+
this.supportsOpenStream = false;
|
|
12
|
+
}
|
|
13
|
+
clear() {
|
|
14
|
+
this.serverInitializeEvent = undefined;
|
|
15
|
+
this.serverToolsListEvent = undefined;
|
|
16
|
+
this.serverPromptsListEvent = undefined;
|
|
17
|
+
this.serverResourcesListEvent = undefined;
|
|
18
|
+
this.serverResourceTemplatesListEvent = undefined;
|
|
19
|
+
this.supportsOversizedTransfer = false;
|
|
20
|
+
this.supportsOpenStream = false;
|
|
21
|
+
}
|
|
22
|
+
setServerInitializeEvent(event) {
|
|
23
|
+
this.serverInitializeEvent = event;
|
|
24
|
+
}
|
|
25
|
+
getServerInitializeEvent() {
|
|
26
|
+
return this.serverInitializeEvent;
|
|
27
|
+
}
|
|
28
|
+
setSupportsOversizedTransfer(supported) {
|
|
29
|
+
this.supportsOversizedTransfer || (this.supportsOversizedTransfer = supported);
|
|
30
|
+
}
|
|
31
|
+
setSupportsOpenStream(supported) {
|
|
32
|
+
this.supportsOpenStream || (this.supportsOpenStream = supported);
|
|
33
|
+
}
|
|
34
|
+
getServerSupportsOversizedTransfer() {
|
|
35
|
+
return this.supportsOversizedTransfer;
|
|
36
|
+
}
|
|
37
|
+
getServerSupportsOpenStream() {
|
|
38
|
+
return this.supportsOpenStream;
|
|
39
|
+
}
|
|
40
|
+
updateListEnvelopeState(type, event) {
|
|
41
|
+
switch (type) {
|
|
42
|
+
case 'tools':
|
|
43
|
+
this.serverToolsListEvent = event;
|
|
44
|
+
break;
|
|
45
|
+
case 'resources':
|
|
46
|
+
this.serverResourcesListEvent = event;
|
|
47
|
+
break;
|
|
48
|
+
case 'templates':
|
|
49
|
+
this.serverResourceTemplatesListEvent = event;
|
|
50
|
+
break;
|
|
51
|
+
case 'prompts':
|
|
52
|
+
this.serverPromptsListEvent = event;
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
getServerToolsListEvent() {
|
|
59
|
+
return this.serverToolsListEvent;
|
|
60
|
+
}
|
|
61
|
+
getServerResourcesListEvent() {
|
|
62
|
+
return this.serverResourcesListEvent;
|
|
63
|
+
}
|
|
64
|
+
getServerResourceTemplatesListEvent() {
|
|
65
|
+
return this.serverResourceTemplatesListEvent;
|
|
66
|
+
}
|
|
67
|
+
getServerPromptsListEvent() {
|
|
68
|
+
return this.serverPromptsListEvent;
|
|
69
|
+
}
|
|
70
|
+
getServerInitializeResult() {
|
|
71
|
+
if (!this.serverInitializeEvent) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
const content = JSON.parse(this.serverInitializeEvent.content);
|
|
76
|
+
const parse = InitializeResultSchema.safeParse(content.result);
|
|
77
|
+
return parse.success ? parse.data : undefined;
|
|
78
|
+
}
|
|
79
|
+
catch (_a) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
serverSupportsEncryption() {
|
|
84
|
+
return queryTags(this.serverInitializeEvent, NOSTR_TAGS.SUPPORT_ENCRYPTION)
|
|
85
|
+
.isFlag;
|
|
86
|
+
}
|
|
87
|
+
serverSupportsEphemeralEncryption() {
|
|
88
|
+
return queryTags(this.serverInitializeEvent, NOSTR_TAGS.SUPPORT_ENCRYPTION_EPHEMERAL).isFlag;
|
|
89
|
+
}
|
|
90
|
+
getServerInitializeName() {
|
|
91
|
+
var _a, _b;
|
|
92
|
+
return getNostrEventTag((_b = (_a = this.serverInitializeEvent) === null || _a === void 0 ? void 0 : _a.tags) !== null && _b !== void 0 ? _b : [], NOSTR_TAGS.NAME);
|
|
93
|
+
}
|
|
94
|
+
getServerInitializeAbout() {
|
|
95
|
+
var _a, _b;
|
|
96
|
+
return getNostrEventTag((_b = (_a = this.serverInitializeEvent) === null || _a === void 0 ? void 0 : _a.tags) !== null && _b !== void 0 ? _b : [], NOSTR_TAGS.ABOUT);
|
|
97
|
+
}
|
|
98
|
+
getServerInitializeWebsite() {
|
|
99
|
+
var _a, _b;
|
|
100
|
+
return getNostrEventTag((_b = (_a = this.serverInitializeEvent) === null || _a === void 0 ? void 0 : _a.tags) !== null && _b !== void 0 ? _b : [], NOSTR_TAGS.WEBSITE);
|
|
101
|
+
}
|
|
102
|
+
getServerInitializePicture() {
|
|
103
|
+
var _a, _b;
|
|
104
|
+
return getNostrEventTag((_b = (_a = this.serverInitializeEvent) === null || _a === void 0 ? void 0 : _a.tags) !== null && _b !== void 0 ? _b : [], NOSTR_TAGS.PICTURE);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=server-metadata-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-metadata-store.js","sourceRoot":"","sources":["../../../../src/transport/nostr-client/server-metadata-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InitializeResult, type JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
1
|
+
import { type InitializeResult, type JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
3
3
|
import { BaseNostrTransport, BaseNostrTransportOptions } from './base-nostr-transport.js';
|
|
4
4
|
import { NostrEvent } from 'nostr-tools';
|
|
@@ -6,7 +6,7 @@ import { LogLevel } from '../core/utils/logger.js';
|
|
|
6
6
|
import { ClientCorrelationStore, PendingRequest } from './nostr-client/correlation-store.js';
|
|
7
7
|
import { StatelessModeHandler } from './nostr-client/stateless-mode-handler.js';
|
|
8
8
|
import { OversizedTransferReceiver, type TransferPolicy } from './oversized-transfer/index.js';
|
|
9
|
-
import {
|
|
9
|
+
import { OpenStreamSession } from './open-stream/index.js';
|
|
10
10
|
import type { OpenStreamTransportPolicy } from './open-stream-policy.js';
|
|
11
11
|
/**
|
|
12
12
|
* Options for configuring the NostrClientTransport.
|
|
@@ -86,36 +86,21 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
86
86
|
private readonly discoveryRelayUrls;
|
|
87
87
|
/** Optional non-authoritative operational relays used as a fast fallback. */
|
|
88
88
|
private readonly fallbackOperationalRelayUrls;
|
|
89
|
-
/**
|
|
90
|
-
private
|
|
91
|
-
|
|
92
|
-
private
|
|
93
|
-
|
|
94
|
-
private
|
|
95
|
-
|
|
96
|
-
private serverPromptsListEvent;
|
|
97
|
-
/** The latest server resources/list response event envelope, if received. */
|
|
98
|
-
private serverResourcesListEvent;
|
|
99
|
-
/** The latest server resources/templates/list response event envelope, if received. */
|
|
100
|
-
private serverResourceTemplatesListEvent;
|
|
101
|
-
/** Whether the server has advertised ephemeral gift wrap support via Nostr tags. */
|
|
102
|
-
private serverSupportsEphemeralGiftWraps;
|
|
103
|
-
/** Whether the server has advertised CEP-22 oversized transfer support. */
|
|
104
|
-
private serverSupportsOversizedTransfer;
|
|
105
|
-
/** Whether the server has advertised CEP-41 open stream support. */
|
|
106
|
-
private serverSupportsOpenStream;
|
|
107
|
-
/** Whether this client has already sent its discovery tags to the server. */
|
|
108
|
-
private hasSentDiscoveryTags;
|
|
89
|
+
/** Stores server discovery metadata learned from inbound events. */
|
|
90
|
+
private readonly metadataStore;
|
|
91
|
+
private readonly capabilityNegotiator;
|
|
92
|
+
private readonly inboundNotificationDispatcher;
|
|
93
|
+
private readonly eventPipeline;
|
|
94
|
+
private readonly inboundCoordinator;
|
|
95
|
+
private readonly outboundSender;
|
|
109
96
|
private readonly oversizedEnabled;
|
|
110
97
|
private readonly oversizedThreshold;
|
|
111
98
|
private readonly oversizedChunkSize;
|
|
112
99
|
private readonly oversizedAcceptTimeoutMs;
|
|
113
100
|
private readonly openStreamEnabled;
|
|
114
|
-
private readonly
|
|
101
|
+
private readonly openStreamFactory;
|
|
115
102
|
/** Receives inbound oversized-transfer frames from the server (server→client responses). */
|
|
116
103
|
private readonly oversizedReceiver;
|
|
117
|
-
/** Receives inbound open-stream frames from the server (server→client notifications). */
|
|
118
|
-
private readonly openStreamReceiver;
|
|
119
104
|
/**
|
|
120
105
|
* Deduplicate inbound events to avoid redundant work.
|
|
121
106
|
*
|
|
@@ -134,11 +119,6 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
134
119
|
* Intended to be called by payments wrappers (e.g. `withClientPayments()`).
|
|
135
120
|
*/
|
|
136
121
|
setClientPmis(pmis: readonly string[]): void;
|
|
137
|
-
private getClientCapabilityTags;
|
|
138
|
-
private getClientNegotiationTags;
|
|
139
|
-
private getPendingClientDiscoveryTags;
|
|
140
|
-
private buildOutboundClientTags;
|
|
141
|
-
private markClientDiscoveryTagsSent;
|
|
142
122
|
/**
|
|
143
123
|
* Starts the transport, connecting to the relay and setting up event listeners.
|
|
144
124
|
*/
|
|
@@ -153,14 +133,6 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
153
133
|
* @param message - The JSON-RPC request or notification to send
|
|
154
134
|
*/
|
|
155
135
|
send(message: JSONRPCMessage): Promise<void>;
|
|
156
|
-
/**
|
|
157
|
-
* Sends a request and registers it for correlation tracking.
|
|
158
|
-
* @param message - The JSON-RPC message to send
|
|
159
|
-
* @returns The ID of the published Nostr event
|
|
160
|
-
*/
|
|
161
|
-
private sendRequest;
|
|
162
|
-
private sendOversizedRequest;
|
|
163
|
-
private chooseOutboundGiftWrapKind;
|
|
164
136
|
private getOriginalRequestContext;
|
|
165
137
|
/**
|
|
166
138
|
* Internal helper used by payments middleware to correlate CEP-8 notifications
|
|
@@ -184,6 +156,8 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
184
156
|
progressToken: string;
|
|
185
157
|
stream: OpenStreamSession;
|
|
186
158
|
}>;
|
|
159
|
+
/** Resolves the next outbound open-stream placeholder with an active session. */
|
|
160
|
+
private resolvePendingOutboundOpenStream;
|
|
187
161
|
/**
|
|
188
162
|
* Returns the CEP-41 stream session for a progress token when it already exists.
|
|
189
163
|
*/
|
|
@@ -246,8 +220,6 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
246
220
|
getServerResourceTemplatesListEvent(): NostrEvent | undefined;
|
|
247
221
|
/** Gets the server's most recently observed prompts/list event envelope, if any. */
|
|
248
222
|
getServerPromptsListEvent(): NostrEvent | undefined;
|
|
249
|
-
private learnServerDiscovery;
|
|
250
|
-
private getInitializeResultCandidate;
|
|
251
223
|
private resolveOperationalRelayHandler;
|
|
252
224
|
/**
|
|
253
225
|
* Handles response messages by correlating them with pending requests.
|
|
@@ -260,6 +232,11 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
260
232
|
* @param mcpMessage - The JSON-RPC notification message
|
|
261
233
|
*/
|
|
262
234
|
private handleNotification;
|
|
235
|
+
protected buildOutboundClientTags(params: {
|
|
236
|
+
baseTags: readonly string[][];
|
|
237
|
+
includeDiscovery: boolean;
|
|
238
|
+
}): string[][];
|
|
239
|
+
protected chooseOutboundGiftWrapKind(): number;
|
|
263
240
|
/**
|
|
264
241
|
* Test-only accessor for internal state.
|
|
265
242
|
* @internal
|
|
@@ -277,7 +254,7 @@ export declare class NostrClientTransport extends BaseNostrTransport implements
|
|
|
277
254
|
serverResourceTemplatesListEvent: import("nostr-tools").Event | undefined;
|
|
278
255
|
serverPromptsListEvent: import("nostr-tools").Event | undefined;
|
|
279
256
|
oversizedReceiver: OversizedTransferReceiver;
|
|
280
|
-
openStreamReceiver: OpenStreamReceiver;
|
|
257
|
+
openStreamReceiver: import("./open-stream/receiver.js").OpenStreamReceiver;
|
|
281
258
|
};
|
|
282
259
|
}
|
|
283
260
|
//# sourceMappingURL=nostr-client-transport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nostr-client-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-client-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"nostr-client-transport.d.ts","sourceRoot":"","sources":["../../../src/transport/nostr-client-transport.ts"],"names":[],"mappings":"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"}
|