@welshman/app 0.0.10 → 0.0.12

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 (40) hide show
  1. package/build/src/collection.cjs +4 -0
  2. package/build/src/collection.cjs.map +1 -1
  3. package/build/src/collection.d.ts +1 -1
  4. package/build/src/collection.mjs +4 -0
  5. package/build/src/collection.mjs.map +1 -1
  6. package/build/src/commands.cjs +34 -0
  7. package/build/src/commands.cjs.map +1 -0
  8. package/build/src/commands.d.ts +4 -0
  9. package/build/src/commands.mjs +27 -0
  10. package/build/src/commands.mjs.map +1 -0
  11. package/build/src/feeds.cjs +63 -0
  12. package/build/src/feeds.cjs.map +1 -0
  13. package/build/src/feeds.d.ts +2 -0
  14. package/build/src/feeds.mjs +60 -0
  15. package/build/src/feeds.mjs.map +1 -0
  16. package/build/src/handles.cjs +4 -2
  17. package/build/src/handles.cjs.map +1 -1
  18. package/build/src/handles.d.ts +1 -0
  19. package/build/src/handles.mjs +2 -1
  20. package/build/src/handles.mjs.map +1 -1
  21. package/build/src/index.cjs +2 -0
  22. package/build/src/index.cjs.map +1 -1
  23. package/build/src/index.d.ts +2 -0
  24. package/build/src/index.mjs +2 -0
  25. package/build/src/session.cjs +10 -1
  26. package/build/src/session.cjs.map +1 -1
  27. package/build/src/session.d.ts +1 -0
  28. package/build/src/session.mjs +8 -0
  29. package/build/src/session.mjs.map +1 -1
  30. package/build/src/thunk.cjs +38 -17
  31. package/build/src/thunk.cjs.map +1 -1
  32. package/build/src/thunk.d.ts +8 -18
  33. package/build/src/thunk.mjs +36 -16
  34. package/build/src/thunk.mjs.map +1 -1
  35. package/build/src/wot.cjs +15 -1
  36. package/build/src/wot.cjs.map +1 -1
  37. package/build/src/wot.d.ts +2 -0
  38. package/build/src/wot.mjs +14 -1
  39. package/build/src/wot.mjs.map +1 -1
  40. package/package.json +8 -6
