@candypoets/nipworker 0.0.49 → 0.0.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/generated/nostr/fb/msg-kind.d.ts +10 -0
  2. package/dist/generated/nostr/fb/msg-kind.d.ts.map +1 -0
  3. package/dist/generated/nostr/fb/relay-ref.d.ts +24 -0
  4. package/dist/generated/nostr/fb/relay-ref.d.ts.map +1 -0
  5. package/dist/generated/nostr/fb/worker-line.d.ts +39 -0
  6. package/dist/generated/nostr/fb/worker-line.d.ts.map +1 -0
  7. package/dist/generated/nostr/fb.d.ts +3 -0
  8. package/dist/generated/nostr/fb.d.ts.map +1 -1
  9. package/dist/hooks.d.ts +6 -5
  10. package/dist/hooks.d.ts.map +1 -1
  11. package/dist/hooks.js +1 -1
  12. package/dist/hooks.js.map +1 -1
  13. package/dist/index.d.ts +2 -48
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/index2.js +1 -1
  18. package/dist/index2.js.map +1 -1
  19. package/dist/lib/ByteString.d.ts.map +1 -1
  20. package/dist/lib/SharedBuffer.d.ts.map +1 -1
  21. package/dist/manager.d.ts +44 -0
  22. package/dist/manager.d.ts.map +1 -0
  23. package/dist/message-type.js +1 -1
  24. package/dist/message-type.js.map +1 -1
  25. package/dist/utils.d.ts +1 -0
  26. package/dist/utils.d.ts.map +1 -1
  27. package/dist/utils.js +1 -1
  28. package/dist/utils.js.map +1 -1
  29. package/dist/ws/connection.d.ts +37 -0
  30. package/dist/ws/connection.d.ts.map +1 -0
  31. package/dist/ws/index.d.ts +29 -0
  32. package/dist/ws/index.d.ts.map +1 -0
  33. package/dist/ws/registry.d.ts +34 -0
  34. package/dist/ws/registry.d.ts.map +1 -0
  35. package/dist/ws/ring-buffer.d.ts +35 -0
  36. package/dist/ws/ring-buffer.d.ts.map +1 -0
  37. package/dist/ws/types.d.ts +55 -0
  38. package/dist/ws/types.d.ts.map +1 -0
  39. package/package.json +3 -3
@@ -0,0 +1,10 @@
1
+ export declare enum MsgKind {
2
+ Unknown = 0,
3
+ Event = 1,
4
+ Eose = 2,
5
+ Ok = 3,
6
+ Closed = 4,
7
+ Notice = 5,
8
+ Auth = 6
9
+ }
10
+ //# sourceMappingURL=msg-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msg-kind.d.ts","sourceRoot":"","sources":["../../../../src/generated/nostr/fb/msg-kind.ts"],"names":[],"mappings":"AAKA,oBAAY,OAAO;IACjB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,IAAI,IAAI;IACR,EAAE,IAAI;IACN,MAAM,IAAI;IACV,MAAM,IAAI;IACV,IAAI,IAAI;CACT"}
@@ -0,0 +1,24 @@
1
+ import { ByteString } from '../../../lib/ByteString';
2
+
3
+ import * as flatbuffers from 'flatbuffers';
4
+ export declare class RelayRef implements flatbuffers.IUnpackableObject<RelayRefT> {
5
+ bb: flatbuffers.ByteBuffer | null;
6
+ bb_pos: number;
7
+ __init(i: number, bb: flatbuffers.ByteBuffer): RelayRef;
8
+ static getRootAsRelayRef(bb: flatbuffers.ByteBuffer, obj?: RelayRef): RelayRef;
9
+ static getSizePrefixedRootAsRelayRef(bb: flatbuffers.ByteBuffer, obj?: RelayRef): RelayRef;
10
+ url(): ByteString | null;
11
+ url(optionalEncoding: flatbuffers.Encoding): ByteString | Uint8Array | null;
12
+ static startRelayRef(builder: flatbuffers.Builder): void;
13
+ static addUrl(builder: flatbuffers.Builder, urlOffset: flatbuffers.Offset): void;
14
+ static endRelayRef(builder: flatbuffers.Builder): flatbuffers.Offset;
15
+ static createRelayRef(builder: flatbuffers.Builder, urlOffset: flatbuffers.Offset): flatbuffers.Offset;
16
+ unpack(): RelayRefT;
17
+ unpackTo(_o: RelayRefT): void;
18
+ }
19
+ export declare class RelayRefT implements flatbuffers.IGeneratedObject {
20
+ url: ByteString | Uint8Array | null;
21
+ constructor(url?: ByteString | Uint8Array | null);
22
+ pack(builder: flatbuffers.Builder): flatbuffers.Offset;
23
+ }
24
+ //# sourceMappingURL=relay-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-ref.d.ts","sourceRoot":"","sources":["../../../../src/generated/nostr/fb/relay-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKhD,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAI3C,qBAAa,QAAS,YAAW,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC;IACvE,EAAE,EAAE,WAAW,CAAC,UAAU,GAAC,IAAI,CAAQ;IACvC,MAAM,SAAK;IACX,MAAM,CAAC,CAAC,EAAC,MAAM,EAAE,EAAE,EAAC,WAAW,CAAC,UAAU,GAAE,QAAQ;IAMtD,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,EAAC,QAAQ,GAAE,QAAQ;IAI3E,MAAM,CAAC,6BAA6B,CAAC,EAAE,EAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,EAAC,QAAQ,GAAE,QAAQ;IAKvF,GAAG,IAAI,UAAU,GAAC,IAAI;IACtB,GAAG,CAAC,gBAAgB,EAAC,WAAW,CAAC,QAAQ,GAAG,UAAU,GAAC,UAAU,GAAC,IAAI;IAMtE,MAAM,CAAC,aAAa,CAAC,OAAO,EAAC,WAAW,CAAC,OAAO;IAIhD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAC,WAAW,CAAC,MAAM;IAIvE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAC,WAAW,CAAC,OAAO,GAAE,WAAW,CAAC,MAAM;IAMlE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAC,WAAW,CAAC,MAAM,GAAE,WAAW,CAAC,MAAM;IAMnG,MAAM,IAAI,SAAS;IAOnB,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;CAG5B;AAED,qBAAa,SAAU,YAAW,WAAW,CAAC,gBAAgB;IAErD,GAAG,EAAE,UAAU,GAAC,UAAU,GAAC,IAAI;gBAA/B,GAAG,GAAE,UAAU,GAAC,UAAU,GAAC,IAAW;IAI/C,IAAI,CAAC,OAAO,EAAC,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM;CAOpD"}
@@ -0,0 +1,39 @@
1
+ import { ByteString } from '../../../lib/ByteString';
2
+ import { MsgKind } from '../../nostr/fb/msg-kind.js';
3
+ import { RelayRef, RelayRefT } from '../../nostr/fb/relay-ref.js';
4
+
5
+ import * as flatbuffers from 'flatbuffers';
6
+ export declare class WorkerLine implements flatbuffers.IUnpackableObject<WorkerLineT> {
7
+ bb: flatbuffers.ByteBuffer | null;
8
+ bb_pos: number;
9
+ __init(i: number, bb: flatbuffers.ByteBuffer): WorkerLine;
10
+ static getRootAsWorkerLine(bb: flatbuffers.ByteBuffer, obj?: WorkerLine): WorkerLine;
11
+ static getSizePrefixedRootAsWorkerLine(bb: flatbuffers.ByteBuffer, obj?: WorkerLine): WorkerLine;
12
+ relay(obj?: RelayRef): RelayRef | null;
13
+ kind(): MsgKind;
14
+ subId(): ByteString | null;
15
+ subId(optionalEncoding: flatbuffers.Encoding): ByteString | Uint8Array | null;
16
+ raw(index: number): number | null;
17
+ rawLength(): number;
18
+ rawArray(): Uint8Array | null;
19
+ static startWorkerLine(builder: flatbuffers.Builder): void;
20
+ static addRelay(builder: flatbuffers.Builder, relayOffset: flatbuffers.Offset): void;
21
+ static addKind(builder: flatbuffers.Builder, kind: MsgKind): void;
22
+ static addSubId(builder: flatbuffers.Builder, subIdOffset: flatbuffers.Offset): void;
23
+ static addRaw(builder: flatbuffers.Builder, rawOffset: flatbuffers.Offset): void;
24
+ static createRawVector(builder: flatbuffers.Builder, data: number[] | Uint8Array): flatbuffers.Offset;
25
+ static startRawVector(builder: flatbuffers.Builder, numElems: number): void;
26
+ static endWorkerLine(builder: flatbuffers.Builder): flatbuffers.Offset;
27
+ static createWorkerLine(builder: flatbuffers.Builder, relayOffset: flatbuffers.Offset, kind: MsgKind, subIdOffset: flatbuffers.Offset, rawOffset: flatbuffers.Offset): flatbuffers.Offset;
28
+ unpack(): WorkerLineT;
29
+ unpackTo(_o: WorkerLineT): void;
30
+ }
31
+ export declare class WorkerLineT implements flatbuffers.IGeneratedObject {
32
+ relay: RelayRefT | null;
33
+ kind: MsgKind;
34
+ subId: ByteString | Uint8Array | null;
35
+ raw: (number)[];
36
+ constructor(relay?: RelayRefT | null, kind?: MsgKind, subId?: ByteString | Uint8Array | null, raw?: (number)[]);
37
+ pack(builder: flatbuffers.Builder): flatbuffers.Offset;
38
+ }
39
+ //# sourceMappingURL=worker-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-line.d.ts","sourceRoot":"","sources":["../../../../src/generated/nostr/fb/worker-line.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export { Message } from './fb/message.js';
41
41
  export { MessageType } from './fb/message-type.js';
42
42
  export { MintInfo, MintInfoT } from './fb/mint-info.js';
43
43
  export { MintProofs, MintProofsT } from './fb/mint-proofs.js';
44
+ export { MsgKind } from './fb/msg-kind.js';
44
45
  export { NostrData, NostrDataT } from './fb/nostr-data.js';
45
46
  export { NostrEvent, NostrEventT } from './fb/nostr-event.js';
46
47
  export { NpubLimiterPipeConfig, NpubLimiterPipeConfigT } from './fb/npub-limiter-pipe-config.js';
@@ -59,6 +60,7 @@ export { Pubkey, PubkeyT } from './fb/pubkey.js';
59
60
  export { Publish, PublishT } from './fb/publish.js';
60
61
  export { ReactionType } from './fb/reaction-type.js';
61
62
  export { RelayInfo, RelayInfoT } from './fb/relay-info.js';
63
+ export { RelayRef, RelayRefT } from './fb/relay-ref.js';
62
64
  export { Request, RequestT } from './fb/request.js';
63
65
  export { SaveToDbPipeConfig, SaveToDbPipeConfigT } from './fb/save-to-db-pipe-config.js';
64
66
  export { SerializeEventsPipeConfig, SerializeEventsPipeConfigT } from './fb/serialize-events-pipe-config.js';
@@ -74,6 +76,7 @@ export { Template, TemplateT } from './fb/template.js';
74
76
  export { Unsubscribe, UnsubscribeT } from './fb/unsubscribe.js';
75
77
  export { ValidProofs, ValidProofsT } from './fb/valid-proofs.js';
76
78
  export { VideoData, VideoDataT } from './fb/video-data.js';
79
+ export { WorkerLine, WorkerLineT } from './fb/worker-line.js';
77
80
  export { WorkerMessage, WorkerMessageT } from './fb/worker-message.js';
78
81
  export { ZapRequest, ZapRequestT } from './fb/zap-request.js';
79
82
  //# sourceMappingURL=fb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fb.d.ts","sourceRoot":"","sources":["../../../src/generated/nostr/fb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fb.d.ts","sourceRoot":"","sources":["../../../src/generated/nostr/fb.ts"],"names":[],"mappings":"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"}
package/dist/hooks.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import { NostrEvent } from 'nostr-tools';
2
- import { RequestObject, SubscriptionConfig, NostrManager } from '.';
1
+ import { Event, EventTemplate } from 'nostr-tools';
3
2
  import { WorkerMessage } from './generated/nostr/fb';
3
+ import { RequestObject, SubscriptionConfig } from './manager';
4
4
 
