@welshman/app 0.0.44 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/build/src/commands.js +7 -7
  2. package/build/src/commands.js.map +1 -1
  3. package/build/src/context.d.ts +1 -27
  4. package/build/src/context.js +1 -37
  5. package/build/src/context.js.map +1 -1
  6. package/build/src/core.d.ts +3 -5
  7. package/build/src/core.js +18 -4
  8. package/build/src/core.js.map +1 -1
  9. package/build/src/feeds.d.ts +1 -2
  10. package/build/src/feeds.js +11 -7
  11. package/build/src/feeds.js.map +1 -1
  12. package/build/src/follows.d.ts +3 -3
  13. package/build/src/follows.js +5 -2
  14. package/build/src/follows.js.map +1 -1
  15. package/build/src/handles.d.ts +2 -2
  16. package/build/src/handles.js +3 -2
  17. package/build/src/handles.js.map +1 -1
  18. package/build/src/index.d.ts +0 -9
  19. package/build/src/index.js +0 -1
  20. package/build/src/index.js.map +1 -1
  21. package/build/src/mutes.d.ts +3 -3
  22. package/build/src/mutes.js +5 -2
  23. package/build/src/mutes.js.map +1 -1
  24. package/build/src/pins.d.ts +3 -3
  25. package/build/src/pins.js +5 -2
  26. package/build/src/pins.js.map +1 -1
  27. package/build/src/profiles.d.ts +3 -3
  28. package/build/src/profiles.js +6 -13
  29. package/build/src/profiles.js.map +1 -1
  30. package/build/src/relaySelections.d.ts +4 -4
  31. package/build/src/relaySelections.js +18 -3
  32. package/build/src/relaySelections.js.map +1 -1
  33. package/build/src/relays.d.ts +3 -5
  34. package/build/src/relays.js +43 -49
  35. package/build/src/relays.js.map +1 -1
  36. package/build/src/router.d.ts +13 -9
  37. package/build/src/router.js +76 -76
  38. package/build/src/router.js.map +1 -1
  39. package/build/src/search.d.ts +4 -4
  40. package/build/src/search.js +6 -2
  41. package/build/src/search.js.map +1 -1
  42. package/build/src/storage.d.ts +5 -4
  43. package/build/src/storage.js.map +1 -1
  44. package/build/src/sync.d.ts +0 -1
  45. package/build/src/sync.js +8 -12
  46. package/build/src/sync.js.map +1 -1
  47. package/build/src/tags.js +12 -11
  48. package/build/src/tags.js.map +1 -1
  49. package/build/src/thunk.d.ts +6 -6
  50. package/build/src/thunk.js +72 -63
  51. package/build/src/thunk.js.map +1 -1
  52. package/build/src/zappers.d.ts +3 -3
  53. package/build/src/zappers.js +3 -2
  54. package/build/src/zappers.js.map +1 -1
  55. package/build/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +9 -8
  57. package/build/src/subscribe.d.ts +0 -7
  58. package/build/src/subscribe.js +0 -42
  59. package/build/src/subscribe.js.map +0 -1
@@ -1,37 +1,37 @@
1
1
  import { get } from "svelte/store";
2
- import { ctx } from "@welshman/lib";
3
2
  import { addToListPublicly, removeFromList, makeList, FOLLOWS, MUTES, PINS } from "@welshman/util";
4
3
  import { userFollows, userMutes, userPins } from "./user.js";
5
4
  import { nip44EncryptToSelf } from "./session.js";
6
5
  import { publishThunk } from "./thunk.js";
6
+ import { Router } from "./router.js";
7
7
  export const unfollow = async (value) => {
8
8
  const list = get(userFollows) || makeList({ kind: FOLLOWS });
9
9
  const event = await removeFromList(list, value).reconcile(nip44EncryptToSelf);
10
- return publishThunk({ event, relays: ctx.app.router.FromUser().getUrls() });
10
+ return publishThunk({ event, relays: Router.get().FromUser().getUrls() });
11
11
  };
12
12
  export const follow = async (tag) => {
13
13
  const list = get(userFollows) || makeList({ kind: FOLLOWS });
14
14
  const event = await addToListPublicly(list, tag).reconcile(nip44EncryptToSelf);
15
- return publishThunk({ event, relays: ctx.app.router.FromUser().getUrls() });
15
+ return publishThunk({ event, relays: Router.get().FromUser().getUrls() });
16
16
  };
17
17
  export const unmute = async (value) => {
18
18
  const list = get(userMutes) || makeList({ kind: MUTES });
19
19
  const event = await removeFromList(list, value).reconcile(nip44EncryptToSelf);
20
- return publishThunk({ event, relays: ctx.app.router.FromUser().getUrls() });
20
+ return publishThunk({ event, relays: Router.get().FromUser().getUrls() });
21
21
  };
