@contextvm/sdk 0.8.0 → 0.9.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.
- package/dist/esm/core/constants.d.ts +5 -0
- package/dist/esm/core/constants.d.ts.map +1 -1
- package/dist/esm/core/constants.js +5 -0
- package/dist/esm/core/constants.js.map +1 -1
- package/dist/esm/core/interfaces.d.ts +1 -1
- package/dist/esm/core/interfaces.d.ts.map +1 -1
- package/dist/esm/core/utils/utils.d.ts +17 -4
- package/dist/esm/core/utils/utils.d.ts.map +1 -1
- package/dist/esm/core/utils/utils.js +41 -16
- package/dist/esm/core/utils/utils.js.map +1 -1
- package/dist/esm/payments/client-payments.d.ts.map +1 -1
- package/dist/esm/payments/client-payments.js +21 -13
- package/dist/esm/payments/client-payments.js.map +1 -1
- package/dist/esm/payments/nip47/nwc-client.d.ts.map +1 -1
- package/dist/esm/payments/nip47/nwc-client.js +6 -9
- package/dist/esm/payments/nip47/nwc-client.js.map +1 -1
- package/dist/esm/transport/base-nostr-transport.d.ts +7 -1
- package/dist/esm/transport/base-nostr-transport.d.ts.map +1 -1
- package/dist/esm/transport/base-nostr-transport.js +5 -1
- package/dist/esm/transport/base-nostr-transport.js.map +1 -1
- package/dist/esm/transport/discovery-tags.d.ts +30 -2
- package/dist/esm/transport/discovery-tags.d.ts.map +1 -1
- package/dist/esm/transport/discovery-tags.js +29 -21
- package/dist/esm/transport/discovery-tags.js.map +1 -1
- package/dist/esm/transport/nostr-client/oversized-client-sender.d.ts +28 -0
- package/dist/esm/transport/nostr-client/oversized-client-sender.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/oversized-client-sender.js +30 -0
- package/dist/esm/transport/nostr-client/oversized-client-sender.js.map +1 -0
- package/dist/esm/transport/nostr-client/relay-resolution.d.ts +23 -0
- package/dist/esm/transport/nostr-client/relay-resolution.d.ts.map +1 -0
- package/dist/esm/transport/nostr-client/relay-resolution.js +83 -0
- package/dist/esm/transport/nostr-client/relay-resolution.js.map +1 -0
- package/dist/esm/transport/nostr-client-transport.d.ts +0 -1
- package/dist/esm/transport/nostr-client-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-client-transport.js +38 -105
- package/dist/esm/transport/nostr-client-transport.js.map +1 -1
- package/dist/esm/transport/nostr-server/announcement-manager.d.ts +27 -0
- package/dist/esm/transport/nostr-server/announcement-manager.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server/announcement-manager.js +48 -4
- package/dist/esm/transport/nostr-server/announcement-manager.js.map +1 -1
- package/dist/esm/transport/nostr-server/correlation-store.d.ts +15 -1
- package/dist/esm/transport/nostr-server/correlation-store.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server/correlation-store.js +32 -16
- package/dist/esm/transport/nostr-server/correlation-store.js.map +1 -1
- package/dist/esm/transport/nostr-server/oversized-server-handler.d.ts +50 -0
- package/dist/esm/transport/nostr-server/oversized-server-handler.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/oversized-server-handler.js +49 -0
- package/dist/esm/transport/nostr-server/oversized-server-handler.js.map +1 -0
- package/dist/esm/transport/nostr-server/utils.d.ts +10 -0
- package/dist/esm/transport/nostr-server/utils.d.ts.map +1 -0
- package/dist/esm/transport/nostr-server/utils.js +35 -0
- package/dist/esm/transport/nostr-server/utils.js.map +1 -0
- package/dist/esm/transport/nostr-server-transport.d.ts +21 -3
- package/dist/esm/transport/nostr-server-transport.d.ts.map +1 -1
- package/dist/esm/transport/nostr-server-transport.js +110 -76
- package/dist/esm/transport/nostr-server-transport.js.map +1 -1
- package/package.json +18 -17
|
@@ -17,12 +17,32 @@ export interface ServerInfo {
|
|
|
17
17
|
website?: string;
|
|
18
18
|
about?: string;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Optional NIP-01 kind:0 profile metadata for server identity.
|
|
22
|
+
* When provided, the server publishes a kind:0 event at startup
|
|
23
|
+
* to establish a social presence on Nostr.
|
|
24
|
+
*
|
|
25
|
+
* This is separate from ServerInfo - not all servers want a social profile.
|
|
26
|
+
* kind:0 events are rendered by social Nostr clients.
|
|
27
|
+
*/
|
|
28
|
+
export interface ProfileMetadata {
|
|
29
|
+
name?: string;
|
|
30
|
+
about?: string;
|
|
31
|
+
picture?: string;
|
|
32
|
+
banner?: string;
|
|
33
|
+
website?: string;
|
|
34
|
+
nip05?: string;
|
|
35
|
+
lud16?: string;
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
}
|
|
20
38
|
/**
|
|
21
39
|
* Options for configuring the AnnouncementManager.
|
|
22
40
|
*/
|
|
23
41
|
export interface AnnouncementManagerOptions {
|
|
24
42
|
/** Server information to include in announcements */
|
|
25
43
|
serverInfo?: ServerInfo;
|
|
44
|
+
/** Optional kind:0 profile metadata. When provided, publishes a kind:0 event at startup. */
|
|
45
|
+
profileMetadata?: ProfileMetadata;
|
|
26
46
|
/** Encryption mode for determining tag inclusion */
|
|
27
47
|
encryptionMode: EncryptionMode;
|
|
28
48
|
/** Gift wrap mode for determining tag inclusion */
|
|
@@ -70,6 +90,7 @@ export interface AnnouncementManagerOptions {
|
|
|
70
90
|
*/
|
|
71
91
|
export declare class AnnouncementManager {
|
|
72
92
|
private readonly serverInfo?;
|
|
93
|
+
private readonly profileMetadata?;
|
|
73
94
|
private readonly encryptionMode;
|
|
74
95
|
private readonly giftWrapMode;
|
|
75
96
|
private extraCommonTags;
|
|
@@ -77,6 +98,7 @@ export declare class AnnouncementManager {
|
|
|
77
98
|
private pricingTags;
|
|
78
99
|
private readonly shouldPublishRelayList;
|
|
79
100
|
private readonly relayListUrls?;
|
|
101
|
+
private readonly hasExplicitBootstrapRelayUrls;
|
|
80
102
|
private readonly bootstrapRelayUrls;
|
|
81
103
|
private readonly onDispatchMessage;
|
|
82
104
|
private readonly onPublishEvent;
|
|
@@ -95,6 +117,11 @@ export declare class AnnouncementManager {
|
|
|
95
117
|
* Publishes relay list metadata when enabled.
|
|
96
118
|
*/
|
|
97
119
|
publishRelayList(): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Publishes NIP-01 kind:0 profile metadata when configured.
|
|
122
|
+
* This creates a social identity for the server on Nostr.
|
|
123
|
+
*/
|
|
124
|
+
publishProfileMetadata(): Promise<void>;
|
|
98
125
|
/**
|
|
99
126
|
* Updates extra common tags used for announcement and initialize response events.
|
|
100
127
|
*
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"announcement-manager.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/announcement-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
import { InitializeResultSchema, ListPromptsResultSchema, ListResourcesResultSchema, ListResourceTemplatesResultSchema, ListToolsResultSchema, isJSONRPCResultResponse, } from '@modelcontextprotocol/sdk/types.js';
|
|
8
8
|
import { EventDeletion } from 'nostr-tools/kinds';
|
|
9
9
|
import { LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
-
import { announcementMethods, DEFAULT_BOOTSTRAP_RELAY_URLS, SERVER_ANNOUNCEMENT_KIND, TOOLS_LIST_KIND, RESOURCES_LIST_KIND, RESOURCETEMPLATES_LIST_KIND, PROMPTS_LIST_KIND, RELAY_LIST_METADATA_KIND, NOSTR_TAGS, INITIALIZE_METHOD, NOTIFICATIONS_INITIALIZED_METHOD, } from '../../core/index.js';
|
|
10
|
+
import { announcementMethods, DEFAULT_BOOTSTRAP_RELAY_URLS, SERVER_ANNOUNCEMENT_KIND, TOOLS_LIST_KIND, RESOURCES_LIST_KIND, RESOURCETEMPLATES_LIST_KIND, PROMPTS_LIST_KIND, RELAY_LIST_METADATA_KIND, PROFILE_METADATA_KIND, NOSTR_TAGS, INITIALIZE_METHOD, NOTIFICATIONS_INITIALIZED_METHOD, } from '../../core/index.js';
|
|
11
11
|
import { EncryptionMode, GiftWrapMode } from '../../core/interfaces.js';
|
|
12
|
+
import { isLocalRelayUrl, isWebsocketRelayUrl } from './utils.js';
|
|
12
13
|
/**
|
|
13
14
|
* Internal manager for public server announcements.
|
|
14
15
|
*
|
|
@@ -23,6 +24,7 @@ export class AnnouncementManager {
|
|
|
23
24
|
var _a, _b, _c, _d;
|
|
24
25
|
this.isInitialized = false;
|
|
25
26
|
this.serverInfo = options.serverInfo;
|
|
27
|
+
this.profileMetadata = options.profileMetadata;
|
|
26
28
|
this.encryptionMode = options.encryptionMode;
|
|
27
29
|
this.giftWrapMode = options.giftWrapMode;
|
|
28
30
|
this.extraCommonTags = (_a = options.extraCommonTags) !== null && _a !== void 0 ? _a : [];
|
|
@@ -30,6 +32,8 @@ export class AnnouncementManager {
|
|
|
30
32
|
this.pricingTags = (_b = options.pricingTags) !== null && _b !== void 0 ? _b : [];
|
|
31
33
|
this.shouldPublishRelayList = (_c = options.publishRelayList) !== null && _c !== void 0 ? _c : true;
|
|
32
34
|
this.relayListUrls = options.relayListUrls;
|
|
35
|
+
this.hasExplicitBootstrapRelayUrls =
|
|
36
|
+
options.bootstrapRelayUrls !== undefined;
|
|
33
37
|
this.bootstrapRelayUrls =
|
|
34
38
|
(_d = options.bootstrapRelayUrls) !== null && _d !== void 0 ? _d : DEFAULT_BOOTSTRAP_RELAY_URLS;
|
|
35
39
|
this.onDispatchMessage = options.onDispatchMessage;
|
|
@@ -76,6 +80,37 @@ export class AnnouncementManager {
|
|
|
76
80
|
});
|
|
77
81
|
}
|
|
78
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Publishes NIP-01 kind:0 profile metadata when configured.
|
|
85
|
+
* This creates a social identity for the server on Nostr.
|
|
86
|
+
*/
|
|
87
|
+
async publishProfileMetadata() {
|
|
88
|
+
if (!this.profileMetadata) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
const publicKey = await this.onGetPublicKey();
|
|
93
|
+
const content = JSON.stringify(this.profileMetadata);
|
|
94
|
+
const eventTemplate = {
|
|
95
|
+
kind: PROFILE_METADATA_KIND,
|
|
96
|
+
content,
|
|
97
|
+
tags: [],
|
|
98
|
+
created_at: Math.floor(Date.now() / 1000),
|
|
99
|
+
pubkey: publicKey,
|
|
100
|
+
};
|
|
101
|
+
const signedEvent = await this.onSignEvent(eventTemplate);
|
|
102
|
+
await this.publishDiscoverabilityEvent(signedEvent);
|
|
103
|
+
this.logger.debug('Published profile metadata event', {
|
|
104
|
+
eventId: signedEvent.id,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
this.logger.error('Error publishing profile metadata', {
|
|
109
|
+
error: error instanceof Error ? error.message : String(error),
|
|
110
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
79
114
|
/**
|
|
80
115
|
* Updates extra common tags used for announcement and initialize response events.
|
|
81
116
|
*
|
|
@@ -433,9 +468,16 @@ export class AnnouncementManager {
|
|
|
433
468
|
return (relayUrls === null || relayUrls === void 0 ? void 0 : relayUrls.length) ? this.dedupeRelayUrls(relayUrls) : [];
|
|
434
469
|
}
|
|
435
470
|
getDiscoverabilityPublishRelayUrls() {
|
|
471
|
+
const advertisedRelayUrls = this.getAdvertisedRelayUrls();
|
|
472
|
+
const shouldSkipDefaultBootstrapRelayUrls = !this.hasExplicitBootstrapRelayUrls &&
|
|
473
|
+
advertisedRelayUrls.length > 0 &&
|
|
474
|
+
advertisedRelayUrls.every((relayUrl) => isLocalRelayUrl(relayUrl));
|
|
475
|
+
const bootstrapRelayUrls = shouldSkipDefaultBootstrapRelayUrls
|
|
476
|
+
? []
|
|
477
|
+
: this.bootstrapRelayUrls;
|
|
436
478
|
return this.dedupeRelayUrls([
|
|
437
|
-
...
|
|
438
|
-
...
|
|
479
|
+
...advertisedRelayUrls,
|
|
480
|
+
...bootstrapRelayUrls,
|
|
439
481
|
]);
|
|
440
482
|
}
|
|
441
483
|
dedupeRelayUrls(relayUrls) {
|
|
@@ -443,7 +485,9 @@ export class AnnouncementManager {
|
|
|
443
485
|
}
|
|
444
486
|
async publishDiscoverabilityEvent(event) {
|
|
445
487
|
const relayUrls = this.getDiscoverabilityPublishRelayUrls();
|
|
446
|
-
if (relayUrls.length &&
|
|
488
|
+
if (relayUrls.length &&
|
|
489
|
+
this.onPublishEventToRelays &&
|
|
490
|
+
relayUrls.every((relayUrl) => isWebsocketRelayUrl(relayUrl))) {
|
|
447
491
|
await this.onPublishEventToRelays(event, relayUrls);
|
|
448
492
|
return;
|
|
449
493
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"announcement-manager.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/announcement-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"announcement-manager.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/announcement-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { NostrEvent } from 'nostr-tools';
|
|
1
2
|
/**
|
|
2
3
|
* Represents a route for an in-flight request.
|
|
3
4
|
*/
|
|
@@ -8,6 +9,8 @@ export interface EventRoute {
|
|
|
8
9
|
originalRequestId: string | number;
|
|
9
10
|
/** Optional progress token for this request */
|
|
10
11
|
progressToken?: string;
|
|
12
|
+
/** The inbound Nostr event that originated this request */
|
|
13
|
+
requestEvent?: NostrEvent;
|
|
11
14
|
/**
|
|
12
15
|
* Optional gift wrap kind used for the correlated request.
|
|
13
16
|
*
|
|
@@ -23,6 +26,8 @@ export interface CorrelationStoreOptions {
|
|
|
23
26
|
maxEventRoutes?: number;
|
|
24
27
|
/** Callback invoked when an event route is evicted */
|
|
25
28
|
onEventRouteEvicted?: (eventId: string, route: EventRoute) => void;
|
|
29
|
+
/** Callback invoked when an event route is removed by any lifecycle path */
|
|
30
|
+
onEventRouteRemoved?: (eventId: string, route: EventRoute) => void;
|
|
26
31
|
}
|
|
27
32
|
/**
|
|
28
33
|
* Internal store for managing request/response correlation and progress routing.
|
|
@@ -39,7 +44,9 @@ export declare class CorrelationStore {
|
|
|
39
44
|
private readonly eventRoutes;
|
|
40
45
|
private readonly progressTokenToEventId;
|
|
41
46
|
private readonly clientEventIds;
|
|
47
|
+
private readonly onEventRouteRemoved?;
|
|
42
48
|
constructor(options?: CorrelationStoreOptions);
|
|
49
|
+
private removeRoute;
|
|
43
50
|
/**
|
|
44
51
|
* Registers a new event route for an incoming request.
|
|
45
52
|
*
|
|
@@ -48,7 +55,7 @@ export declare class CorrelationStore {
|
|
|
48
55
|
* @param originalRequestId The original JSON-RPC request ID
|
|
49
56
|
* @param progressToken Optional progress token for this request
|
|
50
57
|
*/
|
|
51
|
-
registerEventRoute(eventId: string, clientPubkey: string, originalRequestId: string | number, progressToken?: string, wrapKind?: number): void;
|
|
58
|
+
registerEventRoute(eventId: string, clientPubkey: string, originalRequestId: string | number, progressToken?: string, wrapKind?: number, requestEvent?: NostrEvent): void;
|
|
52
59
|
/**
|
|
53
60
|
* Gets the route for a given event ID.
|
|
54
61
|
*
|
|
@@ -56,6 +63,13 @@ export declare class CorrelationStore {
|
|
|
56
63
|
* @returns The event route, or undefined if not found
|
|
57
64
|
*/
|
|
58
65
|
getEventRoute(eventId: string): EventRoute | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Gets the inbound Nostr request event for a given event ID.
|
|
68
|
+
*
|
|
69
|
+
* @param eventId The Nostr event ID
|
|
70
|
+
* @returns The inbound Nostr request event, or undefined if not found
|
|
71
|
+
*/
|
|
72
|
+
getRequestEvent(eventId: string): NostrEvent | undefined;
|
|
59
73
|
/**
|
|
60
74
|
* Atomically gets and removes the route for a given event ID.
|
|
61
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlation-store.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/correlation-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"correlation-store.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/correlation-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnE,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACpE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAsB;IAC7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAG3B;gBAEE,OAAO,GAAE,uBAA4B;IAgCjD,OAAO,CAAC,WAAW;IAiBnB;;;;;;;OAOG;IACH,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAClC,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,UAAU,GACxB,IAAI;IAwBP;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAItD;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIxD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAUtD;;;;;OAKG;IACH,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpE;;;;;;OAMG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAuBnD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;OAKG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAIhD;;;;;OAKG;IACH,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAKvD;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
|
|
@@ -19,10 +19,12 @@ import { LruCache } from '../../core/utils/lru-cache.js';
|
|
|
19
19
|
*/
|
|
20
20
|
export class CorrelationStore {
|
|
21
21
|
constructor(options = {}) {
|
|
22
|
-
const { maxEventRoutes = DEFAULT_LRU_SIZE, onEventRouteEvicted } = options;
|
|
22
|
+
const { maxEventRoutes = DEFAULT_LRU_SIZE, onEventRouteEvicted, onEventRouteRemoved, } = options;
|
|
23
23
|
this.progressTokenToEventId = new Map();
|
|
24
24
|
this.clientEventIds = new Map();
|
|
25
|
+
this.onEventRouteRemoved = onEventRouteRemoved;
|
|
25
26
|
this.eventRoutes = new LruCache(maxEventRoutes, (eventId, route) => {
|
|
27
|
+
var _a;
|
|
26
28
|
// Clean up progress token mapping when event route is evicted
|
|
27
29
|
if (route.progressToken) {
|
|
28
30
|
this.progressTokenToEventId.delete(route.progressToken);
|
|
@@ -35,9 +37,25 @@ export class CorrelationStore {
|
|
|
35
37
|
this.clientEventIds.delete(route.clientPubkey);
|
|
36
38
|
}
|
|
37
39
|
}
|
|
40
|
+
(_a = this.onEventRouteRemoved) === null || _a === void 0 ? void 0 : _a.call(this, eventId, route);
|
|
38
41
|
onEventRouteEvicted === null || onEventRouteEvicted === void 0 ? void 0 : onEventRouteEvicted(eventId, route);
|
|
39
42
|
});
|
|
40
43
|
}
|
|
44
|
+
removeRoute(eventId, route) {
|
|
45
|
+
var _a;
|
|
46
|
+
if (route.progressToken) {
|
|
47
|
+
this.progressTokenToEventId.delete(route.progressToken);
|
|
48
|
+
}
|
|
49
|
+
const clientSet = this.clientEventIds.get(route.clientPubkey);
|
|
50
|
+
if (clientSet) {
|
|
51
|
+
clientSet.delete(eventId);
|
|
52
|
+
if (clientSet.size === 0) {
|
|
53
|
+
this.clientEventIds.delete(route.clientPubkey);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
this.eventRoutes.delete(eventId);
|
|
57
|
+
(_a = this.onEventRouteRemoved) === null || _a === void 0 ? void 0 : _a.call(this, eventId, route);
|
|
58
|
+
}
|
|
41
59
|
/**
|
|
42
60
|
* Registers a new event route for an incoming request.
|
|
43
61
|
*
|
|
@@ -46,12 +64,13 @@ export class CorrelationStore {
|
|
|
46
64
|
* @param originalRequestId The original JSON-RPC request ID
|
|
47
65
|
* @param progressToken Optional progress token for this request
|
|
48
66
|
*/
|
|
49
|
-
registerEventRoute(eventId, clientPubkey, originalRequestId, progressToken, wrapKind) {
|
|
67
|
+
registerEventRoute(eventId, clientPubkey, originalRequestId, progressToken, wrapKind, requestEvent) {
|
|
50
68
|
const route = {
|
|
51
69
|
clientPubkey,
|
|
52
70
|
originalRequestId,
|
|
53
71
|
progressToken,
|
|
54
72
|
wrapKind,
|
|
73
|
+
requestEvent,
|
|
55
74
|
};
|
|
56
75
|
this.eventRoutes.set(eventId, route);
|
|
57
76
|
// Update client index
|
|
@@ -74,6 +93,16 @@ export class CorrelationStore {
|
|
|
74
93
|
getEventRoute(eventId) {
|
|
75
94
|
return this.eventRoutes.get(eventId);
|
|
76
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Gets the inbound Nostr request event for a given event ID.
|
|
98
|
+
*
|
|
99
|
+
* @param eventId The Nostr event ID
|
|
100
|
+
* @returns The inbound Nostr request event, or undefined if not found
|
|
101
|
+
*/
|
|
102
|
+
getRequestEvent(eventId) {
|
|
103
|
+
var _a;
|
|
104
|
+
return (_a = this.eventRoutes.get(eventId)) === null || _a === void 0 ? void 0 : _a.requestEvent;
|
|
105
|
+
}
|
|
77
106
|
/**
|
|
78
107
|
* Atomically gets and removes the route for a given event ID.
|
|
79
108
|
*
|
|
@@ -85,20 +114,7 @@ export class CorrelationStore {
|
|
|
85
114
|
if (!route) {
|
|
86
115
|
return undefined;
|
|
87
116
|
}
|
|
88
|
-
|
|
89
|
-
if (route.progressToken) {
|
|
90
|
-
this.progressTokenToEventId.delete(route.progressToken);
|
|
91
|
-
}
|
|
92
|
-
// Remove from client index
|
|
93
|
-
const clientSet = this.clientEventIds.get(route.clientPubkey);
|
|
94
|
-
if (clientSet) {
|
|
95
|
-
clientSet.delete(eventId);
|
|
96
|
-
if (clientSet.size === 0) {
|
|
97
|
-
this.clientEventIds.delete(route.clientPubkey);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Remove the event route
|
|
101
|
-
this.eventRoutes.delete(eventId);
|
|
117
|
+
this.removeRoute(eventId, route);
|
|
102
118
|
return route;
|
|
103
119
|
}
|
|
104
120
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlation-store.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/correlation-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"correlation-store.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/correlation-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAoCzD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IAS3B,YAAY,UAAmC,EAAE;QAC/C,MAAM,EACJ,cAAc,GAAG,gBAAgB,EACjC,mBAAmB,EACnB,mBAAmB,GACpB,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;QACrD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAE/C,IAAI,CAAC,WAAW,GAAG,IAAI,QAAQ,CAC7B,cAAc,EACd,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;;YACjB,8DAA8D;YAC9D,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC;YACD,oDAAoD;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC9D,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC1B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,MAAA,IAAI,CAAC,mBAAmB,qDAAG,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,OAAe,EAAE,KAAiB;;QACpD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,MAAA,IAAI,CAAC,mBAAmB,qDAAG,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAChB,OAAe,EACf,YAAoB,EACpB,iBAAkC,EAClC,aAAsB,EACtB,QAAiB,EACjB,YAAyB;QAEzB,MAAM,KAAK,GAAe;YACxB,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,QAAQ;YACR,YAAY;SACb,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAErC,sBAAsB;QACtB,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,OAAe;;QAC7B,OAAO,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,aAAqB;QAC7C,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,CAAC,YAAoB;QACxC,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,CAAC;QACX,CAAC;QAED,0FAA0F;QAC1F,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,aAAqB;QACpC,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,YAAoB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { NostrEvent } from 'nostr-tools';
|
|
3
|
+
import type { Logger } from '../../core/utils/logger.js';
|
|
4
|
+
/**
|
|
5
|
+
* Dependencies required to publish oversized server response frames.
|
|
6
|
+
*/
|
|
7
|
+
export interface OversizedServerResponseDeps {
|
|
8
|
+
sendMcpMessage: (message: JSONRPCMessage, recipientPublicKey: string, kind: number, tags?: NostrEvent['tags'], isEncrypted?: boolean, onEventCreated?: (eventId: string) => void, giftWrapKind?: number) => Promise<string>;
|
|
9
|
+
logger: Logger;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Dependencies required to publish a CEP-22 accept frame.
|
|
13
|
+
*/
|
|
14
|
+
export interface OversizedAcceptFrameDeps {
|
|
15
|
+
sendNotification: (clientPubkey: string, notification: JSONRPCMessage, correlatedEventId?: string) => Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Runtime configuration for oversized server frame publication.
|
|
19
|
+
*/
|
|
20
|
+
export interface OversizedServerHandlerConfig {
|
|
21
|
+
chunkSizeBytes: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Inputs required to publish an oversized server response.
|
|
25
|
+
*/
|
|
26
|
+
export interface SendOversizedServerResponseOptions {
|
|
27
|
+
serialized: string;
|
|
28
|
+
clientPubkey: string;
|
|
29
|
+
progressToken: string;
|
|
30
|
+
startFrameTags: string[][];
|
|
31
|
+
continuationFrameTags: string[][];
|
|
32
|
+
isEncrypted: boolean;
|
|
33
|
+
giftWrapKind?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Sends an oversized JSON-RPC response as CEP-22 progress frames.
|
|
37
|
+
*/
|
|
38
|
+
export declare function sendOversizedServerResponse(options: SendOversizedServerResponseOptions, config: OversizedServerHandlerConfig, deps: OversizedServerResponseDeps): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Inputs required to publish a CEP-22 accept frame.
|
|
41
|
+
*/
|
|
42
|
+
export interface SendAcceptFrameOptions {
|
|
43
|
+
clientPubkey: string;
|
|
44
|
+
progressToken: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Sends the CEP-22 accept frame for an inbound oversized transfer start.
|
|
48
|
+
*/
|
|
49
|
+
export declare function sendAcceptFrame(options: SendAcceptFrameOptions, deps: OversizedAcceptFrameDeps): Promise<void>;
|
|
50
|
+
//# sourceMappingURL=oversized-server-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oversized-server-handler.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/oversized-server-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAOzD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,CACd,OAAO,EAAE,cAAc,EACvB,kBAAkB,EAAE,MAAM,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,WAAW,CAAC,EAAE,OAAO,EACrB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC1C,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,CAChB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,cAAc,EAC5B,iBAAiB,CAAC,EAAE,MAAM,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,EAAE,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,EAC3C,MAAM,EAAE,4BAA4B,EACpC,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { CTXVM_MESSAGES_KIND } from '../../core/constants.js';
|
|
2
|
+
import { sendOversizedTransfer, } from '../oversized-transfer/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Sends an oversized JSON-RPC response as CEP-22 progress frames.
|
|
5
|
+
*/
|
|
6
|
+
export async function sendOversizedServerResponse(options, config, deps) {
|
|
7
|
+
deps.logger.debug('Sending oversized server response', {
|
|
8
|
+
progressToken: options.progressToken,
|
|
9
|
+
chunkSizeBytes: config.chunkSizeBytes,
|
|
10
|
+
});
|
|
11
|
+
const sendFrame = async (params, tags) => {
|
|
12
|
+
const notification = {
|
|
13
|
+
jsonrpc: '2.0',
|
|
14
|
+
method: 'notifications/progress',
|
|
15
|
+
params,
|
|
16
|
+
};
|
|
17
|
+
await deps.sendMcpMessage(notification, options.clientPubkey, CTXVM_MESSAGES_KIND, tags, options.isEncrypted, undefined, options.giftWrapKind);
|
|
18
|
+
};
|
|
19
|
+
await sendOversizedTransfer(options.serialized, {
|
|
20
|
+
progressToken: options.progressToken,
|
|
21
|
+
chunkSizeBytes: config.chunkSizeBytes,
|
|
22
|
+
needsAcceptHandshake: false,
|
|
23
|
+
publishFrame: (frame, ctx) => sendFrame(frame, ctx.isStartFrame
|
|
24
|
+
? options.startFrameTags
|
|
25
|
+
: options.continuationFrameTags).then(() => undefined),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Sends the CEP-22 accept frame for an inbound oversized transfer start.
|
|
30
|
+
*/
|
|
31
|
+
export async function sendAcceptFrame(options, deps) {
|
|
32
|
+
const acceptParams = {
|
|
33
|
+
progressToken: options.progressToken,
|
|
34
|
+
// progress=2 is the slot reserved between start(1) and the first chunk(3).
|
|
35
|
+
progress: 2,
|
|
36
|
+
message: 'oversized request accepted',
|
|
37
|
+
cvm: {
|
|
38
|
+
type: 'oversized-transfer',
|
|
39
|
+
frameType: 'accept',
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
const notification = {
|
|
43
|
+
jsonrpc: '2.0',
|
|
44
|
+
method: 'notifications/progress',
|
|
45
|
+
params: acceptParams,
|
|
46
|
+
};
|
|
47
|
+
await deps.sendNotification(options.clientPubkey, notification);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=oversized-server-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oversized-server-handler.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/oversized-server-handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,qBAAqB,GAEtB,MAAM,gCAAgC,CAAC;AAiDxC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA2C,EAC3C,MAAoC,EACpC,IAAiC;IAEjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;QACrD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,KAAK,EACrB,MAAiC,EACjC,IAAgB,EACD,EAAE;QACjB,MAAM,YAAY,GAAmB;YACnC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,wBAAwB;YAChC,MAAM;SACP,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CACvB,YAAY,EACZ,OAAO,CAAC,YAAY,EACpB,mBAAmB,EACnB,IAAI,EACJ,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,OAAO,CAAC,YAAY,CACrB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE;QAC9C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,oBAAoB,EAAE,KAAK;QAC3B,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAC3B,SAAS,CACP,KAAK,EACL,GAAG,CAAC,YAAY;YACd,CAAC,CAAC,OAAO,CAAC,cAAc;YACxB,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAClC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC;AAUD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B,EAC/B,IAA8B;IAE9B,MAAM,YAAY,GAA8B;QAC9C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,2EAA2E;QAC3E,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,4BAA4B;QACrC,GAAG,EAAE;YACH,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,QAAQ;SACpB;KACF,CAAC;IAEF,MAAM,YAAY,GAAmB;QACnC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,YAAY;KACrB,CAAC;IAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true when the relay URL is local-only and should not trigger
|
|
3
|
+
* default public bootstrap publication by itself.
|
|
4
|
+
*/
|
|
5
|
+
export declare function isLocalRelayUrl(relayUrl: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Returns true when the relay URL uses a websocket transport.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isWebsocketRelayUrl(relayUrl: string): boolean;
|
|
10
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/transport/nostr-server/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmBzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAS7D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true when the relay URL is local-only and should not trigger
|
|
3
|
+
* default public bootstrap publication by itself.
|
|
4
|
+
*/
|
|
5
|
+
export function isLocalRelayUrl(relayUrl) {
|
|
6
|
+
if (relayUrl.startsWith('memory://')) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
let url;
|
|
10
|
+
try {
|
|
11
|
+
url = new URL(relayUrl);
|
|
12
|
+
}
|
|
13
|
+
catch (_a) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const hostname = url.hostname.toLowerCase();
|
|
17
|
+
return (hostname === 'localhost' ||
|
|
18
|
+
hostname === '127.0.0.1' ||
|
|
19
|
+
hostname === '::1' ||
|
|
20
|
+
hostname === '0.0.0.0');
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns true when the relay URL uses a websocket transport.
|
|
24
|
+
*/
|
|
25
|
+
export function isWebsocketRelayUrl(relayUrl) {
|
|
26
|
+
let url;
|
|
27
|
+
try {
|
|
28
|
+
url = new URL(relayUrl);
|
|
29
|
+
}
|
|
30
|
+
catch (_a) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return url.protocol === 'ws:' || url.protocol === 'wss:';
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/transport/nostr-server/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,CACL,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,KAAK;QAClB,QAAQ,KAAK,SAAS,CACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AAC3D,CAAC"}
|