@@ -11,6 +11,10 @@ const collection = ({ name, store, getKey, load, }) => {
11
11
  const loadAttempts = new Map();
12
12
  const loadItem = async (key, ...args) => {
13
13
  const stale = indexStore.get().get(key);
14
+ // If we have no loader function, nothing we can do
15
+ if (!load) {
16
+ return stale;
17
+ }
14
18
  const freshness = (0, freshness_1.getFreshness)(name, key);
15
19
  // If we have an item, reload if it's stale
16
20
  if (stale && freshness > (0, lib_1.now)() - 3600) {
@@ -1 +1 @@
1
- {"version":3,"file":"collection.cjs","sourceRoot":"","sources":["../../src/collection.ts"],"names":[],"mappings":";;;AAAA,wCAA6D;AAC7D,uCAAsD;AACtD,2CAA0C;AAC1C,+CAA+D;AAExD,MAAM,UAAU,GAAG,CAA4B,EACpD,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,GAML,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,IAAA,eAAO,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,IAAA,aAAO,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE9C,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAE,GAAG,IAAc,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAEzC,2CAA2C;QAC3C,IAAI,KAAK,IAAI,SAAS,GAAG,IAAA,SAAG,GAAE,GAAG,IAAI,EAAE;YACrC,OAAO,KAAK,CAAA;SACb;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;SAC/D;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE1C,+CAA+C;QAC/C,IAAI,SAAS,GAAG,IAAA,SAAG,GAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAA;SACb;QAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;QAElC,IAAA,iCAAqB,EAAC,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAA,SAAG,GAAE,EAAC,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAElC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEzB,MAAM,OAAO,CAAA;QAEb,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACzB;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,GAAG,IAAc,EAAE,EAAE;QAC3D,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAA;SAC3B;QAED,sFAAsF;QACtF,oCAAoC;QACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAEtB,OAAO,IAAA,eAAO,EAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAA;AAC3C,CAAC,CAAA;AAtEY,QAAA,UAAU,cAsEtB"}
1
+ {"version":3,"file":"collection.cjs","sourceRoot":"","sources":["../../src/collection.ts"],"names":[],"mappings":";;;AAAA,wCAA6D;AAC7D,uCAAsD;AACtD,2CAA0C;AAC1C,+CAA+D;AAExD,MAAM,UAAU,GAAG,CAA4B,EACpD,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,GAML,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,IAAA,eAAO,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,IAAA,aAAO,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE9C,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAE,GAAG,IAAc,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,mDAAmD;QACnD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QAED,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAEzC,2CAA2C;QAC3C,IAAI,KAAK,IAAI,SAAS,GAAG,IAAA,SAAG,GAAE,GAAG,IAAI,EAAE;YACrC,OAAO,KAAK,CAAA;SACb;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;SAC/D;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE1C,+CAA+C;QAC/C,IAAI,SAAS,GAAG,IAAA,SAAG,GAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAA;SACb;QAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;QAElC,IAAA,iCAAqB,EAAC,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAA,SAAG,GAAE,EAAC,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAElC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEzB,MAAM,OAAO,CAAA;QAEb,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACzB;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,GAAG,IAAc,EAAE,EAAE;QAC3D,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAA;SAC3B;QAED,sFAAsF;QACtF,oCAAoC;QACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAEtB,OAAO,IAAA,eAAO,EAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAA;AAC3C,CAAC,CAAA;AA5EY,QAAA,UAAU,cA4EtB"}
@@ -5,7 +5,7 @@ export declare const collection: <T, LoadArgs extends any[]>({ name, store, getK
5
5
  name: string;
6
6
  store: Readable<T[]>;
7
7
  getKey: (item: T) => string;
8
- load: (key: string, ...args: LoadArgs) => Promise<any>;
8
+ load?: ((key: string, ...args: LoadArgs) => Promise<any>) | undefined;
9
9
  }) => {
10
10
  indexStore: import("@welshman/store").ReadableWithGetter<Map<string, T>>;
11
11
  deriveItem: (key: Maybe<string>, ...args: LoadArgs) => Readable<T | undefined>;
@@ -8,6 +8,10 @@ export const collection = ({ name, store, getKey, load, }) => {
8
8
  const loadAttempts = new Map();
9
9
  const loadItem = async (key, ...args) => {
10
10
  const stale = indexStore.get().get(key);
11
+ // If we have no loader function, nothing we can do
12
+ if (!load) {
13
+ return stale;
14
+ }
11
15
  const freshness = getFreshness(name, key);
12
16
  // If we have an item, reload if it's stale
13
17
  if (stale && freshness > now() - 3600) {
@@ -1 +1 @@
1
- {"version":3,"file":"collection.mjs","sourceRoot":"","sources":["../../src/collection.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAE,OAAO,EAAgB,MAAM,cAAc;OACtD,EAAC,OAAO,EAAc,GAAG,EAAC,MAAM,eAAe;OAC/C,EAAC,UAAU,EAAC,MAAM,iBAAiB;OACnC,EAAC,YAAY,EAAE,qBAAqB,EAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAA4B,EACpD,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,GAML,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE9C,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAE,GAAG,IAAc,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAEzC,2CAA2C;QAC3C,IAAI,KAAK,IAAI,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE;YACrC,OAAO,KAAK,CAAA;SACb;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;SAC/D;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE1C,+CAA+C;QAC/C,IAAI,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAA;SACb;QAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;QAElC,qBAAqB,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAC,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAElC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEzB,MAAM,OAAO,CAAA;QAEb,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACzB;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,GAAG,IAAc,EAAE,EAAE;QAC3D,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAA;SAC3B;QAED,sFAAsF;QACtF,oCAAoC;QACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAEtB,OAAO,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAA;AAC3C,CAAC,CAAA"}
1
+ {"version":3,"file":"collection.mjs","sourceRoot":"","sources":["../../src/collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mute = exports.unmute = exports.follow = exports.unfollow = void 0;
4
+ const store_1 = require("svelte/store");
5
+ const lib_1 = require("@welshman/lib");
6
+ const util_1 = require("@welshman/util");
7
+ const user_1 = require("./user.cjs");
8
+ const session_1 = require("./session.cjs");
9
+ const thunk_1 = require("./thunk.cjs");
10
+ const unfollow = async (value) => {
11
+ const list = (0, store_1.get)(user_1.userFollows) || (0, util_1.makeList)({ kind: util_1.FOLLOWS });
12
+ const event = await (0, util_1.removeFromList)(list, value).reconcile(session_1.nip44EncryptToSelf);
13
+ return (0, thunk_1.publishThunk)({ event, relays: lib_1.ctx.app.router.WriteRelays().getUrls() });
14
+ };
15
+ exports.unfollow = unfollow;
16
+ const follow = async (tag) => {
17
+ const list = (0, store_1.get)(user_1.userFollows) || (0, util_1.makeList)({ kind: util_1.FOLLOWS });
18
+ const event = await (0, util_1.addToListPublicly)(list, tag).reconcile(session_1.nip44EncryptToSelf);
19
+ return (0, thunk_1.publishThunk)({ event, relays: lib_1.ctx.app.router.WriteRelays().getUrls() });
20
+ };
21
+ exports.follow = follow;
22
+ const unmute = async (value) => {
23
+ const list = (0, store_1.get)(user_1.userMutes) || (0, util_1.makeList)({ kind: util_1.MUTES });
24
+ const event = await (0, util_1.removeFromList)(list, value).reconcile(session_1.nip44EncryptToSelf);
25
+ return (0, thunk_1.publishThunk)({ event, relays: lib_1.ctx.app.router.WriteRelays().getUrls() });
26
+ };
27
+ exports.unmute = unmute;
28
+ const mute = async (tag) => {
29
+ const list = (0, store_1.get)(user_1.userMutes) || (0, util_1.makeList)({ kind: util_1.MUTES });
30
+ const event = await (0, util_1.addToListPublicly)(list, tag).reconcile(session_1.nip44EncryptToSelf);
31
+ return (0, thunk_1.publishThunk)({ event, relays: lib_1.ctx.app.router.WriteRelays().getUrls() });
32
+ };
33
+ exports.mute = mute;
34
+ //# sourceMappingURL=commands.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.cjs","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":";;;AAAA,wCAAgC;AAChC,uCAAiC;AACjC,yCAA0F;AAC1F,qCAA6C;AAC7C,2CAA4C;AAC5C,uCAAoC;AAE7B,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC9C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,kBAAW,CAAC,IAAI,IAAA,eAAQ,EAAC,EAAC,IAAI,EAAE,cAAO,EAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,4BAAkB,CAAC,CAAA;IAE7E,OAAO,IAAA,oBAAY,EAAC,EAAC,KAAK,EAAE,MAAM,EAAE,SAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC,CAAA;AAC9E,CAAC,CAAA;AALY,QAAA,QAAQ,YAKpB;AAEM,MAAM,MAAM,GAAG,KAAK,EAAE,GAAa,EAAE,EAAE;IAC5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,kBAAW,CAAC,IAAI,IAAA,eAAQ,EAAC,EAAC,IAAI,EAAE,cAAO,EAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAiB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,4BAAkB,CAAC,CAAA;IAE9E,OAAO,IAAA,oBAAY,EAAC,EAAC,KAAK,EAAE,MAAM,EAAE,SAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC,CAAA;AAC9E,CAAC,CAAA;AALY,QAAA,MAAM,UAKlB;AAEM,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC5C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,gBAAS,CAAC,IAAI,IAAA,eAAQ,EAAC,EAAC,IAAI,EAAE,YAAK,EAAC,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,4BAAkB,CAAC,CAAA;IAE7E,OAAO,IAAA,oBAAY,EAAC,EAAC,KAAK,EAAE,MAAM,EAAE,SAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC,CAAA;AAC9E,CAAC,CAAA;AALY,QAAA,MAAM,UAKlB;AAEM,MAAM,IAAI,GAAG,KAAK,EAAE,GAAa,EAAE,EAAE;IAC1C,MAAM,IAAI,GAAG,IAAA,WAAG,EAAC,gBAAS,CAAC,IAAI,IAAA,eAAQ,EAAC,EAAC,IAAI,EAAE,YAAK,EAAC,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAiB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,4BAAkB,CAAC,CAAA;IAE9E,OAAO,IAAA,oBAAY,EAAC,EAAC,KAAK,EAAE,MAAM,EAAE,SAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC,CAAA;AAC9E,CAAC,CAAA;AALY,QAAA,IAAI,QAKhB"}
@@ -0,0 +1,4 @@
1
+ export declare const unfollow: (value: string) => Promise<import("./thunk").PublishStatusDataByUrl>;
2
+ export declare const follow: (tag: string[]) => Promise<import("./thunk").PublishStatusDataByUrl>;
3
+ export declare const unmute: (value: string) => Promise<import("./thunk").PublishStatusDataByUrl>;
4
+ export declare const mute: (tag: string[]) => Promise<import("./thunk").PublishStatusDataByUrl>;
@@ -0,0 +1,27 @@
1
+ import { get } from 'svelte/store';
2
+ import { ctx } from '@welshman/lib';
3
+ import { addToListPublicly, removeFromList, makeList, FOLLOWS, MUTES } from '@welshman/util';
4
+ import { userFollows, userMutes } from "./user.mjs";
5
+ import { nip44EncryptToSelf } from "./session.mjs";
6
+ import { publishThunk } from "./thunk.mjs";
7
+ export const unfollow = async (value) => {
8
+ const list = get(userFollows) || makeList({ kind: FOLLOWS });
9
+ const event = await removeFromList(list, value).reconcile(nip44EncryptToSelf);
10
+ return publishThunk({ event, relays: ctx.app.router.WriteRelays().getUrls() });
11
+ };
12
+ export const follow = async (tag) => {
13
+ const list = get(userFollows) || makeList({ kind: FOLLOWS });
14
+ const event = await addToListPublicly(list, tag).reconcile(nip44EncryptToSelf);
15
+ return publishThunk({ event, relays: ctx.app.router.WriteRelays().getUrls() });
16
+ };
17
+ export const unmute = async (value) => {
18
+ const list = get(userMutes) || makeList({ kind: MUTES });
19
+ const event = await removeFromList(list, value).reconcile(nip44EncryptToSelf);
20
+ return publishThunk({ event, relays: ctx.app.router.WriteRelays().getUrls() });
21
+ };
22
+ export const mute = async (tag) => {
23
+ const list = get(userMutes) || makeList({ kind: MUTES });
24
+ const event = await addToListPublicly(list, tag).reconcile(nip44EncryptToSelf);
25
+ return publishThunk({ event, relays: ctx.app.router.WriteRelays().getUrls() });
26
+ };
27
+ //# sourceMappingURL=commands.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.mjs","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"OAAO,EAAC,GAAG,EAAC,MAAM,cAAc;OACzB,EAAC,GAAG,EAAC,MAAM,eAAe;OAC1B,EAAC,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM,gBAAgB;OACnF,EAAC,WAAW,EAAE,SAAS,EAAC;OACxB,EAAC,kBAAkB,EAAC;OACpB,EAAC,YAAY,EAAC;AAErB,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAE7E,OAAO,YAAY,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC,CAAA;AAC9E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,GAAa,EAAE,EAAE;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAE9E,OAAO,YAAY,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC,CAAA;AAC9E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAE7E,OAAO,YAAY,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC,CAAA;AAC9E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAa,EAAE,EAAE;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAE9E,OAAO,YAAY,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAC,CAAC,CAAA;AAC9E,CAAC,CAAA"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.feedLoader = void 0;
4
+ const lib_1 = require("@welshman/lib");
5
+ const util_1 = require("@welshman/util");
6
+ const feeds_1 = require("@welshman/feeds");
7
+ const dvm_1 = require("@welshman/dvm");
8
+ const signer_1 = require("@welshman/signer");
9
+ const session_1 = require("./session.cjs");
10
+ const router_1 = require("./router.cjs");
11
+ const wot_1 = require("./wot.cjs");
12
+ const core_1 = require("./core.cjs");
13
+ exports.feedLoader = new feeds_1.FeedLoader({
14
+ request: async ({ filters = [{}], relays = [], onEvent }) => {
15
+ if (relays.length > 0) {
16
+ await (0, core_1.load)({ onEvent, filters, relays });
17
+ }
18
+ else {
19
+ await Promise.all((0, router_1.getFilterSelections)(filters)
20
+ .map(opts => (0, core_1.load)({ onEvent, ...opts })));
21
+ }
22
+ },
23
+ requestDVM: async ({ kind, onEvent, ...request }) => {
24
+ const tags = [...request.tags || [], ["expiration", String((0, lib_1.now)() + 5)]];
25
+ const $signer = session_1.signer.get() || new signer_1.Nip01Signer((0, signer_1.makeSecret)());
26
+ const event = await $signer.sign((0, util_1.createEvent)(kind, { tags }));
27
+ const relays = request.relays
28
+ ? lib_1.ctx.app.router.fromRelays(request.relays).getUrls()
29
+ : lib_1.ctx.app.router.FromPubkeys((0, util_1.getPubkeyTagValues)(tags)).getUrls();
30
+ const req = (0, dvm_1.makeDvmRequest)({ event, relays });
31
+ await new Promise(resolve => {
32
+ req.emitter.on("result", (url, event) => {
33
+ onEvent(event);
34
+ resolve();
35
+ });
36
+ });
37
+ },
38
+ getPubkeysForScope: (scope) => {
39
+ const $pubkey = session_1.pubkey.get();
40
+ if (!$pubkey) {
41
+ return [];
42
+ }
43
+ switch (scope) {
44
+ case feeds_1.Scope.Self: return [$pubkey];
45
+ case feeds_1.Scope.Follows: return (0, wot_1.getFollows)($pubkey);
46
+ case feeds_1.Scope.Network: return (0, wot_1.getNetwork)($pubkey);
47
+ case feeds_1.Scope.Followers: return (0, wot_1.getFollowers)($pubkey);
48
+ default: return [];
49
+ }
50
+ },
51
+ getPubkeysForWOTRange: (min, max) => {
52
+ const pubkeys = [];
53
+ const thresholdMin = wot_1.maxWot.get() * min;
54
+ const thresholdMax = wot_1.maxWot.get() * max;
55
+ for (const [tpk, score] of wot_1.wotGraph.get().entries()) {
56
+ if (score >= thresholdMin && score <= thresholdMax) {
57
+ pubkeys.push(tpk);
58
+ }
59
+ }
60
+ return pubkeys;
61
+ },
62
+ });
63
+ //# sourceMappingURL=feeds.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feeds.cjs","sourceRoot":"","sources":["../../src/feeds.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AACtC,yCAA8D;AAC9D,2CAAiD;AACjD,uCAA4C;AAC5C,6CAAwD;AACxD,2CAAwC;AACxC,yCAA4C;AAC5C,mCAA4E;AAC5E,qCAA2B;AAEd,QAAA,UAAU,GAAG,IAAI,kBAAU,CAAC;IACvC,OAAO,EAAE,KAAK,EAAE,EAAC,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,EAAC,EAAE,EAAE;QACxD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAA,WAAI,EAAC,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAA;SACvC;aAAM;YACL,MAAM,OAAO,CAAC,GAAG,CACf,IAAA,4BAAmB,EAAC,OAAO,CAAC;iBACzB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,IAAA,WAAI,EAAC,EAAC,OAAO,EAAE,GAAG,IAAI,EAAC,CAAC,CAAC,CAC1C,CAAA;SACF;IACH,CAAC;IACD,UAAU,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAC,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,IAAA,SAAG,GAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,gBAAM,CAAC,GAAG,EAAE,IAAI,IAAI,oBAAW,CAAC,IAAA,mBAAU,GAAE,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAA,kBAAW,EAAC,IAAI,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,MAAM,GACV,OAAO,CAAC,MAAM;YACZ,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;YACrD,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QAEpE,MAAM,GAAG,GAAG,IAAA,oBAAc,EAAC,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,CAAA;QAE3C,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAChC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACtC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACd,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,kBAAkB,EAAE,CAAC,KAAa,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,gBAAM,CAAC,GAAG,EAAE,CAAA;QAE5B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,EAAE,CAAA;SACV;QAED,QAAQ,KAAK,EAAE;YACb,KAAK,aAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACjC,KAAK,aAAK,CAAC,OAAO,CAAC,CAAC,OAAO,IAAA,gBAAU,EAAC,OAAO,CAAC,CAAA;YAC9C,KAAK,aAAK,CAAC,OAAO,CAAC,CAAC,OAAO,IAAA,gBAAU,EAAC,OAAO,CAAC,CAAA;YAC9C,KAAK,aAAK,CAAC,SAAS,CAAC,CAAC,OAAO,IAAA,kBAAY,EAAC,OAAO,CAAC,CAAA;YAClD,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;SACnB;IACH,CAAC;IACD,qBAAqB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA;QACvC,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA;QAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,cAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;YACnD,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,EAAE;gBAClD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAClB;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { FeedLoader } from '@welshman/feeds';
2
+ export declare const feedLoader: FeedLoader;
@@ -0,0 +1,60 @@
1
+ import { ctx, now } from '@welshman/lib';
2
+ import { createEvent, getPubkeyTagValues } from '@welshman/util';
3
+ import { FeedLoader, Scope } from '@welshman/feeds';
4
+ import { makeDvmRequest } from '@welshman/dvm';
5
+ import { makeSecret, Nip01Signer } from '@welshman/signer';
6
+ import { pubkey, signer } from "./session.mjs";
7
+ import { getFilterSelections } from "./router.mjs";
8
+ import { wotGraph, maxWot, getFollows, getNetwork, getFollowers } from "./wot.mjs";
9
+ import { load } from "./core.mjs";
10
+ export const feedLoader = new FeedLoader({
11
+ request: async ({ filters = [{}], relays = [], onEvent }) => {
12
+ if (relays.length > 0) {
13
+ await load({ onEvent, filters, relays });
14
+ }
15
+ else {
16
+ await Promise.all(getFilterSelections(filters)
17
+ .map(opts => load({ onEvent, ...opts })));
18
+ }
19
+ },
20
+ requestDVM: async ({ kind, onEvent, ...request }) => {
21
+ const tags = [...request.tags || [], ["expiration", String(now() + 5)]];
22
+ const $signer = signer.get() || new Nip01Signer(makeSecret());
23
+ const event = await $signer.sign(createEvent(kind, { tags }));
24
+ const relays = request.relays
25
+ ? ctx.app.router.fromRelays(request.relays).getUrls()
26
+ : ctx.app.router.FromPubkeys(getPubkeyTagValues(tags)).getUrls();
27
+ const req = makeDvmRequest({ event, relays });
28
+ await new Promise(resolve => {
29
+ req.emitter.on("result", (url, event) => {
30
+ onEvent(event);
31
+ resolve();
32
+ });
33
+ });
34
+ },
35
+ getPubkeysForScope: (scope) => {
36
+ const $pubkey = pubkey.get();
37
+ if (!$pubkey) {
38
+ return [];
39
+ }
40
+ switch (scope) {
41
+ case Scope.Self: return [$pubkey];
42
+ case Scope.Follows: return getFollows($pubkey);
43
+ case Scope.Network: return getNetwork($pubkey);
44
+ case Scope.Followers: return getFollowers($pubkey);
45
+ default: return [];
46
+ }
47
+ },
48
+ getPubkeysForWOTRange: (min, max) => {
49
+ const pubkeys = [];
50
+ const thresholdMin = maxWot.get() * min;
51
+ const thresholdMax = maxWot.get() * max;
52
+ for (const [tpk, score] of wotGraph.get().entries()) {
53
+ if (score >= thresholdMin && score <= thresholdMax) {
54
+ pubkeys.push(tpk);
55
+ }
56
+ }
57
+ return pubkeys;
58
+ },
59
+ });
60
+ //# sourceMappingURL=feeds.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feeds.mjs","sourceRoot":"","sources":["../../src/feeds.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.displayHandle = exports.deriveHandleForPubkey = exports.loadHandle = exports.deriveHandle = exports.handlesByNip05 = exports.fetchHandles = exports.handles = exports.queryProfile = exports.NIP05_REGEX = void 0;
4
+ exports.displayHandle = exports.displayNip05 = exports.deriveHandleForPubkey = exports.loadHandle = exports.deriveHandle = exports.handlesByNip05 = exports.fetchHandles = exports.handles = exports.queryProfile = exports.NIP05_REGEX = void 0;
5
5
  const store_1 = require("svelte/store");
6
6
  const lib_1 = require("@welshman/lib");
7
7
  const collection_1 = require("./collection.cjs");
@@ -77,6 +77,8 @@ const deriveHandleForPubkey = (pubkey, request = {}) => (0, store_1.derived)([ex
77
77
  return $handlesByNip05.get($profile.nip05);
78
78
  });
79
79
  exports.deriveHandleForPubkey = deriveHandleForPubkey;
80
- const displayHandle = (handle) => handle.nip05.startsWith("_@") ? (0, lib_1.last)(handle.nip05.split("@")) : handle.nip05;
80
+ const displayNip05 = (nip05) => ((nip05 === null || nip05 === void 0 ? void 0 : nip05.startsWith("_@")) ? (0, lib_1.last)(nip05.split("@")) : nip05);
81
+ exports.displayNip05 = displayNip05;
82
+ const displayHandle = (handle) => (0, exports.displayNip05)(handle.nip05);
81
83
  exports.displayHandle = displayHandle;
82
84
  //# sourceMappingURL=handles.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"handles.cjs","sourceRoot":"","sources":["../../src/handles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handles.cjs","sourceRoot":"","sources":["../../src/handles.ts"],"names":[],"mappings":"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"}
@@ -17,4 +17,5 @@ export declare const handles: import("svelte/store").Writable<Handle[]>;
17
17
  export declare const fetchHandles: (nip05s: string[]) => Promise<Map<string, Handle>>;
18
18
  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>;
19
19
  export declare const deriveHandleForPubkey: (pubkey: string, request?: Partial<SubscribeRequestWithHandlers>) => import("svelte/store").Readable<Handle | undefined>;
20
+ export declare const displayNip05: (nip05: string) => string;
20
21
  export declare const displayHandle: (handle: Handle) => string;
@@ -70,5 +70,6 @@ export const deriveHandleForPubkey = (pubkey, request = {}) => derived([handlesB
70
70
  loadHandle($profile.nip05);
71
71
  return $handlesByNip05.get($profile.nip05);
72
72
  });
73
- export const displayHandle = (handle) => handle.nip05.startsWith("_@") ? last(handle.nip05.split("@")) : handle.nip05;
73
+ export const displayNip05 = (nip05) => ((nip05 === null || nip05 === void 0 ? void 0 : nip05.startsWith("_@")) ? last(nip05.split("@")) : nip05);
74
+ export const displayHandle = (handle) => displayNip05(handle.nip05);
74
75
  //# sourceMappingURL=handles.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"handles.mjs","sourceRoot":"","sources":["../../src/handles.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,cAAc;OAEvC,EAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,eAAe;OAC9E,EAAC,UAAU,EAAC;OACZ,EAAC,aAAa,EAAC;AAStB,MAAM,CAAC,MAAM,WAAW,GAAG,yCAAyC,CAAA;AAEpE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAEtC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAE5B,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,CAAA;IAErC,IAAI;QACF,MAAM,EAAC,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAC,GAAG,MAAM,SAAS,CAAC,WAAW,MAAM,gCAAgC,IAAI,EAAE,CAAC,CAAA;QAEjH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QAE1B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,SAAS,CAAA;SACjB;QAED,OAAO;YACL,KAAK;YACL,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;SACvB,CAAA;KACF;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,MAAgB,EAAE,EAAE;IACrD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,YAAa,CAAA;IAClC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEhD,oFAAoF;IACpF,IAAI,IAAI,EAAE;QACR,MAAM,GAAG,GAAQ,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,QAAQ,CAAC,GAAG,IAAI,cAAc,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC,CAAA;QAErG,KAAK,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAC,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,EAAE,EAAE;YACnD,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SAChC;KACF;SAAM;QACL,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,CAClG,CAAA;QAED,KAAK,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,IAAI,OAAO,EAAE;YACnC,IAAI,IAAI,EAAE;gBACR,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;aAChC;SACF;KACF;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,EACX,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,YAAY,EACxB,QAAQ,EAAE,UAAU,GACrB,GAAG,UAAU,CAAC;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK;IACxC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAgB,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,CAAA;QAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAElC,IAAI,SAAS,EAAE;gBACb,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAC,GAAG,SAAS,EAAE,KAAK,EAAC,CAAC,CAAA;aACxC;SACF;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEvC,OAAO,MAAM,CAAA;IACf,CAAC,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,UAAiD,EAAE,EAAE,EAAE,CAC3G,OAAO,CACL,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAChD,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,EAAE;IAC9B,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,EAAE;QACpB,OAAO,SAAS,CAAA;KACjB;IAED,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE1B,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5C,CAAC,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CAC9C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA"}
1
+ {"version":3,"file":"handles.mjs","sourceRoot":"","sources":["../../src/handles.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./context.cjs"), exports);
18
18
  __exportStar(require("./core.cjs"), exports);
19
19
  __exportStar(require("./collection.cjs"), exports);
20
+ __exportStar(require("./commands.cjs"), exports);
21
+ __exportStar(require("./feeds.cjs"), exports);
20
22
  __exportStar(require("./freshness.cjs"), exports);
21
23
  __exportStar(require("./follows.cjs"), exports);
22
24
  __exportStar(require("./handles.cjs"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAAyB;AACzB,6CAAsB;AACtB,mDAA4B;AAC5B,kDAA2B;AAC3B,gDAAyB;AACzB,gDAAyB;AACzB,8CAAuB;AACvB,kDAA2B;AAC3B,iDAA0B;AAC1B,+CAAwB;AACxB,wDAAiC;AACjC,+CAAwB;AACxB,+CAAwB;AACxB,gDAAyB;AACzB,gDAAyB;AACzB,6CAAsB;AACtB,6CAAsB;AACtB,8CAAuB;AACvB,+CAAwB;AACxB,6CAAsB;AACtB,6CAAsB;AACtB,4CAAqB;AACrB,gDAAyB"}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAAyB;AACzB,6CAAsB;AACtB,mDAA4B;AAC5B,iDAA0B;AAC1B,8CAAuB;AACvB,kDAA2B;AAC3B,gDAAyB;AACzB,gDAAyB;AACzB,8CAAuB;AACvB,kDAA2B;AAC3B,iDAA0B;AAC1B,+CAAwB;AACxB,wDAAiC;AACjC,+CAAwB;AACxB,+CAAwB;AACxB,gDAAyB;AACzB,gDAAyB;AACzB,6CAAsB;AACtB,6CAAsB;AACtB,8CAAuB;AACvB,+CAAwB;AACxB,6CAAsB;AACtB,6CAAsB;AACtB,4CAAqB;AACrB,gDAAyB"}
@@ -1,6 +1,8 @@
1
1
  export * from './context';
2
2
  export * from './core';
3
3
  export * from './collection';
4
+ export * from './commands';
5
+ export * from './feeds';
4
6
  export * from './freshness';
5
7
  export * from './follows';
6
8
  export * from './handles';
@@ -1,6 +1,8 @@
1
1
  export * from "./context.mjs";
2
2
  export * from "./core.mjs";
3
3
  export * from "./collection.mjs";
4
+ export * from "./commands.mjs";
5
+ export * from "./feeds.mjs";
4
6
  export * from "./freshness.mjs";
5
7
  export * from "./follows.mjs";
6
8
  export * from "./handles.mjs";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.onAuth = exports.authChallenges = exports.signer = exports.getSigner = exports.nip46Perms = exports.dropSession = exports.updateSession = exports.putSession = exports.addSession = exports.getSession = exports.session = exports.sessions = exports.pubkey = void 0;
3
+ exports.nip44EncryptToSelf = exports.onAuth = exports.authChallenges = exports.signer = exports.getSigner = exports.nip46Perms = exports.dropSession = exports.updateSession = exports.putSession = exports.addSession = exports.getSession = exports.session = exports.sessions = exports.pubkey = void 0;
4
4
  const store_1 = require("svelte/store");
5
5
  const lib_1 = require("@welshman/lib");
6
6
  const util_1 = require("@welshman/util");
@@ -58,4 +58,13 @@ const onAuth = async (url, challenge) => {
58
58
  return event;
59
59
  };
60
60
  exports.onAuth = onAuth;
61
+ const nip44EncryptToSelf = (payload) => {
62
+ const $pubkey = exports.pubkey.get();
63
+ const $signer = exports.signer.get();
64
+ if (!$signer) {
65
+ throw new Error("Unable to encrypt to self without valid signer");
66
+ }
67
+ return $signer.nip44.encrypt($pubkey, payload);
68
+ };
69
+ exports.nip44EncryptToSelf = nip44EncryptToSelf;
61
70
  //# sourceMappingURL=session.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.cjs","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.cjs","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
@@ -21,3 +21,4 @@ export declare const getSigner: (...args: any[]) => Nip07Signer | Nip01Signer |
21
21
  export declare const signer: import("@welshman/store").ReadableWithGetter<Nip07Signer | Nip01Signer | Nip46Signer | Nip55Signer | null>;
22
22
  export declare const authChallenges: Set<unknown>;
23
23
  export declare const onAuth: (url: string, challenge: string) => Promise<any>;
24
+ export declare const nip44EncryptToSelf: (payload: string) => Promise<string>;
@@ -49,4 +49,12 @@ export const onAuth = async (url, challenge) => {
49
49
  ctx.net.pool.get(url).send(["AUTH", event]);
50
50
  return event;
51
51
  };
52
+ export const nip44EncryptToSelf = (payload) => {
53
+ const $pubkey = pubkey.get();
54
+ const $signer = signer.get();
55
+ if (!$signer) {
56
+ throw new Error("Unable to encrypt to self without valid signer");
57
+ }
58
+ return $signer.nip44.encrypt($pubkey, payload);
59
+ };
52
60
  //# sourceMappingURL=session.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.mjs","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.mjs","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,45 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publishThunk = exports.makeThunk = exports.thunkWorker = exports.publishStatusData = void 0;
3
+ exports.publishThunk = exports.makeThunk = exports.prepEvent = exports.thunkWorker = exports.publishStatusData = void 0;
4
4
  const store_1 = require("svelte/store");
5
5
  const lib_1 = require("@welshman/lib");
6
6
  const signer_1 = require("@welshman/signer");
7
+ const util_1 = require("@welshman/util");
7
8
  const net_1 = require("@welshman/net");
8
9
  const core_1 = require("./core.cjs");
9
10
  const session_1 = require("./session.cjs");
10
11
  exports.publishStatusData = (0, store_1.writable)({});
11
12
  exports.thunkWorker = new lib_1.Worker();
12
13
  exports.thunkWorker.addGlobalHandler(async ({ event, relays, resolve }) => {
13
- const session = (0, session_1.getSession)(event.pubkey);
14
- if (!session) {
15
- return console.warn(`No session found for ${event.pubkey}`);
14
+ // If we were given a wrapped event, make sure to publish the wrapper, not the rumor
15
+ if ((0, util_1.isUnwrappedEvent)(event)) {
16
+ event = event.wrap;
16
17
  }
17
- const signedEvent = await (0, session_1.getSigner)(session).sign(event);
18
+ // If the event was already signed, leave it alone. Otherwise, sign it now. This is to
19
+ // decrease apparent latency in the UI that results from waiting for remote signers
20
+ if (!(0, util_1.isSignedEvent)(event)) {
21
+ const signer = (0, session_1.getSigner)((0, session_1.getSession)(event.pubkey));
22
+ if (!signer) {
23
+ return console.warn(`No signer found for ${event.pubkey}`);
24
+ }
25
+ event = await signer.sign(event);
26
+ }
27
+ // We're guaranteed to have a signed event at this point
28
+ const signedEvent = event;
29
+ const { id, sig } = signedEvent;
30
+ // Send it off
18
31
  const pub = (0, net_1.publish)({ event: signedEvent, relays });
19
32
  // Copy the signature over since we had deferred it
20
- const savedEvent = core_1.repository.getEvent(signedEvent.id);
33
+ const savedEvent = core_1.repository.getEvent(id);
21
34
  // The event may already be replaced or deleted
22
35
  if (savedEvent) {
23
- savedEvent.sig = signedEvent.sig;
36
+ savedEvent.sig = sig;
24
37
  }
25
38
  // Track publish success
26
- const { id } = event;
27
39
  const statusByUrl = {};
28
40
  pub.emitter.on("*", (status, url, message) => {
29
- exports.publishStatusData.update((0, lib_1.assoc)(id, Object.assign(statusByUrl, { [url]: { id, url, status, message } })));
41
+ Object.assign(statusByUrl, { [url]: { id, url, status, message } });
42
+ exports.publishStatusData.update((0, lib_1.assoc)(id, statusByUrl));
30
43
  if (status === net_1.PublishStatus.Success) {
31
44
  core_1.tracker.track(id, url);
32
45
  }
@@ -36,17 +49,25 @@ exports.thunkWorker.addGlobalHandler(async ({ event, relays, resolve }) => {
36
49
  }
37
50
  });
38
51
  });
39
- const makeThunk = ({ event, relays }) => {
40
- const $pubkey = (0, store_1.get)(session_1.pubkey);
41
- if (!$pubkey) {
42
- throw new Error("Unable to make thunk if no user is logged in");
52
+ const prepEvent = (event) => {
53
+ if (!(0, util_1.isStampedEvent)(event)) {
54
+ event = (0, signer_1.stamp)(event);
55
+ }
56
+ if (!(0, util_1.isOwnedEvent)(event)) {
57
+ event = (0, signer_1.own)(event, (0, store_1.get)(session_1.pubkey));
58
+ }
59
+ if (!(0, util_1.isHashedEvent)(event)) {
60
+ event = (0, signer_1.hash)(event);
43
61
  }
44
- return { event: (0, signer_1.hash)((0, signer_1.own)((0, signer_1.stamp)(event), $pubkey)), relays };
62
+ return event;
45
63
  };
64
+ exports.prepEvent = prepEvent;
65
+ const makeThunk = (params) => params;
46
66
  exports.makeThunk = makeThunk;
47
- const publishThunk = (thunk) => new Promise(resolve => {
48
- exports.thunkWorker.push({ ...thunk, resolve });
49
- core_1.repository.publish(thunk.event);
67
+ const publishThunk = (params) => new Promise(resolve => {
68
+ const event = (0, exports.prepEvent)(params.event);
69
+ exports.thunkWorker.push({ ...params, event, resolve });
70
+ core_1.repository.publish(event);
50
71
  });
51
72
  exports.publishThunk = publishThunk;
52
73
  //# sourceMappingURL=thunk.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"thunk.cjs","sourceRoot":"","sources":["../../src/thunk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thunk.cjs","sourceRoot":"","sources":["../../src/thunk.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="svelte" />
2
2
  import { Worker } from '@welshman/lib';
3
- import type { HashedEvent, EventTemplate } from '@welshman/util';
3
+ import type { TrustedEvent, EventTemplate, StampedEvent, OwnedEvent } from '@welshman/util';
4
4
  import { PublishStatus } from "@welshman/net";
5
5
  export type PublishStatusData = {
6
6
  id: string;
@@ -11,27 +11,17 @@ export type PublishStatusData = {
11
11
  export type PublishStatusDataByUrl = Record<string, PublishStatusData>;
12
12
  export type PublishStatusDataByUrlById = Record<string, PublishStatusDataByUrl>;
13
13
  export declare const publishStatusData: import("svelte/store").Writable<PublishStatusDataByUrlById>;
14
- export type Thunk = {
15
- event: HashedEvent;
14
+ export type ThunkWithResolve = {
15
+ event: TrustedEvent;
16
16
  relays: string[];
17
- };
18
- export type ThunkWithResolve = Thunk & {
19
17
  resolve: (data: PublishStatusDataByUrl) => void;
20
18
  };
21
19
  export declare const thunkWorker: Worker<ThunkWithResolve>;
20
+ export type ThunkEvent = EventTemplate | StampedEvent | OwnedEvent | TrustedEvent;
21
+ export declare const prepEvent: (event: ThunkEvent) => TrustedEvent;
22
22
  export type ThunkParams = {
23
- event: EventTemplate;
24
- relays: string[];
25
- };
26
- export declare const makeThunk: ({ event, relays }: ThunkParams) => {
27
- event: {
28
- id: string;
29
- tags: string[][];
30
- content: string;
31
- kind: number;
32
- created_at: number;
33
- pubkey: string;
34
- };
23
+ event: ThunkEvent;
35
24
  relays: string[];
36
25
  };
37
- export declare const publishThunk: (thunk: Thunk) => Promise<PublishStatusDataByUrl>;
26
+ export declare const makeThunk: (params: ThunkParams) => ThunkParams;
27
+ export declare const publishThunk: (params: ThunkParams) => Promise<PublishStatusDataByUrl>;
@@ -1,29 +1,42 @@
1
1
  import { writable, get } from 'svelte/store';
2
2
  import { Worker, assoc } from '@welshman/lib';
3
3
  import { stamp, own, hash } from "@welshman/signer";
4
+ import { isStampedEvent, isOwnedEvent, isHashedEvent, isUnwrappedEvent, isSignedEvent } from '@welshman/util';
4
5
  import { publish, PublishStatus } from "@welshman/net";
5
6
  import { repository, tracker } from "./core.mjs";
6
7
  import { pubkey, getSession, getSigner } from "./session.mjs";
7
8
  export const publishStatusData = writable({});
8
9
  export const thunkWorker = new Worker();
9
10
  thunkWorker.addGlobalHandler(async ({ event, relays, resolve }) => {
10
- const session = getSession(event.pubkey);
11
- if (!session) {
12
- return console.warn(`No session found for ${event.pubkey}`);
11
+ // If we were given a wrapped event, make sure to publish the wrapper, not the rumor
12
+ if (isUnwrappedEvent(event)) {
13
+ event = event.wrap;
13
14
  }
14
- const signedEvent = await getSigner(session).sign(event);
15
+ // If the event was already signed, leave it alone. Otherwise, sign it now. This is to
16
+ // decrease apparent latency in the UI that results from waiting for remote signers
17
+ if (!isSignedEvent(event)) {
18
+ const signer = getSigner(getSession(event.pubkey));
19
+ if (!signer) {
20
+ return console.warn(`No signer found for ${event.pubkey}`);
21
+ }
22
+ event = await signer.sign(event);
23
+ }
24
+ // We're guaranteed to have a signed event at this point
25
+ const signedEvent = event;
26
+ const { id, sig } = signedEvent;
27
+ // Send it off
15
28
  const pub = publish({ event: signedEvent, relays });
16
29
  // Copy the signature over since we had deferred it
17
- const savedEvent = repository.getEvent(signedEvent.id);
30
+ const savedEvent = repository.getEvent(id);
18
31
  // The event may already be replaced or deleted
19
32
  if (savedEvent) {
20
- savedEvent.sig = signedEvent.sig;
33
+ savedEvent.sig = sig;
21
34
  }
22
35
  // Track publish success
23
- const { id } = event;
24
36
  const statusByUrl = {};
25
37
  pub.emitter.on("*", (status, url, message) => {
26
- publishStatusData.update(assoc(id, Object.assign(statusByUrl, { [url]: { id, url, status, message } })));
38
+ Object.assign(statusByUrl, { [url]: { id, url, status, message } });
39
+ publishStatusData.update(assoc(id, statusByUrl));
27
40
  if (status === PublishStatus.Success) {
28
41
  tracker.track(id, url);
29
42
  }
@@ -33,15 +46,22 @@ thunkWorker.addGlobalHandler(async ({ event, relays, resolve }) => {
33
46
  }
34
47
  });
35
48
  });
36
- export const makeThunk = ({ event, relays }) => {
37
- const $pubkey = get(pubkey);
38
- if (!$pubkey) {
39
- throw new Error("Unable to make thunk if no user is logged in");
49
+ export const prepEvent = (event) => {
50
+ if (!isStampedEvent(event)) {
51
+ event = stamp(event);
52
+ }
53
+ if (!isOwnedEvent(event)) {
54
+ event = own(event, get(pubkey));
55
+ }
56
+ if (!isHashedEvent(event)) {
57
+ event = hash(event);
40
58
  }
41
- return { event: hash(own(stamp(event), $pubkey)), relays };
59
+ return event;
42
60
  };
43
- export const publishThunk = (thunk) => new Promise(resolve => {
44
- thunkWorker.push({ ...thunk, resolve });
45
- repository.publish(thunk.event);
61
+ export const makeThunk = (params) => params;
62
+ export const publishThunk = (params) => new Promise(resolve => {
63
+ const event = prepEvent(params.event);
64
+ thunkWorker.push({ ...params, event, resolve });
65
+ repository.publish(event);
46
66
  });
47
67
  //# sourceMappingURL=thunk.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"thunk.mjs","sourceRoot":"","sources":["../../src/thunk.ts"],"names":[],"mappings":"OAAO,EAAC,QAAQ,EAAE,GAAG,EAAC,MAAM,cAAc;OACnC,EAAC,MAAM,EAAE,KAAK,EAAC,MAAM,eAAe;OACpC,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAC,MAAM,kBAAkB;OAE1C,EAAC,OAAO,EAAE,aAAa,EAAC,MAAM,eAAe;OAC7C,EAAC,UAAU,EAAE,OAAO,EAAC;OACrB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAC;AAatC,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAA6B,EAAE,CAAC,CAAA;AAWzE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,MAAM,EAAoB,CAAA;AAEzD,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAmB,EAAE,EAAE;IAChF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAExC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,OAAO,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;KAC5D;IAED,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,EAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAC,CAAC,CAAA;IAEjD,mDAAmD;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAgB,CAAA;IAErE,+CAA+C;IAC/C,IAAI,UAAU,EAAE;QACd,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAA;KACjC;IAED,wBAAwB;IACxB,MAAM,EAAC,EAAE,EAAC,GAAG,KAAK,CAAA;IAClB,MAAM,WAAW,GAA2B,EAAE,CAAA;IAE9C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAqB,EAAE,GAAW,EAAE,OAAe,EAAE,EAAE;QAC1E,iBAAiB,CAAC,MAAM,CACtB,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAC,CAAC,GAAG,CAAC,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAC,EAAC,CAAC,CAAC,CAC3E,CAAA;QAED,IAAI,MAAM,KAAK,aAAa,CAAC,OAAO,EAAE;YACpC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;SACvB;QAED,IACE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM;YACjF,MAAM,CAAC,MAAM,EACb;YACA,OAAO,CAAC,WAAW,CAAC,CAAA;SACrB;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAOF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAc,EAAE,EAAE;IACxD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;IAE3B,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;IAED,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAC,CAAA;AAC1D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE,CAC3C,IAAI,OAAO,CAAyB,OAAO,CAAC,EAAE;IAC5C,WAAW,CAAC,IAAI,CAAC,EAAC,GAAG,KAAK,EAAE,OAAO,EAAC,CAAC,CAAA;IACrC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"thunk.mjs","sourceRoot":"","sources":["../../src/thunk.ts"],"names":[],"mappings":"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"}
package/build/src/wot.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWotScore = exports.wotGraph = exports.getFollowsWhoMute = exports.getFollowsWhoFollow = exports.getMuters = exports.getFollowers = exports.mutersByPubkey = exports.followersByPubkey = exports.getMutes = exports.getFollows = void 0;
3
+ exports.getWotScore = exports.maxWot = exports.wotGraph = exports.getFollowsWhoMute = exports.getFollowsWhoFollow = exports.getMuters = exports.getFollowers = exports.mutersByPubkey = exports.followersByPubkey = exports.getNetwork = exports.getMutes = exports.getFollows = void 0;
4
4
  const throttle_debounce_1 = require("throttle-debounce");
5
5
  const store_1 = require("svelte/store");
6
6
  const lib_1 = require("@welshman/lib");
@@ -13,6 +13,19 @@ const getFollows = (pubkey) => (0, util_1.getPubkeyTagValues)((0, util_1.getList
13
13
  exports.getFollows = getFollows;
14
14
  const getMutes = (pubkey) => (0, util_1.getPubkeyTagValues)((0, util_1.getListTags)(mutes_1.mutesByPubkey.get().get(pubkey)));
15
15
  exports.getMutes = getMutes;
16
+ const getNetwork = (pubkey) => {
17
+ const pubkeys = new Set((0, exports.getFollows)(pubkey));
18
+ const network = new Set();
19
+ for (const follow of pubkeys) {
20
+ for (const tpk of (0, exports.getFollows)(follow)) {
21
+ if (!pubkeys.has(tpk)) {
22
+ network.add(tpk);
23
+ }
24
+ }
25
+ }
26
+ return Array.from(network);
27
+ };
28
+ exports.getNetwork = getNetwork;
16
29
  exports.followersByPubkey = (0, store_2.withGetter)((0, store_1.derived)((0, store_2.throttled)(1000, follows_1.follows), lists => {
17
30
  const $followersByPubkey = new Map();
18
31
  for (const list of lists) {
@@ -40,6 +53,7 @@ exports.getFollowsWhoFollow = getFollowsWhoFollow;
40
53
  const getFollowsWhoMute = (pubkey, target) => (0, exports.getFollows)(pubkey).filter(other => (0, exports.getMutes)(other).includes(target));
41
54
  exports.getFollowsWhoMute = getFollowsWhoMute;
42
55
  exports.wotGraph = (0, store_2.withGetter)((0, store_1.writable)(new Map()));
56
+ exports.maxWot = (0, store_2.withGetter)((0, store_1.derived)(exports.wotGraph, $g => (0, lib_1.max)(Array.from($g.values()))));
43
57
  const buildGraph = (0, throttle_debounce_1.throttle)(1000, () => {
44
58
  const $pubkey = session_1.pubkey.get();
45
59
  const $graph = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"wot.cjs","sourceRoot":"","sources":["../../src/wot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wot.cjs","sourceRoot":"","sources":["../../src/wot.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export declare const getFollows: (pubkey: string) => string[];
2
2
  export declare const getMutes: (pubkey: string) => string[];
3
+ export declare const getNetwork: (pubkey: string) => string[];
3
4
  export declare const followersByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, Set<string>>>;
4
5
  export declare const mutersByPubkey: import("@welshman/store").ReadableWithGetter<Map<string, Set<string>>>;
5
6
  export declare const getFollowers: (pubkey: string) => string[];
@@ -7,4 +8,5 @@ export declare const getMuters: (pubkey: string) => string[];
7
8
  export declare const getFollowsWhoFollow: (pubkey: string, target: string) => string[];
8
9
  export declare const getFollowsWhoMute: (pubkey: string, target: string) => string[];
9
10
  export declare const wotGraph: import("@welshman/store").WritableWithGetter<Map<string, number>>;
11
+ export declare const maxWot: import("@welshman/store").ReadableWithGetter<number>;
10
12
  export declare const getWotScore: (pubkey: string, target: string) => number;
package/build/src/wot.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { throttle } from 'throttle-debounce';
2
2
  import { derived, writable } from 'svelte/store';
3
- import { addToMapKey, inc, dec } from '@welshman/lib';
3
+ import { max, addToMapKey, inc, dec } from '@welshman/lib';
4
4
  import { getListTags, getPubkeyTagValues } from '@welshman/util';
5
5
  import { throttled, withGetter } from '@welshman/store';
6
6
  import { pubkey } from "./session.mjs";
@@ -8,6 +8,18 @@ import { follows, followsByPubkey } from "./follows.mjs";
8
8
  import { mutes, mutesByPubkey } from "./mutes.mjs";
9
9
  export const getFollows = (pubkey) => getPubkeyTagValues(getListTags(followsByPubkey.get().get(pubkey)));
10
10
  export const getMutes = (pubkey) => getPubkeyTagValues(getListTags(mutesByPubkey.get().get(pubkey)));
11
+ export const getNetwork = (pubkey) => {
12
+ const pubkeys = new Set(getFollows(pubkey));
13
+ const network = new Set();
14
+ for (const follow of pubkeys) {
15
+ for (const tpk of getFollows(follow)) {
16
+ if (!pubkeys.has(tpk)) {
17
+ network.add(tpk);
18
+ }
19
+ }
20
+ }
21
+ return Array.from(network);
22
+ };
11
23
  export const followersByPubkey = withGetter(derived(throttled(1000, follows), lists => {
12
24
  const $followersByPubkey = new Map();
13
25
  for (const list of lists) {
@@ -31,6 +43,7 @@ export const getMuters = (pubkey) => Array.from(mutersByPubkey.get().get(pubkey)
31
43
  export const getFollowsWhoFollow = (pubkey, target) => getFollows(pubkey).filter(other => getFollows(other).includes(target));
32
44
  export const getFollowsWhoMute = (pubkey, target) => getFollows(pubkey).filter(other => getMutes(other).includes(target));
33
45
  export const wotGraph = withGetter(writable(new Map()));
46
+ export const maxWot = withGetter(derived(wotGraph, $g => max(Array.from($g.values()))));
34
47
  const buildGraph = throttle(1000, () => {
35
48
  const $pubkey = pubkey.get();
36
49
  const $graph = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"wot.mjs","sourceRoot":"","sources":["../../src/wot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wot.mjs","sourceRoot":"","sources":["../../src/wot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@welshman/app",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "author": "hodlbod",
5
5
  "license": "MIT",
6
6
  "description": "A collection of svelte stores for use in building nostr client applications.",
@@ -31,11 +31,13 @@
31
31
  "typescript": "~5.1.6"
32
32
  },
33
33
  "dependencies": {
34
- "@welshman/lib": "^0.0.18",
35
- "@welshman/net": "^0.0.23",
36
- "@welshman/signer": "^0.0.6",
37
- "@welshman/store": "^0.0.8",
38
- "@welshman/util": "^0.0.35",
34
+ "@welshman/lib": "~0.0.21",
35
+ "@welshman/feeds": "~0.0.20",
36
+ "@welshman/dvm": "~0.0.10",
37
+ "@welshman/net": "~0.0.25",
38
+ "@welshman/signer": "~0.0.8",
39
+ "@welshman/store": "~0.0.10",
40
+ "@welshman/util": "~0.0.37",
39
41
  "fuse.js": "^7.0.0",
40
42
  "idb": "^8.0.0",
41
43
  "svelte": "^4.2.18",