22
22
  export const mute = async (tag) => {
23
23
  const list = get(userMutes) || makeList({ kind: MUTES });
24
24
  const event = await addToListPublicly(list, tag).reconcile(nip44EncryptToSelf);
25
- return publishThunk({ event, relays: ctx.app.router.FromUser().getUrls() });
25
+ return publishThunk({ event, relays: Router.get().FromUser().getUrls() });
26
26
  };
27
27
  export const unpin = async (value) => {
28
28
  const list = get(userPins) || makeList({ kind: PINS });
29
29
  const event = await removeFromList(list, value).reconcile(nip44EncryptToSelf);
30
- return publishThunk({ event, relays: ctx.app.router.FromUser().getUrls() });
30
+ return publishThunk({ event, relays: Router.get().FromUser().getUrls() });
31
31
  };
32
32
  export const pin = async (tag) => {
33
33
  const list = get(userPins) || makeList({ kind: PINS });
34
34
  const event = await addToListPublicly(list, tag).reconcile(nip44EncryptToSelf);
35
- return publishThunk({ event, relays: ctx.app.router.FromUser().getUrls() });
35
+ return publishThunk({ event, relays: Router.get().FromUser().getUrls() });
36
36
  };
37
37
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,4 @@
1
- import type { Subscription, RelaysAndFilters, NetContext } from "@welshman/net";
2
- import type { TrustedEvent, StampedEvent } from "@welshman/util";
3
- import type { Router } from "./router.js";
4
1
  export type AppContext = {
5
- router: Router;
6
- requestDelay: number;
7
- authTimeout: number;
8
- requestTimeout: number;
9
2
  dufflepudUrl?: string;
10
- indexerRelays?: string[];
11
- };
12
- export declare const getDefaultNetContext: (overrides?: Partial<NetContext>) => {
13
- pool: import("@welshman/net").Pool;
14
- authMode: import("@welshman/net").AuthMode;
15
- onEvent: (url: string, event: TrustedEvent) => void;
16
- signEvent: (event: StampedEvent) => Promise<any>;
17
- getExecutor: (relays: string[]) => import("@welshman/net").Executor;
18
- isDeleted: (url: string, event: TrustedEvent) => boolean;
19
- isValid: (url: string, event: TrustedEvent) => boolean;
20
- matchFilters: (url: string, filters: import("@welshman/util").Filter[], event: TrustedEvent) => boolean;
21
- optimizeSubscriptions: (subs: Subscription[]) => RelaysAndFilters[];
22
- };
23
- export declare const getDefaultAppContext: (overrides?: Partial<AppContext>) => {
24
- router: Router;
25
- requestDelay: number;
26
- authTimeout: number;
27
- requestTimeout: number;
28
- dufflepudUrl?: string | undefined;
29
- indexerRelays?: string[] | undefined;
30
3
  };
4
+ export declare const appContext: AppContext;
@@ -1,38 +1,2 @@
1
- import { partition } from "@welshman/lib";
2
- import { defaultOptimizeSubscriptions, getDefaultNetContext as originalGetDefaultNetContext, } from "@welshman/net";
3
- import { LOCAL_RELAY_URL, isEphemeralKind, isDVMKind, unionFilters } from "@welshman/util";
4
- import { tracker, repository } from "./core.js";
5
- import { makeRouter, getFilterSelections } from "./router.js";
6
- import { signer } from "./session.js";
7
- export const getDefaultNetContext = (overrides = {}) => ({
8
- ...originalGetDefaultNetContext(),
9
- signEvent: async (event) => signer.get()?.sign(event),
10
- onEvent: (url, event) => {
11
- if (isEphemeralKind(event.kind) || isDVMKind(event.kind))
12
- return;
13
- tracker.track(event.id, url);
14
- repository.publish(event);
15
- },
16
- isDeleted: (url, event) => repository.isDeleted(event),
17
- optimizeSubscriptions: (subs) => {
18
- const [withRelays, withoutRelays] = partition(sub => sub.request.relays.length > 0, subs);
19
- const filters = unionFilters(withoutRelays.flatMap(sub => sub.request.filters));
20
- const selections = defaultOptimizeSubscriptions(withRelays);
21
- selections.push({ relays: [LOCAL_RELAY_URL], filters });
22
- if (filters.length > 0) {
23
- for (const selection of getFilterSelections(filters)) {
24
- selections.push(selection);
25
- }
26
- }
27
- return selections;
28
- },
29
- ...overrides,
30
- });
31
- export const getDefaultAppContext = (overrides = {}) => ({
32
- router: makeRouter(),
33
- requestDelay: 50,
34
- authTimeout: 300,
35
- requestTimeout: 3000,
36
- ...overrides,
37
- });
1
+ export const appContext = {};
38
2
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,IAAI,4BAA4B,GACrD,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAExF,OAAO,EAAC,OAAO,EAAE,UAAU,EAAC,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAYnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAiC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,GAAG,4BAA4B,EAAE;IACjC,SAAS,EAAE,KAAK,EAAE,KAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;IACnE,OAAO,EAAE,CAAC,GAAW,EAAE,KAAmB,EAAE,EAAE;QAC5C,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAM;QAEhE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC5B,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IACD,SAAS,EAAE,CAAC,GAAW,EAAE,KAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;IAC5E,qBAAqB,EAAE,CAAC,IAAoB,EAAE,EAAE;QAC9C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QACzF,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/E,MAAM,UAAU,GAAuB,4BAA4B,CAAC,UAAU,CAAC,CAAA;QAE/E,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAC,CAAC,CAAA;QAErD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,GAAG,SAAS;CACb,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAiC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,MAAM,EAAE,UAAU,EAAE;IACpB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,GAAG;IAChB,cAAc,EAAE,IAAI;IACpB,GAAG,SAAS;CACb,CAAC,CAAA"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,UAAU,GAAe,EAAE,CAAA"}
@@ -1,12 +1,10 @@
1
- import { Repository, Relay } from "@welshman/util";
2
- import type { TrustedEvent } from "@welshman/util";
1
+ import { Repository } from "@welshman/relay";
3
2
  import { Tracker } from "@welshman/net";
