@candypoets/nipworker 0.0.63 → 0.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/nostr/fb/request.d.ts +5 -2
- package/dist/generated/nostr/fb/request.d.ts.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index2.js +1 -1
- package/dist/index2.js.map +1 -1
- package/dist/manager.d.ts.map +1 -1
- package/dist/message-type.js +1 -1
- package/dist/message-type.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/ws-rust/index.js +2 -2
- package/dist/ws-rust/index.js.map +1 -1
- package/dist/ws-rust/pkg/ws_rust.d.ts +1 -1
- package/dist/ws-rust/pkg/ws_rust_bg.wasm.d.ts +1 -1
- package/package.json +2 -2
|
@@ -29,6 +29,7 @@ export declare class Request implements flatbuffers.IUnpackableObject<RequestT>
|
|
|
29
29
|
relaysLength(): number;
|
|
30
30
|
closeOnEose(): boolean;
|
|
31
31
|
cacheFirst(): boolean;
|
|
32
|
+
noCache(): boolean;
|
|
32
33
|
static startRequest(builder: flatbuffers.Builder): void;
|
|
33
34
|
static addIds(builder: flatbuffers.Builder, idsOffset: flatbuffers.Offset): void;
|
|
34
35
|
static createIdsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
|
|
@@ -55,8 +56,9 @@ export declare class Request implements flatbuffers.IUnpackableObject<RequestT>
|
|
|
55
56
|
static startRelaysVector(builder: flatbuffers.Builder, numElems: number): void;
|
|
56
57
|
static addCloseOnEose(builder: flatbuffers.Builder, closeOnEose: boolean): void;
|
|
57
58
|
static addCacheFirst(builder: flatbuffers.Builder, cacheFirst: boolean): void;
|
|
59
|
+
static addNoCache(builder: flatbuffers.Builder, noCache: boolean): void;
|
|
58
60
|
static endRequest(builder: flatbuffers.Builder): flatbuffers.Offset;
|
|
59
|
-
static createRequest(builder: flatbuffers.Builder, idsOffset: flatbuffers.Offset, authorsOffset: flatbuffers.Offset, kindsOffset: flatbuffers.Offset, tagsOffset: flatbuffers.Offset, limit: number, since: number, until: number, searchOffset: flatbuffers.Offset, relaysOffset: flatbuffers.Offset, closeOnEose: boolean, cacheFirst: boolean): flatbuffers.Offset;
|
|
61
|
+
static createRequest(builder: flatbuffers.Builder, idsOffset: flatbuffers.Offset, authorsOffset: flatbuffers.Offset, kindsOffset: flatbuffers.Offset, tagsOffset: flatbuffers.Offset, limit: number, since: number, until: number, searchOffset: flatbuffers.Offset, relaysOffset: flatbuffers.Offset, closeOnEose: boolean, cacheFirst: boolean, noCache: boolean): flatbuffers.Offset;
|
|
60
62
|
unpack(): RequestT;
|
|
61
63
|
unpackTo(_o: RequestT): void;
|
|
62
64
|
}
|
|
@@ -72,7 +74,8 @@ export declare class RequestT implements flatbuffers.IGeneratedObject {
|
|
|
72
74
|
relays: (string)[];
|
|
73
75
|
closeOnEose: boolean;
|
|
74
76
|
cacheFirst: boolean;
|
|
75
|
-
|
|
77
|
+
noCache: boolean;
|
|
78
|
+
constructor(ids?: (string)[], authors?: (string)[], kinds?: (number)[], tags?: (StringVecT)[], limit?: number, since?: number, until?: number, search?: ByteString | Uint8Array | null, relays?: (string)[], closeOnEose?: boolean, cacheFirst?: boolean, noCache?: boolean);
|
|
76
79
|
pack(builder: flatbuffers.Builder): flatbuffers.Offset;
|
|
77
80
|
}
|
|
78
81
|
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/generated/nostr/fb/request.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/generated/nostr/fb/request.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;AAErD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAMnE,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5F,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,cAwCrD;AAED,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,
|
|
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;AAErD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAMnE,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5F,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,cAwCrD;AAED,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,CAoEZ;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,CAwCZ;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{s as
|
|
1
|
+
import{s as w,n as f,S as p}from"./index2.js";import{B as S}from"./ring-buffer.js";const M=new TextDecoder;function E(e){const c=new S(w);let d=!1,u=10;const r=10,a=100;return(async()=>{for(;!d;){let o=0;for(;;){const n=c.read();if(!n)break;o++;const i=M.decode(n),s=i.indexOf("|");if(s>0){const t=i.slice(0,s),l=i.slice(s+1);(t==="connected"||t==="failed"||t==="close")&&e(t,l)}}u=o>0?r:Math.min(u*2,a),await new Promise(n=>setTimeout(n,u))}})(),()=>{d=!0}}function k(e,c,d=()=>{},u={closeOnEose:!1}){if(!e)return console.warn("useSharedSubscription: No subscription ID provided"),()=>{};let r=null,a=4,o=!0,n=!1,i=!1;e=f.createShortId(e);const s=f.getManager(e);let t=!1,l=!1;const g=()=>{if(!(!o||!r)&&!l){l=!0;try{let b=p.readMessages(r,a);for(;b.hasNewData;){for(const v of b.messages)d(v);a=b.newReadPosition,b=p.readMessages(r,a)}}finally{l=!1}}},h=()=>{o&&(t||(t=!0,queueMicrotask(()=>{t=!1,g()})))},m=()=>(o=!1,i&&!n&&(s.removeEventListener(`subscription:${e}`,h),s.unsubscribe(e),n=!0),()=>{});return r=s.subscribe(e,c,u),i=!0,s.addEventListener(`subscription:${e}`,h),h(),m}function y(e,c,d=()=>{},u={trackStatus:!0}){if(!e)return console.warn("usePublish: No publish ID provided"),()=>{};let r=null,a=4,o=!0;e=f.createShortId(e);const n=f.getManager(e),i=()=>{o=!1,n.removeEventListener(`publish:${e}`,s)};r=n.publish(e,c);const s=()=>{if(!o||!r)return;const t=p.readMessages(r,a);t.hasNewData&&(t.messages.forEach(l=>{d(l)}),a=t.newReadPosition)};return u.trackStatus&&(n.addEventListener(`publish:${e}`,s),queueMicrotask(s)),i}function D(e,c){f.getManager("").signEvent(e,c)}export{y as usePublish,E as useRelayStatus,D as useSignEvent,k as useSubscription};
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 { ByteRingBuffer } from './ws/ring-buffer'; // existing helper\nimport { RequestObject, type SubscriptionConfig } from './manager';\nimport { nipWorker, statusRing } from '.';\n\nconst decoder = new TextDecoder();\n\n// Provide a handler from your app (e.g., React setState or Redux dispatch)\nexport type StatusHandler = (status: 'connected' | 'failed' | 'close', url: string) => void;\n\nexport function useRelayStatus(onStatus: StatusHandler) {\n\tconst ring = new ByteRingBuffer(statusRing);\n\n\tlet stopped = false;\n\tlet backoffMs = 10;\n\tconst MIN_BACKOFF_MS = 10;\n\tconst MAX_BACKOFF_MS = 100;\n\n\tconst loop = async () => {\n\t\twhile (!stopped) {\n\t\t\tlet processed = 0;\n\n\t\t\twhile (true) {\n\t\t\t\tconst record = ring.read();\n\t\t\t\tif (!record) break;\n\n\t\t\t\tprocessed++;\n\t\t\t\tconst line = decoder.decode(record);\n\t\t\t\tconst sep = line.indexOf('|');\n\t\t\t\tif (sep > 0) {\n\t\t\t\t\tconst status = line.slice(0, sep) as 'connected' | 'failed' | 'close';\n\t\t\t\t\tconst url = line.slice(sep + 1);\n\t\t\t\t\tif (status === 'connected' || status === 'failed' || status === 'close') {\n\t\t\t\t\t\tonStatus(status, url);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbackoffMs = processed > 0 ? MIN_BACKOFF_MS : Math.min(backoffMs * 2, MAX_BACKOFF_MS);\n\t\t\tawait new Promise((r) => setTimeout(r, backoffMs));\n\t\t}\n\t};\n\n\t// Fire-and-forget\n\tloop();\n\n\t// Return a stop handle\n\treturn () => {\n\t\tstopped = true;\n\t};\n}\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\n\tlet buffer: SharedArrayBuffer | null = null;\n\tlet lastReadPos
|
|
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 { ByteRingBuffer } from './ws/ring-buffer'; // existing helper\nimport { RequestObject, type SubscriptionConfig } from './manager';\nimport { nipWorker, statusRing } from '.';\n\nconst decoder = new TextDecoder();\n\n// Provide a handler from your app (e.g., React setState or Redux dispatch)\nexport type StatusHandler = (status: 'connected' | 'failed' | 'close', url: string) => void;\n\nexport function useRelayStatus(onStatus: StatusHandler) {\n\tconst ring = new ByteRingBuffer(statusRing);\n\n\tlet stopped = false;\n\tlet backoffMs = 10;\n\tconst MIN_BACKOFF_MS = 10;\n\tconst MAX_BACKOFF_MS = 100;\n\n\tconst loop = async () => {\n\t\twhile (!stopped) {\n\t\t\tlet processed = 0;\n\n\t\t\twhile (true) {\n\t\t\t\tconst record = ring.read();\n\t\t\t\tif (!record) break;\n\n\t\t\t\tprocessed++;\n\t\t\t\tconst line = decoder.decode(record);\n\t\t\t\tconst sep = line.indexOf('|');\n\t\t\t\tif (sep > 0) {\n\t\t\t\t\tconst status = line.slice(0, sep) as 'connected' | 'failed' | 'close';\n\t\t\t\t\tconst url = line.slice(sep + 1);\n\t\t\t\t\tif (status === 'connected' || status === 'failed' || status === 'close') {\n\t\t\t\t\t\tonStatus(status, url);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbackoffMs = processed > 0 ? MIN_BACKOFF_MS : Math.min(backoffMs * 2, MAX_BACKOFF_MS);\n\t\t\tawait new Promise((r) => setTimeout(r, backoffMs));\n\t\t}\n\t};\n\n\t// Fire-and-forget\n\tloop();\n\n\t// Return a stop handle\n\treturn () => {\n\t\tstopped = true;\n\t};\n}\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\n\tlet buffer: SharedArrayBuffer | null = null;\n\tlet lastReadPos = 4;\n\tlet running = true;\n\tlet hasUnsubscribed = false;\n\tlet hasSubscribed = false;\n\n\tsubId = nipWorker.createShortId(subId);\n\tconst manager = nipWorker.getManager(subId);\n\n\t// Reentrancy/coalescing flags\n\tlet scheduled = false;\n\tlet processing = false;\n\n\tconst processEvents = (): void => {\n\t\tif (!running || !buffer) return;\n\t\tif (processing) return; // Avoid overlapping runs\n\t\tprocessing = true;\n\t\ttry {\n\t\t\tlet result = SharedBufferReader.readMessages(buffer, lastReadPos);\n\t\t\twhile (result.hasNewData) {\n\t\t\t\tfor (const message of result.messages) {\n\t\t\t\t\tcallback(message);\n\t\t\t\t}\n\t\t\t\tlastReadPos = result.newReadPosition;\n\t\t\t\tresult = SharedBufferReader.readMessages(buffer, lastReadPos);\n\t\t\t}\n\t\t} finally {\n\t\t\tprocessing = false;\n\t\t}\n\t};\n\n\tconst scheduleProcess = () => {\n\t\tif (!running) return;\n\t\tif (scheduled) return;\n\t\tscheduled = true;\n\t\tqueueMicrotask(() => {\n\t\t\tscheduled = false;\n\t\t\tprocessEvents();\n\t\t});\n\t};\n\n\tconst unsubscribe = (): (() => void) => {\n\t\trunning = false;\n\n\t\tif (hasSubscribed && !hasUnsubscribed) {\n\t\t\tmanager.removeEventListener(`subscription:${subId}`, scheduleProcess);\n\t\t\tmanager.unsubscribe(subId);\n\t\t\thasUnsubscribed = true;\n\t\t}\n\n\t\treturn () => {};\n\t};\n\n\tbuffer = manager.subscribe(subId, requests, options);\n\thasSubscribed = true;\n\n\tmanager.addEventListener(`subscription:${subId}`, scheduleProcess);\n\n\t// Prime initial drain\n\tscheduleProcess();\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\tbuffer = manager.publish(pubId, event);\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\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":["decoder","useRelayStatus","onStatus","ring","ByteRingBuffer","statusRing","stopped","backoffMs","MIN_BACKOFF_MS","MAX_BACKOFF_MS","processed","record","line","sep","status","url","r","useSubscription","subId","requests","callback","options","buffer","lastReadPos","running","hasUnsubscribed","hasSubscribed","nipWorker","manager","scheduled","processing","processEvents","result","SharedBufferReader","message","scheduleProcess","unsubscribe","usePublish","pubId","event","useSignEvent","template"],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,cAAc,aAAa,CAAC;AAE5B,eAAO,MAAM,UAAU,mBAAoC,CAAC;AAK5D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,cAAc,aAAa,CAAC;AAE5B,eAAO,MAAM,UAAU,mBAAoC,CAAC;AAK5D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CA4BpE;AAED,qBAAa,SAAS;IACrB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS;IASV,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;gBA2B/B,MAAM,GAAE,GAAQ,EAAE,KAAK,SAAI;IAgDhC,OAAO,IAAI,IAAI;IAMf,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAMnD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAUvC,qBAAqB,IAAI,IAAI;CAIpC;AAED,eAAO,MAAM,SAAS,WAAoB,CAAC"}
|
package/dist/index2.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import Rt from"@candypoets/rust-worker/worker.js?worker";import Ft from"@candypoets/rust-worker/rust_worker_bg.wasm?url";import*as c from"flatbuffers";import{ByteBuffer as Nt}from"flatbuffers";import{S as Kt,R as Lt,M as D,j as $,u as bt,k as Mt,l as J}from"./message-type.js";class k{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsCounterPipeConfig(t,i){return(i||new k).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCounterPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new k).__init(t.readInt32(t.position())+t.position(),t)}kinds(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.readUint16(this.bb.__vector(this.bb_pos+i)+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 i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startCounterPipeConfig(t){t.startObject(2)}static addKinds(t,i){t.addFieldOffset(0,i,0)}static createKindsVector(t,i){t.startVector(2,i.length,2);for(let e=i.length-1;e>=0;e--)t.addInt16(i[e]);return t.endVector()}static startKindsVector(t,i){t.startVector(2,i,2)}static addPubkey(t,i){t.addFieldOffset(1,i,0)}static endCounterPipeConfig(t){const i=t.endObject();return t.requiredField(i,4),t.requiredField(i,6),i}static createCounterPipeConfig(t,i,e){return k.startCounterPipeConfig(t),k.addKinds(t,i),k.addPubkey(t,e),k.endCounterPipeConfig(t)}unpack(){return new ht(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 ht{constructor(t=[],i=null){this.kinds=t,this.pubkey=i}pack(t){const i=k.createKindsVector(t,this.kinds),e=this.pubkey!==null?t.createString(this.pubkey):0;return k.createCounterPipeConfig(t,i,e)}}class L{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsGetPublicKey(t,i){return(i||new L).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsGetPublicKey(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new L).__init(t.readInt32(t.position())+t.position(),t)}static startGetPublicKey(t){t.startObject(0)}static endGetPublicKey(t){return t.endObject()}static createGetPublicKey(t){return L.startGetPublicKey(t),L.endGetPublicKey(t)}unpack(){return new Q}unpackTo(t){}}class Q{constructor(){}pack(t){return L.createGetPublicKey(t)}}class S{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsKindFilterPipeConfig(t,i){return(i||new S).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKindFilterPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new S).__init(t.readInt32(t.position())+t.position(),t)}kinds(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.readUint16(this.bb.__vector(this.bb_pos+i)+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,i){t.addFieldOffset(0,i,0)}static createKindsVector(t,i){t.startVector(2,i.length,2);for(let e=i.length-1;e>=0;e--)t.addInt16(i[e]);return t.endVector()}static startKindsVector(t,i){t.startVector(2,i,2)}static endKindFilterPipeConfig(t){const i=t.endObject();return t.requiredField(i,4),i}static createKindFilterPipeConfig(t,i){return S.startKindFilterPipeConfig(t),S.addKinds(t,i),S.endKindFilterPipeConfig(t)}unpack(){return new ut(this.bb.createScalarList(this.kinds.bind(this),this.kindsLength()))}unpackTo(t){t.kinds=this.bb.createScalarList(this.kinds.bind(this),this.kindsLength())}}class ut{constructor(t=[]){this.kinds=t}pack(t){const i=S.createKindsVector(t,this.kinds);return S.createKindFilterPipeConfig(t,i)}}class p{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsTemplate(t,i){return(i||new p).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTemplate(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||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 i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}tags(t,i){const e=this.bb.__offset(this.bb_pos,8);return e?(i||new Kt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+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,i){t.addFieldInt16(0,i,0)}static addContent(t,i){t.addFieldOffset(1,i,0)}static addTags(t,i){t.addFieldOffset(2,i,0)}static createTagsVector(t,i){t.startVector(4,i.length,4);for(let e=i.length-1;e>=0;e--)t.addOffset(i[e]);return t.endVector()}static startTagsVector(t,i){t.startVector(4,i,4)}static endTemplate(t){const i=t.endObject();return t.requiredField(i,6),t.requiredField(i,8),i}static createTemplate(t,i,e,n){return p.startTemplate(t),p.addKind(t,i),p.addContent(t,e),p.addTags(t,n),p.endTemplate(t)}unpack(){return new G(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 G{constructor(t=0,i=null,e=[]){this.kind=t,this.content=i,this.tags=e}pack(t){const i=this.content!==null?t.createString(this.content):0,e=p.createTagsVector(t,t.createObjectOffsetList(this.tags));return p.createTemplate(t,this.kind,i,e)}}class C{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsPublish(t,i){return(i||new C).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPublish(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new C).__init(t.readInt32(t.position())+t.position(),t)}publishId(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}template(t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new p).__init(this.bb.__indirect(this.bb_pos+i),this.bb):null}static startPublish(t){t.startObject(2)}static addPublishId(t,i){t.addFieldOffset(0,i,0)}static addTemplate(t,i){t.addFieldOffset(1,i,0)}static endPublish(t){const i=t.endObject();return t.requiredField(i,4),t.requiredField(i,6),i}unpack(){return new Y(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 Y{constructor(t=null,i=null){this.publishId=t,this.template=i}pack(t){const i=this.publishId!==null?t.createString(this.publishId):0,e=this.template!==null?this.template.pack(t):0;return C.startPublish(t),C.addPublishId(t,i),C.addTemplate(t,e),C.endPublish(t)}}class O{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsPrivateKey(t,i){return(i||new O).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPrivateKey(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new O).__init(t.readInt32(t.position())+t.position(),t)}privateKey(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startPrivateKey(t){t.startObject(1)}static addPrivateKey(t,i){t.addFieldOffset(0,i,0)}static endPrivateKey(t){const i=t.endObject();return t.requiredField(i,4),i}static createPrivateKey(t,i){return O.startPrivateKey(t),O.addPrivateKey(t,i),O.endPrivateKey(t)}unpack(){return new tt(this.privateKey())}unpackTo(t){t.privateKey=this.privateKey()}}class tt{constructor(t=null){this.privateKey=t}pack(t){const i=this.privateKey!==null?t.createString(this.privateKey):0;return O.createPrivateKey(t,i)}}var U=(s=>(s[s.NONE=0]="NONE",s[s.PrivateKey=1]="PrivateKey",s))(U||{});function dt(s,t){switch(U[s]){case"NONE":return null;case"PrivateKey":return t(new O);default:return null}}class w{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSetSigner(t,i){return(i||new w).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSetSigner(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new w).__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):U.NONE}signerType(t){const i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__union(t,this.bb_pos+i):null}static startSetSigner(t){t.startObject(2)}static addSignerTypeType(t,i){t.addFieldInt8(0,i,U.NONE)}static addSignerType(t,i){t.addFieldOffset(1,i,0)}static endSetSigner(t){const i=t.endObject();return t.requiredField(i,6),i}static createSetSigner(t,i,e){return w.startSetSigner(t),w.addSignerTypeType(t,i),w.addSignerType(t,e),w.endSetSigner(t)}unpack(){return new it(this.signerTypeType(),(()=>{const t=dt(this.signerTypeType(),this.signerType.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.signerTypeType=this.signerTypeType(),t.signerType=(()=>{const i=dt(this.signerTypeType(),this.signerType.bind(this));return i===null?null:i.unpack()})()}}class it{constructor(t=U.NONE,i=null){this.signerTypeType=t,this.signerType=i}pack(t){const i=t.createObjectOffset(this.signerType);return w.createSetSigner(t,this.signerTypeType,i)}}class m{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSignEvent(t,i){return(i||new m).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSignEvent(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new m).__init(t.readInt32(t.position())+t.position(),t)}template(t){const i=this.bb.__offset(this.bb_pos,4);return i?(t||new p).__init(this.bb.__indirect(this.bb_pos+i),this.bb):null}static startSignEvent(t){t.startObject(1)}static addTemplate(t,i){t.addFieldOffset(0,i,0)}static endSignEvent(t){const i=t.endObject();return t.requiredField(i,4),i}static createSignEvent(t,i){return m.startSignEvent(t),m.addTemplate(t,i),m.endSignEvent(t)}unpack(){return new st(this.template()!==null?this.template().unpack():null)}unpackTo(t){t.template=this.template()!==null?this.template().unpack():null}}class st{constructor(t=null){this.template=t}pack(t){const i=this.template!==null?this.template.pack(t):0;return m.createSignEvent(t,i)}}class g{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsNpubLimiterPipeConfig(t,i){return(i||new g).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNpubLimiterPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||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,i){t.addFieldInt16(0,i,0)}static addLimitPerNpub(t,i){t.addFieldInt32(1,i,0)}static addMaxTotalNpubs(t,i){t.addFieldInt32(2,i,0)}static endNpubLimiterPipeConfig(t){return t.endObject()}static createNpubLimiterPipeConfig(t,i,e,n){return g.startNpubLimiterPipeConfig(t),g.addKind(t,i),g.addLimitPerNpub(t,e),g.addMaxTotalNpubs(t,n),g.endNpubLimiterPipeConfig(t)}unpack(){return new pt(this.kind(),this.limitPerNpub(),this.maxTotalNpubs())}unpackTo(t){t.kind=this.kind(),t.limitPerNpub=this.limitPerNpub(),t.maxTotalNpubs=this.maxTotalNpubs()}}class pt{constructor(t=0,i=0,e=0){this.kind=t,this.limitPerNpub=i,this.maxTotalNpubs=e}pack(t){return g.createNpubLimiterPipeConfig(t,this.kind,this.limitPerNpub,this.maxTotalNpubs)}}class M{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsParsePipeConfig(t,i){return(i||new M).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsParsePipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||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 lt}unpackTo(t){}}class lt{constructor(){}pack(t){return M.createParsePipeConfig(t)}}class v{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsProofVerificationPipeConfig(t,i){return(i||new v).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProofVerificationPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new v).__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,i){t.addFieldInt32(0,i,0)}static endProofVerificationPipeConfig(t){return t.endObject()}static createProofVerificationPipeConfig(t,i){return v.startProofVerificationPipeConfig(t),v.addMaxProofs(t,i),v.endProofVerificationPipeConfig(t)}unpack(){return new ft(this.maxProofs())}unpackTo(t){t.maxProofs=this.maxProofs()}}class ft{constructor(t=0){this.maxProofs=t}pack(t){return v.createProofVerificationPipeConfig(t,this.maxProofs)}}class A{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSaveToDbPipeConfig(t,i){return(i||new A).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSaveToDbPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new A).__init(t.readInt32(t.position())+t.position(),t)}static startSaveToDbPipeConfig(t){t.startObject(0)}static endSaveToDbPipeConfig(t){return t.endObject()}static createSaveToDbPipeConfig(t){return A.startSaveToDbPipeConfig(t),A.endSaveToDbPipeConfig(t)}unpack(){return new _t}unpackTo(t){}}class _t{constructor(){}pack(t){return A.createSaveToDbPipeConfig(t)}}class R{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSerializeEventsPipeConfig(t,i){return(i||new R).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSerializeEventsPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new R).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startSerializeEventsPipeConfig(t){t.startObject(1)}static addSubscriptionId(t,i){t.addFieldOffset(0,i,0)}static endSerializeEventsPipeConfig(t){const i=t.endObject();return t.requiredField(i,4),i}static createSerializeEventsPipeConfig(t,i){return R.startSerializeEventsPipeConfig(t),R.addSubscriptionId(t,i),R.endSerializeEventsPipeConfig(t)}unpack(){return new gt(this.subscriptionId())}unpackTo(t){t.subscriptionId=this.subscriptionId()}}class gt{constructor(t=null){this.subscriptionId=t}pack(t){const i=this.subscriptionId!==null?t.createString(this.subscriptionId):0;return R.createSerializeEventsPipeConfig(t,i)}}var B=(s=>(s[s.NONE=0]="NONE",s[s.ParsePipeConfig=1]="ParsePipeConfig",s[s.KindFilterPipeConfig=2]="KindFilterPipeConfig",s[s.CounterPipeConfig=3]="CounterPipeConfig",s[s.NpubLimiterPipeConfig=4]="NpubLimiterPipeConfig",s[s.SaveToDbPipeConfig=5]="SaveToDbPipeConfig",s[s.SerializeEventsPipeConfig=6]="SerializeEventsPipeConfig",s[s.ProofVerificationPipeConfig=7]="ProofVerificationPipeConfig",s))(B||{});function Pt(s,t){switch(B[s]){case"NONE":return null;case"ParsePipeConfig":return t(new M);case"KindFilterPipeConfig":return t(new S);case"CounterPipeConfig":return t(new k);case"NpubLimiterPipeConfig":return t(new g);case"SaveToDbPipeConfig":return t(new A);case"SerializeEventsPipeConfig":return t(new R);case"ProofVerificationPipeConfig":return t(new v);default:return null}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsPipe(t,i){return(i||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPipe(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new y).__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):B.NONE}config(t){const i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__union(t,this.bb_pos+i):null}static startPipe(t){t.startObject(2)}static addConfigType(t,i){t.addFieldInt8(0,i,B.NONE)}static addConfig(t,i){t.addFieldOffset(1,i,0)}static endPipe(t){const i=t.endObject();return t.requiredField(i,6),i}static createPipe(t,i,e){return y.startPipe(t),y.addConfigType(t,i),y.addConfig(t,e),y.endPipe(t)}unpack(){return new kt(this.configType(),(()=>{const t=Pt(this.configType(),this.config.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.configType=this.configType(),t.config=(()=>{const i=Pt(this.configType(),this.config.bind(this));return i===null?null:i.unpack()})()}}class kt{constructor(t=B.NONE,i=null){this.configType=t,this.config=i}pack(t){const i=t.createObjectOffset(this.config);return y.createPipe(t,this.configType,i)}}class E{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsPipelineConfig(t,i){return(i||new E).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPipelineConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new E).__init(t.readInt32(t.position())+t.position(),t)}pipes(t,i){const e=this.bb.__offset(this.bb_pos,4);return e?(i||new y).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+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,i){t.addFieldOffset(0,i,0)}static createPipesVector(t,i){t.startVector(4,i.length,4);for(let e=i.length-1;e>=0;e--)t.addOffset(i[e]);return t.endVector()}static startPipesVector(t,i){t.startVector(4,i,4)}static endPipelineConfig(t){const i=t.endObject();return t.requiredField(i,4),i}static createPipelineConfig(t,i){return E.startPipelineConfig(t),E.addPipes(t,i),E.endPipelineConfig(t)}unpack(){return new et(this.bb.createObjList(this.pipes.bind(this),this.pipesLength()))}unpackTo(t){t.pipes=this.bb.createObjList(this.pipes.bind(this),this.pipesLength())}}class et{constructor(t=[]){this.pipes=t}pack(t){const i=E.createPipesVector(t,t.createObjectOffsetList(this.pipes));return E.createPipelineConfig(t,i)}}class d{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSubscriptionConfig(t,i){return(i||new d).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubscriptionConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new d).__init(t.readInt32(t.position())+t.position(),t)}pipeline(t){const i=this.bb.__offset(this.bb_pos,4);return i?(t||new E).__init(this.bb.__indirect(this.bb_pos+i),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,i){t.addFieldOffset(0,i,0)}static addCloseOnEose(t,i){t.addFieldInt8(1,+i,0)}static addCacheFirst(t,i){t.addFieldInt8(2,+i,1)}static addTimeoutMs(t,i){t.addFieldInt64(3,i,BigInt("0"))}static addMaxEvents(t,i){t.addFieldInt32(4,i,0)}static addSkipCache(t,i){t.addFieldInt8(5,+i,0)}static addForce(t,i){t.addFieldInt8(6,+i,0)}static addBytesPerEvent(t,i){t.addFieldInt32(7,i,0)}static endSubscriptionConfig(t){return t.endObject()}static createSubscriptionConfig(t,i,e,n,r,o,a,u,b){return d.startSubscriptionConfig(t),d.addPipeline(t,i),d.addCloseOnEose(t,e),d.addCacheFirst(t,n),d.addTimeoutMs(t,r),d.addMaxEvents(t,o),d.addSkipCache(t,a),d.addForce(t,u),d.addBytesPerEvent(t,b),d.endSubscriptionConfig(t)}unpack(){return new nt(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 nt{constructor(t=null,i=!1,e=!0,n=BigInt("0"),r=0,o=!1,a=!1,u=0){this.pipeline=t,this.closeOnEose=i,this.cacheFirst=e,this.timeoutMs=n,this.maxEvents=r,this.skipCache=o,this.force=a,this.bytesPerEvent=u}pack(t){const i=this.pipeline!==null?this.pipeline.pack(t):0;return d.createSubscriptionConfig(t,i,this.closeOnEose,this.cacheFirst,this.timeoutMs,this.maxEvents,this.skipCache,this.force,this.bytesPerEvent)}}class _{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSubscribe(t,i){return(i||new _).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubscribe(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new _).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}requests(t,i){const e=this.bb.__offset(this.bb_pos,6);return e?(i||new Lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+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 i=this.bb.__offset(this.bb_pos,8);return i?(t||new d).__init(this.bb.__indirect(this.bb_pos+i),this.bb):null}static startSubscribe(t){t.startObject(3)}static addSubscriptionId(t,i){t.addFieldOffset(0,i,0)}static addRequests(t,i){t.addFieldOffset(1,i,0)}static createRequestsVector(t,i){t.startVector(4,i.length,4);for(let e=i.length-1;e>=0;e--)t.addOffset(i[e]);return t.endVector()}static startRequestsVector(t,i){t.startVector(4,i,4)}static addConfig(t,i){t.addFieldOffset(2,i,0)}static endSubscribe(t){const i=t.endObject();return t.requiredField(i,4),t.requiredField(i,6),t.requiredField(i,8),i}unpack(){return new rt(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 rt{constructor(t=null,i=[],e=null){this.subscriptionId=t,this.requests=i,this.config=e}pack(t){const i=this.subscriptionId!==null?t.createString(this.subscriptionId):0,e=_.createRequestsVector(t,t.createObjectOffsetList(this.requests)),n=this.config!==null?this.config.pack(t):0;return _.startSubscribe(t),_.addSubscriptionId(t,i),_.addRequests(t,e),_.addConfig(t,n),_.endSubscribe(t)}}class F{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsUnsubscribe(t,i){return(i||new F).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnsubscribe(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new F).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startUnsubscribe(t){t.startObject(1)}static addSubscriptionId(t,i){t.addFieldOffset(0,i,0)}static endUnsubscribe(t){const i=t.endObject();return t.requiredField(i,4),i}static createUnsubscribe(t,i){return F.startUnsubscribe(t),F.addSubscriptionId(t,i),F.endUnsubscribe(t)}unpack(){return new ot(this.subscriptionId())}unpackTo(t){t.subscriptionId=this.subscriptionId()}}class ot{constructor(t=null){this.subscriptionId=t}pack(t){const i=this.subscriptionId!==null?t.createString(this.subscriptionId):0;return F.createUnsubscribe(t,i)}}var l=(s=>(s[s.NONE=0]="NONE",s[s.Subscribe=1]="Subscribe",s[s.Unsubscribe=2]="Unsubscribe",s[s.Publish=3]="Publish",s[s.SignEvent=4]="SignEvent",s[s.SetSigner=5]="SetSigner",s[s.GetPublicKey=6]="GetPublicKey",s))(l||{});function wt(s,t){switch(l[s]){case"NONE":return null;case"Subscribe":return t(new _);case"Unsubscribe":return t(new F);case"Publish":return t(new C);case"SignEvent":return t(new m);case"SetSigner":return t(new w);case"GetPublicKey":return t(new L);default:return null}}class T{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsMainMessage(t,i){return(i||new T).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMainMessage(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new T).__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 i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__union(t,this.bb_pos+i):null}static startMainMessage(t){t.startObject(2)}static addContentType(t,i){t.addFieldInt8(0,i,l.NONE)}static addContent(t,i){t.addFieldOffset(1,i,0)}static endMainMessage(t){const i=t.endObject();return t.requiredField(i,6),i}static createMainMessage(t,i,e){return T.startMainMessage(t),T.addContentType(t,i),T.addContent(t,e),T.endMainMessage(t)}unpack(){return new K(this.contentType(),(()=>{const t=wt(this.contentType(),this.content.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.contentType=this.contentType(),t.content=(()=>{const i=wt(this.contentType(),this.content.bind(this));return i===null?null:i.unpack()})()}}class K{constructor(t=l.NONE,i=null){this.contentType=t,this.content=i}pack(t){const i=t.createObjectOffset(this.content);return T.createMainMessage(t,this.contentType,i)}}var q=(s=>(s[s.Unknown=0]="Unknown",s[s.Event=1]="Event",s[s.Eose=2]="Eose",s[s.Ok=3]="Ok",s[s.Closed=4]="Closed",s[s.Notice=5]="Notice",s[s.Auth=6]="Auth",s))(q||{}),yt=(s=>(s[s.Kind0Parsed=0]="Kind0Parsed",s[s.Kind1Parsed=1]="Kind1Parsed",s[s.Kind3Parsed=3]="Kind3Parsed",s[s.Kind4Parsed=4]="Kind4Parsed",s[s.Kind6Parsed=6]="Kind6Parsed",s[s.Kind7Parsed=7]="Kind7Parsed",s[s.Kind17Parsed=17]="Kind17Parsed",s[s.Kind7374Parsed=7374]="Kind7374Parsed",s[s.Kind7375Parsed=7375]="Kind7375Parsed",s[s.Kind7376Parsed=7376]="Kind7376Parsed",s[s.Kind9321Parsed=9321]="Kind9321Parsed",s[s.Kind9735Parsed=9735]="Kind9735Parsed",s[s.Kind10002Parsed=10002]="Kind10002Parsed",s[s.Kind10019Parsed=10019]="Kind10019Parsed",s[s.Kind17375Parsed=17375]="Kind17375Parsed",s[s.Kind39089Parsed=39089]="Kind39089Parsed",s))(yt||{});class N{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsRelayRef(t,i){return(i||new N).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRelayRef(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new N).__init(t.readInt32(t.position())+t.position(),t)}url(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startRelayRef(t){t.startObject(1)}static addUrl(t,i){t.addFieldOffset(0,i,0)}static endRelayRef(t){const i=t.endObject();return t.requiredField(i,4),i}static createRelayRef(t,i){return N.startRelayRef(t),N.addUrl(t,i),N.endRelayRef(t)}unpack(){return new St(this.url())}unpackTo(t){t.url=this.url()}}class St{constructor(t=null){this.url=t}pack(t){const i=this.url!==null?t.createString(this.url):0;return N.createRelayRef(t,i)}}var Et=(s=>(s[s.CachedEvent=0]="CachedEvent",s[s.FetchedEvent=1]="FetchedEvent",s[s.Count=2]="Count",s[s.ConnectionStatus=3]="ConnectionStatus",s[s.Eoce=4]="Eoce",s[s.BufferFull=5]="BufferFull",s))(Et||{});class f{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsWorkerLine(t,i){return(i||new f).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWorkerLine(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new f).__init(t.readInt32(t.position())+t.position(),t)}relay(t){const i=this.bb.__offset(this.bb_pos,4);return i?(t||new N).__init(this.bb.__indirect(this.bb_pos+i),this.bb):null}kind(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):q.Unknown}subId(t){const i=this.bb.__offset(this.bb_pos,8);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}raw(t){const i=this.bb.__offset(this.bb_pos,10);return i?this.bb.readUint8(this.bb.__vector(this.bb_pos+i)+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,i){t.addFieldOffset(0,i,0)}static addKind(t,i){t.addFieldInt16(1,i,q.Unknown)}static addSubId(t,i){t.addFieldOffset(2,i,0)}static addRaw(t,i){t.addFieldOffset(3,i,0)}static createRawVector(t,i){t.startVector(1,i.length,1);for(let e=i.length-1;e>=0;e--)t.addInt8(i[e]);return t.endVector()}static startRawVector(t,i){t.startVector(1,i,1)}static endWorkerLine(t){const i=t.endObject();return t.requiredField(i,4),t.requiredField(i,10),i}static createWorkerLine(t,i,e,n,r){return f.startWorkerLine(t),f.addRelay(t,i),f.addKind(t,e),f.addSubId(t,n),f.addRaw(t,r),f.endWorkerLine(t)}unpack(){return new It(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 It{constructor(t=null,i=q.Unknown,e=null,n=[]){this.relay=t,this.kind=i,this.subId=e,this.raw=n}pack(t){const i=this.relay!==null?this.relay.pack(t):0,e=this.subId!==null?t.createString(this.subId):0,n=f.createRawVector(t,this.raw);return f.createWorkerLine(t,i,this.kind,e,n)}}class P{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsWorkerMessage(t,i){return(i||new P).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWorkerMessage(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new P).__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):D.ParsedNostrEvent}contentType(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):$.NONE}content(t){const i=this.bb.__offset(this.bb_pos,8);return i?this.bb.__union(t,this.bb_pos+i):null}static startWorkerMessage(t){t.startObject(3)}static addType(t,i){t.addFieldInt32(0,i,D.ParsedNostrEvent)}static addContentType(t,i){t.addFieldInt8(1,i,$.NONE)}static addContent(t,i){t.addFieldOffset(2,i,0)}static endWorkerMessage(t){return t.endObject()}static finishWorkerMessageBuffer(t,i){t.finish(i)}static finishSizePrefixedWorkerMessageBuffer(t,i){t.finish(i,void 0,!0)}static createWorkerMessage(t,i,e,n){return P.startWorkerMessage(t),P.addType(t,i),P.addContentType(t,e),P.addContent(t,n),P.endWorkerMessage(t)}unpack(){return new Ct(this.type(),this.contentType(),(()=>{const t=bt(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 i=bt(this.contentType(),this.content.bind(this));return i===null?null:i.unpack()})()}}class Ct{constructor(t=D.ParsedNostrEvent,i=$.NONE,e=null){this.type=t,this.contentType=i,this.content=e}pack(t){const i=t.createObjectOffset(this.content);return P.createWorkerMessage(t,this.type,this.contentType,i)}}class W{static initializeBuffer(t){new DataView(t).setUint32(0,4,!0)}static writeMessage(t,i){const e=new DataView(t),n=new Uint8Array(t),r=e.getUint32(0,!0),o=4+i.length;if(r+o>t.byteLength)return console.warn("Buffer full, cannot write message"),!1;e.setUint32(r,i.length,!0),n.set(i,r+4);const a=r+o;return e.setUint32(0,a,!0),!0}static readMessages(t,i=0){const e=new DataView(t),n=new Uint8Array(t),r=e.getUint32(0,!0),o=4;let a=i<o?o:i;if(r<=a)return{messages:[],newReadPosition:a,hasNewData:!1};const u=128,b=new Array(u);let I=0;try{for(;a<r&&!(I>=u||a+4>r);){const x=a,X=e.getUint32(x,!0),j=x+4,V=j+X;if(V>r)break;const Z=n.subarray(j,V),h=new Nt(Z),z=P.getRootAsWorkerMessage(h);b[I++]=z,a=V}return b.length=I,{messages:b,newReadPosition:a,hasNewData:I>0}}catch(x){return console.error("Failed to decode FlatBuffer data from SharedArrayBuffer:",x),b.length=I,{messages:b,newReadPosition:i<o?o:i,hasNewData:!1}}}static readAllMessages(t){const i=this.readMessages(t,0);return{messages:i.messages,totalMessages:i.messages.length}}static getCurrentWritePosition(t){return new DataView(t).getUint32(0,!0)}static hasNewData(t,i){const e=this.getCurrentWritePosition(t),n=Math.max(i,4);return e>n}static calculateBufferSize(t=100,i=3072){const e=t*i,n=Math.floor(e*.25);return 4+e+n}}let Tt=null,at=null;async function At(){return at||(at=fetch(Ft).then(s=>{if(!s.ok)throw new Error(`Failed to fetch WASM: ${s.status} ${s.statusText}`);return s.arrayBuffer()}).then(s=>{Tt=s}).catch(s=>{throw console.error("WASM fetch failed:",s),s}),at)}class Ot{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._ready=null,this.config=t;const i=()=>void this.init();"requestIdleCallback"in window?window.requestIdleCallback(i,{timeout:2e3}):setTimeout(i,1500)}init(){return this._ready?this._ready:(this.worker=this.createWorker(),this.setupWorkerListener(),this._ready=(async()=>{await At();const t=Tt.slice(0);this.worker.postMessage({type:"init",payload:{bufferKey:this.config.bufferKey,maxBufferSize:this.config.maxBufferSize,wasmBuffer:t,inRing:this.config.inRing,outRing:this.config.outRing}},[t])})(),this._ready)}postToWorker(t,i){return this.init().then(()=>{i&&i.length?this.worker.postMessage(t,i):this.worker.postMessage(t)})}createWorker(){return new Rt}setupWorkerListener(){this.worker.onmessage=async t=>{const i=typeof t.data=="string"?t.data:void 0;try{if(t.data.startsWith('{"id":')){const e=JSON.parse(t.data);this.signCB(e)}}catch{}if(i){if(this.subscriptions.has(i)){this.dispatch(`subscription:${i}`,i);return}if(this.publishes.has(i)){this.dispatch(`publish:${i}`,i);return}}},this.worker.onerror=t=>{console.error("Worker error:",t)}}createShortId(t){if(t.length<64)return t;let i=0;for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);i=(i<<5)-i+n,i=i&i}return Math.abs(i).toString(36).substring(0,63)}addEventListener(t,i,e){this.eventTarget.addEventListener(t,i,e)}removeEventListener(t,i,e){this.eventTarget.removeEventListener(t,i,e)}dispatch(t,i){this.eventTarget.dispatchEvent(new CustomEvent(t,{detail:i}))}subscribe(t,i,e){const n=this.createShortId(t),r=this.subscriptions.get(n);if(r)return r.refCount++,r.buffer;const o=i.reduce((h,z)=>h+(z.limit||100),0),a=W.calculateBufferSize(o,e.bytesPerEvent);let u=new Uint8Array;const b=new SharedArrayBuffer(a+u.length);W.initializeBuffer(b),u.length>0&&(W.writeMessage(b,u)||console.error("Failed to write initial message to buffer")),this.subscriptions.set(n,{buffer:b,options:e,refCount:1});const I=new nt(new et(e.pipeline||[]),e.closeOnEose,e.cacheFirst,e.timeoutMs?BigInt(e.timeoutMs):void 0,e.maxEvents,e.skipCache,e.force,e.bytesPerEvent),x=new rt(this.textEncoder.encode(n),i.map(h=>new Mt(h.ids,h.authors,h.kinds,Object.entries(h.tags||{}).flatMap(([z,vt])=>new J([z,...vt])),h.limit,h.since,h.until,this.textEncoder.encode(h.search),h.relays,h.closeOnEOSE,h.cacheFirst)),I),X=new K(l.Subscribe,x),j=new c.Builder(2048),V=X.pack(j);j.finish(V);const Z=j.asUint8Array();try{return this.postToWorker({serializedMessage:Z,sharedBuffer:b}),b}catch(h){throw this.subscriptions.delete(n),h}}getBuffer(t){const i=this.subscriptions.get(t);if(i)return i.refCount++,i.buffer}unsubscribe(t){const i=t.length<64?t:this.createShortId(t),e=this.subscriptions.get(i);e&&e.refCount--}publish(t,i){const e=new SharedArrayBuffer(3072);W.initializeBuffer(e);try{const n=new G(i.kind,this.textEncoder.encode(i.content),i.tags.map(I=>new J(I))||[]),r=new Y(this.textEncoder.encode(t),n),o=new K(l.Publish,r),a=new c.Builder(2048),u=o.pack(a);a.finish(u);const b=a.asUint8Array();return this.postToWorker({serializedMessage:b,sharedBuffer:e}),this.publishes.set(t,{buffer:e}),e}catch(n){throw console.error("Failed to publish event:",n),n}}setSigner(t,i){console.log("setSigner",t,i);const e=new tt(this.textEncoder.encode(i)),n=new it(U.PrivateKey,e),r=new K(l.SetSigner,n),o=new c.Builder(2048),a=r.pack(o);o.finish(a);const u=o.asUint8Array();this.postToWorker(u),this.signers.set(t,i)}signEvent(t,i){const e=new K(l.SignEvent,new st(new G(t.kind,this.textEncoder.encode(t.content),t.tags.map(a=>new J(a))))),n=new c.Builder(2048),r=e.pack(n);n.finish(r);const o=n.asUint8Array();this.signCB=i,this.worker.postMessage(o)}getPublicKey(){const t=new K(l.GetPublicKey,new Q),i=new c.Builder(2048),e=t.pack(i);i.finish(e);const n=i.asUint8Array();this.worker.postMessage(n)}cleanup(){const t=[];for(const[i,e]of this.subscriptions.entries())e.refCount<=0&&!this.PERPETUAL_SUBSCRIPTIONS.includes(i)&&t.push(i);for(const i of t){const e=this.subscriptions.get(i);if(e){const n=new K(l.Unsubscribe,new ot(this.textEncoder.encode(i))),r=new c.Builder(2048),o=n.pack(r);r.finish(o);const a=r.asUint8Array();this.postToWorker(a),e.closed=!0,this.subscriptions.delete(i)}}}}const ct=new SharedArrayBuffer(512*1024);function H(s){const t=new DataView(s),i=s.byteLength;if(i<32)throw new Error(`Ring buffer too small: ${i} bytes`);if(t.getUint32(0,!0)!==0)return;const e=i-32;if(e<=0)throw new Error(`Invalid ring capacity computed from total=${i}`);t.setUint32(0,e,!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)}class mt{constructor(t={},i=1){this.inRings=[],this.outRings=[],this.managers=[];for(let n=0;n<i;n++){const r=new SharedArrayBuffer(524288),o=new SharedArrayBuffer(2*1024*1024);H(r),H(o),this.inRings.push(r),this.outRings.push(o),this.managers.push(new Ot({bufferKey:n.toString(),maxBufferSize:2e6,inRing:r,outRing:o}))}H(ct);const e=new URL("./ws-rust/index.js",import.meta.url);this.worker=new Worker(e,{type:"module"}),this.worker.onerror=n=>{console.error("WS Worker error:",n)},this.worker.postMessage({type:"init",payload:{inRings:this.inRings,outRings:this.outRings,statusRing:ct,relayConfig:t}}),this.worker.postMessage({type:"wake"})}hashSubId(t){const i=t.includes("_")?t.split("_")[1]??"":t;let e=0;for(let n=0;n<i.length;n++)e=(e<<5)-e+i.charCodeAt(n);return Math.abs(e)%this.managers.length}createShortId(t){const i=(e,n)=>{let r=0;for(let o=0;o<e.length;o++){const a=e.charCodeAt(o);r=(r<<5)-r+a,r=r&r}return Math.abs(r).toString(36).substring(0,Math.max(1,n))};if(t.includes("_")){const[e,...n]=t.split("_"),r=n.join("_"),o=Math.max(1,Math.floor(62/2)),a=i(e??"",o),u=i(r??"",o),b=`${a}_${u}`;return b.length>63?b.substring(0,63):b}return t.length<64?t:i(t,63)}cleanup(){for(const t of this.managers)t.cleanup()}setSigner(t,i){for(const e of this.managers)e.setSigner(t,i)}getManager(t){if(t?.length>64)throw new Error("subId cannot exceed 64 characters");const i=this.hashSubId(t||"");return this.managers[i]}resetInputLoopBackoff(){this.worker.wake()}}const Ut=new mt({});export{It as $,A,_t as B,k as C,R as D,gt as E,w as F,L as G,it as H,m as I,st as J,S as K,U as L,l as M,mt as N,_ as O,M as P,rt as Q,N as R,W as S,Et as T,d as U,nt as V,p as W,G as X,F as Y,ot as Z,f as _,Ot as a,P as a0,Ct as a1,ht as b,Q as c,ut as d,T as e,K as f,q as g,g as h,H as i,pt as j,lt as k,yt as l,y as m,Ut as n,kt as o,B as p,E as q,et as r,ct as s,O as t,tt as u,v,ft as w,C as x,Y as y,St as z};
|
|
1
|
+
import Rt from"@candypoets/rust-worker/worker.js?worker";import Ft from"@candypoets/rust-worker/rust_worker_bg.wasm?url";import*as c from"flatbuffers";import{ByteBuffer as Nt}from"flatbuffers";import{S as Kt,R as Lt,M as D,j as $,u as bt,k as Mt,l as J}from"./message-type.js";class k{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsCounterPipeConfig(t,i){return(i||new k).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCounterPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new k).__init(t.readInt32(t.position())+t.position(),t)}kinds(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.readUint16(this.bb.__vector(this.bb_pos+i)+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 i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startCounterPipeConfig(t){t.startObject(2)}static addKinds(t,i){t.addFieldOffset(0,i,0)}static createKindsVector(t,i){t.startVector(2,i.length,2);for(let e=i.length-1;e>=0;e--)t.addInt16(i[e]);return t.endVector()}static startKindsVector(t,i){t.startVector(2,i,2)}static addPubkey(t,i){t.addFieldOffset(1,i,0)}static endCounterPipeConfig(t){const i=t.endObject();return t.requiredField(i,4),t.requiredField(i,6),i}static createCounterPipeConfig(t,i,e){return k.startCounterPipeConfig(t),k.addKinds(t,i),k.addPubkey(t,e),k.endCounterPipeConfig(t)}unpack(){return new ht(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 ht{constructor(t=[],i=null){this.kinds=t,this.pubkey=i}pack(t){const i=k.createKindsVector(t,this.kinds),e=this.pubkey!==null?t.createString(this.pubkey):0;return k.createCounterPipeConfig(t,i,e)}}class L{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsGetPublicKey(t,i){return(i||new L).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsGetPublicKey(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new L).__init(t.readInt32(t.position())+t.position(),t)}static startGetPublicKey(t){t.startObject(0)}static endGetPublicKey(t){return t.endObject()}static createGetPublicKey(t){return L.startGetPublicKey(t),L.endGetPublicKey(t)}unpack(){return new Q}unpackTo(t){}}class Q{constructor(){}pack(t){return L.createGetPublicKey(t)}}class S{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsKindFilterPipeConfig(t,i){return(i||new S).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKindFilterPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new S).__init(t.readInt32(t.position())+t.position(),t)}kinds(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.readUint16(this.bb.__vector(this.bb_pos+i)+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,i){t.addFieldOffset(0,i,0)}static createKindsVector(t,i){t.startVector(2,i.length,2);for(let e=i.length-1;e>=0;e--)t.addInt16(i[e]);return t.endVector()}static startKindsVector(t,i){t.startVector(2,i,2)}static endKindFilterPipeConfig(t){const i=t.endObject();return t.requiredField(i,4),i}static createKindFilterPipeConfig(t,i){return S.startKindFilterPipeConfig(t),S.addKinds(t,i),S.endKindFilterPipeConfig(t)}unpack(){return new ut(this.bb.createScalarList(this.kinds.bind(this),this.kindsLength()))}unpackTo(t){t.kinds=this.bb.createScalarList(this.kinds.bind(this),this.kindsLength())}}class ut{constructor(t=[]){this.kinds=t}pack(t){const i=S.createKindsVector(t,this.kinds);return S.createKindFilterPipeConfig(t,i)}}class p{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsTemplate(t,i){return(i||new p).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTemplate(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||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 i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}tags(t,i){const e=this.bb.__offset(this.bb_pos,8);return e?(i||new Kt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+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,i){t.addFieldInt16(0,i,0)}static addContent(t,i){t.addFieldOffset(1,i,0)}static addTags(t,i){t.addFieldOffset(2,i,0)}static createTagsVector(t,i){t.startVector(4,i.length,4);for(let e=i.length-1;e>=0;e--)t.addOffset(i[e]);return t.endVector()}static startTagsVector(t,i){t.startVector(4,i,4)}static endTemplate(t){const i=t.endObject();return t.requiredField(i,6),t.requiredField(i,8),i}static createTemplate(t,i,e,n){return p.startTemplate(t),p.addKind(t,i),p.addContent(t,e),p.addTags(t,n),p.endTemplate(t)}unpack(){return new G(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 G{constructor(t=0,i=null,e=[]){this.kind=t,this.content=i,this.tags=e}pack(t){const i=this.content!==null?t.createString(this.content):0,e=p.createTagsVector(t,t.createObjectOffsetList(this.tags));return p.createTemplate(t,this.kind,i,e)}}class C{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsPublish(t,i){return(i||new C).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPublish(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new C).__init(t.readInt32(t.position())+t.position(),t)}publishId(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}template(t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new p).__init(this.bb.__indirect(this.bb_pos+i),this.bb):null}static startPublish(t){t.startObject(2)}static addPublishId(t,i){t.addFieldOffset(0,i,0)}static addTemplate(t,i){t.addFieldOffset(1,i,0)}static endPublish(t){const i=t.endObject();return t.requiredField(i,4),t.requiredField(i,6),i}unpack(){return new Y(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 Y{constructor(t=null,i=null){this.publishId=t,this.template=i}pack(t){const i=this.publishId!==null?t.createString(this.publishId):0,e=this.template!==null?this.template.pack(t):0;return C.startPublish(t),C.addPublishId(t,i),C.addTemplate(t,e),C.endPublish(t)}}class O{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsPrivateKey(t,i){return(i||new O).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPrivateKey(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new O).__init(t.readInt32(t.position())+t.position(),t)}privateKey(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startPrivateKey(t){t.startObject(1)}static addPrivateKey(t,i){t.addFieldOffset(0,i,0)}static endPrivateKey(t){const i=t.endObject();return t.requiredField(i,4),i}static createPrivateKey(t,i){return O.startPrivateKey(t),O.addPrivateKey(t,i),O.endPrivateKey(t)}unpack(){return new tt(this.privateKey())}unpackTo(t){t.privateKey=this.privateKey()}}class tt{constructor(t=null){this.privateKey=t}pack(t){const i=this.privateKey!==null?t.createString(this.privateKey):0;return O.createPrivateKey(t,i)}}var U=(s=>(s[s.NONE=0]="NONE",s[s.PrivateKey=1]="PrivateKey",s))(U||{});function dt(s,t){switch(U[s]){case"NONE":return null;case"PrivateKey":return t(new O);default:return null}}class w{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSetSigner(t,i){return(i||new w).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSetSigner(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new w).__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):U.NONE}signerType(t){const i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__union(t,this.bb_pos+i):null}static startSetSigner(t){t.startObject(2)}static addSignerTypeType(t,i){t.addFieldInt8(0,i,U.NONE)}static addSignerType(t,i){t.addFieldOffset(1,i,0)}static endSetSigner(t){const i=t.endObject();return t.requiredField(i,6),i}static createSetSigner(t,i,e){return w.startSetSigner(t),w.addSignerTypeType(t,i),w.addSignerType(t,e),w.endSetSigner(t)}unpack(){return new it(this.signerTypeType(),(()=>{const t=dt(this.signerTypeType(),this.signerType.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.signerTypeType=this.signerTypeType(),t.signerType=(()=>{const i=dt(this.signerTypeType(),this.signerType.bind(this));return i===null?null:i.unpack()})()}}class it{constructor(t=U.NONE,i=null){this.signerTypeType=t,this.signerType=i}pack(t){const i=t.createObjectOffset(this.signerType);return w.createSetSigner(t,this.signerTypeType,i)}}class m{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSignEvent(t,i){return(i||new m).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSignEvent(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new m).__init(t.readInt32(t.position())+t.position(),t)}template(t){const i=this.bb.__offset(this.bb_pos,4);return i?(t||new p).__init(this.bb.__indirect(this.bb_pos+i),this.bb):null}static startSignEvent(t){t.startObject(1)}static addTemplate(t,i){t.addFieldOffset(0,i,0)}static endSignEvent(t){const i=t.endObject();return t.requiredField(i,4),i}static createSignEvent(t,i){return m.startSignEvent(t),m.addTemplate(t,i),m.endSignEvent(t)}unpack(){return new st(this.template()!==null?this.template().unpack():null)}unpackTo(t){t.template=this.template()!==null?this.template().unpack():null}}class st{constructor(t=null){this.template=t}pack(t){const i=this.template!==null?this.template.pack(t):0;return m.createSignEvent(t,i)}}class g{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsNpubLimiterPipeConfig(t,i){return(i||new g).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNpubLimiterPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||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,i){t.addFieldInt16(0,i,0)}static addLimitPerNpub(t,i){t.addFieldInt32(1,i,0)}static addMaxTotalNpubs(t,i){t.addFieldInt32(2,i,0)}static endNpubLimiterPipeConfig(t){return t.endObject()}static createNpubLimiterPipeConfig(t,i,e,n){return g.startNpubLimiterPipeConfig(t),g.addKind(t,i),g.addLimitPerNpub(t,e),g.addMaxTotalNpubs(t,n),g.endNpubLimiterPipeConfig(t)}unpack(){return new pt(this.kind(),this.limitPerNpub(),this.maxTotalNpubs())}unpackTo(t){t.kind=this.kind(),t.limitPerNpub=this.limitPerNpub(),t.maxTotalNpubs=this.maxTotalNpubs()}}class pt{constructor(t=0,i=0,e=0){this.kind=t,this.limitPerNpub=i,this.maxTotalNpubs=e}pack(t){return g.createNpubLimiterPipeConfig(t,this.kind,this.limitPerNpub,this.maxTotalNpubs)}}class M{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsParsePipeConfig(t,i){return(i||new M).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsParsePipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||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 lt}unpackTo(t){}}class lt{constructor(){}pack(t){return M.createParsePipeConfig(t)}}class v{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsProofVerificationPipeConfig(t,i){return(i||new v).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProofVerificationPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new v).__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,i){t.addFieldInt32(0,i,0)}static endProofVerificationPipeConfig(t){return t.endObject()}static createProofVerificationPipeConfig(t,i){return v.startProofVerificationPipeConfig(t),v.addMaxProofs(t,i),v.endProofVerificationPipeConfig(t)}unpack(){return new ft(this.maxProofs())}unpackTo(t){t.maxProofs=this.maxProofs()}}class ft{constructor(t=0){this.maxProofs=t}pack(t){return v.createProofVerificationPipeConfig(t,this.maxProofs)}}class A{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSaveToDbPipeConfig(t,i){return(i||new A).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSaveToDbPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new A).__init(t.readInt32(t.position())+t.position(),t)}static startSaveToDbPipeConfig(t){t.startObject(0)}static endSaveToDbPipeConfig(t){return t.endObject()}static createSaveToDbPipeConfig(t){return A.startSaveToDbPipeConfig(t),A.endSaveToDbPipeConfig(t)}unpack(){return new _t}unpackTo(t){}}class _t{constructor(){}pack(t){return A.createSaveToDbPipeConfig(t)}}class R{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSerializeEventsPipeConfig(t,i){return(i||new R).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSerializeEventsPipeConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new R).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startSerializeEventsPipeConfig(t){t.startObject(1)}static addSubscriptionId(t,i){t.addFieldOffset(0,i,0)}static endSerializeEventsPipeConfig(t){const i=t.endObject();return t.requiredField(i,4),i}static createSerializeEventsPipeConfig(t,i){return R.startSerializeEventsPipeConfig(t),R.addSubscriptionId(t,i),R.endSerializeEventsPipeConfig(t)}unpack(){return new gt(this.subscriptionId())}unpackTo(t){t.subscriptionId=this.subscriptionId()}}class gt{constructor(t=null){this.subscriptionId=t}pack(t){const i=this.subscriptionId!==null?t.createString(this.subscriptionId):0;return R.createSerializeEventsPipeConfig(t,i)}}var B=(s=>(s[s.NONE=0]="NONE",s[s.ParsePipeConfig=1]="ParsePipeConfig",s[s.KindFilterPipeConfig=2]="KindFilterPipeConfig",s[s.CounterPipeConfig=3]="CounterPipeConfig",s[s.NpubLimiterPipeConfig=4]="NpubLimiterPipeConfig",s[s.SaveToDbPipeConfig=5]="SaveToDbPipeConfig",s[s.SerializeEventsPipeConfig=6]="SerializeEventsPipeConfig",s[s.ProofVerificationPipeConfig=7]="ProofVerificationPipeConfig",s))(B||{});function Pt(s,t){switch(B[s]){case"NONE":return null;case"ParsePipeConfig":return t(new M);case"KindFilterPipeConfig":return t(new S);case"CounterPipeConfig":return t(new k);case"NpubLimiterPipeConfig":return t(new g);case"SaveToDbPipeConfig":return t(new A);case"SerializeEventsPipeConfig":return t(new R);case"ProofVerificationPipeConfig":return t(new v);default:return null}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsPipe(t,i){return(i||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPipe(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new y).__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):B.NONE}config(t){const i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__union(t,this.bb_pos+i):null}static startPipe(t){t.startObject(2)}static addConfigType(t,i){t.addFieldInt8(0,i,B.NONE)}static addConfig(t,i){t.addFieldOffset(1,i,0)}static endPipe(t){const i=t.endObject();return t.requiredField(i,6),i}static createPipe(t,i,e){return y.startPipe(t),y.addConfigType(t,i),y.addConfig(t,e),y.endPipe(t)}unpack(){return new kt(this.configType(),(()=>{const t=Pt(this.configType(),this.config.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.configType=this.configType(),t.config=(()=>{const i=Pt(this.configType(),this.config.bind(this));return i===null?null:i.unpack()})()}}class kt{constructor(t=B.NONE,i=null){this.configType=t,this.config=i}pack(t){const i=t.createObjectOffset(this.config);return y.createPipe(t,this.configType,i)}}class E{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsPipelineConfig(t,i){return(i||new E).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPipelineConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new E).__init(t.readInt32(t.position())+t.position(),t)}pipes(t,i){const e=this.bb.__offset(this.bb_pos,4);return e?(i||new y).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+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,i){t.addFieldOffset(0,i,0)}static createPipesVector(t,i){t.startVector(4,i.length,4);for(let e=i.length-1;e>=0;e--)t.addOffset(i[e]);return t.endVector()}static startPipesVector(t,i){t.startVector(4,i,4)}static endPipelineConfig(t){const i=t.endObject();return t.requiredField(i,4),i}static createPipelineConfig(t,i){return E.startPipelineConfig(t),E.addPipes(t,i),E.endPipelineConfig(t)}unpack(){return new et(this.bb.createObjList(this.pipes.bind(this),this.pipesLength()))}unpackTo(t){t.pipes=this.bb.createObjList(this.pipes.bind(this),this.pipesLength())}}class et{constructor(t=[]){this.pipes=t}pack(t){const i=E.createPipesVector(t,t.createObjectOffsetList(this.pipes));return E.createPipelineConfig(t,i)}}class d{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSubscriptionConfig(t,i){return(i||new d).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubscriptionConfig(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new d).__init(t.readInt32(t.position())+t.position(),t)}pipeline(t){const i=this.bb.__offset(this.bb_pos,4);return i?(t||new E).__init(this.bb.__indirect(this.bb_pos+i),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,i){t.addFieldOffset(0,i,0)}static addCloseOnEose(t,i){t.addFieldInt8(1,+i,0)}static addCacheFirst(t,i){t.addFieldInt8(2,+i,1)}static addTimeoutMs(t,i){t.addFieldInt64(3,i,BigInt("0"))}static addMaxEvents(t,i){t.addFieldInt32(4,i,0)}static addSkipCache(t,i){t.addFieldInt8(5,+i,0)}static addForce(t,i){t.addFieldInt8(6,+i,0)}static addBytesPerEvent(t,i){t.addFieldInt32(7,i,0)}static endSubscriptionConfig(t){return t.endObject()}static createSubscriptionConfig(t,i,e,n,r,o,a,u,b){return d.startSubscriptionConfig(t),d.addPipeline(t,i),d.addCloseOnEose(t,e),d.addCacheFirst(t,n),d.addTimeoutMs(t,r),d.addMaxEvents(t,o),d.addSkipCache(t,a),d.addForce(t,u),d.addBytesPerEvent(t,b),d.endSubscriptionConfig(t)}unpack(){return new nt(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 nt{constructor(t=null,i=!1,e=!0,n=BigInt("0"),r=0,o=!1,a=!1,u=0){this.pipeline=t,this.closeOnEose=i,this.cacheFirst=e,this.timeoutMs=n,this.maxEvents=r,this.skipCache=o,this.force=a,this.bytesPerEvent=u}pack(t){const i=this.pipeline!==null?this.pipeline.pack(t):0;return d.createSubscriptionConfig(t,i,this.closeOnEose,this.cacheFirst,this.timeoutMs,this.maxEvents,this.skipCache,this.force,this.bytesPerEvent)}}class _{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsSubscribe(t,i){return(i||new _).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubscribe(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new _).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}requests(t,i){const e=this.bb.__offset(this.bb_pos,6);return e?(i||new Lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+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 i=this.bb.__offset(this.bb_pos,8);return i?(t||new d).__init(this.bb.__indirect(this.bb_pos+i),this.bb):null}static startSubscribe(t){t.startObject(3)}static addSubscriptionId(t,i){t.addFieldOffset(0,i,0)}static addRequests(t,i){t.addFieldOffset(1,i,0)}static createRequestsVector(t,i){t.startVector(4,i.length,4);for(let e=i.length-1;e>=0;e--)t.addOffset(i[e]);return t.endVector()}static startRequestsVector(t,i){t.startVector(4,i,4)}static addConfig(t,i){t.addFieldOffset(2,i,0)}static endSubscribe(t){const i=t.endObject();return t.requiredField(i,4),t.requiredField(i,6),t.requiredField(i,8),i}unpack(){return new rt(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 rt{constructor(t=null,i=[],e=null){this.subscriptionId=t,this.requests=i,this.config=e}pack(t){const i=this.subscriptionId!==null?t.createString(this.subscriptionId):0,e=_.createRequestsVector(t,t.createObjectOffsetList(this.requests)),n=this.config!==null?this.config.pack(t):0;return _.startSubscribe(t),_.addSubscriptionId(t,i),_.addRequests(t,e),_.addConfig(t,n),_.endSubscribe(t)}}class F{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsUnsubscribe(t,i){return(i||new F).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnsubscribe(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new F).__init(t.readInt32(t.position())+t.position(),t)}subscriptionId(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startUnsubscribe(t){t.startObject(1)}static addSubscriptionId(t,i){t.addFieldOffset(0,i,0)}static endUnsubscribe(t){const i=t.endObject();return t.requiredField(i,4),i}static createUnsubscribe(t,i){return F.startUnsubscribe(t),F.addSubscriptionId(t,i),F.endUnsubscribe(t)}unpack(){return new ot(this.subscriptionId())}unpackTo(t){t.subscriptionId=this.subscriptionId()}}class ot{constructor(t=null){this.subscriptionId=t}pack(t){const i=this.subscriptionId!==null?t.createString(this.subscriptionId):0;return F.createUnsubscribe(t,i)}}var l=(s=>(s[s.NONE=0]="NONE",s[s.Subscribe=1]="Subscribe",s[s.Unsubscribe=2]="Unsubscribe",s[s.Publish=3]="Publish",s[s.SignEvent=4]="SignEvent",s[s.SetSigner=5]="SetSigner",s[s.GetPublicKey=6]="GetPublicKey",s))(l||{});function wt(s,t){switch(l[s]){case"NONE":return null;case"Subscribe":return t(new _);case"Unsubscribe":return t(new F);case"Publish":return t(new C);case"SignEvent":return t(new m);case"SetSigner":return t(new w);case"GetPublicKey":return t(new L);default:return null}}class T{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsMainMessage(t,i){return(i||new T).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMainMessage(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new T).__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 i=this.bb.__offset(this.bb_pos,6);return i?this.bb.__union(t,this.bb_pos+i):null}static startMainMessage(t){t.startObject(2)}static addContentType(t,i){t.addFieldInt8(0,i,l.NONE)}static addContent(t,i){t.addFieldOffset(1,i,0)}static endMainMessage(t){const i=t.endObject();return t.requiredField(i,6),i}static createMainMessage(t,i,e){return T.startMainMessage(t),T.addContentType(t,i),T.addContent(t,e),T.endMainMessage(t)}unpack(){return new K(this.contentType(),(()=>{const t=wt(this.contentType(),this.content.bind(this));return t===null?null:t.unpack()})())}unpackTo(t){t.contentType=this.contentType(),t.content=(()=>{const i=wt(this.contentType(),this.content.bind(this));return i===null?null:i.unpack()})()}}class K{constructor(t=l.NONE,i=null){this.contentType=t,this.content=i}pack(t){const i=t.createObjectOffset(this.content);return T.createMainMessage(t,this.contentType,i)}}var q=(s=>(s[s.Unknown=0]="Unknown",s[s.Event=1]="Event",s[s.Eose=2]="Eose",s[s.Ok=3]="Ok",s[s.Closed=4]="Closed",s[s.Notice=5]="Notice",s[s.Auth=6]="Auth",s))(q||{}),yt=(s=>(s[s.Kind0Parsed=0]="Kind0Parsed",s[s.Kind1Parsed=1]="Kind1Parsed",s[s.Kind3Parsed=3]="Kind3Parsed",s[s.Kind4Parsed=4]="Kind4Parsed",s[s.Kind6Parsed=6]="Kind6Parsed",s[s.Kind7Parsed=7]="Kind7Parsed",s[s.Kind17Parsed=17]="Kind17Parsed",s[s.Kind7374Parsed=7374]="Kind7374Parsed",s[s.Kind7375Parsed=7375]="Kind7375Parsed",s[s.Kind7376Parsed=7376]="Kind7376Parsed",s[s.Kind9321Parsed=9321]="Kind9321Parsed",s[s.Kind9735Parsed=9735]="Kind9735Parsed",s[s.Kind10002Parsed=10002]="Kind10002Parsed",s[s.Kind10019Parsed=10019]="Kind10019Parsed",s[s.Kind17375Parsed=17375]="Kind17375Parsed",s[s.Kind39089Parsed=39089]="Kind39089Parsed",s))(yt||{});class N{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsRelayRef(t,i){return(i||new N).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRelayRef(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new N).__init(t.readInt32(t.position())+t.position(),t)}url(t){const i=this.bb.__offset(this.bb_pos,4);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}static startRelayRef(t){t.startObject(1)}static addUrl(t,i){t.addFieldOffset(0,i,0)}static endRelayRef(t){const i=t.endObject();return t.requiredField(i,4),i}static createRelayRef(t,i){return N.startRelayRef(t),N.addUrl(t,i),N.endRelayRef(t)}unpack(){return new St(this.url())}unpackTo(t){t.url=this.url()}}class St{constructor(t=null){this.url=t}pack(t){const i=this.url!==null?t.createString(this.url):0;return N.createRelayRef(t,i)}}var Et=(s=>(s[s.CachedEvent=0]="CachedEvent",s[s.FetchedEvent=1]="FetchedEvent",s[s.Count=2]="Count",s[s.ConnectionStatus=3]="ConnectionStatus",s[s.Eoce=4]="Eoce",s[s.BufferFull=5]="BufferFull",s))(Et||{});class f{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsWorkerLine(t,i){return(i||new f).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWorkerLine(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new f).__init(t.readInt32(t.position())+t.position(),t)}relay(t){const i=this.bb.__offset(this.bb_pos,4);return i?(t||new N).__init(this.bb.__indirect(this.bb_pos+i),this.bb):null}kind(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):q.Unknown}subId(t){const i=this.bb.__offset(this.bb_pos,8);return i?this.bb.__stringByteString(this.bb_pos+i,t):null}raw(t){const i=this.bb.__offset(this.bb_pos,10);return i?this.bb.readUint8(this.bb.__vector(this.bb_pos+i)+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,i){t.addFieldOffset(0,i,0)}static addKind(t,i){t.addFieldInt16(1,i,q.Unknown)}static addSubId(t,i){t.addFieldOffset(2,i,0)}static addRaw(t,i){t.addFieldOffset(3,i,0)}static createRawVector(t,i){t.startVector(1,i.length,1);for(let e=i.length-1;e>=0;e--)t.addInt8(i[e]);return t.endVector()}static startRawVector(t,i){t.startVector(1,i,1)}static endWorkerLine(t){const i=t.endObject();return t.requiredField(i,4),t.requiredField(i,10),i}static createWorkerLine(t,i,e,n,r){return f.startWorkerLine(t),f.addRelay(t,i),f.addKind(t,e),f.addSubId(t,n),f.addRaw(t,r),f.endWorkerLine(t)}unpack(){return new It(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 It{constructor(t=null,i=q.Unknown,e=null,n=[]){this.relay=t,this.kind=i,this.subId=e,this.raw=n}pack(t){const i=this.relay!==null?this.relay.pack(t):0,e=this.subId!==null?t.createString(this.subId):0,n=f.createRawVector(t,this.raw);return f.createWorkerLine(t,i,this.kind,e,n)}}class P{constructor(){this.bb=null,this.bb_pos=0}__init(t,i){return this.bb_pos=t,this.bb=i,this}static getRootAsWorkerMessage(t,i){return(i||new P).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsWorkerMessage(t,i){return t.setPosition(t.position()+c.SIZE_PREFIX_LENGTH),(i||new P).__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):D.ParsedNostrEvent}contentType(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):$.NONE}content(t){const i=this.bb.__offset(this.bb_pos,8);return i?this.bb.__union(t,this.bb_pos+i):null}static startWorkerMessage(t){t.startObject(3)}static addType(t,i){t.addFieldInt32(0,i,D.ParsedNostrEvent)}static addContentType(t,i){t.addFieldInt8(1,i,$.NONE)}static addContent(t,i){t.addFieldOffset(2,i,0)}static endWorkerMessage(t){return t.endObject()}static finishWorkerMessageBuffer(t,i){t.finish(i)}static finishSizePrefixedWorkerMessageBuffer(t,i){t.finish(i,void 0,!0)}static createWorkerMessage(t,i,e,n){return P.startWorkerMessage(t),P.addType(t,i),P.addContentType(t,e),P.addContent(t,n),P.endWorkerMessage(t)}unpack(){return new Ct(this.type(),this.contentType(),(()=>{const t=bt(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 i=bt(this.contentType(),this.content.bind(this));return i===null?null:i.unpack()})()}}class Ct{constructor(t=D.ParsedNostrEvent,i=$.NONE,e=null){this.type=t,this.contentType=i,this.content=e}pack(t){const i=t.createObjectOffset(this.content);return P.createWorkerMessage(t,this.type,this.contentType,i)}}class W{static initializeBuffer(t){new DataView(t).setUint32(0,4,!0)}static writeMessage(t,i){const e=new DataView(t),n=new Uint8Array(t),r=e.getUint32(0,!0),o=4+i.length;if(r+o>t.byteLength)return console.warn("Buffer full, cannot write message"),!1;e.setUint32(r,i.length,!0),n.set(i,r+4);const a=r+o;return e.setUint32(0,a,!0),!0}static readMessages(t,i=0){const e=new DataView(t),n=new Uint8Array(t),r=e.getUint32(0,!0),o=4;let a=i<o?o:i;if(r<=a)return{messages:[],newReadPosition:a,hasNewData:!1};const u=128,b=new Array(u);let I=0;try{for(;a<r&&!(I>=u||a+4>r);){const x=a,X=e.getUint32(x,!0),j=x+4,V=j+X;if(V>r)break;const Z=n.subarray(j,V),h=new Nt(Z),z=P.getRootAsWorkerMessage(h);b[I++]=z,a=V}return b.length=I,{messages:b,newReadPosition:a,hasNewData:I>0}}catch(x){return console.error("Failed to decode FlatBuffer data from SharedArrayBuffer:",x),b.length=I,{messages:b,newReadPosition:i<o?o:i,hasNewData:!1}}}static readAllMessages(t){const i=this.readMessages(t,0);return{messages:i.messages,totalMessages:i.messages.length}}static getCurrentWritePosition(t){return new DataView(t).getUint32(0,!0)}static hasNewData(t,i){const e=this.getCurrentWritePosition(t),n=Math.max(i,4);return e>n}static calculateBufferSize(t=100,i=3072){const e=t*i,n=Math.floor(e*.25);return 4+e+n}}let Tt=null,at=null;async function At(){return at||(at=fetch(Ft).then(s=>{if(!s.ok)throw new Error(`Failed to fetch WASM: ${s.status} ${s.statusText}`);return s.arrayBuffer()}).then(s=>{Tt=s}).catch(s=>{throw console.error("WASM fetch failed:",s),s}),at)}class Ot{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._ready=null,this.config=t;const i=()=>void this.init();"requestIdleCallback"in window?window.requestIdleCallback(i,{timeout:2e3}):setTimeout(i,1500)}init(){return this._ready?this._ready:(this.worker=this.createWorker(),this.setupWorkerListener(),this._ready=(async()=>{await At();const t=Tt.slice(0);this.worker.postMessage({type:"init",payload:{bufferKey:this.config.bufferKey,maxBufferSize:this.config.maxBufferSize,wasmBuffer:t,inRing:this.config.inRing,outRing:this.config.outRing}},[t])})(),this._ready)}postToWorker(t,i){return this.init().then(()=>{i&&i.length?this.worker.postMessage(t,i):this.worker.postMessage(t)})}createWorker(){return new Rt}setupWorkerListener(){this.worker.onmessage=async t=>{const i=typeof t.data=="string"?t.data:void 0;try{if(t.data.startsWith('{"id":')){const e=JSON.parse(t.data);this.signCB(e)}}catch{}if(i){if(this.subscriptions.has(i)){this.dispatch(`subscription:${i}`,i);return}if(this.publishes.has(i)){this.dispatch(`publish:${i}`,i);return}}},this.worker.onerror=t=>{console.error("Worker error:",t)}}createShortId(t){if(t.length<64)return t;let i=0;for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);i=(i<<5)-i+n,i=i&i}return Math.abs(i).toString(36).substring(0,63)}addEventListener(t,i,e){this.eventTarget.addEventListener(t,i,e)}removeEventListener(t,i,e){this.eventTarget.removeEventListener(t,i,e)}dispatch(t,i){this.eventTarget.dispatchEvent(new CustomEvent(t,{detail:i}))}subscribe(t,i,e){const n=this.createShortId(t),r=this.subscriptions.get(n);if(r)return r.refCount++,r.buffer;const o=i.reduce((h,z)=>h+(z.limit||100),0),a=W.calculateBufferSize(o,e.bytesPerEvent);let u=new Uint8Array;const b=new SharedArrayBuffer(a+u.length);W.initializeBuffer(b),u.length>0&&(W.writeMessage(b,u)||console.error("Failed to write initial message to buffer")),this.subscriptions.set(n,{buffer:b,options:e,refCount:1});const I=new nt(new et(e.pipeline||[]),e.closeOnEose,e.cacheFirst,e.timeoutMs?BigInt(e.timeoutMs):void 0,e.maxEvents,e.skipCache,e.force,e.bytesPerEvent),x=new rt(this.textEncoder.encode(n),i.map(h=>new Mt(h.ids,h.authors,h.kinds,Object.entries(h.tags||{}).flatMap(([z,vt])=>new J([z,...vt])),h.limit,h.since,h.until,this.textEncoder.encode(h.search),h.relays,h.closeOnEOSE,h.cacheFirst,h.noCache)),I),X=new K(l.Subscribe,x),j=new c.Builder(2048),V=X.pack(j);j.finish(V);const Z=j.asUint8Array();try{return this.postToWorker({serializedMessage:Z,sharedBuffer:b}),b}catch(h){throw this.subscriptions.delete(n),h}}getBuffer(t){const i=this.subscriptions.get(t);if(i)return i.refCount++,i.buffer}unsubscribe(t){const i=t.length<64?t:this.createShortId(t),e=this.subscriptions.get(i);e&&e.refCount--}publish(t,i){const e=new SharedArrayBuffer(3072);W.initializeBuffer(e);try{const n=new G(i.kind,this.textEncoder.encode(i.content),i.tags.map(I=>new J(I))||[]),r=new Y(this.textEncoder.encode(t),n),o=new K(l.Publish,r),a=new c.Builder(2048),u=o.pack(a);a.finish(u);const b=a.asUint8Array();return this.postToWorker({serializedMessage:b,sharedBuffer:e}),this.publishes.set(t,{buffer:e}),e}catch(n){throw console.error("Failed to publish event:",n),n}}setSigner(t,i){console.log("setSigner",t,i);const e=new tt(this.textEncoder.encode(i)),n=new it(U.PrivateKey,e),r=new K(l.SetSigner,n),o=new c.Builder(2048),a=r.pack(o);o.finish(a);const u=o.asUint8Array();this.postToWorker(u),this.signers.set(t,i)}signEvent(t,i){const e=new K(l.SignEvent,new st(new G(t.kind,this.textEncoder.encode(t.content),t.tags.map(a=>new J(a))))),n=new c.Builder(2048),r=e.pack(n);n.finish(r);const o=n.asUint8Array();this.signCB=i,this.worker.postMessage(o)}getPublicKey(){const t=new K(l.GetPublicKey,new Q),i=new c.Builder(2048),e=t.pack(i);i.finish(e);const n=i.asUint8Array();this.worker.postMessage(n)}cleanup(){const t=[];for(const[i,e]of this.subscriptions.entries())e.refCount<=0&&!this.PERPETUAL_SUBSCRIPTIONS.includes(i)&&t.push(i);for(const i of t){const e=this.subscriptions.get(i);if(e){const n=new K(l.Unsubscribe,new ot(this.textEncoder.encode(i))),r=new c.Builder(2048),o=n.pack(r);r.finish(o);const a=r.asUint8Array();this.postToWorker(a),e.closed=!0,this.subscriptions.delete(i)}}}}const ct=new SharedArrayBuffer(512*1024);function H(s){const t=new DataView(s),i=s.byteLength;if(i<32)throw new Error(`Ring buffer too small: ${i} bytes`);if(t.getUint32(0,!0)!==0)return;const e=i-32;if(e<=0)throw new Error(`Invalid ring capacity computed from total=${i}`);t.setUint32(0,e,!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)}class mt{constructor(t={},i=1){this.inRings=[],this.outRings=[],this.managers=[];for(let n=0;n<i;n++){const r=new SharedArrayBuffer(524288),o=new SharedArrayBuffer(2*1024*1024);H(r),H(o),this.inRings.push(r),this.outRings.push(o),this.managers.push(new Ot({bufferKey:n.toString(),maxBufferSize:2e6,inRing:r,outRing:o}))}H(ct);const e=new URL("./ws-rust/index.js",import.meta.url);this.worker=new Worker(e,{type:"module"}),this.worker.onerror=n=>{console.error("WS Worker error:",n)},this.worker.postMessage({type:"init",payload:{inRings:this.inRings,outRings:this.outRings,statusRing:ct,relayConfig:t}}),this.worker.postMessage({type:"wake"})}hashSubId(t){const i=t.includes("_")?t.split("_")[1]??"":t;let e=0;for(let n=0;n<i.length;n++)e=(e<<5)-e+i.charCodeAt(n);return Math.abs(e)%this.managers.length}createShortId(t){const i=(e,n)=>{let r=0;for(let o=0;o<e.length;o++){const a=e.charCodeAt(o);r=(r<<5)-r+a,r=r&r}return Math.abs(r).toString(36).substring(0,Math.max(1,n))};if(t.includes("_")){const[e,...n]=t.split("_"),r=n.join("_"),o=Math.max(1,Math.floor(62/2)),a=i(e??"",o),u=i(r??"",o),b=`${a}_${u}`;return b.length>63?b.substring(0,63):b}return t.length<64?t:i(t,63)}cleanup(){for(const t of this.managers)t.cleanup()}setSigner(t,i){for(const e of this.managers)e.setSigner(t,i)}getManager(t){if(t?.length>64)throw new Error("subId cannot exceed 64 characters");const i=this.hashSubId(t||"");return this.managers[i]}resetInputLoopBackoff(){this.worker.wake()}}const Ut=new mt({});export{It as $,A,_t as B,k as C,R as D,gt as E,w as F,L as G,it as H,m as I,st as J,S as K,U as L,l as M,mt as N,_ as O,M as P,rt as Q,N as R,W as S,Et as T,d as U,nt as V,p as W,G as X,F as Y,ot as Z,f as _,Ot as a,P as a0,Ct as a1,ht as b,Q as c,ut as d,T as e,K as f,q as g,g as h,H as i,pt as j,lt as k,yt as l,y as m,Ut as n,kt as o,B as p,E as q,et as r,ct as s,O as t,tt as u,v,ft as w,C as x,Y as y,St as z};
|