@candypoets/nipworker 0.88.1 → 0.89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/NarrowTypes.js +1 -1
  2. package/dist/cache/index.js +1 -1
  3. package/dist/cache/index.js.map +1 -1
  4. package/dist/cache/pkg/cache.d.ts +2 -2
  5. package/dist/cache/pkg/cache_bg.wasm.d.ts +2 -2
  6. package/dist/connections/index.d.ts +5 -0
  7. package/dist/connections/index.d.ts.map +1 -1
  8. package/dist/connections/index.js +2 -2
  9. package/dist/connections/index.js.map +1 -1
  10. package/dist/connections/pkg/connections.d.ts +4 -4
  11. package/dist/connections/pkg/connections_bg.wasm.d.ts +4 -4
  12. package/dist/hooks.d.ts.map +1 -1
  13. package/dist/hooks.js +1 -1
  14. package/dist/hooks.js.map +1 -1
  15. package/dist/index.d.ts +26 -2
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/index2.js +1 -1
  20. package/dist/index2.js.map +1 -1
  21. package/dist/proxy/index.d.ts +2 -0
  22. package/dist/proxy/index.d.ts.map +1 -0
  23. package/dist/proxy/index.js +1 -0
  24. package/dist/proxy/index.js.map +1 -0
  25. package/dist/proxy/relayProxyServer.d.ts +108 -0
  26. package/dist/proxy/relayProxyServer.d.ts.map +1 -0
  27. package/dist/proxy/server.d.ts +2 -0
  28. package/dist/proxy/server.d.ts.map +1 -0
  29. package/dist/proxy/server.js +1 -0
  30. package/dist/proxy/server.js.map +1 -0
  31. package/dist/proxy/vite.d.ts +45 -0
  32. package/dist/proxy/vite.d.ts.map +1 -0
  33. package/dist/proxy/vite.js +2 -0
  34. package/dist/proxy/vite.js.map +1 -0
  35. package/dist/relayProxyServer.js +1 -0
  36. package/dist/relayProxyServer.js.map +1 -0
  37. package/dist/signer-response.js +1 -0
  38. package/dist/signer-response.js.map +1 -0
  39. package/dist/types/index.d.ts +6 -0
  40. package/dist/types/index.d.ts.map +1 -1
  41. package/dist/utils.js +4 -4
  42. package/dist/utils.js.map +1 -1
  43. package/dist/worker-message.js +1 -0
  44. package/dist/worker-message.js.map +1 -0
  45. package/package.json +44 -8