4
- export declare const repository: Repository<TrustedEvent>;
5
- export declare const relay: Relay<TrustedEvent>;
3
+ export declare const repository: Repository<import("@welshman/util").TrustedEvent>;
6
4
  export declare const tracker: Tracker;
7
5
  export declare const makeRepositoryStore: ({ throttle: t }?: {
8
6
  throttle?: number;
9
- }) => import("@welshman/store").WritableWithGetter<Repository<TrustedEvent>>;
7
+ }) => import("@welshman/store").WritableWithGetter<Repository<import("@welshman/util").TrustedEvent>>;
10
8
  export declare const makeTrackerStore: ({ throttle: t }?: {
11
9
  throttle?: number;
12
10
  }) => import("@welshman/store").WritableWithGetter<Tracker>;
package/build/src/core.js CHANGED
@@ -1,10 +1,24 @@
1
1
  import { throttle } from "@welshman/lib";
2
- import { Repository, Relay } from "@welshman/util";
3
- import { Tracker } from "@welshman/net";
2
+ import { verifyEvent, isEphemeralKind, isDVMKind } from "@welshman/util";
3
+ import { Repository } from "@welshman/relay";
4
+ import { Pool, Tracker, SocketEvent, isRelayEvent } from "@welshman/net";
4
5
  import { custom } from "@welshman/store";
5
- export const repository = new Repository();
6
- export const relay = new Relay(repository);
6
+ import { loadRelay, trackRelayStats } from "./relays.js";
7
+ export const repository = Repository.getSingleton();
7
8
  export const tracker = new Tracker();
9
+ Pool.getSingleton().subscribe(socket => {
10
+ loadRelay(socket.url);
11
+ trackRelayStats(socket);
12
+ socket.on(SocketEvent.Receive, message => {
13
+ if (isRelayEvent(message)) {
14
+ const event = message[2];
15
+ if (!isEphemeralKind(event.kind) && !isDVMKind(event.kind) && verifyEvent(event)) {
16
+ tracker.track(event.id, socket.url);
17
+ repository.publish(event);
18
+ }
19
+ }
20
+ });
21
+ });
8
22
  // Adapt above objects to stores