5
- export declare function useSubscription(subId: string, requests: RequestObject[], callback?: (message: WorkerMessage) => void, options?: SubscriptionConfig, manager?: NostrManager): () => void;
6
- export declare function usePublish(pubId: string, event: NostrEvent, callback?: (message: WorkerMessage) => void, options?: {
5
+ export declare function useSubscription(subId: string, requests: RequestObject[], callback?: (message: WorkerMessage) => void, options?: SubscriptionConfig): () => void;
6
+ export declare function usePublish(pubId: string, event: EventTemplate, callback?: (message: WorkerMessage) => void, options?: {
7
7
  trackStatus?: boolean;
8
- }, manager?: NostrManager): () => void;
8
+ }): () => void;
9
+ export declare function useSignEvent(template: EventTemplate, callback: (event: Event) => void): void;
9
10
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAgB,MAAM,GAAG,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,GAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAe,EACrD,OAAO,GAAE,kBAA2C,EACpD,OAAO,GAAE,YAA2B,GACnC,MAAM,IAAI,CA4CZ;AAGD,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAe,EACrD,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAA0B,EAC1D,OAAO,GAAE,YAA2B,GACnC,MAAM,IAAI,CAuCZ"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGnE,wBAAgB,eAAe,CAC9B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,GAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAe,EACrD,OAAO,GAAE,kBAA2C,GAClD,MAAM,IAAI,CA8CZ;AAED,wBAAgB,UAAU,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAe,EACrD,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAA0B,GACxD,MAAM,IAAI,CA2CZ;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,QAIrF"}
package/dist/hooks.js CHANGED
@@ -1 +1 @@
1
- import{n as h,S as p}from"./index2.js";function v(e,l,d=()=>{},b={closeOnEose:!1},s=h){if(!e)return console.warn("useSharedSubscription: No subscription ID provided"),()=>{};let t=null,r=4,i=!0,u=!1,n=!1;const a=()=>{i=!1,n&&!u&&(s.removeEventListener(`subscription:${e}`,o),s.unsubscribe(e),u=!0)};e=s.createShortId(e),s.ready.then(()=>{t=s.subscribe(e,l,b),n=!0});const o=()=>{if(!i||!t)return;let c=p.readMessages(t,r);for(;c.hasNewData;){for(const f of c.messages)d(f);r=c.newReadPosition,c=p.readMessages(t,r)}};return s.addEventListener(`subscription:${e}`,o),queueMicrotask(o),a}function S(e,l,d=()=>{},b={trackStatus:!0},s=h){if(!e)return console.warn("usePublish: No publish ID provided"),()=>{};let t=null,r=4,i=!0;const u=()=>{i=!1,s.removeEventListener(`publish:${e}`,n)};s.ready.then(()=>{t=s.publish(e,l)});const n=()=>{if(!i||!t)return;const a=p.readMessages(t,r);a.hasNewData&&(a.messages.forEach(o=>{console.log(o),d(o)}),r=a.newReadPosition)};return b.trackStatus&&(s.addEventListener(`publish:${e}`,n),queueMicrotask(n)),u}export{S as usePublish,v as useSubscription};
1
+ import{n as c,Z as f}from"./index2.js";function p(s,a,b=()=>{},g={closeOnEose:!1}){if(!s)return console.warn("useSharedSubscription: No subscription ID provided"),()=>{};let t=null,r=4,i=!0,n=!1,d=!1;s=c.createShortId(s);const e=c.getManager(s),u=()=>{i=!1,d&&!n&&(e.removeEventListener(`subscription:${s}`,o),e.unsubscribe(s),n=!0)};e.ready.then(()=>{t=e.subscribe(s,a,g),d=!0});const o=()=>{if(!i||!t)return;let l=f.readMessages(t,r);for(;l.hasNewData;){for(const h of l.messages)b(h);r=l.newReadPosition,l=f.readMessages(t,r)}};return e.addEventListener(`subscription:${s}`,o),queueMicrotask(o),u}function v(s,a,b=()=>{},g={trackStatus:!0}){if(!s)return console.warn("usePublish: No publish ID provided"),()=>{};let t=null,r=4,i=!0;s=c.createShortId(s);const n=c.getManager(s),d=()=>{i=!1,n.removeEventListener(`publish:${s}`,e)};n.ready.then(()=>{t=n.publish(s,a)});const e=()=>{if(!i||!t)return;const u=f.readMessages(t,r);u.hasNewData&&(u.messages.forEach(o=>{console.log(o),b(o)}),r=u.newReadPosition)};return g.trackStatus&&(n.addEventListener(`publish:${s}`,e),queueMicrotask(e)),d}function E(s,a){c.getManager("").signEvent(s,a)}export{v as usePublish,E as useSignEvent,p as useSubscription};
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../src/hooks.ts"],"sourcesContent":["import { NostrEvent } from \"nostr-tools\";\nimport { RequestObject, type SubscriptionConfig, type NostrManager, nostrManager } from \".\";\nimport { SharedBufferReader } from \"src/lib/SharedBuffer\";\nimport { WorkerMessage } from \"./generated/nostr/fb\";\n\nexport function useSubscription(\n subId: string,\n requests: RequestObject[],\n callback: (message: WorkerMessage) => void = () => {},\n options: SubscriptionConfig = { closeOnEose: false },\n manager: NostrManager = nostrManager\n): () => void {\n if (!subId) {\n console.warn(\"useSharedSubscription: No subscription ID provided\");\n return () => {};\n }\n let buffer: SharedArrayBuffer | null = null;\n let lastReadPos: number = 4;\n let running: boolean = true;\n let hasUnsubscribed = false;\n let hasSubscribed = false;\n\n const unsubscribe = (): void => {\n running = false;\n if (hasSubscribed && !hasUnsubscribed) {\n manager.removeEventListener(`subscription:${subId}`, processEvents);\n manager.unsubscribe(subId);\n hasUnsubscribed = true;\n }\n };\n subId = manager.createShortId(subId);\n\n manager.ready.then(() => {\n buffer = manager.subscribe(subId, requests, options)\n hasSubscribed = true;\n });\n\n\n const processEvents = (): void => {\n if (!running || !buffer) return;\n let result = SharedBufferReader.readMessages(buffer, lastReadPos);\n while (result.hasNewData) {\n for (const message of result.messages) {\n callback(message)\n }\n lastReadPos = result.newReadPosition;\n result = SharedBufferReader.readMessages(buffer, lastReadPos);\n }\n };\n\n manager.addEventListener(`subscription:${subId}`, processEvents)\n\n queueMicrotask(processEvents);\n\n return unsubscribe\n}\n\n\nexport function usePublish(\n pubId: string,\n event: NostrEvent,\n callback: (message: WorkerMessage) => void = () => {},\n options: { trackStatus?: boolean } = { trackStatus: true },\n manager: NostrManager = nostrManager\n): () => void {\n if (!pubId) {\n console.warn(\"usePublish: No publish ID provided\");\n return () => {};\n }\n\n let buffer: SharedArrayBuffer | null = null;\n let lastReadPos: number = 4;\n let running = true;\n\n const unsubscribe = (): void => {\n running = false;\n manager.removeEventListener(`publish:${pubId}`, processEvents);\n };\n\n manager.ready.then(() => {\n buffer = manager.publish(pubId, event);\n });\n\n const processEvents = (): void => {\n if (!running || !buffer) {\n return;\n }\n const result = SharedBufferReader.readMessages(buffer, lastReadPos);\n if (result.hasNewData) {\n result.messages.forEach((message: WorkerMessage) => {\n console.log(message);\n callback(message);\n });\n lastReadPos = result.newReadPosition;\n }\n };\n\n if (options.trackStatus) {\n manager.addEventListener(`publish:${pubId}`, processEvents);\n queueMicrotask(processEvents);\n }\n\n return unsubscribe;\n}\n"],"names":["useSubscription","subId","requests","callback","options","manager","nostrManager","buffer","lastReadPos","running","hasUnsubscribed","hasSubscribed","unsubscribe","processEvents","result","SharedBufferReader","message","usePublish","pubId","event"],"mappings":";AAKO,SAASA,EACdC,GACAC,GACAC,IAA6C,MAAM;AAAC,GACpDC,IAA8B,EAAE,aAAa,GAAA,GAC7CC,IAAwBC,GACZ;AACZ,MAAI,CAACL;AACH,mBAAQ,KAAK,oDAAoD,GAC1D,MAAM;AAAA,IAAC;AAEhB,MAAIM,IAAmC,MACnCC,IAAsB,GACtBC,IAAmB,IACnBC,IAAkB,IAClBC,IAAgB;AAEpB,QAAMC,IAAc,MAAY;AAC9B,IAAAH,IAAU,IACNE,KAAiB,CAACD,MACpBL,EAAQ,oBAAoB,gBAAgBJ,CAAK,IAAIY,CAAa,GAClER,EAAQ,YAAYJ,CAAK,GACzBS,IAAkB;AAAA,EAEtB;AACA,EAAAT,IAAQI,EAAQ,cAAcJ,CAAK,GAEnCI,EAAQ,MAAM,KAAK,MAAM;AACvB,IAAAE,IAASF,EAAQ,UAAUJ,GAAOC,GAAUE,CAAO,GACnDO,IAAgB;AAAA,EAClB,CAAC;AAGD,QAAME,IAAgB,MAAY;AAChC,QAAI,CAACJ,KAAW,CAACF,EAAQ;AACzB,QAAIO,IAASC,EAAmB,aAAaR,GAAQC,CAAW;AAChE,WAAOM,EAAO,cAAY;AACxB,iBAAWE,KAAWF,EAAO;AAC3B,QAAAX,EAASa,CAAO;AAElB,MAAAR,IAAcM,EAAO,iBACrBA,IAASC,EAAmB,aAAaR,GAAQC,CAAW;AAAA,IAC9D;AAAA,EACF;AAEA,SAAAH,EAAQ,iBAAiB,gBAAgBJ,CAAK,IAAIY,CAAa,GAE/D,eAAeA,CAAa,GAErBD;AACT;AAGO,SAASK,EACdC,GACAC,GACAhB,IAA6C,MAAM;AAAC,GACpDC,IAAqC,EAAE,aAAa,GAAA,GACpDC,IAAwBC,GACZ;AACZ,MAAI,CAACY;AACH,mBAAQ,KAAK,oCAAoC,GAC1C,MAAM;AAAA,IAAC;AAGhB,MAAIX,IAAmC,MACnCC,IAAsB,GACtBC,IAAU;AAEd,QAAMG,IAAc,MAAY;AAC9B,IAAAH,IAAU,IACVJ,EAAQ,oBAAoB,WAAWa,CAAK,IAAIL,CAAa;AAAA,EAC/D;AAEA,EAAAR,EAAQ,MAAM,KAAK,MAAM;AACvB,IAAAE,IAASF,EAAQ,QAAQa,GAAOC,CAAK;AAAA,EACvC,CAAC;AAED,QAAMN,IAAgB,MAAY;AAChC,QAAI,CAACJ,KAAW,CAACF;AACf;AAEF,UAAMO,IAASC,EAAmB,aAAaR,GAAQC,CAAW;AAClE,IAAIM,EAAO,eACTA,EAAO,SAAS,QAAQ,CAACE,MAA2B;AAChD,cAAQ,IAAIA,CAAO,GACnBb,EAASa,CAAO;AAAA,IACpB,CAAC,GACDR,IAAcM,EAAO;AAAA,EAEzB;AAEA,SAAIV,EAAQ,gBACRC,EAAQ,iBAAiB,WAAWa,CAAK,IAAIL,CAAa,GAC1D,eAAeA,CAAa,IAGzBD;AACT;"}
1
+ {"version":3,"file":"hooks.js","sources":["../src/hooks.ts"],"sourcesContent":["import { Event, EventTemplate, NostrEvent } from 'nostr-tools';\nimport { SharedBufferReader } from 'src/lib/SharedBuffer';\nimport { WorkerMessage } from './generated/nostr/fb';\nimport { RequestObject, type SubscriptionConfig } from './manager';\nimport { nipWorker } from './ws';\n\nexport function useSubscription(\n\tsubId: string,\n\trequests: RequestObject[],\n\tcallback: (message: WorkerMessage) => void = () => {},\n\toptions: SubscriptionConfig = { closeOnEose: false }\n): () => void {\n\tif (!subId) {\n\t\tconsole.warn('useSharedSubscription: No subscription ID provided');\n\t\treturn () => {};\n\t}\n\tlet buffer: SharedArrayBuffer | null = null;\n\tlet lastReadPos: number = 4;\n\tlet running: boolean = true;\n\tlet hasUnsubscribed = false;\n\tlet hasSubscribed = false;\n\n\tsubId = nipWorker.createShortId(subId);\n\n\tconst manager = nipWorker.getManager(subId);\n\n\tconst unsubscribe = (): void => {\n\t\trunning = false;\n\t\tif (hasSubscribed && !hasUnsubscribed) {\n\t\t\tmanager.removeEventListener(`subscription:${subId}`, processEvents);\n\t\t\tmanager.unsubscribe(subId);\n\t\t\thasUnsubscribed = true;\n\t\t}\n\t};\n\n\tmanager.ready.then(() => {\n\t\tbuffer = manager.subscribe(subId, requests, options);\n\t\thasSubscribed = true;\n\t});\n\n\tconst processEvents = (): void => {\n\t\tif (!running || !buffer) return;\n\t\tlet result = SharedBufferReader.readMessages(buffer, lastReadPos);\n\t\twhile (result.hasNewData) {\n\t\t\tfor (const message of result.messages) {\n\t\t\t\tcallback(message);\n\t\t\t}\n\t\t\tlastReadPos = result.newReadPosition;\n\t\t\tresult = SharedBufferReader.readMessages(buffer, lastReadPos);\n\t\t}\n\t};\n\n\tmanager.addEventListener(`subscription:${subId}`, processEvents);\n\n\tqueueMicrotask(processEvents);\n\n\treturn unsubscribe;\n}\n\nexport function usePublish(\n\tpubId: string,\n\tevent: EventTemplate,\n\tcallback: (message: WorkerMessage) => void = () => {},\n\toptions: { trackStatus?: boolean } = { trackStatus: true }\n): () => void {\n\tif (!pubId) {\n\t\tconsole.warn('usePublish: No publish ID provided');\n\t\treturn () => {};\n\t}\n\n\tlet buffer: SharedArrayBuffer | null = null;\n\tlet lastReadPos: number = 4;\n\tlet running = true;\n\n\tpubId = nipWorker.createShortId(pubId);\n\n\tconst manager = nipWorker.getManager(pubId);\n\n\tconst unsubscribe = (): void => {\n\t\trunning = false;\n\t\tmanager.removeEventListener(`publish:${pubId}`, processEvents);\n\t};\n\n\tmanager.ready.then(() => {\n\t\tbuffer = manager.publish(pubId, event);\n\t});\n\n\tconst processEvents = (): void => {\n\t\tif (!running || !buffer) {\n\t\t\treturn;\n\t\t}\n\t\tconst result = SharedBufferReader.readMessages(buffer, lastReadPos);\n\t\tif (result.hasNewData) {\n\t\t\tresult.messages.forEach((message: WorkerMessage) => {\n\t\t\t\tconsole.log(message);\n\t\t\t\tcallback(message);\n\t\t\t});\n\t\t\tlastReadPos = result.newReadPosition;\n\t\t}\n\t};\n\n\tif (options.trackStatus) {\n\t\tmanager.addEventListener(`publish:${pubId}`, processEvents);\n\t\tqueueMicrotask(processEvents);\n\t}\n\n\treturn unsubscribe;\n}\n\nexport function useSignEvent(template: EventTemplate, callback: (event: Event) => void) {\n\tconst manager = nipWorker.getManager('');\n\n\tmanager.signEvent(template, callback);\n}\n"],"names":["useSubscription","subId","requests","callback","options","buffer","lastReadPos","running","hasUnsubscribed","hasSubscribed","nipWorker","manager","unsubscribe","processEvents","result","SharedBufferReader","message","usePublish","pubId","event","useSignEvent","template"],"mappings":";AAMO,SAASA,EACfC,GACAC,GACAC,IAA6C,MAAM;AAAC,GACpDC,IAA8B,EAAE,aAAa,MAChC;AACb,MAAI,CAACH;AACJ,mBAAQ,KAAK,oDAAoD,GAC1D,MAAM;AAAA,IAAC;AAEf,MAAII,IAAmC,MACnCC,IAAsB,GACtBC,IAAmB,IACnBC,IAAkB,IAClBC,IAAgB;AAEpB,EAAAR,IAAQS,EAAU,cAAcT,CAAK;AAErC,QAAMU,IAAUD,EAAU,WAAWT,CAAK,GAEpCW,IAAc,MAAY;AAC/B,IAAAL,IAAU,IACNE,KAAiB,CAACD,MACrBG,EAAQ,oBAAoB,gBAAgBV,CAAK,IAAIY,CAAa,GAClEF,EAAQ,YAAYV,CAAK,GACzBO,IAAkB;AAAA,EAEpB;AAEA,EAAAG,EAAQ,MAAM,KAAK,MAAM;AACxB,IAAAN,IAASM,EAAQ,UAAUV,GAAOC,GAAUE,CAAO,GACnDK,IAAgB;AAAA,EACjB,CAAC;AAED,QAAMI,IAAgB,MAAY;AACjC,QAAI,CAACN,KAAW,CAACF,EAAQ;AACzB,QAAIS,IAASC,EAAmB,aAAaV,GAAQC,CAAW;AAChE,WAAOQ,EAAO,cAAY;AACzB,iBAAWE,KAAWF,EAAO;AAC5B,QAAAX,EAASa,CAAO;AAEjB,MAAAV,IAAcQ,EAAO,iBACrBA,IAASC,EAAmB,aAAaV,GAAQC,CAAW;AAAA,IAC7D;AAAA,EACD;AAEA,SAAAK,EAAQ,iBAAiB,gBAAgBV,CAAK,IAAIY,CAAa,GAE/D,eAAeA,CAAa,GAErBD;AACR;AAEO,SAASK,EACfC,GACAC,GACAhB,IAA6C,MAAM;AAAC,GACpDC,IAAqC,EAAE,aAAa,MACvC;AACb,MAAI,CAACc;AACJ,mBAAQ,KAAK,oCAAoC,GAC1C,MAAM;AAAA,IAAC;AAGf,MAAIb,IAAmC,MACnCC,IAAsB,GACtBC,IAAU;AAEd,EAAAW,IAAQR,EAAU,cAAcQ,CAAK;AAErC,QAAMP,IAAUD,EAAU,WAAWQ,CAAK,GAEpCN,IAAc,MAAY;AAC/B,IAAAL,IAAU,IACVI,EAAQ,oBAAoB,WAAWO,CAAK,IAAIL,CAAa;AAAA,EAC9D;AAEA,EAAAF,EAAQ,MAAM,KAAK,MAAM;AACxB,IAAAN,IAASM,EAAQ,QAAQO,GAAOC,CAAK;AAAA,EACtC,CAAC;AAED,QAAMN,IAAgB,MAAY;AACjC,QAAI,CAACN,KAAW,CAACF;AAChB;AAED,UAAMS,IAASC,EAAmB,aAAaV,GAAQC,CAAW;AAClE,IAAIQ,EAAO,eACVA,EAAO,SAAS,QAAQ,CAACE,MAA2B;AACnD,cAAQ,IAAIA,CAAO,GACnBb,EAASa,CAAO;AAAA,IACjB,CAAC,GACDV,IAAcQ,EAAO;AAAA,EAEvB;AAEA,SAAIV,EAAQ,gBACXO,EAAQ,iBAAiB,WAAWO,CAAK,IAAIL,CAAa,GAC1D,eAAeA,CAAa,IAGtBD;AACR;AAEO,SAASQ,EAAaC,GAAyBlB,GAAkC;AAGvF,EAFgBO,EAAU,WAAW,EAAE,EAE/B,UAAUW,GAAUlB,CAAQ;AACrC;"}
package/dist/index.d.ts CHANGED
@@ -1,49 +1,3 @@
1
- import { NostrEvent } from 'nostr-tools';
2
- import { RequestObject, SubscriptionConfig } from './types';
3
-
4
- /**
5
- * Configuration for the Nostr Manager
6
- */
7
- export interface NostrManagerConfig {
8
- bufferKey: string;
9
- maxBufferSize: number;
10
- }
11
- /**
12
- * Pure TypeScript NostrClient that manages worker communication and state.
13
- * Uses WASM utilities for heavy lifting (encoding, decoding, crypto).
14
- */
15
- export declare class NostrManager {
16
- private worker;
17
- private textEncoder;
18
- private subscriptions;
19
- private publishes;
20
- private signers;
21
- private signCB;
22
- private eventTarget;
23
- PERPETUAL_SUBSCRIPTIONS: string[];
24
- ready: Promise<void>;
25
- constructor(config?: NostrManagerConfig);
26
- private createWorker;
27
- private setupWorkerListener;
28
- createShortId(input: string): string;
29
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: AddEventListenerOptions): void;
30
- removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: EventListenerOptions): void;
31
- private dispatch;
32
- subscribe(subscriptionId: string, requests: RequestObject[], options: SubscriptionConfig): SharedArrayBuffer;
33
- getBuffer(subId: string): SharedArrayBuffer | undefined;
34
- unsubscribe(subscriptionId: string): void;
35
- publish(publish_id: string, event: NostrEvent): SharedArrayBuffer;
36
- setSigner(name: string, secretKeyHex: string): void;
37
- signEvent(event: NostrEvent, cb: (event: NostrEvent) => void): void;
38
- getPublicKey(): void;
39
- cleanup(): void;
40
- }
41
- export declare const nostrManager: NostrManager;
42
- /**
43
- * Factory function to create a new NostrManager instance.
44
- * @param config - Configuration for the NostrManager.
45
- * @returns A new instance of NostrManager.
46
- */
47
- export declare function createNostrManager(config: NostrManagerConfig): NostrManager;
48
- export * from './types';
1
+ export * from './ws';
2
+ export * from './manager';
49
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAK9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAoCD;;;GAGG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,aAAa,CAOjB;IACJ,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,OAAO,CAA6B;IAE5C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAqB;IAEjC,uBAAuB,WAAoC;IAE3D,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEhB,MAAM,GAAE,kBAAqE;IAiBzF,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,mBAAmB;IAgCpB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAYpC,gBAAgB,CACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI;IAIA,mBAAmB,CACxB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,IAAI;IAIP,OAAO,CAAC,QAAQ;IAIhB,SAAS,CACP,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,kBAAkB,GAC1B,iBAAiB;IAgGpB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IASvD,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAWzC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,iBAAiB;IA+BjE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAwBnD,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAY5D,YAAY;IAYZ,OAAO,IAAI,IAAI;CA2BhB;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,YAAY,CAEd;AAED,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{C as a,a as s,G as e,b as i,K as n,d as r,M as o,e as t,f as P,N as d,g as T,h as f,P as g,i as p,j as K,k as C,m as u,l,o as D,p as b,q as c,r as M,s as S,t as v,u as E,v as m,w as y,x as R,y as k,z as I,A as N,B as V,D as L,E as h,F as q,H as G,J as H,I as B,L as U,O as w,T as z,Q as F,U as Q,R as W,W as j,V as x,c as A,n as J}from"./index2.js";import"@candypoets/rust-worker/worker.js?worker";import{B as O,o as Z,p as X,q as Y,r as $,s as _,t as aa,v as sa,w as ea,x as ia,y as na,z as ra,b as oa,C as ta,A as Pa,D as da,G as Ta,H as fa,I as ga,E as pa,J as Ka,K as Ca,L as ua,N as la,O as Da,Q as ba,T as ca,U as Ma,W as Sa,X as va,Y as Ea,Z as ma,_ as ya,$ as Ra,a0 as ka,a1 as Ia,a2 as Na,a3 as Va,a4 as La,a5 as ha,a6 as qa,a7 as Ga,a8 as Ha,a9 as Ba,aa as Ua,ab as wa,ac as za,ad as Fa,ae as Qa,af as Wa,ag as ja,ah as xa,ai as Aa,aj as Ja,ak as Oa,al as Za,am as Xa,an as Ya,ao as $a,ap as _a,aq as as,ar as ss,as as es,at as is,au as ns,av as rs,aw as os,l as ts,M as Ps,ax as ds,ay as Ts,az as fs,aA as gs,aB as ps,aC as Ks,aD as Cs,aE as us,P as ls,aF as Ds,aG as bs,aH as cs,aI as Ms,aJ as Ss,aK as vs,aL as Es,aM as ms,aN as ys,aO as Rs,aP as ks,R as Is,m as Ns,aQ as Vs,aR as Ls,k as hs,n as qs,V as Gs,aS as Hs,aT as Bs,aU as Us,aV as ws,aW as zs}from"./message-type.js";import"@candypoets/rust-worker/rust_worker_bg.wasm?url";export{O as BufferFull,Z as BufferFullT,X as CashuData,Y as CashuDataT,$ as CodeData,_ as CodeDataT,aa as ConnectionStatus,sa as ConnectionStatusT,ea as Contact,ia as ContactT,na as ContentBlock,ra as ContentBlockT,oa as ContentData,ta as CountResponse,Pa as CountResponseT,a as CounterPipeConfig,s as CounterPipeConfigT,da as DLEQProof,Ta as DLEQProofT,fa as Emoji,ga as EmojiT,pa as Eoce,Ka as EoceT,Ca as EventPointer,ua as EventPointerT,e as GetPublicKey,i as GetPublicKeyT,la as HashtagData,Da as HashtagDataT,ba as HistoryTag,ca as HistoryTagT,Ma as ImageData,Sa as ImageDataT,va as Kind0Parsed,Ea as Kind0ParsedT,ma as Kind10002Parsed,ya as Kind10002ParsedT,Ra as Kind10019Parsed,ka as Kind10019ParsedT,Ia as Kind17375Parsed,Na as Kind17375ParsedT,Va as Kind17Parsed,La as Kind17ParsedT,ha as Kind1Parsed,qa as Kind1ParsedT,Ga as Kind39089Parsed,Ha as Kind39089ParsedT,Ba as Kind3Parsed,Ua as Kind3ParsedT,wa as Kind4Parsed,za as Kind4ParsedT,Fa as Kind6Parsed,Qa as Kind6ParsedT,Wa as Kind7374Parsed,ja as Kind7374ParsedT,xa as Kind7375Parsed,Aa as Kind7375ParsedT,Ja as Kind7376Parsed,Oa as Kind7376ParsedT,Za as Kind7Parsed,Xa as Kind7ParsedT,Ya as Kind9321Parsed,$a as Kind9321ParsedT,_a as Kind9735Parsed,as as Kind9735ParsedT,n as KindFilterPipeConfig,r as KindFilterPipeConfigT,ss as LinkPreviewData,es as LinkPreviewDataT,o as MainContent,t as MainMessage,P as MainMessageT,is as MediaGroupData,ns as MediaGroupDataT,rs as MediaItem,os as MediaItemT,ts as Message,Ps as MessageType,ds as MintInfo,Ts as MintInfoT,fs as MintProofs,gs as MintProofsT,ps as NostrData,Ks as NostrDataT,Cs as NostrEvent,us as NostrEventT,d as NostrManager,T as NpubLimiterPipeConfig,f as NpubLimiterPipeConfigT,g as ParsePipeConfig,p as ParsePipeConfigT,ls as ParsedData,K as ParsedDataUnion,Ds as ParsedEvent,bs as ParsedEventT,C as Pipe,u as PipeConfig,l as PipeT,D as PipelineConfig,b as PipelineConfigT,c as PrivateKey,M as PrivateKeyT,cs as ProfilePointer,Ms as ProfilePointerT,Ss as Proof,vs as ProofT,S as ProofVerificationPipeConfig,v as ProofVerificationPipeConfigT,Es as Pubkey,ms as PubkeyT,E as Publish,m as PublishT,ys as ReactionType,Rs as RelayInfo,ks as RelayInfoT,Is as Request,Ns as RequestT,y as SaveToDbPipeConfig,R as SaveToDbPipeConfigT,k as SerializeEventsPipeConfig,I as SerializeEventsPipeConfigT,N as SetSigner,V as SetSignerT,L as SignEvent,h as SignEventT,Vs as SignedEvent,Ls as SignedEventT,q as SignerType,hs as StringVec,qs as StringVecT,G as Subscribe,H as SubscribeKind,B as SubscribeT,U as SubscriptionConfig,w as SubscriptionConfigT,z as Template,F as TemplateT,Q as Unsubscribe,W as UnsubscribeT,Gs as ValidProofs,Hs as ValidProofsT,Bs as VideoData,Us as VideoDataT,j as WorkerMessage,x as WorkerMessageT,ws as ZapRequest,zs as ZapRequestT,A as createNostrManager,J as nostrManager};
1
+ import{C as i,b as n,G as d,c as r,K as P,d as t,M as o,e as T,f as K,g as f,N as g,a as u,h as C,i as p,P as c,j as l,k as E,m as v,l as S,o as b,p as D,q as M,r as y,s as m,t as k,u as R,v as h,R as F,w as I,S as L,x as N,y as V,z as B,A as W,B as q,D as G,E as H,F as j,H as w,I as z,J as x,L as Q,T as U,O as A,U as J,Q as Z,W as O,V as X,X as Y,Y as _,n as $}from"./index2.js";import{B as aa,a as sa,C as ea,b as ia,c as na,d as da,e as ra,f as Pa,g as ta,h as oa,i as Ta,j as Ka,k as fa,l as ga,m as ua,D as Ca,n as pa,E as ca,o as la,p as Ea,q as va,r as Sa,s as ba,H as Da,t as Ma,u as ya,v as ma,I as ka,w as Ra,K as ha,x as Fa,y as Ia,z as La,A as Na,F as Va,G as Ba,J as Wa,L as qa,M as Ga,N as Ha,O as ja,P as wa,Q as za,R as xa,S as Qa,T as Ua,U as Aa,V as Ja,W as Za,X as Oa,Y as Xa,Z as Ya,_ as _a,$ as $a,a0 as as,a1 as ss,a2 as es,a3 as is,a4 as ns,a5 as ds,a6 as rs,a7 as Ps,a8 as ts,a9 as os,aa as Ts,ab as Ks,ac as fs,ad as gs,ae as us,af as Cs,ag as ps,ah as cs,ai as ls,aj as Es,ak as vs,al as Ss,am as bs,an as Ds,ao as Ms,ap as ys,aq as ms,ar as ks,as as Rs,at as hs,au as Fs,av as Is,aw as Ls,ax as Ns,ay as Vs,az as Bs,aA as Ws,aB as qs,aC as Gs,aD as Hs,aE as js,aF as ws,aG as zs,aH as xs,aI as Qs,aJ as Us,aK as As}from"./message-type.js";var s=(a=>(a[a.Kind0Parsed=0]="Kind0Parsed",a[a.Kind1Parsed=1]="Kind1Parsed",a[a.Kind3Parsed=3]="Kind3Parsed",a[a.Kind4Parsed=4]="Kind4Parsed",a[a.Kind6Parsed=6]="Kind6Parsed",a[a.Kind7Parsed=7]="Kind7Parsed",a[a.Kind17Parsed=17]="Kind17Parsed",a[a.Kind7374Parsed=7374]="Kind7374Parsed",a[a.Kind7375Parsed=7375]="Kind7375Parsed",a[a.Kind7376Parsed=7376]="Kind7376Parsed",a[a.Kind9321Parsed=9321]="Kind9321Parsed",a[a.Kind9735Parsed=9735]="Kind9735Parsed",a[a.Kind10002Parsed=10002]="Kind10002Parsed",a[a.Kind10019Parsed=10019]="Kind10019Parsed",a[a.Kind17375Parsed=17375]="Kind17375Parsed",a[a.Kind39089Parsed=39089]="Kind39089Parsed",a))(s||{}),e=(a=>(a[a.CachedEvent=0]="CachedEvent",a[a.FetchedEvent=1]="FetchedEvent",a[a.Count=2]="Count",a[a.ConnectionStatus=3]="ConnectionStatus",a[a.Eoce=4]="Eoce",a[a.BufferFull=5]="BufferFull",a))(e||{});export{aa as BufferFull,sa as BufferFullT,ea as CashuData,ia as CashuDataT,na as CodeData,da as CodeDataT,ra as ConnectionStatus,Pa as ConnectionStatusT,ta as Contact,oa as ContactT,Ta as ContentBlock,Ka as ContentBlockT,fa as ContentData,ga as CountResponse,ua as CountResponseT,i as CounterPipeConfig,n as CounterPipeConfigT,Ca as DLEQProof,pa as DLEQProofT,ca as Emoji,la as EmojiT,Ea as Eoce,va as EoceT,Sa as EventPointer,ba as EventPointerT,d as GetPublicKey,r as GetPublicKeyT,Da as HashtagData,Ma as HashtagDataT,ya as HistoryTag,ma as HistoryTagT,ka as ImageData,Ra as ImageDataT,ha as Kind0Parsed,Fa as Kind0ParsedT,Ia as Kind10002Parsed,La as Kind10002ParsedT,Na as Kind10019Parsed,Va as Kind10019ParsedT,Ba as Kind17375Parsed,Wa as Kind17375ParsedT,qa as Kind17Parsed,Ga as Kind17ParsedT,Ha as Kind1Parsed,ja as Kind1ParsedT,wa as Kind39089Parsed,za as Kind39089ParsedT,xa as Kind3Parsed,Qa as Kind3ParsedT,Ua as Kind4Parsed,Aa as Kind4ParsedT,Ja as Kind6Parsed,Za as Kind6ParsedT,Oa as Kind7374Parsed,Xa as Kind7374ParsedT,Ya as Kind7375Parsed,_a as Kind7375ParsedT,$a as Kind7376Parsed,as as Kind7376ParsedT,ss as Kind7Parsed,es as Kind7ParsedT,is as Kind9321Parsed,ns as Kind9321ParsedT,ds as Kind9735Parsed,rs as Kind9735ParsedT,P as KindFilterPipeConfig,t as KindFilterPipeConfigT,Ps as LinkPreviewData,ts as LinkPreviewDataT,o as MainContent,T as MainMessage,K as MainMessageT,os as MediaGroupData,Ts as MediaGroupDataT,Ks as MediaItem,fs as MediaItemT,gs as Message,us as MessageType,Cs as MintInfo,ps as MintInfoT,cs as MintProofs,ls as MintProofsT,f as MsgKind,g as NipWorker,Es as NostrData,vs as NostrDataT,Ss as NostrEvent,bs as NostrEventT,u as NostrManager,C as NpubLimiterPipeConfig,p as NpubLimiterPipeConfigT,c as ParsePipeConfig,l as ParsePipeConfigT,Ds as ParsedData,s as ParsedDataUnion,Ms as ParsedEvent,ys as ParsedEventT,E as Pipe,v as PipeConfig,S as PipeT,b as PipelineConfig,D as PipelineConfigT,M as PrivateKey,y as PrivateKeyT,ms as ProfilePointer,ks as ProfilePointerT,Rs as Proof,hs as ProofT,m as ProofVerificationPipeConfig,k as ProofVerificationPipeConfigT,Fs as Pubkey,Is as PubkeyT,R as Publish,h as PublishT,Ls as ReactionType,Ns as RelayInfo,Vs as RelayInfoT,F as RelayRef,I as RelayRefT,Bs as Request,Ws as RequestT,L as SaveToDbPipeConfig,N as SaveToDbPipeConfigT,V as SerializeEventsPipeConfig,B as SerializeEventsPipeConfigT,W as SetSigner,q as SetSignerT,G as SignEvent,H as SignEventT,qs as SignedEvent,Gs as SignedEventT,j as SignerType,Hs as StringVec,js as StringVecT,w as Subscribe,e as SubscribeKind,z as SubscribeT,x as SubscriptionConfig,Q as SubscriptionConfigT,U as Template,A as TemplateT,J as Unsubscribe,Z as UnsubscribeT,ws as ValidProofs,zs as ValidProofsT,xs as VideoData,Qs as VideoDataT,O as WorkerLine,X as WorkerLineT,Y as WorkerMessage,_ as WorkerMessageT,Us as ZapRequest,As as ZapRequestT,$ as nipWorker};
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/generated/nostr/fb/parsed-data-union.ts","../src/generated/nostr/fb/subscribe-kind.ts"],"sourcesContent":["import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum ParsedDataUnion {\n Kind0Parsed = 0,\n Kind1Parsed = 1,\n Kind3Parsed = 3,\n Kind4Parsed = 4,\n Kind6Parsed = 6,\n Kind7Parsed = 7,\n Kind17Parsed = 17,\n Kind7374Parsed = 7374,\n Kind7375Parsed = 7375,\n Kind7376Parsed = 7376,\n Kind9321Parsed = 9321,\n Kind9735Parsed = 9735,\n Kind10002Parsed = 10002,\n Kind10019Parsed = 10019,\n Kind17375Parsed = 17375,\n Kind39089Parsed = 39089\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum SubscribeKind {\n CachedEvent = 0,\n FetchedEvent = 1,\n Count = 2,\n ConnectionStatus = 3,\n Eoce = 4,\n BufferFull = 5\n}\n"],"names":["ParsedDataUnion","SubscribeKind"],"mappings":";;AAKO,IAAKA,sBAAAA,OACVA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,eAAe,EAAA,IAAf,gBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBAhBUA,IAAAA,KAAA,CAAA,CAAA,GCAAC,sBAAAA,OACVA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,QAAQ,CAAA,IAAR,SACAA,EAAAA,EAAA,mBAAmB,CAAA,IAAnB,oBACAA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,aAAa,CAAA,IAAb,cANUA,IAAAA,KAAA,CAAA,CAAA;"}
package/dist/index2.js CHANGED
@@ -1 +1 @@
1
- import{encode as Nt}from"@msgpack/msgpack";import{i as V,f as pt,d as H,e as lt,S as w,F as C,g as Kt,h as Y,j as c,k as At,R as Ut,M as X,l as Z,u as ft,m as xt,n as tt}from"./message-type.js";import Mt from"@candypoets/rust-worker/worker.js?worker";import Bt from"@candypoets/rust-worker/rust_worker_bg.wasm?url";class q{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new q(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readUint64(t){return BigInt.asUintN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readFloat32(t){return V[0]=this.readInt32(t),pt[0]}readFloat64(t){return V[H?0:1]=this.readInt32(t),V[H?1:0]=this.readInt32(t+4),lt[0]}writeInt8(t,e){this.bytes_[t]=e}writeUint8(t,e){this.bytes_[t]=e}writeInt16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){pt[0]=e,this.writeInt32(t,V[0])}writeFloat64(t,e){lt[0]=e,this.writeInt32(t,V[H?0:1]),this.writeInt32(t+4,V[H?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+w+C)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let e=0;e<C;e++)t+=String.fromCharCode(this.readInt8(this.position_+w+e));return t}__offset(t,e){const s=t-this.readInt32(t);return e<this.readInt16(s)?this.readInt16(s+e):0}__union(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t}__string(t,e){t+=this.readInt32(t);const s=this.readInt32(t);t+=w;const n=this.bytes_.subarray(t,t+s);return e===Kt.UTF8_BYTES?n:this.text_decoder_.decode(n)}__union_with_string(t,e){return typeof t=="string"?this.__string(e):this.__union(t,e)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+w}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(t.length!=C)throw new Error("FlatBuffers: file identifier must be length "+C);for(let e=0;e<C;e++)if(t.charCodeAt(e)!=this.readInt8(this.position()+w+e))return!1;return!0}createScalarList(t,e){const s=[];for(let n=0;n<e;++n){const r=t(n);r!==null&&s.push(r)}return s}createObjList(t,e){const s=[];for(let n=0;n<e;++n){const r=t(n);r!==null&&s.push(r.unpack())}return s}}class U{constructor(t){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder;let e;t?e=t:e=1024,this.bb=q.allocate(e),this.space=e}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,e){t>this.minalign&&(this.minalign=t);const s=~(this.bb.capacity()-this.space+e)+1&t-1;for(;this.space<s+t+e;){const n=this.bb.capacity();this.bb=U.growByteBuffer(this.bb),this.space+=this.bb.capacity()-n}this.pad(s)}pad(t){for(let e=0;e<t;e++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,e,s){(this.force_defaults||e!=s)&&(this.addInt8(e),this.slot(t))}addFieldInt16(t,e,s){(this.force_defaults||e!=s)&&(this.addInt16(e),this.slot(t))}addFieldInt32(t,e,s){(this.force_defaults||e!=s)&&(this.addInt32(e),this.slot(t))}addFieldInt64(t,e,s){(this.force_defaults||e!==s)&&(this.addInt64(e),this.slot(t))}addFieldFloat32(t,e,s){(this.force_defaults||e!=s)&&(this.addFloat32(e),this.slot(t))}addFieldFloat64(t,e,s){(this.force_defaults||e!=s)&&(this.addFloat64(e),this.slot(t))}addFieldOffset(t,e,s){(this.force_defaults||e!=s)&&(this.addOffset(e),this.slot(t))}addFieldStruct(t,e,s){e!=s&&(this.nested(e),this.slot(t))}nested(t){if(t!=this.offset())throw new TypeError("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new TypeError("FlatBuffers: object serialization must not be nested.")}slot(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){const e=t.capacity();if(e&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");const s=e<<1,n=q.allocate(s);return n.setPosition(s-e),n.bytes().set(t.bytes(),s-e),n}addOffset(t){this.prep(w,0),this.writeInt32(this.offset()-t+w)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);const t=this.offset();let e=this.vtable_in_use-1;for(;e>=0&&this.vtable[e]==0;e--);const s=e+1;for(;e>=0;e--)this.addInt16(this.vtable[e]!=0?t-this.vtable[e]:0);const n=2;this.addInt16(t-this.object_start);const r=(s+n)*Y;this.addInt16(r);let o=0;const a=this.space;t:for(e=0;e<this.vtables.length;e++){const b=this.bb.capacity()-this.vtables[e];if(r==this.bb.readInt16(b)){for(let h=Y;h<r;h+=Y)if(this.bb.readInt16(a+h)!=this.bb.readInt16(b+h))continue t;o=this.vtables[e];break}}return o?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,o-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,e,s){const n=s?c:0;if(e){const r=e;if(this.prep(this.minalign,w+C+n),r.length!=C)throw new TypeError("FlatBuffers: file identifier must be length "+C);for(let o=C-1;o>=0;o--)this.writeInt8(r.charCodeAt(o))}this.prep(this.minalign,w+n),this.addOffset(t),n&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){const s=this.bb.capacity()-t,n=s-this.bb.readInt32(s);if(!(e<this.bb.readInt16(n)&&this.bb.readInt16(n+e)!=0))throw new TypeError("FlatBuffers: field "+e+" must be set")}startVector(t,e,s){this.notNested(),this.vector_num_elems=e,this.prep(w,t*e),this.prep(s,t*e)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);const e=this.createString(t);return this.string_maps.set(t,e),e}createString(t){if(t==null)return 0;let e;return t instanceof Uint8Array?e=t:e=this.text_encoder.encode(t),this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length),this.bb.bytes().set(e,this.space),this.endVector()}createByteVector(t){return t==null?0:(this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length),this.bb.bytes().set(t,this.space),this.endVector())}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){const e=[];for(let s=0;s<t.length;++s){const n=t[s];if(n!==null)e.push(this.createObjectOffset(n));else throw new TypeError("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return e}createStructOffsetList(t,e){return e(this,t.length),this.createObjectOffsetList(t.slice().reverse()),this.endVector()}}class P{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCounterPipeConfig(t,e){return(e||new P).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCounterPipeConfig(t,e){return t.setPosition(t.position()+c),(e||new P).__init(t.readInt32(t.position())+t.position(),t)}kinds(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+t*2):0}kindsLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}kindsArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}pubkey(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startCounterPipeConfig(t){t.startObject(2)}static addKinds(t,e){t.addFieldOffset(0,e,0)}static createKindsVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startKindsVector(t,e){t.startVector(2,e,2)}static addPubkey(t,e){t.addFieldOffset(1,e,0)}static endCounterPipeConfig(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),e}static createCounterPipeConfig(t,e,s){return P.startCounterPipeConfig(t),P.addKinds(t,e),P.addPubkey(t,s),P.endCounterPipeConfig(t)}unpack(){return new gt(this.bb.createScalarList(this.kinds.bind(this),this.kindsLength()),this.pubkey())}unpackTo(t){t.kinds=this.bb.createScalarList(this.kinds.bind(this),this.kindsLength()),t.pubkey=this.pubkey()}}class gt{constructor(t=[],e=null){this.kinds=t,this.pubkey=e}pack(t){const e=P.createKindsVector(t,this.kinds),s=this.pubkey!==null?t.createString(this.pubkey):0;return P.createCounterPipeConfig(t,e,s)}}class x{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsGetPublicKey(t,e){return(e||new x).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsGetPublicKey(t,e){return t.setPosition(t.position()+c),(e||new x).__init(t.readInt32(t.position())+t.position(),t)}static startGetPublicKey(t){t.startObject(0)}static endGetPublicKey(t){return t.endObject()}static createGetPublicKey(t){return x.startGetPublicKey(t),x.endGetPublicKey(t)}unpack(){return new et}unpackTo(t){}}class et{constructor(){}pack(t){return x.createGetPublicKey(t)}}class S{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsKindFilterPipeConfig(t,e){return(e||new S).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKindFilterPipeConfig(t,e){return t.setPosition(t.position()+c),(e||new S).__init(t.readInt32(t.position())+t.position(),t)}kinds(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+t*2):0}kindsLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}kindsArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startKindFilterPipeConfig(t){t.startObject(1)}static addKinds(t,e){t.addFieldOffset(0,e,0)}static createKindsVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startKindsVector(t,e){t.startVector(2,e,2)}static endKindFilterPipeConfig(t){const e=t.endObject();return t.requiredField(e,4),e}static createKindFilterPipeConfig(t,e){return S.startKindFilterPipeConfig(t),S.addKinds(t,e),S.endKindFilterPipeConfig(t)}unpack(){return new _t(this.bb.createScalarList(this.kinds.bind(this),this.kindsLength()))}unpackTo(t){t.kinds=this.bb.createScalarList(this.kinds.bind(this),this.kindsLength())}}class _t{constructor(t=[]){this.kinds=t}pack(t){const e=S.createKindsVector(t,this.kinds);return S.createKindFilterPipeConfig(t,e)}}class p{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTemplate(t,e){return(e||new p).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTemplate(t,e){return t.setPosition(t.position()+c),(e||new p).__init(t.readInt32(t.position())+t.position(),t)}kind(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint16(this.bb_pos+t):0}content(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}tags(t,e){const s=this.bb.__offset(this.bb_pos,8);return s?(e||new At).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+t*4),this.bb):null}tagsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startTemplate(t){t.startObject(3)}static addKind(t,e){t.addFieldInt16(0,e,0)}static addContent(t,e){t.addFieldOffset(1,e,0)}static addTags(t,e){t.addFieldOffset(2,e,0)}static createTagsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startTagsVector(t,e){t.startVector(4,e,4)}static endTemplate(t){const e=t.endObject();return t.requiredField(e,6),t.requiredField(e,8),e}static createTemplate(t,e,s,n){return p.startTemplate(t),p.addKind(t,e),p.addContent(t,s),p.addTags(t,n),p.endTemplate(t)}unpack(){return new $(this.kind(),this.content(),this.bb.createObjList(this.tags.bind(this),this.tagsLength()))}unpackTo(t){t.kind=this.kind(),t.content=this.content(),t.tags=this.bb.createObjList(this.tags.bind(this),this.tagsLength())}}class ${constructor(t=0,e=null,s=[]){this.kind=t,this.content=e,this.tags=s}pack(t){const e=this.content!==null?t.createString(this.content):0,s=p.createTagsVector(t,t.createObjectOffsetList(this.tags));return p.createTemplate(t,this.kind,e,s)}}class m{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPublish(t,e){return(e||new m).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPublish(t,e){return t.setPosition(t.position()+c),(e||new m).__init(t.readInt32(t.position())+t.position(),t)}publishId(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}template(t){const e=this.bb.__offset(this.bb_pos,6);return e?(t||new p).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startPublish(t){t.startObject(2)}static addPublishId(t,e){t.addFieldOffset(0,e,0)}static addTemplate(t,e){t.addFieldOffset(1,e,0)}static endPublish(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),e}unpack(){return new st(this.publishId(),this.template()!==null?this.template().unpack():null)}unpackTo(t){t.publishId=this.publishId(),t.template=this.template()!==null?this.template().unpack():null}}class st{constructor(t=null,e=null){this.publishId=t,this.template=e}pack(t){const e=this.publishId!==null?t.createString(this.publishId):0,s=this.template!==null?this.template.pack(t):0;return m.startPublish(t),m.addPublishId(t,e),m.addTemplate(t,s),m.endPublish(t)}}class T{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPrivateKey(t,e){return(e||new T).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPrivateKey(t,e){return t.setPosition(t.position()+c),(e||new T).__init(t.readInt32(t.position())+t.position(),t)}privateKey(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startPrivateKey(t){t.startObject(1)}static addPrivateKey(t,e){t.addFieldOffset(0,e,0)}static endPrivateKey(t){const e=t.endObject();return t.requiredField(e,4),e}static createPrivateKey(t,e){return T.startPrivateKey(t),T.addPrivateKey(t,e),T.endPrivateKey(t)}unpack(){return new it(this.privateKey())}unpackTo(t){t.privateKey=this.privateKey()}}class it{constructor(t=null){this.privateKey=t}pack(t){const e=this.privateKey!==null?t.createString(this.privateKey):0;return T.createPrivateKey(t,e)}}var j=(i=>(i[i.NONE=0]="NONE",i[i.PrivateKey=1]="PrivateKey",i))(j||{});function Pt(i,t){switch(j[i]){case"NONE":return null;case"PrivateKey":return t(new T);default:return null}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSetSigner(t,e){return(e||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSetSigner(t,e){return t.setPosition(t.position()+c),(e||new y).__init(t.readInt32(t.position())+t.position(),t)}signerTypeType(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint8(this.bb_pos+t):j.NONE}signerType(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__union(t,this.bb_pos+e):null}static startSetSigner(t){t.startObject(2)}static addSignerTypeType(t,e){t.addFieldInt8(0,e,j.NONE)}static addSignerType(t,e){t.addFieldOffset(1,e,0)}static endSetSigner(t){const e=t.endObject();return t.requiredField(e,6),e}static createSetSigner(t,e,s){return y.startSetSigner(t),y.addSignerTypeType(t,e),y.addSignerType(t,s),y.endSetSigner(t)}unpack(){return new nt(this.signerTypeType(),(()=>{const t=Pt(this.signerTypeType(),this.signerType.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.signerTypeType=this.signerTypeType(),t.signerType=(()=>{const e=Pt(this.signerTypeType(),this.signerType.bind(this));return e===null?null:e.unpack()})()}}class nt{constructor(t=j.NONE,e=null){this.signerTypeType=t,this.signerType=e}pack(t){const e=t.createObjectOffset(this.signerType);return y.createSetSigner(t,this.signerTypeType,e)}}class F{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSignEvent(t,e){return(e||new F).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSignEvent(t,e){return t.setPosition(t.position()+c),(e||new F).__init(t.readInt32(t.position())+t.position(),t)}template(t){const e=this.bb.__offset(this.bb_pos,4);return e?(t||new p).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startSignEvent(t){t.startObject(1)}static addTemplate(t,e){t.addFieldOffset(0,e,0)}static endSignEvent(t){const e=t.endObject();return t.requiredField(e,4),e}static createSignEvent(t,e){return F.startSignEvent(t),F.addTemplate(t,e),F.endSignEvent(t)}unpack(){return new rt(this.template()!==null?this.template().unpack():null)}unpackTo(t){t.template=this.template()!==null?this.template().unpack():null}}class rt{constructor(t=null){this.template=t}pack(t){const e=this.template!==null?this.template.pack(t):0;return F.createSignEvent(t,e)}}class g{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNpubLimiterPipeConfig(t,e){return(e||new g).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNpubLimiterPipeConfig(t,e){return t.setPosition(t.position()+c),(e||new g).__init(t.readInt32(t.position())+t.position(),t)}kind(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint16(this.bb_pos+t):0}limitPerNpub(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}maxTotalNpubs(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}static startNpubLimiterPipeConfig(t){t.startObject(3)}static addKind(t,e){t.addFieldInt16(0,e,0)}static addLimitPerNpub(t,e){t.addFieldInt32(1,e,0)}static addMaxTotalNpubs(t,e){t.addFieldInt32(2,e,0)}static endNpubLimiterPipeConfig(t){return t.endObject()}static createNpubLimiterPipeConfig(t,e,s,n){return g.startNpubLimiterPipeConfig(t),g.addKind(t,e),g.addLimitPerNpub(t,s),g.addMaxTotalNpubs(t,n),g.endNpubLimiterPipeConfig(t)}unpack(){return new wt(this.kind(),this.limitPerNpub(),this.maxTotalNpubs())}unpackTo(t){t.kind=this.kind(),t.limitPerNpub=this.limitPerNpub(),t.maxTotalNpubs=this.maxTotalNpubs()}}class wt{constructor(t=0,e=0,s=0){this.kind=t,this.limitPerNpub=e,this.maxTotalNpubs=s}pack(t){return g.createNpubLimiterPipeConfig(t,this.kind,this.limitPerNpub,this.maxTotalNpubs)}}class M{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsParsePipeConfig(t,e){return(e||new M).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsParsePipeConfig(t,e){return t.setPosition(t.position()+c),(e||new M).__init(t.readInt32(t.position())+t.position(),t)}static startParsePipeConfig(t){t.startObject(0)}static endParsePipeConfig(t){return t.endObject()}static createParsePipeConfig(t){return M.startParsePipeConfig(t),M.endParsePipeConfig(t)}unpack(){return new yt}unpackTo(t){}}class yt{constructor(){}pack(t){return M.createParsePipeConfig(t)}}class E{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsProofVerificationPipeConfig(t,e){return(e||new E).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProofVerificationPipeConfig(t,e){return t.setPosition(t.position()+c),(e||new E).__init(t.readInt32(t.position())+t.position(),t)}maxProofs(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}static startProofVerificationPipeConfig(t){t.startObject(1)}static addMaxProofs(t,e){t.addFieldInt32(0,e,0)}static endProofVerificationPipeConfig(t){return t.endObject()}static createProofVerificationPipeConfig(t,e){return E.startProofVerificationPipeConfig(t),E.addMaxProofs(t,e),E.endProofVerificationPipeConfig(t)}unpack(){return new It(this.maxProofs())}unpackTo(t){t.maxProofs=this.maxProofs()}}class It{constructor(t=0){this.maxProofs=t}pack(t){return E.createProofVerificationPipeConfig(t,this.maxProofs)}}class B{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSaveToDbPipeConfig(t,e){return(e||new B).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSaveToDbPipeConfig(t,e){return t.setPosition(t.position()+c),(e||new B).__init(t.readInt32(t.position())+t.position(),t)}static startSaveToDbPipeConfig(t){t.startObject(0)}static endSaveToDbPipeConfig(t){return t.endObject()}static createSaveToDbPipeConfig(t){return B.startSaveToDbPipeConfig(t),B.endSaveToDbPipeConfig(t)}unpack(){return new St}unpackTo(t){}}class St{constructor(){}pack(t){return B.createSaveToDbPipeConfig(t)}}class N{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSerializeEventsPipeConfig(t,e){return(e||new N).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSerializeEventsPipeConfig(t,e){return t.setPosition(t.position()+c),(e||new N).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startSerializeEventsPipeConfig(t){t.startObject(1)}static addSubscriptionId(t,e){t.addFieldOffset(0,e,0)}static endSerializeEventsPipeConfig(t){const e=t.endObject();return t.requiredField(e,4),e}static createSerializeEventsPipeConfig(t,e){return N.startSerializeEventsPipeConfig(t),N.addSubscriptionId(t,e),N.endSerializeEventsPipeConfig(t)}unpack(){return new kt(this.subscriptionId())}unpackTo(t){t.subscriptionId=this.subscriptionId()}}class kt{constructor(t=null){this.subscriptionId=t}pack(t){const e=this.subscriptionId!==null?t.createString(this.subscriptionId):0;return N.createSerializeEventsPipeConfig(t,e)}}var z=(i=>(i[i.NONE=0]="NONE",i[i.ParsePipeConfig=1]="ParsePipeConfig",i[i.KindFilterPipeConfig=2]="KindFilterPipeConfig",i[i.CounterPipeConfig=3]="CounterPipeConfig",i[i.NpubLimiterPipeConfig=4]="NpubLimiterPipeConfig",i[i.SaveToDbPipeConfig=5]="SaveToDbPipeConfig",i[i.SerializeEventsPipeConfig=6]="SerializeEventsPipeConfig",i[i.ProofVerificationPipeConfig=7]="ProofVerificationPipeConfig",i))(z||{});function vt(i,t){switch(z[i]){case"NONE":return null;case"ParsePipeConfig":return t(new M);case"KindFilterPipeConfig":return t(new S);case"CounterPipeConfig":return t(new P);case"NpubLimiterPipeConfig":return t(new g);case"SaveToDbPipeConfig":return t(new B);case"SerializeEventsPipeConfig":return t(new N);case"ProofVerificationPipeConfig":return t(new E);default:return null}}class I{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPipe(t,e){return(e||new I).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPipe(t,e){return t.setPosition(t.position()+c),(e||new I).__init(t.readInt32(t.position())+t.position(),t)}configType(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint8(this.bb_pos+t):z.NONE}config(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__union(t,this.bb_pos+e):null}static startPipe(t){t.startObject(2)}static addConfigType(t,e){t.addFieldInt8(0,e,z.NONE)}static addConfig(t,e){t.addFieldOffset(1,e,0)}static endPipe(t){const e=t.endObject();return t.requiredField(e,6),e}static createPipe(t,e,s){return I.startPipe(t),I.addConfigType(t,e),I.addConfig(t,s),I.endPipe(t)}unpack(){return new Ct(this.configType(),(()=>{const t=vt(this.configType(),this.config.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.configType=this.configType(),t.config=(()=>{const e=vt(this.configType(),this.config.bind(this));return e===null?null:e.unpack()})()}}class Ct{constructor(t=z.NONE,e=null){this.configType=t,this.config=e}pack(t){const e=t.createObjectOffset(this.config);return I.createPipe(t,this.configType,e)}}class k{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPipelineConfig(t,e){return(e||new k).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPipelineConfig(t,e){return t.setPosition(t.position()+c),(e||new k).__init(t.readInt32(t.position())+t.position(),t)}pipes(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?(e||new I).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+t*4),this.bb):null}pipesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startPipelineConfig(t){t.startObject(1)}static addPipes(t,e){t.addFieldOffset(0,e,0)}static createPipesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startPipesVector(t,e){t.startVector(4,e,4)}static endPipelineConfig(t){const e=t.endObject();return t.requiredField(e,4),e}static createPipelineConfig(t,e){return k.startPipelineConfig(t),k.addPipes(t,e),k.endPipelineConfig(t)}unpack(){return new ot(this.bb.createObjList(this.pipes.bind(this),this.pipesLength()))}unpackTo(t){t.pipes=this.bb.createObjList(this.pipes.bind(this),this.pipesLength())}}class ot{constructor(t=[]){this.pipes=t}pack(t){const e=k.createPipesVector(t,t.createObjectOffsetList(this.pipes));return k.createPipelineConfig(t,e)}}class u{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSubscriptionConfig(t,e){return(e||new u).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubscriptionConfig(t,e){return t.setPosition(t.position()+c),(e||new u).__init(t.readInt32(t.position())+t.position(),t)}pipeline(t){const e=this.bb.__offset(this.bb_pos,4);return e?(t||new k).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}closeOnEose(){const t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}cacheFirst(){const t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!0}timeoutMs(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint64(this.bb_pos+t):BigInt("0")}maxEvents(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readUint32(this.bb_pos+t):0}skipCache(){const t=this.bb.__offset(this.bb_pos,14);return t?!!this.bb.readInt8(this.bb_pos+t):!1}force(){const t=this.bb.__offset(this.bb_pos,16);return t?!!this.bb.readInt8(this.bb_pos+t):!1}bytesPerEvent(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readUint32(this.bb_pos+t):0}static startSubscriptionConfig(t){t.startObject(8)}static addPipeline(t,e){t.addFieldOffset(0,e,0)}static addCloseOnEose(t,e){t.addFieldInt8(1,+e,0)}static addCacheFirst(t,e){t.addFieldInt8(2,+e,1)}static addTimeoutMs(t,e){t.addFieldInt64(3,e,BigInt("0"))}static addMaxEvents(t,e){t.addFieldInt32(4,e,0)}static addSkipCache(t,e){t.addFieldInt8(5,+e,0)}static addForce(t,e){t.addFieldInt8(6,+e,0)}static addBytesPerEvent(t,e){t.addFieldInt32(7,e,0)}static endSubscriptionConfig(t){return t.endObject()}static createSubscriptionConfig(t,e,s,n,r,o,a,b,h){return u.startSubscriptionConfig(t),u.addPipeline(t,e),u.addCloseOnEose(t,s),u.addCacheFirst(t,n),u.addTimeoutMs(t,r),u.addMaxEvents(t,o),u.addSkipCache(t,a),u.addForce(t,b),u.addBytesPerEvent(t,h),u.endSubscriptionConfig(t)}unpack(){return new at(this.pipeline()!==null?this.pipeline().unpack():null,this.closeOnEose(),this.cacheFirst(),this.timeoutMs(),this.maxEvents(),this.skipCache(),this.force(),this.bytesPerEvent())}unpackTo(t){t.pipeline=this.pipeline()!==null?this.pipeline().unpack():null,t.closeOnEose=this.closeOnEose(),t.cacheFirst=this.cacheFirst(),t.timeoutMs=this.timeoutMs(),t.maxEvents=this.maxEvents(),t.skipCache=this.skipCache(),t.force=this.force(),t.bytesPerEvent=this.bytesPerEvent()}}class at{constructor(t=null,e=!1,s=!0,n=BigInt("0"),r=0,o=!1,a=!1,b=0){this.pipeline=t,this.closeOnEose=e,this.cacheFirst=s,this.timeoutMs=n,this.maxEvents=r,this.skipCache=o,this.force=a,this.bytesPerEvent=b}pack(t){const e=this.pipeline!==null?this.pipeline.pack(t):0;return u.createSubscriptionConfig(t,e,this.closeOnEose,this.cacheFirst,this.timeoutMs,this.maxEvents,this.skipCache,this.force,this.bytesPerEvent)}}class f{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSubscribe(t,e){return(e||new f).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubscribe(t,e){return t.setPosition(t.position()+c),(e||new f).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}requests(t,e){const s=this.bb.__offset(this.bb_pos,6);return s?(e||new Ut).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+t*4),this.bb):null}requestsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}config(t){const e=this.bb.__offset(this.bb_pos,8);return e?(t||new u).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startSubscribe(t){t.startObject(3)}static addSubscriptionId(t,e){t.addFieldOffset(0,e,0)}static addRequests(t,e){t.addFieldOffset(1,e,0)}static createRequestsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startRequestsVector(t,e){t.startVector(4,e,4)}static addConfig(t,e){t.addFieldOffset(2,e,0)}static endSubscribe(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),t.requiredField(e,8),e}unpack(){return new ct(this.subscriptionId(),this.bb.createObjList(this.requests.bind(this),this.requestsLength()),this.config()!==null?this.config().unpack():null)}unpackTo(t){t.subscriptionId=this.subscriptionId(),t.requests=this.bb.createObjList(this.requests.bind(this),this.requestsLength()),t.config=this.config()!==null?this.config().unpack():null}}class ct{constructor(t=null,e=[],s=null){this.subscriptionId=t,this.requests=e,this.config=s}pack(t){const e=this.subscriptionId!==null?t.createString(this.subscriptionId):0,s=f.createRequestsVector(t,t.createObjectOffsetList(this.requests)),n=this.config!==null?this.config.pack(t):0;return f.startSubscribe(t),f.addSubscriptionId(t,e),f.addRequests(t,s),f.addConfig(t,n),f.endSubscribe(t)}}class K{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUnsubscribe(t,e){return(e||new K).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnsubscribe(t,e){return t.setPosition(t.position()+c),(e||new K).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startUnsubscribe(t){t.startObject(1)}static addSubscriptionId(t,e){t.addFieldOffset(0,e,0)}static endUnsubscribe(t){const e=t.endObject();return t.requiredField(e,4),e}static createUnsubscribe(t,e){return K.startUnsubscribe(t),K.addSubscriptionId(t,e),K.endUnsubscribe(t)}unpack(){return new ht(this.subscriptionId())}unpackTo(t){t.subscriptionId=this.subscriptionId()}}class ht{constructor(t=null){this.subscriptionId=t}pack(t){const e=this.subscriptionId!==null?t.createString(this.subscriptionId):0;return K.createUnsubscribe(t,e)}}var l=(i=>(i[i.NONE=0]="NONE",i[i.Subscribe=1]="Subscribe",i[i.Unsubscribe=2]="Unsubscribe",i[i.Publish=3]="Publish",i[i.SignEvent=4]="SignEvent",i[i.SetSigner=5]="SetSigner",i[i.GetPublicKey=6]="GetPublicKey",i))(l||{});function mt(i,t){switch(l[i]){case"NONE":return null;case"Subscribe":return t(new f);case"Unsubscribe":return t(new K);case"Publish":return t(new m);case"SignEvent":return t(new F);case"SetSigner":return t(new y);case"GetPublicKey":return t(new x);default:return null}}class O{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMainMessage(t,e){return(e||new O).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMainMessage(t,e){return t.setPosition(t.position()+c),(e||new O).__init(t.readInt32(t.position())+t.position(),t)}contentType(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint8(this.bb_pos+t):l.NONE}content(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__union(t,this.bb_pos+e):null}static startMainMessage(t){t.startObject(2)}static addContentType(t,e){t.addFieldInt8(0,e,l.NONE)}static addContent(t,e){t.addFieldOffset(1,e,0)}static endMainMessage(t){const e=t.endObject();return t.requiredField(e,6),e}static createMainMessage(t,e,s){return O.startMainMessage(t),O.addContentType(t,e),O.addContent(t,s),O.endMainMessage(t)}unpack(){return new A(this.contentType(),(()=>{const t=mt(this.contentType(),this.content.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.contentType=this.contentType(),t.content=(()=>{const e=mt(this.contentType(),this.content.bind(this));return e===null?null:e.unpack()})()}}class A{constructor(t=l.NONE,e=null){this.contentType=t,this.content=e}pack(t){const e=t.createObjectOffset(this.content);return O.createMainMessage(t,this.contentType,e)}}var Ot=(i=>(i[i.Kind0Parsed=0]="Kind0Parsed",i[i.Kind1Parsed=1]="Kind1Parsed",i[i.Kind3Parsed=3]="Kind3Parsed",i[i.Kind4Parsed=4]="Kind4Parsed",i[i.Kind6Parsed=6]="Kind6Parsed",i[i.Kind7Parsed=7]="Kind7Parsed",i[i.Kind17Parsed=17]="Kind17Parsed",i[i.Kind7374Parsed=7374]="Kind7374Parsed",i[i.Kind7375Parsed=7375]="Kind7375Parsed",i[i.Kind7376Parsed=7376]="Kind7376Parsed",i[i.Kind9321Parsed=9321]="Kind9321Parsed",i[i.Kind9735Parsed=9735]="Kind9735Parsed",i[i.Kind10002Parsed=10002]="Kind10002Parsed",i[i.Kind10019Parsed=10019]="Kind10019Parsed",i[i.Kind17375Parsed=17375]="Kind17375Parsed",i[i.Kind39089Parsed=39089]="Kind39089Parsed",i))(Ot||{}),Tt=(i=>(i[i.CachedEvent=0]="CachedEvent",i[i.FetchedEvent=1]="FetchedEvent",i[i.Count=2]="Count",i[i.ConnectionStatus=3]="ConnectionStatus",i[i.Eoce=4]="Eoce",i[i.BufferFull=5]="BufferFull",i))(Tt||{});class _{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWorkerMessage(t,e){return(e||new _).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWorkerMessage(t,e){return t.setPosition(t.position()+c),(e||new _).__init(t.readInt32(t.position())+t.position(),t)}type(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):X.ParsedNostrEvent}contentType(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):Z.NONE}content(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__union(t,this.bb_pos+e):null}static startWorkerMessage(t){t.startObject(3)}static addType(t,e){t.addFieldInt32(0,e,X.ParsedNostrEvent)}static addContentType(t,e){t.addFieldInt8(1,e,Z.NONE)}static addContent(t,e){t.addFieldOffset(2,e,0)}static endWorkerMessage(t){return t.endObject()}static finishWorkerMessageBuffer(t,e){t.finish(e)}static finishSizePrefixedWorkerMessageBuffer(t,e){t.finish(e,void 0,!0)}static createWorkerMessage(t,e,s,n){return _.startWorkerMessage(t),_.addType(t,e),_.addContentType(t,s),_.addContent(t,n),_.endWorkerMessage(t)}unpack(){return new Ft(this.type(),this.contentType(),(()=>{const t=ft(this.contentType(),this.content.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.type=this.type(),t.contentType=this.contentType(),t.content=(()=>{const e=ft(this.contentType(),this.content.bind(this));return e===null?null:e.unpack()})()}}class Ft{constructor(t=X.ParsedNostrEvent,e=Z.NONE,s=null){this.type=t,this.contentType=e,this.content=s}pack(t){const e=t.createObjectOffset(this.content);return _.createWorkerMessage(t,this.type,this.contentType,e)}}class jt{constructor(t){this.view=t}bytes(){return this.view}fnv1aHash(){let t=2166136261;for(let e=0;e<this.view.length;e++)t^=this.view[e],t=Math.imul(t,16777619);return t>>>0}toHex(){return Array.from(this.view).map(t=>t.toString(16).padStart(2,"0")).join("")}utf8String(){if(this._utf8!==void 0)return this._utf8;if(this.view.buffer instanceof SharedArrayBuffer){const t=new Uint8Array(this.view);return this._utf8=new TextDecoder("utf-8").decode(t)}return this._utf8=new TextDecoder("utf-8").decode(this.view)}toString(){return this.utf8String()}equals(t){if(this.view.length!==t.view.length)return!1;for(let e=0;e<this.view.length;e++)if(this.view[e]!==t.view[e])return!1;return!0}}q.prototype.__stringByteString=function(i){i+=this.readInt32(i);const t=this.readInt32(i),e=i+4,s=this.bytes().subarray(e,e+t);return new jt(s)};class G{static initializeBuffer(t){new DataView(t).setUint32(0,4,!0)}static writeMessage(t,e){const s=new DataView(t),n=new Uint8Array(t),r=s.getUint32(0,!0),o=4+e.length;if(r+o>t.byteLength)return console.warn("Buffer full, cannot write message"),!1;s.setUint32(r,e.length,!0),n.set(e,r+4);const a=r+o;return s.setUint32(0,a,!0),!0}static writeMessageObject(t,e){try{const s=Nt(e);return this.writeMessage(t,new Uint8Array(s))}catch(s){return console.error("Failed to encode message:",s),!1}}static readMessages(t,e=0){const s=new DataView(t),n=new Uint8Array(t),r=s.getUint32(0,!0),o=4;let a=e<o?o:e;if(r<=a)return{messages:[],newReadPosition:a,hasNewData:!1};const b=128,h=new Array(b);let v=0;try{for(;a<r&&!(v>=b||a+4>r);){const L=a,J=s.getUint32(L,!0),R=L+4,W=R+J;if(W>r)break;const Q=n.subarray(R,W),d=new q(Q),D=_.getRootAsWorkerMessage(d);h[v++]=D,a=W}return h.length=v,{messages:h,newReadPosition:a,hasNewData:v>0}}catch(L){return console.error("Failed to decode FlatBuffer data from SharedArrayBuffer:",L),h.length=v,{messages:h,newReadPosition:e<o?o:e,hasNewData:!1}}}static readAllMessages(t){const e=this.readMessages(t,0);return{messages:e.messages,totalMessages:e.messages.length}}static getCurrentWritePosition(t){return new DataView(t).getUint32(0,!0)}static hasNewData(t,e){const s=this.getCurrentWritePosition(t),n=Math.max(e,4);return s>n}static calculateBufferSize(t=100,e=3072){const s=t*e,n=Math.floor(s*.25);return 4+s+n}}let bt=null,dt=null;async function Lt(){return dt||(dt=fetch(Bt).then(i=>{if(!i.ok)throw new Error(`Failed to fetch WASM: ${i.status} ${i.statusText}`);return i.arrayBuffer()}).then(i=>{bt=i}).catch(i=>{throw console.error("WASM fetch failed:",i),i}),dt)}async function Rt(){if(await Lt(),!bt)throw new Error("Original WASM buffer not loaded");return console.log("WASM buffer fetched and sending"),bt.slice(0)}class ut{constructor(t={bufferKey:"general",maxBufferSize:5e6}){this.textEncoder=new TextEncoder,this.subscriptions=new Map,this.publishes=new Map,this.signers=new Map,this.signCB=e=>{},this.eventTarget=new EventTarget,this.PERPETUAL_SUBSCRIPTIONS=["notifications","starterpack"],this.worker=this.createWorker(),this.setupWorkerListener(),this.ready=Rt().then(e=>{this.worker.postMessage({type:"init",payload:{bufferKey:t.bufferKey,maxBufferSize:t.maxBufferSize,wasmBuffer:e}},[e])}).catch(e=>{console.error("Failed to initialize worker with WASM:",e)})}createWorker(){return new Mt}setupWorkerListener(){this.worker.onmessage=async t=>{const e=typeof t.data=="string"?t.data:void 0;try{if(t.data.startsWith('{"id":')){const s=JSON.parse(t.data);this.signCB(s)}}catch{}if(e){if(this.subscriptions.has(e)){this.dispatch(`subscription:${e}`,e);return}if(this.publishes.has(e)){this.dispatch(`publish:${e}`,e);return}}},this.worker.onerror=t=>{console.error("Worker error:",t)}}createShortId(t){if(t.length<64)return t;let e=0;for(let s=0;s<t.length;s++){const n=t.charCodeAt(s);e=(e<<5)-e+n,e=e&e}return Math.abs(e).toString(36).substring(0,63)}addEventListener(t,e,s){this.eventTarget.addEventListener(t,e,s)}removeEventListener(t,e,s){this.eventTarget.removeEventListener(t,e,s)}dispatch(t,e){this.eventTarget.dispatchEvent(new CustomEvent(t,{detail:e}))}subscribe(t,e,s){const n=this.createShortId(t),r=this.subscriptions.get(n);if(r)return r.refCount++,r.buffer;const o=e.reduce((d,D)=>d+(D.limit||100),0),a=G.calculateBufferSize(o,s.bytesPerEvent);let b=new Uint8Array;const h=new SharedArrayBuffer(a+b.length);G.initializeBuffer(h),b.length>0&&(G.writeMessage(h,b)||console.error("Failed to write initial message to buffer")),this.subscriptions.set(n,{buffer:h,options:s,refCount:1});const v=new at(new ot(s.pipeline||[]),s.closeOnEose,s.cacheFirst,s.timeoutMs?BigInt(s.timeoutMs):void 0,s.maxEvents,s.skipCache,s.force,s.bytesPerEvent),L=new ct(this.textEncoder.encode(n),e.map(d=>new xt(d.ids,d.authors,d.kinds,Object.entries(d.tags||{}).flatMap(([D,Et])=>new tt([D,...Et])),d.limit,d.since,d.until,this.textEncoder.encode(d.search),d.relays,d.closeOnEOSE,d.cacheFirst)),v),J=new A(l.Subscribe,L),R=new U(2048),W=J.pack(R);R.finish(W);const Q=R.asUint8Array();try{return this.worker.postMessage({serializedMessage:Q,sharedBuffer:h}),h}catch(d){throw this.subscriptions.delete(n),d}}getBuffer(t){const e=this.subscriptions.get(t);if(e)return e.refCount++,e.buffer}unsubscribe(t){const e=t.length<64?t:this.createShortId(t),s=this.subscriptions.get(e);s&&s.refCount--}publish(t,e){const s=new SharedArrayBuffer(3072);G.initializeBuffer(s);try{const n=new $(e.kind,this.textEncoder.encode(e.content),e.tags.map(v=>new tt(v))||[]),r=new st(this.textEncoder.encode(t),n),o=new A(l.Publish,r),a=new U(2048),b=o.pack(a);a.finish(b);const h=a.asUint8Array();return this.worker.postMessage({serializedMessage:h,sharedBuffer:s}),this.publishes.set(t,{buffer:s}),s}catch(n){throw console.error("Failed to publish event:",n),n}}setSigner(t,e){this.ready.then(()=>{console.log("setSigner",t,e);const s=new it(this.textEncoder.encode(e)),n=new nt(j.PrivateKey,s),r=new A(l.SetSigner,n),o=new U(2048),a=r.pack(o);o.finish(a);const b=o.asUint8Array();this.worker.postMessage(b),this.signers.set(t,e)})}signEvent(t,e){const s=new A(l.SignEvent,new rt(new $(t.kind,this.textEncoder.encode(t.content),t.tags.map(a=>new tt(a))))),n=new U(2048),r=s.pack(n);n.finish(r);const o=n.asUint8Array();this.signCB=e,this.worker.postMessage(o)}getPublicKey(){const t=new A(l.GetPublicKey,new et),e=new U(2048),s=t.pack(e);e.finish(s);const n=e.asUint8Array();this.worker.postMessage(n)}cleanup(){const t=[];for(const[e,s]of this.subscriptions.entries())s.refCount<=0&&!this.PERPETUAL_SUBSCRIPTIONS.includes(e)&&t.push(e);for(const e of t)if(this.subscriptions.get(e)){const s=new A(l.Unsubscribe,new ht(this.textEncoder.encode(e))),n=new U(2048),r=s.pack(n);n.finish(r);const o=n.asUint8Array();this.worker.postMessage(o),this.subscriptions.delete(e)}}}const Vt=new ut;function zt(i){return new ut(i)}export{y as A,nt as B,P as C,F as D,rt as E,j as F,x as G,f as H,ct as I,Tt as J,S as K,u as L,l as M,ut as N,at as O,M as P,$ as Q,ht as R,G as S,p as T,K as U,Ft as V,_ as W,gt as a,et as b,zt as c,_t as d,O as e,A as f,g,wt as h,yt as i,Ot as j,I as k,Ct as l,z as m,Vt as n,k as o,ot as p,T as q,it as r,E as s,It as t,m as u,st as v,B as w,St as x,N as y,kt as z};
1
+ import{aO as tt,aP as G,aQ as et,aR as J,aS as b,aD as Lt,az as Ut,ae as st,ad as it,aL as ft,aA as xt,aE as nt}from"./message-type.js";import Vt from"@candypoets/rust-worker/worker.js?worker";import Bt from"@candypoets/rust-worker/rust_worker_bg.wasm?url";import{encode as Kt}from"@msgpack/msgpack";class R{constructor(t){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder;let e;t?e=t:e=1024,this.bb=tt.allocate(e),this.space=e}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,e){t>this.minalign&&(this.minalign=t);const s=~(this.bb.capacity()-this.space+e)+1&t-1;for(;this.space<s+t+e;){const n=this.bb.capacity();this.bb=R.growByteBuffer(this.bb),this.space+=this.bb.capacity()-n}this.pad(s)}pad(t){for(let e=0;e<t;e++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,e,s){(this.force_defaults||e!=s)&&(this.addInt8(e),this.slot(t))}addFieldInt16(t,e,s){(this.force_defaults||e!=s)&&(this.addInt16(e),this.slot(t))}addFieldInt32(t,e,s){(this.force_defaults||e!=s)&&(this.addInt32(e),this.slot(t))}addFieldInt64(t,e,s){(this.force_defaults||e!==s)&&(this.addInt64(e),this.slot(t))}addFieldFloat32(t,e,s){(this.force_defaults||e!=s)&&(this.addFloat32(e),this.slot(t))}addFieldFloat64(t,e,s){(this.force_defaults||e!=s)&&(this.addFloat64(e),this.slot(t))}addFieldOffset(t,e,s){(this.force_defaults||e!=s)&&(this.addOffset(e),this.slot(t))}addFieldStruct(t,e,s){e!=s&&(this.nested(e),this.slot(t))}nested(t){if(t!=this.offset())throw new TypeError("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new TypeError("FlatBuffers: object serialization must not be nested.")}slot(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){const e=t.capacity();if(e&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");const s=e<<1,n=tt.allocate(s);return n.setPosition(s-e),n.bytes().set(t.bytes(),s-e),n}addOffset(t){this.prep(G,0),this.writeInt32(this.offset()-t+G)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);const t=this.offset();let e=this.vtable_in_use-1;for(;e>=0&&this.vtable[e]==0;e--);const s=e+1;for(;e>=0;e--)this.addInt16(this.vtable[e]!=0?t-this.vtable[e]:0);const n=2;this.addInt16(t-this.object_start);const o=(s+n)*et;this.addInt16(o);let r=0;const a=this.space;t:for(e=0;e<this.vtables.length;e++){const h=this.bb.capacity()-this.vtables[e];if(o==this.bb.readInt16(h)){for(let c=et;c<o;c+=et)if(this.bb.readInt16(a+c)!=this.bb.readInt16(h+c))continue t;r=this.vtables[e];break}}return r?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,r-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,e,s){const n=s?b:0;if(e){const o=e;if(this.prep(this.minalign,G+J+n),o.length!=J)throw new TypeError("FlatBuffers: file identifier must be length "+J);for(let r=J-1;r>=0;r--)this.writeInt8(o.charCodeAt(r))}this.prep(this.minalign,G+n),this.addOffset(t),n&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){const s=this.bb.capacity()-t,n=s-this.bb.readInt32(s);if(!(e<this.bb.readInt16(n)&&this.bb.readInt16(n+e)!=0))throw new TypeError("FlatBuffers: field "+e+" must be set")}startVector(t,e,s){this.notNested(),this.vector_num_elems=e,this.prep(G,t*e),this.prep(s,t*e)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);const e=this.createString(t);return this.string_maps.set(t,e),e}createString(t){if(t==null)return 0;let e;return t instanceof Uint8Array?e=t:e=this.text_encoder.encode(t),this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length),this.bb.bytes().set(e,this.space),this.endVector()}createByteVector(t){return t==null?0:(this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length),this.bb.bytes().set(t,this.space),this.endVector())}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){const e=[];for(let s=0;s<t.length;++s){const n=t[s];if(n!==null)e.push(this.createObjectOffset(n));else throw new TypeError("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return e}createStructOffsetList(t,e){return e(this,t.length),this.createObjectOffsetList(t.slice().reverse()),this.endVector()}}class k{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsCounterPipeConfig(t,e){return(e||new k).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCounterPipeConfig(t,e){return t.setPosition(t.position()+b),(e||new k).__init(t.readInt32(t.position())+t.position(),t)}kinds(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+t*2):0}kindsLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}kindsArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}pubkey(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startCounterPipeConfig(t){t.startObject(2)}static addKinds(t,e){t.addFieldOffset(0,e,0)}static createKindsVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startKindsVector(t,e){t.startVector(2,e,2)}static addPubkey(t,e){t.addFieldOffset(1,e,0)}static endCounterPipeConfig(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),e}static createCounterPipeConfig(t,e,s){return k.startCounterPipeConfig(t),k.addKinds(t,e),k.addPubkey(t,s),k.endCounterPipeConfig(t)}unpack(){return new gt(this.bb.createScalarList(this.kinds.bind(this),this.kindsLength()),this.pubkey())}unpackTo(t){t.kinds=this.bb.createScalarList(this.kinds.bind(this),this.kindsLength()),t.pubkey=this.pubkey()}}class gt{constructor(t=[],e=null){this.kinds=t,this.pubkey=e}pack(t){const e=k.createKindsVector(t,this.kinds),s=this.pubkey!==null?t.createString(this.pubkey):0;return k.createCounterPipeConfig(t,e,s)}}class K{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsGetPublicKey(t,e){return(e||new K).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsGetPublicKey(t,e){return t.setPosition(t.position()+b),(e||new K).__init(t.readInt32(t.position())+t.position(),t)}static startGetPublicKey(t){t.startObject(0)}static endGetPublicKey(t){return t.endObject()}static createGetPublicKey(t){return K.startGetPublicKey(t),K.endGetPublicKey(t)}unpack(){return new rt}unpackTo(t){}}class rt{constructor(){}pack(t){return K.createGetPublicKey(t)}}class T{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsKindFilterPipeConfig(t,e){return(e||new T).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKindFilterPipeConfig(t,e){return t.setPosition(t.position()+b),(e||new T).__init(t.readInt32(t.position())+t.position(),t)}kinds(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint16(this.bb.__vector(this.bb_pos+e)+t*2):0}kindsLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}kindsArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Uint16Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startKindFilterPipeConfig(t){t.startObject(1)}static addKinds(t,e){t.addFieldOffset(0,e,0)}static createKindsVector(t,e){t.startVector(2,e.length,2);for(let s=e.length-1;s>=0;s--)t.addInt16(e[s]);return t.endVector()}static startKindsVector(t,e){t.startVector(2,e,2)}static endKindFilterPipeConfig(t){const e=t.endObject();return t.requiredField(e,4),e}static createKindFilterPipeConfig(t,e){return T.startKindFilterPipeConfig(t),T.addKinds(t,e),T.endKindFilterPipeConfig(t)}unpack(){return new _t(this.bb.createScalarList(this.kinds.bind(this),this.kindsLength()))}unpackTo(t){t.kinds=this.bb.createScalarList(this.kinds.bind(this),this.kindsLength())}}class _t{constructor(t=[]){this.kinds=t}pack(t){const e=T.createKindsVector(t,this.kinds);return T.createKindFilterPipeConfig(t,e)}}class _{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTemplate(t,e){return(e||new _).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTemplate(t,e){return t.setPosition(t.position()+b),(e||new _).__init(t.readInt32(t.position())+t.position(),t)}kind(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint16(this.bb_pos+t):0}content(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}tags(t,e){const s=this.bb.__offset(this.bb_pos,8);return s?(e||new Lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+t*4),this.bb):null}tagsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startTemplate(t){t.startObject(3)}static addKind(t,e){t.addFieldInt16(0,e,0)}static addContent(t,e){t.addFieldOffset(1,e,0)}static addTags(t,e){t.addFieldOffset(2,e,0)}static createTagsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startTagsVector(t,e){t.startVector(4,e,4)}static endTemplate(t){const e=t.endObject();return t.requiredField(e,6),t.requiredField(e,8),e}static createTemplate(t,e,s,n){return _.startTemplate(t),_.addKind(t,e),_.addContent(t,s),_.addTags(t,n),_.endTemplate(t)}unpack(){return new X(this.kind(),this.content(),this.bb.createObjList(this.tags.bind(this),this.tagsLength()))}unpackTo(t){t.kind=this.kind(),t.content=this.content(),t.tags=this.bb.createObjList(this.tags.bind(this),this.tagsLength())}}class X{constructor(t=0,e=null,s=[]){this.kind=t,this.content=e,this.tags=s}pack(t){const e=this.content!==null?t.createString(this.content):0,s=_.createTagsVector(t,t.createObjectOffsetList(this.tags));return _.createTemplate(t,this.kind,e,s)}}class F{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPublish(t,e){return(e||new F).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPublish(t,e){return t.setPosition(t.position()+b),(e||new F).__init(t.readInt32(t.position())+t.position(),t)}publishId(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}template(t){const e=this.bb.__offset(this.bb_pos,6);return e?(t||new _).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startPublish(t){t.startObject(2)}static addPublishId(t,e){t.addFieldOffset(0,e,0)}static addTemplate(t,e){t.addFieldOffset(1,e,0)}static endPublish(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),e}unpack(){return new ot(this.publishId(),this.template()!==null?this.template().unpack():null)}unpackTo(t){t.publishId=this.publishId(),t.template=this.template()!==null?this.template().unpack():null}}class ot{constructor(t=null,e=null){this.publishId=t,this.template=e}pack(t){const e=this.publishId!==null?t.createString(this.publishId):0,s=this.template!==null?this.template.pack(t):0;return F.startPublish(t),F.addPublishId(t,e),F.addTemplate(t,s),F.endPublish(t)}}class A{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPrivateKey(t,e){return(e||new A).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPrivateKey(t,e){return t.setPosition(t.position()+b),(e||new A).__init(t.readInt32(t.position())+t.position(),t)}privateKey(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startPrivateKey(t){t.startObject(1)}static addPrivateKey(t,e){t.addFieldOffset(0,e,0)}static endPrivateKey(t){const e=t.endObject();return t.requiredField(e,4),e}static createPrivateKey(t,e){return A.startPrivateKey(t),A.addPrivateKey(t,e),A.endPrivateKey(t)}unpack(){return new at(this.privateKey())}unpackTo(t){t.privateKey=this.privateKey()}}class at{constructor(t=null){this.privateKey=t}pack(t){const e=this.privateKey!==null?t.createString(this.privateKey):0;return A.createPrivateKey(t,e)}}var q=(i=>(i[i.NONE=0]="NONE",i[i.PrivateKey=1]="PrivateKey",i))(q||{});function yt(i,t){switch(q[i]){case"NONE":return null;case"PrivateKey":return t(new A);default:return null}}class C{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSetSigner(t,e){return(e||new C).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSetSigner(t,e){return t.setPosition(t.position()+b),(e||new C).__init(t.readInt32(t.position())+t.position(),t)}signerTypeType(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint8(this.bb_pos+t):q.NONE}signerType(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__union(t,this.bb_pos+e):null}static startSetSigner(t){t.startObject(2)}static addSignerTypeType(t,e){t.addFieldInt8(0,e,q.NONE)}static addSignerType(t,e){t.addFieldOffset(1,e,0)}static endSetSigner(t){const e=t.endObject();return t.requiredField(e,6),e}static createSetSigner(t,e,s){return C.startSetSigner(t),C.addSignerTypeType(t,e),C.addSignerType(t,s),C.endSetSigner(t)}unpack(){return new ct(this.signerTypeType(),(()=>{const t=yt(this.signerTypeType(),this.signerType.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.signerTypeType=this.signerTypeType(),t.signerType=(()=>{const e=yt(this.signerTypeType(),this.signerType.bind(this));return e===null?null:e.unpack()})()}}class ct{constructor(t=q.NONE,e=null){this.signerTypeType=t,this.signerType=e}pack(t){const e=t.createObjectOffset(this.signerType);return C.createSetSigner(t,this.signerTypeType,e)}}class M{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSignEvent(t,e){return(e||new M).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSignEvent(t,e){return t.setPosition(t.position()+b),(e||new M).__init(t.readInt32(t.position())+t.position(),t)}template(t){const e=this.bb.__offset(this.bb_pos,4);return e?(t||new _).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startSignEvent(t){t.startObject(1)}static addTemplate(t,e){t.addFieldOffset(0,e,0)}static endSignEvent(t){const e=t.endObject();return t.requiredField(e,4),e}static createSignEvent(t,e){return M.startSignEvent(t),M.addTemplate(t,e),M.endSignEvent(t)}unpack(){return new ht(this.template()!==null?this.template().unpack():null)}unpackTo(t){t.template=this.template()!==null?this.template().unpack():null}}class ht{constructor(t=null){this.template=t}pack(t){const e=this.template!==null?this.template.pack(t):0;return M.createSignEvent(t,e)}}class S{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNpubLimiterPipeConfig(t,e){return(e||new S).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNpubLimiterPipeConfig(t,e){return t.setPosition(t.position()+b),(e||new S).__init(t.readInt32(t.position())+t.position(),t)}kind(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint16(this.bb_pos+t):0}limitPerNpub(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}maxTotalNpubs(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}static startNpubLimiterPipeConfig(t){t.startObject(3)}static addKind(t,e){t.addFieldInt16(0,e,0)}static addLimitPerNpub(t,e){t.addFieldInt32(1,e,0)}static addMaxTotalNpubs(t,e){t.addFieldInt32(2,e,0)}static endNpubLimiterPipeConfig(t){return t.endObject()}static createNpubLimiterPipeConfig(t,e,s,n){return S.startNpubLimiterPipeConfig(t),S.addKind(t,e),S.addLimitPerNpub(t,s),S.addMaxTotalNpubs(t,n),S.endNpubLimiterPipeConfig(t)}unpack(){return new wt(this.kind(),this.limitPerNpub(),this.maxTotalNpubs())}unpackTo(t){t.kind=this.kind(),t.limitPerNpub=this.limitPerNpub(),t.maxTotalNpubs=this.maxTotalNpubs()}}class wt{constructor(t=0,e=0,s=0){this.kind=t,this.limitPerNpub=e,this.maxTotalNpubs=s}pack(t){return S.createNpubLimiterPipeConfig(t,this.kind,this.limitPerNpub,this.maxTotalNpubs)}}class j{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsParsePipeConfig(t,e){return(e||new j).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsParsePipeConfig(t,e){return t.setPosition(t.position()+b),(e||new j).__init(t.readInt32(t.position())+t.position(),t)}static startParsePipeConfig(t){t.startObject(0)}static endParsePipeConfig(t){return t.endObject()}static createParsePipeConfig(t){return j.startParsePipeConfig(t),j.endParsePipeConfig(t)}unpack(){return new Pt}unpackTo(t){}}class Pt{constructor(){}pack(t){return j.createParsePipeConfig(t)}}class N{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsProofVerificationPipeConfig(t,e){return(e||new N).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProofVerificationPipeConfig(t,e){return t.setPosition(t.position()+b),(e||new N).__init(t.readInt32(t.position())+t.position(),t)}maxProofs(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}static startProofVerificationPipeConfig(t){t.startObject(1)}static addMaxProofs(t,e){t.addFieldInt32(0,e,0)}static endProofVerificationPipeConfig(t){return t.endObject()}static createProofVerificationPipeConfig(t,e){return N.startProofVerificationPipeConfig(t),N.addMaxProofs(t,e),N.endProofVerificationPipeConfig(t)}unpack(){return new St(this.maxProofs())}unpackTo(t){t.maxProofs=this.maxProofs()}}class St{constructor(t=0){this.maxProofs=t}pack(t){return N.createProofVerificationPipeConfig(t,this.maxProofs)}}class z{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSaveToDbPipeConfig(t,e){return(e||new z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSaveToDbPipeConfig(t,e){return t.setPosition(t.position()+b),(e||new z).__init(t.readInt32(t.position())+t.position(),t)}static startSaveToDbPipeConfig(t){t.startObject(0)}static endSaveToDbPipeConfig(t){return t.endObject()}static createSaveToDbPipeConfig(t){return z.startSaveToDbPipeConfig(t),z.endSaveToDbPipeConfig(t)}unpack(){return new mt}unpackTo(t){}}class mt{constructor(){}pack(t){return z.createSaveToDbPipeConfig(t)}}class L{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSerializeEventsPipeConfig(t,e){return(e||new L).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSerializeEventsPipeConfig(t,e){return t.setPosition(t.position()+b),(e||new L).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startSerializeEventsPipeConfig(t){t.startObject(1)}static addSubscriptionId(t,e){t.addFieldOffset(0,e,0)}static endSerializeEventsPipeConfig(t){const e=t.endObject();return t.requiredField(e,4),e}static createSerializeEventsPipeConfig(t,e){return L.startSerializeEventsPipeConfig(t),L.addSubscriptionId(t,e),L.endSerializeEventsPipeConfig(t)}unpack(){return new kt(this.subscriptionId())}unpackTo(t){t.subscriptionId=this.subscriptionId()}}class kt{constructor(t=null){this.subscriptionId=t}pack(t){const e=this.subscriptionId!==null?t.createString(this.subscriptionId):0;return L.createSerializeEventsPipeConfig(t,e)}}var D=(i=>(i[i.NONE=0]="NONE",i[i.ParsePipeConfig=1]="ParsePipeConfig",i[i.KindFilterPipeConfig=2]="KindFilterPipeConfig",i[i.CounterPipeConfig=3]="CounterPipeConfig",i[i.NpubLimiterPipeConfig=4]="NpubLimiterPipeConfig",i[i.SaveToDbPipeConfig=5]="SaveToDbPipeConfig",i[i.SerializeEventsPipeConfig=6]="SerializeEventsPipeConfig",i[i.ProofVerificationPipeConfig=7]="ProofVerificationPipeConfig",i))(D||{});function Ct(i,t){switch(D[i]){case"NONE":return null;case"ParsePipeConfig":return t(new j);case"KindFilterPipeConfig":return t(new T);case"CounterPipeConfig":return t(new k);case"NpubLimiterPipeConfig":return t(new S);case"SaveToDbPipeConfig":return t(new z);case"SerializeEventsPipeConfig":return t(new L);case"ProofVerificationPipeConfig":return t(new N);default:return null}}class I{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPipe(t,e){return(e||new I).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPipe(t,e){return t.setPosition(t.position()+b),(e||new I).__init(t.readInt32(t.position())+t.position(),t)}configType(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint8(this.bb_pos+t):D.NONE}config(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__union(t,this.bb_pos+e):null}static startPipe(t){t.startObject(2)}static addConfigType(t,e){t.addFieldInt8(0,e,D.NONE)}static addConfig(t,e){t.addFieldOffset(1,e,0)}static endPipe(t){const e=t.endObject();return t.requiredField(e,6),e}static createPipe(t,e,s){return I.startPipe(t),I.addConfigType(t,e),I.addConfig(t,s),I.endPipe(t)}unpack(){return new It(this.configType(),(()=>{const t=Ct(this.configType(),this.config.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.configType=this.configType(),t.config=(()=>{const e=Ct(this.configType(),this.config.bind(this));return e===null?null:e.unpack()})()}}class It{constructor(t=D.NONE,e=null){this.configType=t,this.config=e}pack(t){const e=t.createObjectOffset(this.config);return I.createPipe(t,this.configType,e)}}class v{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsPipelineConfig(t,e){return(e||new v).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPipelineConfig(t,e){return t.setPosition(t.position()+b),(e||new v).__init(t.readInt32(t.position())+t.position(),t)}pipes(t,e){const s=this.bb.__offset(this.bb_pos,4);return s?(e||new I).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+t*4),this.bb):null}pipesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startPipelineConfig(t){t.startObject(1)}static addPipes(t,e){t.addFieldOffset(0,e,0)}static createPipesVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startPipesVector(t,e){t.startVector(4,e,4)}static endPipelineConfig(t){const e=t.endObject();return t.requiredField(e,4),e}static createPipelineConfig(t,e){return v.startPipelineConfig(t),v.addPipes(t,e),v.endPipelineConfig(t)}unpack(){return new bt(this.bb.createObjList(this.pipes.bind(this),this.pipesLength()))}unpackTo(t){t.pipes=this.bb.createObjList(this.pipes.bind(this),this.pipesLength())}}class bt{constructor(t=[]){this.pipes=t}pack(t){const e=v.createPipesVector(t,t.createObjectOffsetList(this.pipes));return v.createPipelineConfig(t,e)}}class g{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSubscriptionConfig(t,e){return(e||new g).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubscriptionConfig(t,e){return t.setPosition(t.position()+b),(e||new g).__init(t.readInt32(t.position())+t.position(),t)}pipeline(t){const e=this.bb.__offset(this.bb_pos,4);return e?(t||new v).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}closeOnEose(){const t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}cacheFirst(){const t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!0}timeoutMs(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint64(this.bb_pos+t):BigInt("0")}maxEvents(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readUint32(this.bb_pos+t):0}skipCache(){const t=this.bb.__offset(this.bb_pos,14);return t?!!this.bb.readInt8(this.bb_pos+t):!1}force(){const t=this.bb.__offset(this.bb_pos,16);return t?!!this.bb.readInt8(this.bb_pos+t):!1}bytesPerEvent(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readUint32(this.bb_pos+t):0}static startSubscriptionConfig(t){t.startObject(8)}static addPipeline(t,e){t.addFieldOffset(0,e,0)}static addCloseOnEose(t,e){t.addFieldInt8(1,+e,0)}static addCacheFirst(t,e){t.addFieldInt8(2,+e,1)}static addTimeoutMs(t,e){t.addFieldInt64(3,e,BigInt("0"))}static addMaxEvents(t,e){t.addFieldInt32(4,e,0)}static addSkipCache(t,e){t.addFieldInt8(5,+e,0)}static addForce(t,e){t.addFieldInt8(6,+e,0)}static addBytesPerEvent(t,e){t.addFieldInt32(7,e,0)}static endSubscriptionConfig(t){return t.endObject()}static createSubscriptionConfig(t,e,s,n,o,r,a,h,c){return g.startSubscriptionConfig(t),g.addPipeline(t,e),g.addCloseOnEose(t,s),g.addCacheFirst(t,n),g.addTimeoutMs(t,o),g.addMaxEvents(t,r),g.addSkipCache(t,a),g.addForce(t,h),g.addBytesPerEvent(t,c),g.endSubscriptionConfig(t)}unpack(){return new dt(this.pipeline()!==null?this.pipeline().unpack():null,this.closeOnEose(),this.cacheFirst(),this.timeoutMs(),this.maxEvents(),this.skipCache(),this.force(),this.bytesPerEvent())}unpackTo(t){t.pipeline=this.pipeline()!==null?this.pipeline().unpack():null,t.closeOnEose=this.closeOnEose(),t.cacheFirst=this.cacheFirst(),t.timeoutMs=this.timeoutMs(),t.maxEvents=this.maxEvents(),t.skipCache=this.skipCache(),t.force=this.force(),t.bytesPerEvent=this.bytesPerEvent()}}class dt{constructor(t=null,e=!1,s=!0,n=BigInt("0"),o=0,r=!1,a=!1,h=0){this.pipeline=t,this.closeOnEose=e,this.cacheFirst=s,this.timeoutMs=n,this.maxEvents=o,this.skipCache=r,this.force=a,this.bytesPerEvent=h}pack(t){const e=this.pipeline!==null?this.pipeline.pack(t):0;return g.createSubscriptionConfig(t,e,this.closeOnEose,this.cacheFirst,this.timeoutMs,this.maxEvents,this.skipCache,this.force,this.bytesPerEvent)}}class P{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSubscribe(t,e){return(e||new P).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubscribe(t,e){return t.setPosition(t.position()+b),(e||new P).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}requests(t,e){const s=this.bb.__offset(this.bb_pos,6);return s?(e||new Ut).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+t*4),this.bb):null}requestsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}config(t){const e=this.bb.__offset(this.bb_pos,8);return e?(t||new g).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static startSubscribe(t){t.startObject(3)}static addSubscriptionId(t,e){t.addFieldOffset(0,e,0)}static addRequests(t,e){t.addFieldOffset(1,e,0)}static createRequestsVector(t,e){t.startVector(4,e.length,4);for(let s=e.length-1;s>=0;s--)t.addOffset(e[s]);return t.endVector()}static startRequestsVector(t,e){t.startVector(4,e,4)}static addConfig(t,e){t.addFieldOffset(2,e,0)}static endSubscribe(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,6),t.requiredField(e,8),e}unpack(){return new ut(this.subscriptionId(),this.bb.createObjList(this.requests.bind(this),this.requestsLength()),this.config()!==null?this.config().unpack():null)}unpackTo(t){t.subscriptionId=this.subscriptionId(),t.requests=this.bb.createObjList(this.requests.bind(this),this.requestsLength()),t.config=this.config()!==null?this.config().unpack():null}}class ut{constructor(t=null,e=[],s=null){this.subscriptionId=t,this.requests=e,this.config=s}pack(t){const e=this.subscriptionId!==null?t.createString(this.subscriptionId):0,s=P.createRequestsVector(t,t.createObjectOffsetList(this.requests)),n=this.config!==null?this.config.pack(t):0;return P.startSubscribe(t),P.addSubscriptionId(t,e),P.addRequests(t,s),P.addConfig(t,n),P.endSubscribe(t)}}class U{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUnsubscribe(t,e){return(e||new U).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnsubscribe(t,e){return t.setPosition(t.position()+b),(e||new U).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startUnsubscribe(t){t.startObject(1)}static addSubscriptionId(t,e){t.addFieldOffset(0,e,0)}static endUnsubscribe(t){const e=t.endObject();return t.requiredField(e,4),e}static createUnsubscribe(t,e){return U.startUnsubscribe(t),U.addSubscriptionId(t,e),U.endUnsubscribe(t)}unpack(){return new lt(this.subscriptionId())}unpackTo(t){t.subscriptionId=this.subscriptionId()}}class lt{constructor(t=null){this.subscriptionId=t}pack(t){const e=this.subscriptionId!==null?t.createString(this.subscriptionId):0;return U.createUnsubscribe(t,e)}}var y=(i=>(i[i.NONE=0]="NONE",i[i.Subscribe=1]="Subscribe",i[i.Unsubscribe=2]="Unsubscribe",i[i.Publish=3]="Publish",i[i.SignEvent=4]="SignEvent",i[i.SetSigner=5]="SetSigner",i[i.GetPublicKey=6]="GetPublicKey",i))(y||{});function Tt(i,t){switch(y[i]){case"NONE":return null;case"Subscribe":return t(new P);case"Unsubscribe":return t(new U);case"Publish":return t(new F);case"SignEvent":return t(new M);case"SetSigner":return t(new C);case"GetPublicKey":return t(new K);default:return null}}class E{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMainMessage(t,e){return(e||new E).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMainMessage(t,e){return t.setPosition(t.position()+b),(e||new E).__init(t.readInt32(t.position())+t.position(),t)}contentType(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint8(this.bb_pos+t):y.NONE}content(t){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__union(t,this.bb_pos+e):null}static startMainMessage(t){t.startObject(2)}static addContentType(t,e){t.addFieldInt8(0,e,y.NONE)}static addContent(t,e){t.addFieldOffset(1,e,0)}static endMainMessage(t){const e=t.endObject();return t.requiredField(e,6),e}static createMainMessage(t,e,s){return E.startMainMessage(t),E.addContentType(t,e),E.addContent(t,s),E.endMainMessage(t)}unpack(){return new V(this.contentType(),(()=>{const t=Tt(this.contentType(),this.content.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.contentType=this.contentType(),t.content=(()=>{const e=Tt(this.contentType(),this.content.bind(this));return e===null?null:e.unpack()})()}}class V{constructor(t=y.NONE,e=null){this.contentType=t,this.content=e}pack(t){const e=t.createObjectOffset(this.content);return E.createMainMessage(t,this.contentType,e)}}var $=(i=>(i[i.Unknown=0]="Unknown",i[i.Event=1]="Event",i[i.Eose=2]="Eose",i[i.Ok=3]="Ok",i[i.Closed=4]="Closed",i[i.Notice=5]="Notice",i[i.Auth=6]="Auth",i))($||{});class O{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsRelayRef(t,e){return(e||new O).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRelayRef(t,e){return t.setPosition(t.position()+b),(e||new O).__init(t.readInt32(t.position())+t.position(),t)}url(t){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}static startRelayRef(t){t.startObject(1)}static addUrl(t,e){t.addFieldOffset(0,e,0)}static endRelayRef(t){const e=t.endObject();return t.requiredField(e,4),e}static createRelayRef(t,e){return O.startRelayRef(t),O.addUrl(t,e),O.endRelayRef(t)}unpack(){return new vt(this.url())}unpackTo(t){t.url=this.url()}}class vt{constructor(t=null){this.url=t}pack(t){const e=this.url!==null?t.createString(this.url):0;return O.createRelayRef(t,e)}}class l{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWorkerLine(t,e){return(e||new l).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWorkerLine(t,e){return t.setPosition(t.position()+b),(e||new l).__init(t.readInt32(t.position())+t.position(),t)}relay(t){const e=this.bb.__offset(this.bb_pos,4);return e?(t||new O).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}kind(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):$.Unknown}subId(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__stringByteString(this.bb_pos+e,t):null}raw(t){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}rawLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}rawArray(){const t=this.bb.__offset(this.bb_pos,10);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startWorkerLine(t){t.startObject(4)}static addRelay(t,e){t.addFieldOffset(0,e,0)}static addKind(t,e){t.addFieldInt16(1,e,$.Unknown)}static addSubId(t,e){t.addFieldOffset(2,e,0)}static addRaw(t,e){t.addFieldOffset(3,e,0)}static createRawVector(t,e){t.startVector(1,e.length,1);for(let s=e.length-1;s>=0;s--)t.addInt8(e[s]);return t.endVector()}static startRawVector(t,e){t.startVector(1,e,1)}static endWorkerLine(t){const e=t.endObject();return t.requiredField(e,4),t.requiredField(e,10),e}static createWorkerLine(t,e,s,n,o){return l.startWorkerLine(t),l.addRelay(t,e),l.addKind(t,s),l.addSubId(t,n),l.addRaw(t,o),l.endWorkerLine(t)}unpack(){return new Ot(this.relay()!==null?this.relay().unpack():null,this.kind(),this.subId(),this.bb.createScalarList(this.raw.bind(this),this.rawLength()))}unpackTo(t){t.relay=this.relay()!==null?this.relay().unpack():null,t.kind=this.kind(),t.subId=this.subId(),t.raw=this.bb.createScalarList(this.raw.bind(this),this.rawLength())}}class Ot{constructor(t=null,e=$.Unknown,s=null,n=[]){this.relay=t,this.kind=e,this.subId=s,this.raw=n}pack(t){const e=this.relay!==null?this.relay.pack(t):0,s=this.subId!==null?t.createString(this.subId):0,n=l.createRawVector(t,this.raw);return l.createWorkerLine(t,e,this.kind,s,n)}}class m{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsWorkerMessage(t,e){return(e||new m).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWorkerMessage(t,e){return t.setPosition(t.position()+b),(e||new m).__init(t.readInt32(t.position())+t.position(),t)}type(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):st.ParsedNostrEvent}contentType(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):it.NONE}content(t){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__union(t,this.bb_pos+e):null}static startWorkerMessage(t){t.startObject(3)}static addType(t,e){t.addFieldInt32(0,e,st.ParsedNostrEvent)}static addContentType(t,e){t.addFieldInt8(1,e,it.NONE)}static addContent(t,e){t.addFieldOffset(2,e,0)}static endWorkerMessage(t){return t.endObject()}static finishWorkerMessageBuffer(t,e){t.finish(e)}static finishSizePrefixedWorkerMessageBuffer(t,e){t.finish(e,void 0,!0)}static createWorkerMessage(t,e,s,n){return m.startWorkerMessage(t),m.addType(t,e),m.addContentType(t,s),m.addContent(t,n),m.endWorkerMessage(t)}unpack(){return new Rt(this.type(),this.contentType(),(()=>{const t=ft(this.contentType(),this.content.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.type=this.type(),t.contentType=this.contentType(),t.content=(()=>{const e=ft(this.contentType(),this.content.bind(this));return e===null?null:e.unpack()})()}}class Rt{constructor(t=st.ParsedNostrEvent,e=it.NONE,s=null){this.type=t,this.contentType=e,this.content=s}pack(t){const e=t.createObjectOffset(this.content);return m.createWorkerMessage(t,this.type,this.contentType,e)}}class Ft{constructor(t){this.dataStart=32,this.dropped=0,this.sab=t,this.dataView=new DataView(t),this.capacity=this.dataView.getUint32(0,!0)}getHead(){return this.dataView.getUint32(4,!0)%this.capacity}setHead(t){this.dataView.setUint32(4,t%this.capacity,!0)}getTail(){return this.dataView.getUint32(8,!0)%this.capacity}setTail(t){this.dataView.setUint32(8,t%this.capacity,!0)}getSeq(){return this.dataView.getUint32(12,!0)}setSeq(t){this.dataView.setUint32(12,t,!0)}getFreeSpace(){const t=this.getHead(),e=this.getTail(),s=(t-e+this.capacity)%this.capacity;return this.capacity-s}getDropped(){return this.dropped}hasRecords(){return this.getHead()!==this.getTail()}readNext(){const t=this.read();return t?{payload:t}:null}write(t){const e=t.byteLength,s=8+e,n=4+s+4;let o=0;for(;this.getFreeSpace()<n;){if(!this.skipRecord())return this.dropped+=o+1,-1;o++}const r=this.getSeq()+1;this.setSeq(r);let a=this.getHead();return this.dataView.setUint32(this.dataStart+a,s,!0),a=(a+4)%this.capacity,this.dataView.setUint16(this.dataStart+a,0,!0),a=(a+2)%this.capacity,this.dataView.setUint16(this.dataStart+a,0,!0),a=(a+2)%this.capacity,this.dataView.setUint32(this.dataStart+a,r,!0),a=(a+4)%this.capacity,this.copyBytes(a,t,0,e),a=(a+e)%this.capacity,this.dataView.setUint32(this.dataStart+a,s,!0),a=(a+4)%this.capacity,this.setHead(a),this.dropped+=o,r}read(){let t=this.getTail();if(t===this.getHead())return null;const e=this.dataView.getUint32(this.dataStart+t,!0);if(e===0)return null;const s=(t+4+e)%this.capacity;if(this.dataView.getUint32(this.dataStart+s,!0)!==e)return null;const n=new Uint8Array(e);this.copyFromRing((t+4)%this.capacity,n,0,e);const o=n.subarray(8),r=4+e+4;return this.setTail((this.getTail()+r)%this.capacity),o}skipRecord(){let t=this.getTail();if(t===this.getHead())return!1;const e=this.dataView.getUint32(this.dataStart+t,!0);if(e===0)return!1;const s=(t+4+e)%this.capacity;if(this.dataView.getUint32(this.dataStart+s,!0)!==e)return!1;const n=4+e+4;return this.setTail((this.getTail()+n)%this.capacity),!0}copyBytes(t,e,s,n){let o=n,r=s,a=t;for(;o>0;){const h=this.capacity-a%this.capacity,c=Math.min(o,h),d=this.dataStart+a%this.capacity,f=e.subarray(r,r+c);new Uint8Array(this.sab,d,c).set(f),o-=c,r+=c,a+=c}}copyFromRing(t,e,s,n){let o=n,r=s,a=t;for(;o>0;){const h=this.capacity-a%this.capacity,c=Math.min(o,h),d=this.dataStart+a%this.capacity,f=new Uint8Array(this.sab,d,c);e.set(f,r),o-=c,r+=c,a+=c}}}function Et(i){const t=new DataView(i),e=i.byteLength;if(e<32)throw new Error(`Ring buffer too small: ${e} bytes`);if(t.getUint32(0,!0)!==0)return;const s=e-32;if(s<=0)throw new Error(`Invalid ring capacity computed from total=${e}`);t.setUint32(0,s,!0),t.setUint32(4,0,!0),t.setUint32(8,0,!0),t.setUint32(12,0,!0);for(let n=16;n<32;n+=4)t.setUint32(n,0,!0)}var u=(i=>(i.Idle="idle",i.Connecting="connecting",i.Ready="ready",i.Closing="closing",i.Closed="closed",i.Error="error",i))(u||{});class jt{constructor(t,e={}){this.status=u.Closed,this.ws=null,this.reconnectTimer=null,this.abortController=null,this.attempts=0,this.givenUp=!1,this.lastActivity=Date.now(),this.stats={dropped:0,sent:0,received:0,reconnects:0,lastActivity:Date.now()},this.readyWaiters=[],this.messageHandler=null,this.url=t,this.config={connectTimeoutMs:5e3,writeTimeoutMs:1e4,retry:{baseMs:300,maxMs:1e4,multiplier:1.6,jitter:.1},maxReconnectAttempts:2,idleTimeoutMs:3e5,...e}}getUrl(){return this.url}getStatus(){return this.status}getStats(){return{...this.stats,reconnects:this.attempts,lastActivity:this.lastActivity}}getLastActivity(){return this.lastActivity}hasGivenUp(){return this.givenUp}setMessageHandler(t){this.messageHandler=t}connect(){if(this.givenUp||this.status===u.Connecting||this.status===u.Ready)return;this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.status=u.Connecting,this.abortController=new AbortController;const t=this.abortController.signal;try{this.ws=new WebSocket(this.url),this.ws.binaryType="arraybuffer";const e=()=>{this.ws&&(this.ws.onopen=null,this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null)},s=()=>{this.status=u.Ready,this.attempts=0,this.givenUp=!1,this.lastActivity=Date.now(),this.stats.lastActivity=this.lastActivity,this.resolveReady(!0)},n=h=>{e(),this.status=u.Closed,this.resolveReady(!1),h.code!==1e3&&this.scheduleReconnect()},o=h=>{e(),this.status=u.Closed,this.resolveReady(!1),this.scheduleReconnect()},r=h=>{if(this.lastActivity=Date.now(),this.stats.lastActivity=this.lastActivity,this.stats.received++,typeof h.data=="string"){const c=h.data,{kind:d,subId:f}=this.shallowScan(c);this.messageHandler&&this.messageHandler(this.url,d,f,c)}};this.ws.onopen=s,this.ws.onclose=n,this.ws.onerror=o,this.ws.onmessage=r;const a=setTimeout(()=>{if(this.status===u.Connecting){e();try{this.ws?.close()}catch{}this.status=u.Closed,this.resolveReady(!1),this.scheduleReconnect()}},this.config.connectTimeoutMs);t.addEventListener("abort",()=>{clearTimeout(a),e();try{this.ws?.close()}catch{}this.status=u.Closed,this.resolveReady(!1),this.scheduleReconnect()})}catch{this.status=u.Closed,this.resolveReady(!1),this.scheduleReconnect()}}async sendMessage(t){if(this.status!==u.Ready||!this.ws)throw new Error("Connection not ready");this.ws.send(t),this.stats.sent++,this.lastActivity=Date.now(),this.stats.lastActivity=this.lastActivity}async waitForReady(t=this.config.connectTimeoutMs??5e3){if(this.status!==u.Ready)return new Promise((e,s)=>{const n=setTimeout(()=>{this.removeReadyResolver(o),s(new Error("Timeout waiting for ready"))},t),o=r=>{clearTimeout(n),r?e():s(new Error("Connection closed"))};this.readyWaiters.push(o)})}async close(){this.abortController&&this.abortController.abort(),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.closeWebSocket(),this.status=u.Closed,this.resolveReady(!1)}shouldCloseDueToInactivity(){return Date.now()-this.lastActivity>(this.config.idleTimeoutMs??3e5)}resolveReady(t){if(this.readyWaiters.length===0)return;const e=this.readyWaiters.slice();this.readyWaiters.length=0;for(const s of e)try{s(t)}catch{}}removeReadyResolver(t){const e=this.readyWaiters.indexOf(t);e>=0&&this.readyWaiters.splice(e,1)}closeWebSocket(){if(this.ws){try{this.ws.close(1e3,"Normal closure")}catch{}this.ws=null}}scheduleReconnect(){if(this.status!==u.Closed||!this.config.retry?.baseMs)return;const t=this.config.maxReconnectAttempts??2;if(t>0&&this.attempts>=t){this.givenUp=!0;return}const e=this.config.retry.baseMs,s=this.config.retry.maxMs??1e4,n=this.config.retry.multiplier??1.6,o=this.config.retry.jitter??.1,r=Math.min(e*Math.pow(n,this.attempts),s)*(1+(Math.random()-.5)*o*2);this.reconnectTimer=setTimeout(()=>{this.attempts++,this.stats.reconnects=this.attempts,this.connect()},r)}shallowScan(t){let e=0;const s=t.length;for(;e<s&&t.charCodeAt(e)<=32;)e++;if(e>=s||t[e]!=="[")return{kind:0,subId:null};for(e++;e<s&&t.charCodeAt(e)<=32;)e++;if(e>=s||t[e]!=='"')return{kind:0,subId:null};e++;let n=e;for(;e<s&&t[e]!=='"';)e++;const o=t.slice(n,e).toUpperCase();e++;let r=0;if(o==="EVENT"?r=1:o==="EOSE"?r=2:o==="OK"?r=3:o==="CLOSED"?r=4:o==="NOTICE"?r=5:o==="AUTH"&&(r=6),r===1||r===2||r===4){for(;e<s&&t[e]!==",";)e++;for(e<s&&t[e]===","&&e++;e<s&&t.charCodeAt(e)<=32;)e++;if(e<s&&t[e]==='"'){for(e++,n=e;e<s&&t[e]!=='"';)e++;const a=t.slice(n,e);return{kind:r,subId:a}}}return{kind:r,subId:null}}}class zt{constructor(t){this.connections=new Map,this.disabledRelays=new Set,this.nextAllowed=new Map,this.subCounts=new Map,this.disconnectTimers=new Map,this.cooldownMs=6e4,this.closeDelayMs=1e3,this.config={maxReconnectAttempts:2,...t}}now(){return Date.now()}detectKind(t){const e=t.match(/^\s*\[\s*"([^"]+)"/);if(!e)return"OTHER";const s=e[1].toUpperCase();return s==="REQ"?"REQ":s==="CLOSE"?"CLOSE":"OTHER"}getCount(t){return this.subCounts.get(t)??0}setCount(t,e){this.subCounts.set(t,Math.max(0,e))}cancelPendingDisconnect(t){const e=this.disconnectTimers.get(t);typeof e=="number"&&(clearTimeout(e),this.disconnectTimers.delete(t))}scheduleDisconnectIfIdle(t){if(this.disconnectTimers.has(t))return;const e=setTimeout(async()=>{this.disconnectTimers.delete(t),this.getCount(t)===0&&await this.disconnect(t)},this.closeDelayMs);this.disconnectTimers.set(t,e)}bumpCount(t,e){const s=this.getCount(t)+e;this.setCount(t,s),e>0?this.cancelPendingDisconnect(t):e<0&&this.getCount(t)===0&&this.scheduleDisconnectIfIdle(t)}giveUpOrCooldown(t,e){e?.hasGivenUp()?(this.disabledRelays.has(t)||console.warn(`[registry] disabling relay ${t}: max attempts reached`),this.disabledRelays.add(t),this.nextAllowed.set(t,this.now()+this.cooldownMs)):this.nextAllowed.set(t,this.now()+Math.min(this.cooldownMs,1e4))}isCoolingDown(t){const e=this.nextAllowed.get(t)??0;return this.now()<e}async ensureConnection(t){if(this.disabledRelays.has(t))throw new Error(`Relay disabled: ${t}`);if(this.isCoolingDown(t))throw new Error(`Relay ${t} cooling down until ${new Date(this.nextAllowed.get(t)).toISOString()}`);let e=this.connections.get(t);if(e||(e=new jt(t,this.config),this.connections.set(t,e),e.connect()),e.getStatus()!==u.Ready)try{await e.waitForReady(this.config.connectTimeoutMs??5e3)}catch(s){throw this.giveUpOrCooldown(t,e),s}if(e.getStatus()!==u.Ready)throw this.giveUpOrCooldown(t,e),new Error(`Relay ${t} not ready`);return e}async sendFrame(t,e){if(this.disabledRelays.has(t)||this.isCoolingDown(t))return;const s=this.detectKind(e),n=await this.ensureConnection(t);try{await n.sendMessage(e)}catch(o){throw this.giveUpOrCooldown(t,n),await this.disconnect(t),o}s==="REQ"?this.bumpCount(t,1):s==="CLOSE"&&this.bumpCount(t,-1)}async sendToRelays(t,e){for(const s of t)if(!(this.disabledRelays.has(s)||this.isCoolingDown(s)))try{for(const n of e)await this.sendFrame(s,n)}catch(n){console.error(`[registry] failed to send to ${s}:`,n)}}async disconnect(t){const e=this.connections.get(t);e&&(await e.close(),this.connections.delete(t)),this.cancelPendingDisconnect(t),this.subCounts.delete(t)}async disconnectAll(){for(const[t]of this.connections)await this.disconnect(t)}enableRelay(t){this.disabledRelays.delete(t),this.nextAllowed.delete(t)}isRelayDisabled(t){return this.disabledRelays.has(t)}getActiveReqCount(t){return this.getCount(t)}getConnectionStatus(t){const e=this.connections.get(t);return e?e.getStatus():void 0}getAllStatuses(){return new Map(Array.from(this.connections.entries()).map(([t,e])=>[t,e.getStatus()]))}}class Q{static initializeBuffer(t){new DataView(t).setUint32(0,4,!0)}static writeMessage(t,e){const s=new DataView(t),n=new Uint8Array(t),o=s.getUint32(0,!0),r=4+e.length;if(o+r>t.byteLength)return console.warn("Buffer full, cannot write message"),!1;s.setUint32(o,e.length,!0),n.set(e,o+4);const a=o+r;return s.setUint32(0,a,!0),!0}static writeMessageObject(t,e){try{const s=Kt(e);return this.writeMessage(t,new Uint8Array(s))}catch(s){return console.error("Failed to encode message:",s),!1}}static readMessages(t,e=0){const s=new DataView(t),n=new Uint8Array(t),o=s.getUint32(0,!0),r=4;let a=e<r?r:e;if(o<=a)return{messages:[],newReadPosition:a,hasNewData:!1};const h=128,c=new Array(h);let d=0;try{for(;a<o&&!(d>=h||a+4>o);){const f=a,w=s.getUint32(f,!0),x=f+4,W=x+w;if(W>o)break;const Y=n.subarray(x,W),p=new tt(Y),H=m.getRootAsWorkerMessage(p);c[d++]=H,a=W}return c.length=d,{messages:c,newReadPosition:a,hasNewData:d>0}}catch(f){return console.error("Failed to decode FlatBuffer data from SharedArrayBuffer:",f),c.length=d,{messages:c,newReadPosition:e<r?r:e,hasNewData:!1}}}static readAllMessages(t){const e=this.readMessages(t,0);return{messages:e.messages,totalMessages:e.messages.length}}static getCurrentWritePosition(t){return new DataView(t).getUint32(0,!0)}static hasNewData(t,e){const s=this.getCurrentWritePosition(t),n=Math.max(e,4);return s>n}static calculateBufferSize(t=100,e=3072){const s=t*e,n=Math.floor(s*.25);return 4+s+n}}let At=null,pt=null;async function qt(){return pt||(pt=fetch(Bt).then(i=>{if(!i.ok)throw new Error(`Failed to fetch WASM: ${i.status} ${i.statusText}`);return i.arrayBuffer()}).then(i=>{At=i}).catch(i=>{throw console.error("WASM fetch failed:",i),i}),pt)}class Mt{constructor(t){this.textEncoder=new TextEncoder,this.subscriptions=new Map,this.publishes=new Map,this.signers=new Map,this.signCB=e=>{},this.eventTarget=new EventTarget,this.PERPETUAL_SUBSCRIPTIONS=["notifications","starterpack"],this.worker=this.createWorker(),this.setupWorkerListener(),this.ready=(async()=>{await qt(),this.worker.postMessage({type:"init",payload:{bufferKey:t.bufferKey,maxBufferSize:t.maxBufferSize,wasmBuffer:At,inRing:t.inRing,outRing:t.outRing}})})().catch(e=>{console.error("Failed to initialize worker with WASM:",e)})}createWorker(){return new Vt}setupWorkerListener(){this.worker.onmessage=async t=>{const e=typeof t.data=="string"?t.data:void 0;try{if(t.data.startsWith('{"id":')){const s=JSON.parse(t.data);this.signCB(s)}}catch{}if(e){if(this.subscriptions.has(e)){this.dispatch(`subscription:${e}`,e);return}if(this.publishes.has(e)){this.dispatch(`publish:${e}`,e);return}}},this.worker.onerror=t=>{console.error("Worker error:",t)}}createShortId(t){if(t.length<64)return t;let e=0;for(let s=0;s<t.length;s++){const n=t.charCodeAt(s);e=(e<<5)-e+n,e=e&e}return Math.abs(e).toString(36).substring(0,63)}addEventListener(t,e,s){this.eventTarget.addEventListener(t,e,s)}removeEventListener(t,e,s){this.eventTarget.removeEventListener(t,e,s)}dispatch(t,e){this.eventTarget.dispatchEvent(new CustomEvent(t,{detail:e}))}subscribe(t,e,s){const n=this.createShortId(t),o=this.subscriptions.get(n);if(o)return o.refCount++,o.buffer;const r=e.reduce((p,H)=>p+(H.limit||100),0),a=Q.calculateBufferSize(r,s.bytesPerEvent);let h=new Uint8Array;const c=new SharedArrayBuffer(a+h.length);Q.initializeBuffer(c),h.length>0&&(Q.writeMessage(c,h)||console.error("Failed to write initial message to buffer")),this.subscriptions.set(n,{buffer:c,options:s,refCount:1});const d=new dt(new bt(s.pipeline||[]),s.closeOnEose,s.cacheFirst,s.timeoutMs?BigInt(s.timeoutMs):void 0,s.maxEvents,s.skipCache,s.force,s.bytesPerEvent),f=new ut(this.textEncoder.encode(n),e.map(p=>new xt(p.ids,p.authors,p.kinds,Object.entries(p.tags||{}).flatMap(([H,Nt])=>new nt([H,...Nt])),p.limit,p.since,p.until,this.textEncoder.encode(p.search),p.relays,p.closeOnEOSE,p.cacheFirst)),d),w=new V(y.Subscribe,f),x=new R(2048),W=w.pack(x);x.finish(W);const Y=x.asUint8Array();try{return Z.resetInputLoopBackoff(),this.worker.postMessage({serializedMessage:Y,sharedBuffer:c}),c}catch(p){throw this.subscriptions.delete(n),p}}getBuffer(t){const e=this.subscriptions.get(t);if(e)return e.refCount++,e.buffer}unsubscribe(t){const e=t.length<64?t:this.createShortId(t),s=this.subscriptions.get(e);s&&s.refCount--}publish(t,e){const s=new SharedArrayBuffer(3072);Q.initializeBuffer(s);try{const n=new X(e.kind,this.textEncoder.encode(e.content),e.tags.map(d=>new nt(d))||[]),o=new ot(this.textEncoder.encode(t),n),r=new V(y.Publish,o),a=new R(2048),h=r.pack(a);a.finish(h);const c=a.asUint8Array();return Z.resetInputLoopBackoff(),this.worker.postMessage({serializedMessage:c,sharedBuffer:s}),this.publishes.set(t,{buffer:s}),s}catch(n){throw console.error("Failed to publish event:",n),n}}setSigner(t,e){this.ready.then(()=>{console.log("setSigner",t,e);const s=new at(this.textEncoder.encode(e)),n=new ct(q.PrivateKey,s),o=new V(y.SetSigner,n),r=new R(2048),a=o.pack(r);r.finish(a);const h=r.asUint8Array();this.worker.postMessage(h),this.signers.set(t,e)})}signEvent(t,e){const s=new V(y.SignEvent,new ht(new X(t.kind,this.textEncoder.encode(t.content),t.tags.map(a=>new nt(a))))),n=new R(2048),o=s.pack(n);n.finish(o);const r=n.asUint8Array();this.signCB=e,this.worker.postMessage(r)}getPublicKey(){const t=new V(y.GetPublicKey,new rt),e=new R(2048),s=t.pack(e);e.finish(s);const n=e.asUint8Array();this.worker.postMessage(n)}cleanup(){const t=[];for(const[e,s]of this.subscriptions.entries())s.refCount<=0&&!this.PERPETUAL_SUBSCRIPTIONS.includes(e)&&t.push(e);for(const e of t)if(this.subscriptions.get(e)){const s=new V(y.Unsubscribe,new lt(this.textEncoder.encode(e))),n=new R(2048),o=s.pack(n);n.finish(o);const r=n.asUint8Array();Z.resetInputLoopBackoff(),this.worker.postMessage(r),this.subscriptions.delete(e)}}}function Dt(i,t,e,s,n){const o=new TextEncoder().encode(n),r=new R(1024),a=O.createRelayRef(r,r.createString(t)),h=e;let c=null;s&&(c=r.createString(s));const d=r.createByteVector(o);l.startWorkerLine(r),l.addRelay(r,a),l.addKind(r,h),c&&l.addSubId(r,c),l.addRaw(r,d);const f=l.endWorkerLine(r);r.finish(f);const w=new Uint8Array(r.asUint8Array());i.write(w)}class B{constructor(t,e=2){this.inRings=[],this.outRings=[],this.inputRings=[],this.outputRings=[],this.managers=[],this.lastRingIndex=0,this.inputLoopBackoffMs=B.MIN_BACKOFF_MS,this.inputLoopTimer=null,this.decoder=new TextDecoder,this.processInputLoop=()=>{let o=0;const r=this.inputRings.length;if(r===0){this.scheduleInputLoop();return}let a;do{a=!1;for(let h=0;h<r;h++){const c=(this.lastRingIndex+h)%r,d=this.inputRings[c].read();if(!d)continue;a=!0,o++;const f=this.decoder.decode(d);let w;try{w=JSON.parse(f)}catch(x){console.warn("Invalid envelope JSON:",x);continue}if(!Array.isArray(w.relays)||!Array.isArray(w.frames)){console.warn("Invalid envelope structure");continue}this.registry.sendToRelays(w.relays,w.frames).catch(console.error),this.lastRingIndex=(c+1)%r}}while(a);this.inputLoopBackoffMs=o>0?B.MIN_BACKOFF_MS:Math.min(this.inputLoopBackoffMs*B.BACKOFF_MULTIPLIER,B.MAX_BACKOFF_MS),this.scheduleInputLoop()};for(let o=0;o<e;o++)this.inRings.push(new SharedArrayBuffer(1*1024*1024)),this.outRings.push(new SharedArrayBuffer(5*1024*1024)),Et(this.inRings[o]),Et(this.outRings[o]),this.managers.push(new Mt({bufferKey:o.toString(),maxBufferSize:2e6,inRing:this.inRings[o],outRing:this.outRings[o]})),this.inputRings.push(new Ft(this.inRings[o])),this.outputRings.push(new Ft(this.outRings[o]));this.registry=new zt(t||{});const s=(o,r,a,h)=>{const c=this.outputRings[this.hashSubId(a||"")];Dt(c,o,r,a,h)},n=this.registry.ensureConnection.bind(this.registry);this.registry.ensureConnection=async o=>{const r=await n(o);return r.messageHandler||r.setMessageHandler(s),r},this.processInputLoop(),console.log("WS Manager initialized")}static{this.MIN_BACKOFF_MS=10}static{this.MAX_BACKOFF_MS=1e3}static{this.BACKOFF_MULTIPLIER=2}hashSubId(t){let e=0;for(let s=0;s<t.length;s++)e=(e<<5)-e+t.charCodeAt(s);return Math.abs(e)%this.managers.length}createShortId(t){if(t.length<64)return t;let e=0;for(let s=0;s<t.length;s++){const n=t.charCodeAt(s);e=(e<<5)-e+n,e=e&e}return Math.abs(e).toString(36).substring(0,63)}cleanup(){for(const t of this.managers)t.cleanup()}setSigner(t,e){for(const s of this.managers)s.setSigner(t,e)}getManager(t){t=this.createShortId(t);const e=this.hashSubId(t||"");return this.managers[e]}resetInputLoopBackoff(){this.inputLoopBackoffMs=B.MIN_BACKOFF_MS,this.inputLoopTimer!==null&&(clearTimeout(this.inputLoopTimer),this.inputLoopTimer=null),this.scheduleInputLoop()}scheduleInputLoop(){const t=globalThis;typeof t.requestIdleCallback=="function"?t.requestIdleCallback(()=>this.processInputLoop(),{timeout:this.inputLoopBackoffMs}):this.inputLoopTimer=setTimeout(()=>this.processInputLoop(),this.inputLoopBackoffMs)}}const Z=new B({});export{C as A,ct as B,k as C,M as D,ht as E,q as F,K as G,P as H,ut as I,g as J,T as K,dt as L,y as M,B as N,X as O,j as P,lt as Q,O as R,z as S,_ as T,U,Ot as V,l as W,m as X,Rt as Y,Q as Z,Mt as a,gt as b,rt as c,_t as d,E as e,V as f,$ as g,S as h,wt as i,Pt as j,I as k,It as l,D as m,Z as n,v as o,bt as p,A as q,at as r,N as s,St as t,F as u,ot as v,vt as w,mt as x,L as y,kt as z};