@@ -21,15 +21,15 @@ export interface InitOutput {
21
21
  readonly wsrust_close: (a: number, b: number, c: number) => void;
22
22
  readonly wsrust_new: (a: any, b: any, c: any, d: any, e: any) => [number, number, number];
23
23
  readonly init_tracing: (a: number, b: number) => void;
24
- readonly wasm_bindgen__convert__closures_____invoke__h6e43682478e95d85: (a: number, b: number, c: any) => void;
25
- readonly wasm_bindgen__closure__destroy__h2312464f5f444124: (a: number, b: number) => void;
24
+ readonly wasm_bindgen__convert__closures_____invoke__h9f24d583ae866fa6: (a: number, b: number, c: any) => void;
25
+ readonly wasm_bindgen__closure__destroy__h8c04b6ea827d767b: (a: number, b: number) => void;
26
26
  readonly wasm_bindgen__convert__closures_____invoke__h911638d95040c9f2: (a: number, b: number, c: any) => void;
27
27
  readonly wasm_bindgen__closure__destroy__h063e4a13178b0c12: (a: number, b: number) => void;
28
+ readonly wasm_bindgen__convert__closures_____invoke__h6e43682478e95d85: (a: number, b: number, c: any) => void;
29
+ readonly wasm_bindgen__closure__destroy__h2312464f5f444124: (a: number, b: number) => void;
28
30
  readonly wasm_bindgen__convert__closures_____invoke__hd724dca759e5a136: (a: number, b: number) => void;
29
31
  readonly wasm_bindgen__convert__closures_____invoke__hbfefea57f0386d0d: (a: number, b: number) => void;
30
32
  readonly wasm_bindgen__closure__destroy__h8f3ce6e75229a5a8: (a: number, b: number) => void;
31
- readonly wasm_bindgen__convert__closures_____invoke__h9f24d583ae866fa6: (a: number, b: number, c: any) => void;
32
- readonly wasm_bindgen__closure__destroy__h8c04b6ea827d767b: (a: number, b: number) => void;
33
33
  readonly __wbindgen_malloc: (a: number, b: number) => number;
34
34
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
35
35
  readonly __wbindgen_exn_store: (a: number) => void;
@@ -5,15 +5,15 @@ export const __wbg_wsrust_free: (a: number, b: number) => void;
5
5
  export const wsrust_close: (a: number, b: number, c: number) => void;
6
6
  export const wsrust_new: (a: any, b: any, c: any, d: any, e: any) => [number, number, number];
7
7
  export const init_tracing: (a: number, b: number) => void;
8
- export const wasm_bindgen__convert__closures_____invoke__h6e43682478e95d85: (a: number, b: number, c: any) => void;
9
- export const wasm_bindgen__closure__destroy__h2312464f5f444124: (a: number, b: number) => void;
8
+ export const wasm_bindgen__convert__closures_____invoke__h9f24d583ae866fa6: (a: number, b: number, c: any) => void;
9
+ export const wasm_bindgen__closure__destroy__h8c04b6ea827d767b: (a: number, b: number) => void;
10
10
  export const wasm_bindgen__convert__closures_____invoke__h911638d95040c9f2: (a: number, b: number, c: any) => void;
11
11
  export const wasm_bindgen__closure__destroy__h063e4a13178b0c12: (a: number, b: number) => void;
12
+ export const wasm_bindgen__convert__closures_____invoke__h6e43682478e95d85: (a: number, b: number, c: any) => void;
13
+ export const wasm_bindgen__closure__destroy__h2312464f5f444124: (a: number, b: number) => void;
12
14
  export const wasm_bindgen__convert__closures_____invoke__hd724dca759e5a136: (a: number, b: number) => void;
13
15
  export const wasm_bindgen__convert__closures_____invoke__hbfefea57f0386d0d: (a: number, b: number) => void;
14
16
  export const wasm_bindgen__closure__destroy__h8f3ce6e75229a5a8: (a: number, b: number) => void;
15
- export const wasm_bindgen__convert__closures_____invoke__h9f24d583ae866fa6: (a: number, b: number, c: any) => void;
16
- export const wasm_bindgen__closure__destroy__h8c04b6ea827d767b: (a: number, b: number) => void;
17
17
  export const __wbindgen_malloc: (a: number, b: number) => number;
18
18
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
19
19
  export const __wbindgen_exn_store: (a: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAW,KAAK,kBAAkB,EAAE,MAAM,GAAG,CAAC;AAEpE,OAAO,EACN,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5F;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,cA4BrD;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,CAqEZ;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,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAGzD,GACC,MAAM,IAAI,CAuCZ;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,QAIrF"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAc,KAAK,kBAAkB,EAAE,MAAM,GAAG,CAAC;AAEvE,OAAO,EACN,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5F;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,cA4BrD;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,CAqEZ;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,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAGzD,GACC,MAAM,IAAI,CAuCZ;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{m as t,A as E}from"./index2.js";import{n as h,l as S,i as y,b as g,m as P,k}from"./NarrowTypes.js";function L(s){let r=!1;const d=t.getRelayStatuses();for(const[e,{status:a}]of d)s(a,e);const o=e=>{if(r)return;const a=e,{status:n,url:u}=a.detail;s(n,u)};return t.addEventListener("relay:status",o),()=>{r=!0,t.removeEventListener("relay:status",o)}}function M(s,r,d=()=>{},o={closeOnEose:!1}){if(!s)return()=>{};let e=null,a=4,n=!0,u=!1,c=!1;s=t.createShortId(s);let i=!1,l=!1;const b=()=>{if(!n||!e){l=!1;return}if(!l){l=!0;try{let f=E.readMessages(e,a);for(;f.hasNewData&&e;){for(const p of f.messages)d(p);a=f.newReadPosition,f=E.readMessages(e,a)}}catch(f){console.error("[useSubscription processEvents] error:",f)}finally{l=!1}}},v=()=>{n&&(i||(i=!0,queueMicrotask(()=>{i=!1,b()})))},m=()=>{u||(n=!1,c&&(t.removeEventListener(`subscription:${s}`,v),t.unsubscribe(s),u=!0),Promise.resolve().then(()=>{e=null,a=4}))};return e=t.subscribe(s,r,o),c=!0,t.addEventListener(`subscription:${s}`,v),v(),m}function R(s,r,d=()=>{},o={trackStatus:!0,defaultRelays:[]}){if(!s)return()=>{};let e=null,a=4,n=!0;const u=()=>{n=!1,t.removeEventListener(`publish:${s}`,c)};e=t.publish(s,r,o.defaultRelays);const c=()=>{if(!n||!e)return;const i=E.readMessages(e,a);i.hasNewData&&(i.messages.forEach(l=>{d(l)}),a=i.newReadPosition)};return o.trackStatus&&(t.addEventListener(`publish:${s}`,c),queueMicrotask(c)),u}function w(s,r){t.signEvent(s,r)}export{h as asNostrEvent,S as asParsedEvent,y as isConnectionStatus,g as isEoce,P as isNostrEvent,k as isParsedEvent,R as usePublish,L as useRelayStatus,w as useSignEvent,M as useSubscription};
1
+ import{g as t,A as E}from"./index2.js";import{e as p,d as g,b as S,c as y,a as P,i as L}from"./NarrowTypes.js";function M(s){let r=!1;const d=t().getRelayStatuses();for(const[e,{status:a}]of d)s(a,e);const o=e=>{if(r)return;const a=e,{status:n,url:u}=a.detail;s(n,u)};return t().addEventListener("relay:status",o),()=>{r=!0,t().removeEventListener("relay:status",o)}}function R(s,r,d=()=>{},o={closeOnEose:!1}){if(!s)return()=>{};let e=null,a=4,n=!0,u=!1,c=!1;s=t().createShortId(s);let i=!1,l=!1;const b=()=>{if(!n||!e){l=!1;return}if(!l){l=!0;try{let f=E.readMessages(e,a);for(;f.hasNewData&&e;){for(const m of f.messages)d(m);a=f.newReadPosition,f=E.readMessages(e,a)}}catch(f){console.error("[useSubscription processEvents] error:",f)}finally{l=!1}}},v=()=>{n&&(i||(i=!0,queueMicrotask(()=>{i=!1,b()})))},h=()=>{u||(n=!1,c&&(t().removeEventListener(`subscription:${s}`,v),t().unsubscribe(s),u=!0),Promise.resolve().then(()=>{e=null,a=4}))};return e=t().subscribe(s,r,o),c=!0,t().addEventListener(`subscription:${s}`,v),v(),h}function k(s,r,d=()=>{},o={trackStatus:!0,defaultRelays:[]}){if(!s)return()=>{};let e=null,a=4,n=!0;const u=()=>{n=!1,t().removeEventListener(`publish:${s}`,c)};e=t().publish(s,r,o.defaultRelays);const c=()=>{if(!n||!e)return;const i=E.readMessages(e,a);i.hasNewData&&(i.messages.forEach(l=>{d(l)}),a=i.newReadPosition)};return o.trackStatus&&(t().addEventListener(`publish:${s}`,c),queueMicrotask(c)),u}function w(s,r){t().signEvent(s,r)}export{p as asNostrEvent,g as asParsedEvent,S as isConnectionStatus,y as isEoce,P as isNostrEvent,L as isParsedEvent,k as usePublish,M as useRelayStatus,w as useSignEvent,R as useSubscription};
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../src/hooks.ts"],"sourcesContent":["import { Event, EventTemplate } from 'nostr-tools';\nimport { ArrayBufferReader } from 'src/lib/ArrayBufferReader';\nimport { WorkerMessage } from './generated/nostr/fb';\nimport { RequestObject, manager, type SubscriptionConfig } from '.';\n// Re-export type guard utilities for hooks users\nexport {\n\tisParsedEvent,\n\tisNostrEvent,\n\tisConnectionStatus,\n\tisEoce,\n\tasParsedEvent,\n\tasNostrEvent\n} from './lib/NarrowTypes';\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\n/**\n * Hook to receive relay connection status updates.\n * Immediately calls handler with current statuses, then subscribes to real-time updates.\n */\nexport function useRelayStatus(onStatus: StatusHandler) {\n\tlet stopped = false;\n\n\t// Get current statuses immediately\n\tconst statuses = manager.getRelayStatuses();\n\tfor (const [url, { status }] of statuses) {\n\t\tonStatus(status, url);\n\t}\n\n\t// Handler for real-time updates\n\tconst handleStatus = (event: globalThis.Event) => {\n\t\tif (stopped) return;\n\t\tconst customEvent = event as globalThis.CustomEvent<{\n\t\t\tstatus: 'connected' | 'failed' | 'close';\n\t\t\turl: string;\n\t\t}>;\n\t\tconst { status, url } = customEvent.detail;\n\t\tonStatus(status, url);\n\t};\n\n\t// Subscribe to updates\n\tmanager.addEventListener('relay:status', handleStatus as globalThis.EventListener);\n\n\t// Return a stop handle\n\treturn () => {\n\t\tstopped = true;\n\t\tmanager.removeEventListener('relay:status', handleStatus as globalThis.EventListener);\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\treturn () => {};\n\t}\n\n\tlet buffer: ArrayBuffer | null = null;\n\tlet lastReadPos = 4;\n\tlet running = true;\n\tlet hasUnsubscribed = false;\n\tlet hasSubscribed = false;\n\tsubId = manager.createShortId(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) {\n\t\t\tprocessing = false;\n\t\t\treturn;\n\t\t}\n\t\tif (processing) return;\n\t\tprocessing = true;\n\t\ttry {\n\t\t\tlet result = ArrayBufferReader.readMessages(buffer, lastReadPos);\n\t\t\twhile (result.hasNewData && buffer) {\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 = ArrayBufferReader.readMessages(buffer, lastReadPos);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error('[useSubscription processEvents] error:', e);\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\tif (hasUnsubscribed) return;\n\t\trunning = false;\n\t\tif (hasSubscribed) {\n\t\t\tmanager.removeEventListener(`subscription:${subId}`, scheduleProcess);\n\t\t\tmanager.unsubscribe(subId);\n\t\t\thasUnsubscribed = true;\n\t\t}\n\t\tPromise.resolve().then(() => {\n\t\t\tbuffer = null;\n\t\t\tlastReadPos = 4;\n\t\t});\n\t};\n\n\tbuffer = manager.subscribe(subId, requests, options);\n\thasSubscribed = true;\n\tmanager.addEventListener(`subscription:${subId}`, scheduleProcess);\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; defaultRelays?: string[] } = {\n\t\ttrackStatus: true,\n\t\tdefaultRelays: []\n\t}\n): () => void {\n\tif (!pubId) {\n\t\treturn () => {};\n\t}\n\n\tlet buffer: ArrayBuffer | null = null;\n\tlet lastReadPos: number = 4;\n\tlet running = true;\n\n\t// pubId = nipWorker.createShortId(pubId);\n\n\t// const 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 as any, options.defaultRelays);\n\n\tconst processEvents = (): void => {\n\t\tif (!running || !buffer) {\n\t\t\treturn;\n\t\t}\n\t\tconst result = ArrayBufferReader.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\t// const manager = nipWorker.getManager('');\n\n\tmanager.signEvent(template, callback);\n}\n"],"names":["useRelayStatus","onStatus","stopped","statuses","manager","url","status","handleStatus","event","customEvent","useSubscription","subId","requests","callback","options","buffer","lastReadPos","running","hasUnsubscribed","hasSubscribed","scheduled","processing","processEvents","result","ArrayBufferReader","message","e","scheduleProcess","unsubscribe","usePublish","pubId","useSignEvent","template"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sources":["../src/hooks.ts"],"sourcesContent":["import { Event, EventTemplate } from 'nostr-tools';\nimport { ArrayBufferReader } from 'src/lib/ArrayBufferReader';\nimport { WorkerMessage } from './generated/nostr/fb';\nimport { RequestObject, getManager, type SubscriptionConfig } from '.';\n// Re-export type guard utilities for hooks users\nexport {\n\tisParsedEvent,\n\tisNostrEvent,\n\tisConnectionStatus,\n\tisEoce,\n\tasParsedEvent,\n\tasNostrEvent\n} from './lib/NarrowTypes';\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\n/**\n * Hook to receive relay connection status updates.\n * Immediately calls handler with current statuses, then subscribes to real-time updates.\n */\nexport function useRelayStatus(onStatus: StatusHandler) {\n\tlet stopped = false;\n\n\t// Get current statuses immediately\n\tconst statuses = getManager().getRelayStatuses();\n\tfor (const [url, { status }] of statuses) {\n\t\tonStatus(status, url);\n\t}\n\n\t// Handler for real-time updates\n\tconst handleStatus = (event: globalThis.Event) => {\n\t\tif (stopped) return;\n\t\tconst customEvent = event as globalThis.CustomEvent<{\n\t\t\tstatus: 'connected' | 'failed' | 'close';\n\t\t\turl: string;\n\t\t}>;\n\t\tconst { status, url } = customEvent.detail;\n\t\tonStatus(status, url);\n\t};\n\n\t// Subscribe to updates\n\tgetManager().addEventListener('relay:status', handleStatus as globalThis.EventListener);\n\n\t// Return a stop handle\n\treturn () => {\n\t\tstopped = true;\n\t\tgetManager().removeEventListener('relay:status', handleStatus as globalThis.EventListener);\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\treturn () => {};\n\t}\n\n\tlet buffer: ArrayBuffer | null = null;\n\tlet lastReadPos = 4;\n\tlet running = true;\n\tlet hasUnsubscribed = false;\n\tlet hasSubscribed = false;\n\tsubId = getManager().createShortId(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) {\n\t\t\tprocessing = false;\n\t\t\treturn;\n\t\t}\n\t\tif (processing) return;\n\t\tprocessing = true;\n\t\ttry {\n\t\t\tlet result = ArrayBufferReader.readMessages(buffer, lastReadPos);\n\t\t\twhile (result.hasNewData && buffer) {\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 = ArrayBufferReader.readMessages(buffer, lastReadPos);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error('[useSubscription processEvents] error:', e);\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\tif (hasUnsubscribed) return;\n\t\trunning = false;\n\t\tif (hasSubscribed) {\n\t\t\tgetManager().removeEventListener(`subscription:${subId}`, scheduleProcess);\n\t\t\tgetManager().unsubscribe(subId);\n\t\t\thasUnsubscribed = true;\n\t\t}\n\t\tPromise.resolve().then(() => {\n\t\t\tbuffer = null;\n\t\t\tlastReadPos = 4;\n\t\t});\n\t};\n\n\tbuffer = getManager().subscribe(subId, requests, options);\n\thasSubscribed = true;\n\tgetManager().addEventListener(`subscription:${subId}`, scheduleProcess);\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; defaultRelays?: string[] } = {\n\t\ttrackStatus: true,\n\t\tdefaultRelays: []\n\t}\n): () => void {\n\tif (!pubId) {\n\t\treturn () => {};\n\t}\n\n\tlet buffer: ArrayBuffer | null = null;\n\tlet lastReadPos: number = 4;\n\tlet running = true;\n\n\t// pubId = nipWorker.createShortId(pubId);\n\n\t// const manager = nipWorker.getManager(pubId);\n\n\tconst unsubscribe = (): void => {\n\t\trunning = false;\n\t\tgetManager().removeEventListener(`publish:${pubId}`, processEvents);\n\t};\n\n\tbuffer = getManager().publish(pubId, event as any, options.defaultRelays);\n\n\tconst processEvents = (): void => {\n\t\tif (!running || !buffer) {\n\t\t\treturn;\n\t\t}\n\t\tconst result = ArrayBufferReader.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\tgetManager().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\t// const manager = nipWorker.getManager('');\n\n\tgetManager().signEvent(template, callback);\n}\n"],"names":["useRelayStatus","onStatus","stopped","statuses","getManager","url","status","handleStatus","event","customEvent","useSubscription","subId","requests","callback","options","buffer","lastReadPos","running","hasUnsubscribed","hasSubscribed","scheduled","processing","processEvents","result","ArrayBufferReader","message","e","scheduleProcess","unsubscribe","usePublish","pubId","useSignEvent","template"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EventTemplate, NostrEvent } from 'nostr-tools';
2
- import { RequestObject, SubscriptionConfig } from './types';
2
+ import { NostrManagerConfig, RequestObject, SubscriptionConfig } from './types';
3
3
 
4
4
  export * from './lib/NostrUtils';
5
5
  export * from './types';
@@ -22,7 +22,7 @@ export declare class NostrManager {
22
22
  private connectionsMainPort;
23
23
  private relayStatuses;
24
24
  PERPETUAL_SUBSCRIPTIONS: string[];
25
- constructor();
25
+ constructor(config?: NostrManagerConfig);
26
26
  private postToWorker;
27
27
  private handleCryptoResponse;
28
28
  private setupWorkerListener;
@@ -70,5 +70,29 @@ export declare class NostrManager {
70
70
  removeAccount(): void;
71
71
  cleanup(): void;
72
72
  }
73
+ export declare function createNostrManager(config?: NostrManagerConfig): NostrManager;
74
+ /**
75
+ * Get the global manager instance used by hooks.
76
+ * Creates a default singleton on first access.
77
+ * Use `setGlobalManager()` to provide a custom-configured instance.
78
+ */
79
+ export declare function getManager(): NostrManager;
80
+ /**
81
+ * Set a custom manager instance to be used by all hooks.
82
+ * Call this early in your app before using any hooks.
83
+ *
84
+ * @example
85
+ * import { createNostrManager, setGlobalManager } from '@candypoets/nipworker';
86
+ *
87
+ * const myManager = createNostrManager({
88
+ * proxy: { url: import.meta.env.VITE_NIPWORKER_PROXY_URL }
89
+ * });
90
+ * setGlobalManager(myManager);
91
+ */
92
+ export declare function setGlobalManager(manager: NostrManager): void;
93
+ /**
94
+ * Legacy singleton export. Same as `getManager()`.
95
+ * @deprecated Use `getManager()` or `setGlobalManager()` for custom config.
96
+ */
73
97
  export declare const manager: NostrManager;
74
98
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import"flatbuffers";import{B as a,J as s,K as e,O as i,Q as n,R as r,S as t,T as d,U as o,W as P,d as T,X as b,c,Y as g,Z as p,_ as C,$ as f,a0 as K,C as u,a as v,a1 as S,a2 as l,f as D,a3 as m,a4 as R,a5 as E,a6 as M,a7 as h,a8 as L,a9 as k,E as y,aa as I,ab as N,ac as V,ad as F,ae as q,af as W,ag as H,ah as G,H as w,ai as A,aj as B,ak as x,I as z,al as j,am as U,an as Q,ao as Z,ap as O,aq as J,ar as X,as as Y,at as _,au as $,av as aa,aw as sa,ax as ea,ay as ia,az as na,aA as ra,aB as ta,aC as da,aD as oa,aE as Pa,aF as Ta,aG as ba,aH as ca,aI as ga,aJ as pa,aK as Ca,aL as fa,aM as Ka,aN as ua,aO as va,aP as Sa,aQ as la,aR as Da,aS as ma,aT as Ra,aU as Ea,aV as Ma,aW as ha,aX as La,aY as ka,aZ as ya,a_ as Ia,a$ as Na,b0 as Va,b1 as Fa,L as qa,b2 as Wa,b3 as Ha,b4 as Ga,b5 as wa,b6 as Aa,b7 as Ba,b8 as xa,b9 as za,ba as ja,bb as Ua,bc as Qa,bd as Za,b as Oa,be as Ja,M as Xa,bf as Ya,e as _a,bg as $a,bh as as,bi as ss,bj as es,bk as is,bl as ns,bm as rs,N as ts,bn as ds,bo as os,j as Ps,bp as Ts,bq as bs,br as cs,bs as gs,bt as ps,bu as Cs,P as fs,bv as Ks,bw as us,bx as vs,by as Ss,bA as ls,bz as Ds,bB as ms,bC as Rs,bD as Es,bE as Ms,bF as hs,bG as Ls,bH as ks,bI as ys,bJ as Is,bK as Ns,bL as Vs,bM as Fs,bN as qs,bO as Ws,bP as Hs,bQ as Gs,bR as ws,bS as As,bT as Bs,bU as xs,bV as zs,bW as js,bX as Us,bY as Qs,bZ as Zs,b_ as Os,b$ as Js,c0 as Xs,c1 as Ys,c2 as _s,c3 as $s,c4 as ae,c5 as se,c6 as ee,c7 as ie,c8 as ne,c9 as re,ca as te,cb as de,cc as oe,cd as Pe,ce as Te,cf as be,cg as ce,ch as ge,ci as pe,ck as Ce,cj as fe,cl as Ke,cm as ue,cn as ve,co as Se,cp as le,cq as De,g as me,cr as Re,cs as Ee,V as Me,ct as he,cu as Le,cv as ke,cw as ye,cx as Ie,cy as Ne,cz as Ve,cA as Fe,cB as qe,s as We,G as He,q as Ge,n as we,D as Ae,t as Be,w as xe,k as ze,l as je,x as Ue,y as Qe,m as Ze,o as Oe,v as Je,p as Xe,z as Ye,r as _e,F as $e}from"./index2.js";export{a as BufferFull,s as BufferFullT,e as CacheInput,i as CacheInputMessage,n as CacheInputMessageT,r as CacheRequest,t as CacheRequestT,d as CacheResponse,o as CacheResponseT,P as CashuData,T as CashuDataT,b as CodeData,c as CodeDataT,g as ConnectionStatus,p as ConnectionStatusT,C as Contact,f as ContactT,K as ContentBlock,u as ContentBlockT,v as ContentData,S as Coordinate,l as CoordinateT,D as CountResponse,m as CountResponseT,R as CounterPipeConfig,E as CounterPipeConfigT,M as DLEQProof,h as DLEQProofT,L as Emoji,k as EmojiT,y as Eoce,I as EoceT,N as EventPointer,V as EventPointerT,F as GetPublicKey,q as GetPublicKeyT,W as HTLCWitness,H as HTLCWitnessT,G as HashtagData,w as HashtagDataT,A as HistoryTag,B as HistoryTagT,x as ImageData,z as ImageDataT,j as ImetaTag,U as ImetaTagT,Q as Kind0Parsed,Z as Kind0ParsedT,O as Kind10002Parsed,J as Kind10002ParsedT,X as Kind10019Parsed,Y as Kind10019ParsedT,_ as Kind1111Parsed,$ as Kind1111ParsedT,aa as Kind1311Parsed,sa as Kind1311ParsedT,ea as Kind17375Parsed,ia as Kind17375ParsedT,na as Kind17Parsed,ra as Kind17ParsedT,ta as Kind1Parsed,da as Kind1ParsedT,oa as Kind20Parsed,Pa as Kind20ParsedT,Ta as Kind22Parsed,ba as Kind22ParsedT,ca as Kind30023Parsed,ga as Kind30023ParsedT,pa as Kind3Parsed,Ca as Kind3ParsedT,fa as Kind4Parsed,Ka as Kind4ParsedT,ua as Kind6Parsed,va as Kind6ParsedT,Sa as Kind7374Parsed,la as Kind7374ParsedT,Da as Kind7375Parsed,ma as Kind7375ParsedT,Ra as Kind7376Parsed,Ea as Kind7376ParsedT,Ma as Kind7Parsed,ha as Kind7ParsedT,La as Kind9321Parsed,ka as Kind9321ParsedT,ya as Kind9735Parsed,Ia as Kind9735ParsedT,Na as KindFilterPipeConfig,Va as KindFilterPipeConfigT,Fa as LinkPreviewData,qa as LinkPreviewDataT,Wa as ListParsed,Ha as ListParsedT,Ga as LiveActivityRef,wa as LiveActivityRefT,Aa as LiveChatParticipant,Ba as LiveChatParticipantT,xa as LiveChatThreadRef,za as LiveChatThreadRefT,ja as MainContent,Ua as MainMessage,Qa as MainMessageT,Za as MediaGroupData,Oa as MediaGroupDataT,Ja as MediaItem,Xa as MediaItemT,Ya as Message,_a as MessageType,$a as MintInfo,as as MintInfoT,ss as MintProofs,es as MintProofsT,is as MuteFilterPipeConfig,ns as MuteFilterPipeConfigT,rs as NostrData,ts as NostrDataT,ds as NostrEvent,os as NostrEventT,Ps as NostrManager,Ts as NpubLimiterPipeConfig,bs as NpubLimiterPipeConfigT,cs as P2PKWitness,gs as P2PKWitnessT,ps as ParsePipeConfig,Cs as ParsePipeConfigT,fs as ParsedData,Ks as ParsedDataUnion,us as ParsedEvent,vs as ParsedEventT,Ss as Pipe,ls as PipeConfig,Ds as PipeT,ms as PipelineConfig,Rs as PipelineConfigT,Es as PreGenericParsed,Ms as PreGenericParsedT,hs as PreParticipant,Ls as PreParticipantT,ks as PreRefEvent,ys as PreRefEventT,Is as PrivateKey,Ns as PrivateKeyT,Vs as ProfilePointer,Fs as ProfilePointerT,qs as Proof,Ws as ProofT,Hs as ProofVerificationPipeConfig,Gs as ProofVerificationPipeConfigT,ws as Pubkey,As as PubkeyT,Bs as Publish,xs as PublishT,zs as Raw,js as RawT,Us as ReactionType,Qs as RelayInfo,Zs as RelayInfoT,Os as Request,Js as RequestT,Xs as SaveToDbPipeConfig,Ys as SaveToDbPipeConfigT,_s as SerializeEventsPipeConfig,$s as SerializeEventsPipeConfigT,ae as SetSigner,se as SetSignerT,ee as SignEvent,ie as SignEventT,ne as SignedEvent,re as SignedEventT,te as SignerOp,de as SignerRequest,oe as SignerRequestT,Pe as SignerResponse,Te as SignerResponseT,be as SignerType,ce as StringVec,ge as StringVecT,pe as Subscribe,Ce as SubscribeKind,fe as SubscribeT,Ke as SubscriptionConfig,ue as SubscriptionConfigT,ve as Template,Se as TemplateT,le as Unsubscribe,De as UnsubscribeT,me as ValidProofs,Re as ValidProofsT,Ee as VideoData,Me as VideoDataT,he as VideoVariant,Le as VideoVariantT,ke as Witness,ye as WitnessString,Ie as WitnessStringT,Ne as WorkerMessage,Ve as WorkerMessageT,Fe as ZapRequest,qe as ZapRequestT,We as ensureD,He as ensureDTagForPre,Ge as extractDFromTags,we as isHex64,Ae as isPreKind,Be as makeAPointer,xe as makeAPointerForEvent,ze as makeNaddr,je as makeNaddrForEvent,Ue as makeNaddrLike,Qe as makeNaddrLikeForEvent,Ze as manager,Oe as normalizeSlug,Je as parseAPointer,Xe as parseNaddr,Ye as parseNaddrLike,_e as randomId,$e as upsertDTag};
1
+ import{a,c as s,S as e,b as i,d as n}from"./signer-response.js";import"flatbuffers";import{C as r,v as t,w as d,x as o,y as P,z as T,B as g,D as p,E as f,G as C,F as b,K,H as u,M as c,I as l,J as v,L as S,O as m,N as D,P as M,Q as R,R as E,S as h,T as k,U as L,W as y,V as I,X as N,Y as V,Z as F,_ as W,$ as q,a0 as G,a1 as H,a2 as j,a3 as w,a4 as A,a5 as B,a6 as x,a7 as z,a8 as U,a9 as Q,aa as Z,ab as O,ac as J,ae as X,ad as Y,af as _,ag as $,ah as aa,ai as sa,aj as ea,ak as ia,c as na,d as ra,t as ta,e as da,g as oa,i as Pa,q as Ta,f as ga,j as pa,a as fa,b as Ca,k as ba,l as Ka,m as ua,n as ca,h as la,p as va,o as Sa,r as ma,s as Da,u as Ma}from"./index2.js";import{B as Ra,t as Ea,v as ha,k as ka,w as La,j as ya,n as Ia,e as Na,x as Va,y as Fa,z as Wa,f as qa,b as Ga,A as Ha,D as ja,C as wa,F as Aa,G as Ba,J as xa,K as za,O as Ua,E as Qa,Q as Za,T as Oa,U as Ja,X as Xa,Y as Ya,Z as _a,H as $a,_ as as,$ as ss,a0 as es,I as is,a1 as ns,a2 as rs,a3 as ts,a4 as ds,a5 as os,a6 as Ps,a7 as Ts,a8 as gs,a9 as ps,aa as fs,ab as Cs,ac as bs,ad as Ks,ae as us,af as cs,ag as ls,ah as vs,ai as Ss,aj as ms,ak as Ds,al as Ms,am as Rs,an as Es,ao as hs,ap as ks,aq as Ls,ar as ys,as as Is,at as Ns,au as Vs,av as Fs,aw as Ws,ax as qs,ay as Gs,az as Hs,aA as js,aB as ws,aC as As,aD as Bs,aE as xs,aF as zs,aG as Us,aH as Qs,L as Zs,aI as Os,aJ as Js,aK as Xs,aL as Ys,aM as _s,aN as $s,aO as ae,aP as se,aQ as ee,i as ie,aR as ne,g as re,d as te,M as de,aS as oe,aT as Pe,aU as Te,aV as ge,aW as pe,l as fe,p as Ce,N as be,aX as Ke,aY as ue,P as ce,q as le,aZ as ve,a_ as Se,a$ as me,b0 as De,b1 as Me,b2 as Re,b3 as Ee,b4 as he,b5 as ke,b6 as Le,b7 as ye,b8 as Ie,b9 as Ne,ba as Ve,R as Fe,bb as We,bc as qe,bd as Ge,o as He,s as je,be as we,bf as Ae,r as Be,S as xe,V as ze,bg as Ue,bh as Qe,h as Ze,bi as Oe,bj as Je,bk as Xe,bl as Ye,bm as _e,m as $e,W as ai,bn as si,bo as ei}from"./worker-message.js";export{Ra as BufferFull,Ea as BufferFullT,r as CacheInput,t as CacheInputMessage,d as CacheInputMessageT,o as CacheRequest,P as CacheRequestT,T as CacheResponse,g as CacheResponseT,ha as CashuData,ka as CashuDataT,La as CodeData,ya as CodeDataT,Ia as ConnectionStatus,Na as ConnectionStatusT,Va as Contact,Fa as ContactT,Wa as ContentBlock,qa as ContentBlockT,Ga as ContentData,Ha as Coordinate,ja as CoordinateT,wa as CountResponse,Aa as CountResponseT,p as CounterPipeConfig,f as CounterPipeConfigT,Ba as DLEQProof,xa as DLEQProofT,za as Emoji,Ua as EmojiT,Qa as Eoce,Za as EoceT,Oa as EventPointer,Ja as EventPointerT,C as GetPublicKey,b as GetPublicKeyT,Xa as HTLCWitness,Ya as HTLCWitnessT,_a as HashtagData,$a as HashtagDataT,as as HistoryTag,ss as HistoryTagT,es as ImageData,is as ImageDataT,ns as ImetaTag,rs as ImetaTagT,ts as Kind0Parsed,ds as Kind0ParsedT,os as Kind10002Parsed,Ps as Kind10002ParsedT,Ts as Kind10019Parsed,gs as Kind10019ParsedT,ps as Kind1111Parsed,fs as Kind1111ParsedT,Cs as Kind1311Parsed,bs as Kind1311ParsedT,Ks as Kind17375Parsed,us as Kind17375ParsedT,cs as Kind17Parsed,ls as Kind17ParsedT,vs as Kind1Parsed,Ss as Kind1ParsedT,ms as Kind20Parsed,Ds as Kind20ParsedT,Ms as Kind22Parsed,Rs as Kind22ParsedT,Es as Kind30023Parsed,hs as Kind30023ParsedT,ks as Kind3Parsed,Ls as Kind3ParsedT,ys as Kind4Parsed,Is as Kind4ParsedT,Ns as Kind6Parsed,Vs as Kind6ParsedT,Fs as Kind7374Parsed,Ws as Kind7374ParsedT,qs as Kind7375Parsed,Gs as Kind7375ParsedT,Hs as Kind7376Parsed,js as Kind7376ParsedT,ws as Kind7Parsed,As as Kind7ParsedT,Bs as Kind9321Parsed,xs as Kind9321ParsedT,zs as Kind9735Parsed,Us as Kind9735ParsedT,K as KindFilterPipeConfig,u as KindFilterPipeConfigT,Qs as LinkPreviewData,Zs as LinkPreviewDataT,Os as ListParsed,Js as ListParsedT,Xs as LiveActivityRef,Ys as LiveActivityRefT,_s as LiveChatParticipant,$s as LiveChatParticipantT,ae as LiveChatThreadRef,se as LiveChatThreadRefT,c as MainContent,l as MainMessage,v as MainMessageT,ee as MediaGroupData,ie as MediaGroupDataT,ne as MediaItem,re as MediaItemT,te as Message,de as MessageType,oe as MintInfo,Pe as MintInfoT,Te as MintProofs,ge as MintProofsT,S as MuteFilterPipeConfig,m as MuteFilterPipeConfigT,pe as NostrData,fe as NostrDataT,Ce as NostrEvent,be as NostrEventT,D as NostrManager,M as NpubLimiterPipeConfig,R as NpubLimiterPipeConfigT,Ke as P2PKWitness,ue as P2PKWitnessT,E as ParsePipeConfig,h as ParsePipeConfigT,ce as ParsedData,k as ParsedDataUnion,le as ParsedEvent,ve as ParsedEventT,L as Pipe,y as PipeConfig,I as PipeT,N as PipelineConfig,V as PipelineConfigT,Se as PreGenericParsed,me as PreGenericParsedT,De as PreParticipant,Me as PreParticipantT,Re as PreRefEvent,Ee as PreRefEventT,F as PrivateKey,W as PrivateKeyT,he as ProfilePointer,ke as ProfilePointerT,Le as Proof,ye as ProofT,q as ProofVerificationPipeConfig,G as ProofVerificationPipeConfigT,Ie as Pubkey,Ne as PubkeyT,H as Publish,j as PublishT,Ve as Raw,Fe as RawT,We as ReactionType,qe as RelayInfo,Ge as RelayInfoT,He as Request,je as RequestT,w as SaveToDbPipeConfig,A as SaveToDbPipeConfigT,B as SerializeEventsPipeConfig,x as SerializeEventsPipeConfigT,z as SetSigner,U as SetSignerT,Q as SignEvent,Z as SignEventT,we as SignedEvent,Ae as SignedEventT,a as SignerOp,s as SignerRequest,e as SignerRequestT,i as SignerResponse,n as SignerResponseT,O as SignerType,Be as StringVec,xe as StringVecT,J as Subscribe,X as SubscribeKind,Y as SubscribeT,_ as SubscriptionConfig,$ as SubscriptionConfigT,aa as Template,sa as TemplateT,ea as Unsubscribe,ia as UnsubscribeT,ze as ValidProofs,Ue as ValidProofsT,Qe as VideoData,Ze as VideoDataT,Oe as VideoVariant,Je as VideoVariantT,Xe as Witness,Ye as WitnessString,_e as WitnessStringT,$e as WorkerMessage,ai as WorkerMessageT,si as ZapRequest,ei as ZapRequestT,na as createNostrManager,ra as ensureD,ta as ensureDTagForPre,da as extractDFromTags,oa as getManager,Pa as isHex64,Ta as isPreKind,ga as makeAPointer,pa as makeAPointerForEvent,fa as makeNaddr,Ca as makeNaddrForEvent,ba as makeNaddrLike,Ka as makeNaddrLikeForEvent,ua as manager,ca as normalizeSlug,la as parseAPointer,va as parseNaddr,Sa as parseNaddrLike,ma as randomId,Da as setGlobalManager,Ma as upsertDTag};
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}