9
23
  export const makeRepositoryStore = ({ throttle: t = 300 } = {}) => custom(setter => {
10
24
  let onUpdate = () => setter(repository);
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,UAAU,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAgB,CAAA;AAExD,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;AAE1C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAEpC,gCAAgC;AAEhC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,KAAyB,EAAE,EAAE,EAAE,CACnF,MAAM,CACJ,MAAM,CAAC,EAAE;IACP,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAEvC,IAAI,CAAC,EAAE,CAAC;QACN,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,QAAQ,EAAE,CAAA;IACV,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEjC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACjD,CAAC,EACD;IACE,GAAG,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;CAC1D,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,KAAyB,EAAE,EAAE,EAAE,CAChF,MAAM,CACJ,MAAM,CAAC,EAAE;IACP,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,IAAI,CAAC,EAAE,CAAC;QACN,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,QAAQ,EAAE,CAAA;IACV,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE9B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAC9C,CAAC,EACD;IACE,GAAG,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;CACxD,CACF,CAAA"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAC,MAAM,eAAe,CAAA;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,aAAa,CAAA;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAA;AAEnD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAEpC,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;IACrC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACrB,eAAe,CAAC,MAAM,CAAC,CAAA;IAEvB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACvC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAExB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;gBACnC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,gCAAgC;AAEhC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,KAAyB,EAAE,EAAE,EAAE,CACnF,MAAM,CACJ,MAAM,CAAC,EAAE;IACP,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAEvC,IAAI,CAAC,EAAE,CAAC;QACN,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,QAAQ,EAAE,CAAA;IACV,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEjC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACjD,CAAC,EACD;IACE,GAAG,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;CAC1D,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,KAAyB,EAAE,EAAE,EAAE,CAChF,MAAM,CACJ,MAAM,CAAC,EAAE;IACP,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,IAAI,CAAC,EAAE,CAAC;QACN,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,QAAQ,EAAE,CAAA;IACV,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE9B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAC9C,CAAC,EACD;IACE,GAAG,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;CACxD,CACF,CAAA"}
@@ -1,5 +1,4 @@
1
- import { FeedController } from "@welshman/feeds";
2
- import type { RequestOpts, FeedOptions, DVMOpts, Feed } from "@welshman/feeds";
1
+ import { FeedController, RequestOpts, FeedOptions, DVMOpts, Feed } from "@welshman/feeds";
3
2
  export declare const request: ({ filters, relays, onEvent }: RequestOpts) => Promise<void>;
4
3
  export declare const requestDVM: ({ kind, onEvent, ...request }: DVMOpts) => Promise<void>;
5
4
  export declare const getPubkeysForScope: (scope: string) => string[];
@@ -1,19 +1,23 @@
1
- import { ctx, nthEq, now } from "@welshman/lib";
1
+ import { nthEq, now } from "@welshman/lib";
2
2
  import { createEvent, getPubkeyTagValues } from "@welshman/util";
3
+ import { MultiRequest, RequestEvent } from "@welshman/net";
3
4
  import { Scope, FeedController } from "@welshman/feeds";
4
5
  import { makeDvmRequest, DVMEvent } from "@welshman/dvm";
5
6
  import { makeSecret, Nip01Signer } from "@welshman/signer";
6
7
  import { pubkey, signer } from "./session.js";
7
- import { getFilterSelections } from "./router.js";
8
+ import { Router, getFilterSelections } from "./router.js";
8
9
  import { loadRelaySelections } from "./relaySelections.js";
9
10
  import { wotGraph, maxWot, getFollows, getNetwork, getFollowers } from "./wot.js";
10
- import { load } from "./subscribe.js";
11
11
  export const request = async ({ filters = [{}], relays = [], onEvent }) => {
12
12
  if (relays.length > 0) {
13
- await load({ onEvent, filters, relays });
13
+ await new Promise(resolve => {
14
+ const sub = new MultiRequest({ filters, relays, timeout: 5000, autoClose: true });
15
+ sub.on(RequestEvent.Event, onEvent);
16
+ sub.on(RequestEvent.Close, resolve);
17
+ });
14
18
  }
15
19
  else {
16
- await Promise.all(getFilterSelections(filters).map(opts => load({ onEvent, ...opts })));
20
+ await Promise.all(getFilterSelections(filters).map(opts => request({ ...opts, onEvent })));
17
21
  }
18
22
  };
19
23
  export const requestDVM = async ({ kind, onEvent, ...request }) => {
@@ -27,8 +31,8 @@ export const requestDVM = async ({ kind, onEvent, ...request }) => {
27
31
  const $signer = signer.get() || new Nip01Signer(makeSecret());
28
32
  const pubkey = await $signer.getPubkey();
29
33
  const relays = request.relays
30
- ? ctx.app.router.FromRelays(request.relays).getUrls()
31
- : ctx.app.router.FromPubkeys(getPubkeyTagValues(tags)).getUrls();
34
+ ? Router.get().FromRelays(request.relays).getUrls()
35
+ : Router.get().FromPubkeys(getPubkeyTagValues(tags)).getUrls();
32
36
  if (!tags.some(nthEq(0, "expiration"))) {
33
37
  tags.push(["expiration", String(now() + 60)]);
34
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.js","sourceRoot":"","sources":["../../src/feeds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feeds.js","sourceRoot":"","sources":["../../src/feeds.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type PublishedList } from "@welshman/util";
2
- import { type SubscribeRequestWithHandlers } from "@welshman/net";
1
+ import { PublishedList } from "@welshman/util";
2
+ import { MultiRequestOptions } from "@welshman/net";
3
3
  export declare const follows: import("@welshman/store").WritableWithGetter<PublishedList[]>;
4
- export declare const followsByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, deriveFollows: (key: import("@welshman/lib").Maybe<string>, request?: Partial<SubscribeRequestWithHandlers> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadFollows: (key: string, request?: Partial<SubscribeRequestWithHandlers> | undefined) => Promise<PublishedList | undefined>;
4
+ export declare const followsByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, deriveFollows: (key: import("@welshman/lib").Maybe<string>, request?: Partial<MultiRequestOptions> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadFollows: (key: string, request?: Partial<MultiRequestOptions> | undefined) => Promise<PublishedList | undefined>;
@@ -1,7 +1,8 @@
1
1
  import { FOLLOWS, asDecryptedEvent, readList } from "@welshman/util";
2
+ import { load } from "@welshman/net";
2
3
  import { deriveEventsMapped } from "@welshman/store";
3
4
  import { repository } from "./core.js";
4
- import { load } from "./subscribe.js";
5
+ import { Router } from "./router.js";
5
6
  import { collection } from "./collection.js";
6
7
  import { loadRelaySelections } from "./relaySelections.js";
7
8
  export const follows = deriveEventsMapped(repository, {
@@ -15,7 +16,9 @@ export const { indexStore: followsByPubkey, deriveItem: deriveFollows, loadItem:
15
16
  getKey: follows => follows.event.pubkey,
16
17
  load: async (pubkey, request = {}) => {
17
18
  await loadRelaySelections(pubkey, request);
18
- await load({ ...request, filters: [{ kinds: [FOLLOWS], authors: [pubkey] }] });
19
+ const filters = [{ kinds: [FOLLOWS], authors: [pubkey] }];
20
+ const relays = Router.get().FromPubkey(pubkey).getUrls();
21
+ await load({ relays, ...request, filters });
19
22
  },
20
23
  });
21
24
  //# sourceMappingURL=follows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"follows.js","sourceRoot":"","sources":["../../src/follows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAGlE,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,OAAO,GAAG,kBAAkB,CAAgB,UAAU,EAAE;IACnE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC,CAAC;IAC7B,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;IAC/B,WAAW,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;CACxE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,WAAW,GACtB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;IACvC,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,UAAiD,EAAE,EAAE,EAAE;QAClF,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;IAC5E,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"follows.js","sourceRoot":"","sources":["../../src/follows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAsB,IAAI,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,OAAO,GAAG,kBAAkB,CAAgB,UAAU,EAAE;IACnE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC,CAAC;IAC7B,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;IAC/B,WAAW,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;CACxE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,WAAW,GACtB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;IACvC,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,UAAwC,EAAE,EAAE,EAAE;QACzE,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE1C,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;QAExD,MAAM,IAAI,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAA;IAC3C,CAAC;CACF,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type SubscribeRequestWithHandlers } from "@welshman/net";
1
+ import { MultiRequestOptions } from "@welshman/net";
2
2
  export type Handle = {
3
3
  nip05: string;
4
4
  pubkey?: string;
@@ -15,6 +15,6 @@ export declare function queryProfile(nip05: string): Promise<{
15
15
  export declare const handles: import("svelte/store").Writable<Handle[]>;
16
16
  export declare const fetchHandles: (nip05s: string[]) => Promise<Map<string, Handle>>;
17
17
  export declare const handlesByNip05: import("@welshman/store").ReadableWithGetter<Map<string, Handle>>, deriveHandle: (key: import("@welshman/lib").Maybe<string>) => import("svelte/store").Readable<Handle | undefined>, loadHandle: (key: string) => Promise<Handle | undefined>;
18
- export declare const deriveHandleForPubkey: (pubkey: string, request?: Partial<SubscribeRequestWithHandlers>) => import("svelte/store").Readable<Handle | undefined>;
18
+ export declare const deriveHandleForPubkey: (pubkey: string, request?: Partial<MultiRequestOptions>) => import("svelte/store").Readable<Handle | undefined>;
19
19
  export declare const displayNip05: (nip05: string) => string;
20
20
  export declare const displayHandle: (handle: Handle) => string;
@@ -1,7 +1,8 @@
1
1
  import { writable, derived } from "svelte/store";
2
- import { ctx, tryCatch, fetchJson, uniq, batcher, postJson, last } from "@welshman/lib";
2
+ import { tryCatch, fetchJson, uniq, batcher, postJson, last } from "@welshman/lib";
3
3
  import { collection } from "./collection.js";
4
4
  import { deriveProfile } from "./profiles.js";
5
+ import { appContext } from "./context.js";
5
6
  export const NIP05_REGEX = /^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/;
6
7
  export async function queryProfile(nip05) {
7
8
  const match = nip05.match(NIP05_REGEX);
@@ -27,7 +28,7 @@ export async function queryProfile(nip05) {
27
28
  }
28
29
  export const handles = writable([]);
29
30
  export const fetchHandles = async (nip05s) => {
30
- const base = ctx.app.dufflepudUrl;
31
+ const base = appContext.dufflepudUrl;
31
32
  const handlesByNip05 = new Map();
32
33
  // Use dufflepud if we it's set up to protect user privacy, otherwise fetch directly
33
34
  if (base) {
@@ -1 +1 @@
1
- {"version":3,"file":"handles.js","sourceRoot":"","sources":["../../src/handles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handles.js","sourceRoot":"","sources":["../../src/handles.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,6 @@ export * from "./router.js";
16
16
  export * from "./search.js";
17
17
  export * from "./session.js";
18
18
  export * from "./storage.js";
19
- export * from "./subscribe.js";
20
19
  export * from "./sync.js";
21
20
  export * from "./tags.js";
22
21
  export * from "./thunk.js";
@@ -25,11 +24,3 @@ export * from "./user.js";
25
24
  export * from "./util.js";
26
25
  export * from "./wot.js";
27
26
  export * from "./zappers.js";
28
- import type { NetContext } from "@welshman/net";
29
- import type { AppContext } from "./context.js";
30
- declare module "@welshman/lib" {
31
- interface Context {
32
- net: NetContext;
33
- app: AppContext;
34
- }
35
- }
@@ -16,7 +16,6 @@ export * from "./router.js";
16
16
  export * from "./search.js";
17
17
  export * from "./session.js";
18
18
  export * from "./storage.js";
19
- export * from "./subscribe.js";
20
19
  export * from "./sync.js";
21
20
  export * from "./tags.js";
22
21
  export * from "./thunk.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type PublishedList } from "@welshman/util";
2
- import { type SubscribeRequestWithHandlers } from "@welshman/net";
1
+ import { PublishedList } from "@welshman/util";
2
+ import { MultiRequestOptions } from "@welshman/net";
3
3
  export declare const mutes: import("@welshman/store").WritableWithGetter<PublishedList[]>;
4
- export declare const mutesByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, deriveMutes: (key: import("@welshman/lib").Maybe<string>, request?: Partial<SubscribeRequestWithHandlers> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadMutes: (key: string, request?: Partial<SubscribeRequestWithHandlers> | undefined) => Promise<PublishedList | undefined>;
4
+ export declare const mutesByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, deriveMutes: (key: import("@welshman/lib").Maybe<string>, request?: Partial<MultiRequestOptions> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadMutes: (key: string, request?: Partial<MultiRequestOptions> | undefined) => Promise<PublishedList | undefined>;
@@ -1,7 +1,8 @@
1
1
  import { MUTES, asDecryptedEvent, readList } from "@welshman/util";
2
+ import { load } from "@welshman/net";
2
3
  import { deriveEventsMapped } from "@welshman/store";
3
4
  import { repository } from "./core.js";
4
- import { load } from "./subscribe.js";
5
+ import { Router } from "./router.js";
5
6
  import { collection } from "./collection.js";
6
7
  import { ensurePlaintext } from "./plaintext.js";
7
8
  import { loadRelaySelections } from "./relaySelections.js";
@@ -18,7 +19,9 @@ export const { indexStore: mutesByPubkey, deriveItem: deriveMutes, loadItem: loa
18
19
  getKey: mute => mute.event.pubkey,
19
20
  load: async (pubkey, request = {}) => {
20
21
  await loadRelaySelections(pubkey, request);
21
- await load({ ...request, filters: [{ kinds: [MUTES], authors: [pubkey] }] });
22
+ const filters = [{ kinds: [MUTES], authors: [pubkey] }];
23
+ const relays = Router.get().FromPubkey(pubkey).getUrls();
24
+ await load({ relays, ...request, filters });
22
25
  },
23
26
  });
24
27
  //# sourceMappingURL=mutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutes.js","sourceRoot":"","sources":["../../src/mutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAGhE,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAgB,UAAU,EAAE;IACjE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;IAC/B,WAAW,EAAE,KAAK,EAAE,KAAmB,EAAE,EAAE,CACzC,QAAQ,CACN,gBAAgB,CAAC,KAAK,EAAE;QACtB,OAAO,EAAE,MAAM,eAAe,CAAC,KAAK,CAAC;KACtC,CAAC,CACH;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,SAAS,GACpB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;IACjC,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,UAAiD,EAAE,EAAE,EAAE;QAClF,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;IAC1E,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"mutes.js","sourceRoot":"","sources":["../../src/mutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EAAC,IAAI,EAAsB,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAgB,UAAU,EAAE;IACjE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;IAC/B,WAAW,EAAE,KAAK,EAAE,KAAmB,EAAE,EAAE,CACzC,QAAQ,CACN,gBAAgB,CAAC,KAAK,EAAE;QACtB,OAAO,EAAE,MAAM,eAAe,CAAC,KAAK,CAAC;KACtC,CAAC,CACH;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,SAAS,GACpB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;IACjC,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,UAAwC,EAAE,EAAE,EAAE;QACzE,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE1C,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;QAExD,MAAM,IAAI,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAA;IAC3C,CAAC;CACF,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type PublishedList } from "@welshman/util";
2
- import { type SubscribeRequestWithHandlers } from "@welshman/net";
1
+ import { PublishedList } from "@welshman/util";
2
+ import { MultiRequestOptions } from "@welshman/net";
3
3
  export declare const pins: import("@welshman/store").WritableWithGetter<PublishedList[]>;
4
- export declare const pinsByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, derivePins: (key: import("@welshman/lib").Maybe<string>, request?: Partial<SubscribeRequestWithHandlers> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadPins: (key: string, request?: Partial<SubscribeRequestWithHandlers> | undefined) => Promise<PublishedList | undefined>;
4
+ export declare const pinsByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, derivePins: (key: import("@welshman/lib").Maybe<string>, request?: Partial<MultiRequestOptions> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadPins: (key: string, request?: Partial<MultiRequestOptions> | undefined) => Promise<PublishedList | undefined>;
package/build/src/pins.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { PINS, asDecryptedEvent, readList } from "@welshman/util";
2
+ import { load } from "@welshman/net";
2
3
  import { deriveEventsMapped } from "@welshman/store";
3
4
  import { repository } from "./core.js";
4
- import { load } from "./subscribe.js";
5
+ import { Router } from "./router.js";
5
6
  import { collection } from "./collection.js";
6
7
  import { loadRelaySelections } from "./relaySelections.js";
7
8
  export const pins = deriveEventsMapped(repository, {
@@ -15,7 +16,9 @@ export const { indexStore: pinsByPubkey, deriveItem: derivePins, loadItem: loadP
15
16
  getKey: pins => pins.event.pubkey,
16
17
  load: async (pubkey, request = {}) => {
17
18
  await loadRelaySelections(pubkey, request);
18
- await load({ ...request, filters: [{ kinds: [PINS], authors: [pubkey] }] });
19
+ const filters = [{ kinds: [PINS], authors: [pubkey] }];
20
+ const relays = Router.get().FromPubkey(pubkey).getUrls();
21
+ await load({ relays, ...request, filters });
19
22
  },
20
23
  });
21
24
  //# sourceMappingURL=pins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pins.js","sourceRoot":"","sources":["../../src/pins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAG/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAgB,UAAU,EAAE;IAChE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC;IAC1B,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;IAC/B,WAAW,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;CACxE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,YAAY,EACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,GACnB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;IACjC,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,UAAiD,EAAE,EAAE,EAAE;QAClF,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;IACzE,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"pins.js","sourceRoot":"","sources":["../../src/pins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAC,IAAI,EAAsB,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAgB,UAAU,EAAE;IAChE,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC;IAC1B,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;IAC/B,WAAW,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;CACxE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,YAAY,EACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,GACnB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;IACjC,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,UAAwC,EAAE,EAAE,EAAE;QACzE,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE1C,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;QAExD,MAAM,IAAI,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAA;IAC3C,CAAC;CACF,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
- import type { SubscribeRequestWithHandlers } from "@welshman/net";
2
- import type { PublishedProfile } from "@welshman/util";
1
+ import { MultiRequestOptions } from "@welshman/net";
2
+ import { PublishedProfile } from "@welshman/util";
3
3
  export declare const profiles: import("@welshman/store").WritableWithGetter<PublishedProfile[]>;
4
- export declare const profilesByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedProfile>>, deriveProfile: (key: import("@welshman/lib").Maybe<string>, request?: Partial<SubscribeRequestWithHandlers> | undefined) => import("svelte/store").Readable<PublishedProfile | undefined>, loadProfile: (key: string, request?: Partial<SubscribeRequestWithHandlers> | undefined) => Promise<PublishedProfile | undefined>;
4
+ export declare const profilesByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedProfile>>, deriveProfile: (key: import("@welshman/lib").Maybe<string>, request?: Partial<MultiRequestOptions> | undefined) => import("svelte/store").Readable<PublishedProfile | undefined>, loadProfile: (key: string, request?: Partial<MultiRequestOptions> | undefined) => Promise<PublishedProfile | undefined>;
5
5
  export declare const displayProfileByPubkey: (pubkey: string | undefined) => string;
6
6
  export declare const deriveProfileDisplay: (pubkey: string | undefined) => import("svelte/store").Readable<string>;
@@ -1,8 +1,9 @@
1
1
  import { derived, readable } from "svelte/store";
2
2
  import { readProfile, displayProfile, displayPubkey, PROFILE } from "@welshman/util";
3
+ import { load } from "@welshman/net";
3
4
  import { deriveEventsMapped, withGetter } from "@welshman/store";
4
5
  import { repository } from "./core.js";
5
- import { load } from "./subscribe.js";
6
+ import { Router } from "./router.js";
6
7
  import { collection } from "./collection.js";
7
8
  import { loadRelaySelections } from "./relaySelections.js";
8
9
  export const profiles = withGetter(deriveEventsMapped(repository, {
@@ -15,19 +16,11 @@ export const { indexStore: profilesByPubkey, deriveItem: deriveProfile, loadItem
15
16
  store: profiles,
16
17
  getKey: profile => profile.event.pubkey,
17
18
  load: async (pubkey, request = {}) => {
19
+ await loadRelaySelections(pubkey, request);
20
+ const router = Router.get();
18
21
  const filters = [{ kinds: [PROFILE], authors: [pubkey] }];
19
- // Attempt to load the user profile right away, regardless of whether we have relays,
20
- // since profiles are crucial to UX
21
- load({ ...request, filters });
22
- // Load relay selections as quickly as possible, moving on to retrying profiles with
23
- // better selections the moment we have a result, even if it's outdated
24
- await new Promise(resolve => {
25
- loadRelaySelections(pubkey, {
26
- onEvent: () => resolve(),
27
- onComplete: () => resolve(),
28
- });
29
- });
30
- await load({ ...request, filters });
22
+ const relays = router.merge([router.Index(), router.FromPubkey(pubkey)]).getUrls();
23
+ await load({ relays, ...request, filters });
31
24
  },
32
25
  });
33
26
  export const displayProfileByPubkey = (pubkey) => pubkey ? displayProfile(profilesByPubkey.get().get(pubkey), displayPubkey(pubkey)) : "";
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAA;AAGlF,OAAO,EAAC,kBAAkB,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,kBAAkB,CAAmB,UAAU,EAAE;IAC/C,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC,CAAC;IAC7B,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;CAChC,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,WAAW,GACtB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;IACvC,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,UAAiD,EAAE,EAAE,EAAE;QAClF,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,CAAA;QAEvD,qFAAqF;QACrF,mCAAmC;QACnC,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAA;QAE3B,oFAAoF;QACpF,uEAAuE;QACvE,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAChC,mBAAmB,CAAC,MAAM,EAAE;gBAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;aAC5B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAA;IACnC,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAA0B,EAAE,EAAE,CACnE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAA0B,EAAE,EAAE,CACjE,MAAM;IACJ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAA;AAClF,OAAO,EAAC,IAAI,EAAsB,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAC,kBAAkB,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,kBAAkB,CAAmB,UAAU,EAAE;IAC/C,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC,CAAC;IAC7B,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK;CAChC,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,WAAW,GACtB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;IACvC,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,UAAwC,EAAE,EAAE,EAAE;QACzE,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE1C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;QAC3B,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QAElF,MAAM,IAAI,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAA;IAC3C,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAA0B,EAAE,EAAE,CACnE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAA0B,EAAE,EAAE,CACjE,MAAM;IACJ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
- import type { PublishedList, List } from "@welshman/util";
2
- import type { SubscribeRequestWithHandlers } from "@welshman/net";
1
+ import { PublishedList, List } from "@welshman/util";
2
+ import { MultiRequestOptions } from "@welshman/net";
3
3
  export declare const getRelayUrls: (list?: List) => string[];
4
4
  export declare const getReadRelayUrls: (list?: List) => string[];
5
5
  export declare const getWriteRelayUrls: (list?: List) => string[];
6
6
  export declare const relaySelections: import("@welshman/store").WritableWithGetter<PublishedList[]>;
7
- export declare const relaySelectionsByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, deriveRelaySelections: (key: import("@welshman/lib").Maybe<string>, request?: Partial<SubscribeRequestWithHandlers> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadRelaySelections: (key: string, request?: Partial<SubscribeRequestWithHandlers> | undefined) => Promise<PublishedList | undefined>;
7
+ export declare const relaySelectionsByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, deriveRelaySelections: (key: import("@welshman/lib").Maybe<string>, request?: Partial<MultiRequestOptions> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadRelaySelections: (key: string, request?: Partial<MultiRequestOptions> | undefined) => Promise<PublishedList | undefined>;
8
8
  export declare const inboxRelaySelections: import("@welshman/store").WritableWithGetter<PublishedList[]>;
9
- export declare const inboxRelaySelectionsByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, deriveInboxRelaySelections: (key: import("@welshman/lib").Maybe<string>, request?: Partial<SubscribeRequestWithHandlers> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadInboxRelaySelections: (key: string, request?: Partial<SubscribeRequestWithHandlers> | undefined) => Promise<PublishedList | undefined>;
9
+ export declare const inboxRelaySelectionsByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, PublishedList>>, deriveInboxRelaySelections: (key: import("@welshman/lib").Maybe<string>, request?: Partial<MultiRequestOptions> | undefined) => import("svelte/store").Readable<PublishedList | undefined>, loadInboxRelaySelections: (key: string, request?: Partial<MultiRequestOptions> | undefined) => Promise<PublishedList | undefined>;