@welshman/app 0.12.5 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/src/index.d.ts +1 -0
- package/dist/app/src/index.d.ts.map +1 -1
- package/dist/app/src/index.js +1 -0
- package/dist/app/src/index.js.map +1 -1
- package/dist/app/src/plugins/base.d.ts +18 -41
- package/dist/app/src/plugins/base.d.ts.map +1 -1
- package/dist/app/src/plugins/base.js +25 -51
- package/dist/app/src/plugins/base.js.map +1 -1
- package/dist/app/src/plugins/blockedRelayLists.d.ts +1 -1
- package/dist/app/src/plugins/blockedRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/blossomServerLists.d.ts +1 -1
- package/dist/app/src/plugins/blossomServerLists.d.ts.map +1 -1
- package/dist/app/src/plugins/events.d.ts +5 -6
- package/dist/app/src/plugins/events.d.ts.map +1 -1
- package/dist/app/src/plugins/events.js +24 -38
- package/dist/app/src/plugins/events.js.map +1 -1
- package/dist/app/src/plugins/feedLists.d.ts +1 -1
- package/dist/app/src/plugins/feedLists.d.ts.map +1 -1
- package/dist/app/src/plugins/feeds.d.ts +1 -1
- package/dist/app/src/plugins/feeds.d.ts.map +1 -1
- package/dist/app/src/plugins/feeds.js +2 -1
- package/dist/app/src/plugins/feeds.js.map +1 -1
- package/dist/app/src/plugins/handles.d.ts +1 -1
- package/dist/app/src/plugins/handles.d.ts.map +1 -1
- package/dist/app/src/plugins/handles.js +2 -2
- package/dist/app/src/plugins/handles.js.map +1 -1
- package/dist/app/src/plugins/logger.d.ts +1 -1
- package/dist/app/src/plugins/logger.d.ts.map +1 -1
- package/dist/app/src/plugins/logger.js +1 -1
- package/dist/app/src/plugins/logger.js.map +1 -1
- package/dist/app/src/plugins/messagingRelayLists.d.ts +1 -1
- package/dist/app/src/plugins/messagingRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/notify.d.ts +23 -0
- package/dist/app/src/plugins/notify.d.ts.map +1 -0
- package/dist/app/src/plugins/notify.js +28 -0
- package/dist/app/src/plugins/notify.js.map +1 -0
- package/dist/app/src/plugins/pinboards.d.ts +1 -1
- package/dist/app/src/plugins/pinboards.d.ts.map +1 -1
- package/dist/app/src/plugins/pinboards.js +2 -1
- package/dist/app/src/plugins/pinboards.js.map +1 -1
- package/dist/app/src/plugins/plaintext.d.ts +6 -2
- package/dist/app/src/plugins/plaintext.d.ts.map +1 -1
- package/dist/app/src/plugins/plaintext.js +34 -14
- package/dist/app/src/plugins/plaintext.js.map +1 -1
- package/dist/app/src/plugins/profiles.d.ts +2 -1
- package/dist/app/src/plugins/profiles.d.ts.map +1 -1
- package/dist/app/src/plugins/profiles.js +2 -2
- package/dist/app/src/plugins/profiles.js.map +1 -1
- package/dist/app/src/plugins/publisher.d.ts +9 -5
- package/dist/app/src/plugins/publisher.d.ts.map +1 -1
- package/dist/app/src/plugins/publisher.js +108 -75
- package/dist/app/src/plugins/publisher.js.map +1 -1
- package/dist/app/src/plugins/relayLists.d.ts +1 -1
- package/dist/app/src/plugins/relayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/relayLists.js +1 -1
- package/dist/app/src/plugins/relayLists.js.map +1 -1
- package/dist/app/src/plugins/relayRoles.d.ts +1 -1
- package/dist/app/src/plugins/relayRoles.d.ts.map +1 -1
- package/dist/app/src/plugins/relayRoles.js +1 -1
- package/dist/app/src/plugins/relayRoles.js.map +1 -1
- package/dist/app/src/plugins/relays.d.ts +2 -1
- package/dist/app/src/plugins/relays.d.ts.map +1 -1
- package/dist/app/src/plugins/relays.js.map +1 -1
- package/dist/app/src/plugins/roomLists.d.ts +1 -1
- package/dist/app/src/plugins/roomLists.d.ts.map +1 -1
- package/dist/app/src/plugins/roomLists.js +2 -1
- package/dist/app/src/plugins/roomLists.js.map +1 -1
- package/dist/app/src/plugins/roomPins.d.ts +1 -1
- package/dist/app/src/plugins/roomPins.d.ts.map +1 -1
- package/dist/app/src/plugins/roomPins.js +1 -1
- package/dist/app/src/plugins/roomPins.js.map +1 -1
- package/dist/app/src/plugins/rooms.d.ts +1 -2
- package/dist/app/src/plugins/rooms.d.ts.map +1 -1
- package/dist/app/src/plugins/rooms.js +1 -2
- package/dist/app/src/plugins/rooms.js.map +1 -1
- package/dist/app/src/plugins/searchRelayLists.d.ts +1 -1
- package/dist/app/src/plugins/searchRelayLists.d.ts.map +1 -1
- package/dist/app/src/plugins/topics.d.ts +2 -1
- package/dist/app/src/plugins/topics.d.ts.map +1 -1
- package/dist/app/src/plugins/topics.js +2 -2
- package/dist/app/src/plugins/topics.js.map +1 -1
- package/dist/app/src/plugins/wot.d.ts +1 -1
- package/dist/app/src/plugins/wot.d.ts.map +1 -1
- package/dist/app/src/plugins/wot.js +1 -2
- package/dist/app/src/plugins/wot.js.map +1 -1
- package/dist/app/src/plugins/wraps.d.ts +5 -1
- package/dist/app/src/plugins/wraps.d.ts.map +1 -1
- package/dist/app/src/plugins/wraps.js +6 -10
- package/dist/app/src/plugins/wraps.js.map +1 -1
- package/dist/app/src/plugins/zapGoals.d.ts +1 -1
- package/dist/app/src/plugins/zapGoals.d.ts.map +1 -1
- package/dist/app/src/plugins/zapGoals.js +1 -1
- package/dist/app/src/plugins/zapGoals.js.map +1 -1
- package/dist/app/src/plugins/zappers.d.ts +1 -1
- package/dist/app/src/plugins/zappers.d.ts.map +1 -1
- package/dist/app/src/plugins/zappers.js +2 -2
- package/dist/app/src/plugins/zappers.js.map +1 -1
- package/dist/app/src/policy.d.ts +4 -0
- package/dist/app/src/policy.d.ts.map +1 -1
- package/dist/app/src/policy.js +12 -1
- package/dist/app/src/policy.js.map +1 -1
- package/dist/app/src/user.d.ts +2 -2
- package/dist/app/src/user.d.ts.map +1 -1
- package/dist/app/src/user.js.map +1 -1
- package/dist/domain/src/core/ListWriter.d.ts +6 -6
- package/dist/domain/src/kinds/Bolt12Offer.d.ts.map +1 -1
- package/dist/domain/src/kinds/Bolt12Offer.js +10 -9
- package/dist/domain/src/kinds/Bolt12Offer.js.map +1 -1
- package/dist/domain/src/kinds/Bolt12Zap.d.ts +6 -11
- package/dist/domain/src/kinds/Bolt12Zap.d.ts.map +1 -1
- package/dist/domain/src/kinds/Bolt12Zap.js +77 -105
- package/dist/domain/src/kinds/Bolt12Zap.js.map +1 -1
- package/dist/domain/src/kinds/Bolt12ZapIntent.d.ts +2 -0
- package/dist/domain/src/kinds/Bolt12ZapIntent.d.ts.map +1 -1
- package/dist/domain/src/kinds/Bolt12ZapIntent.js +31 -20
- package/dist/domain/src/kinds/Bolt12ZapIntent.js.map +1 -1
- package/dist/domain/src/other/Relay.d.ts +21 -0
- package/dist/domain/src/other/Relay.d.ts.map +1 -1
- package/dist/domain/src/other/Relay.js +6 -0
- package/dist/domain/src/other/Relay.js.map +1 -1
- package/dist/feeds/src/request.d.ts.map +1 -1
- package/dist/feeds/src/request.js +14 -5
- package/dist/feeds/src/request.js.map +1 -1
- package/dist/lib/src/TaskQueue.d.ts.map +1 -1
- package/dist/lib/src/TaskQueue.js +8 -2
- package/dist/lib/src/TaskQueue.js.map +1 -1
- package/dist/net/src/message.d.ts +4 -0
- package/dist/net/src/message.d.ts.map +1 -1
- package/dist/net/src/message.js +2 -0
- package/dist/net/src/message.js.map +1 -1
- package/dist/net/src/policy.d.ts.map +1 -1
- package/dist/net/src/policy.js +11 -3
- package/dist/net/src/policy.js.map +1 -1
- package/dist/net/src/repository.d.ts +24 -12
- package/dist/net/src/repository.d.ts.map +1 -1
- package/dist/net/src/repository.js +79 -70
- package/dist/net/src/repository.js.map +1 -1
- package/dist/net/src/util.d.ts +2 -1
- package/dist/net/src/util.d.ts.map +1 -1
- package/dist/net/src/util.js +6 -5
- package/dist/net/src/util.js.map +1 -1
- package/dist/net/src/wrapManager.d.ts +0 -2
- package/dist/net/src/wrapManager.d.ts.map +1 -1
- package/dist/net/src/wrapManager.js +8 -23
- package/dist/net/src/wrapManager.js.map +1 -1
- package/dist/signer/src/index.d.ts +1 -0
- package/dist/signer/src/index.d.ts.map +1 -1
- package/dist/signer/src/index.js +1 -0
- package/dist/signer/src/index.js.map +1 -1
- package/dist/signer/src/nip59.d.ts +13 -6
- package/dist/signer/src/nip59.d.ts.map +1 -1
- package/dist/signer/src/nip59.js +38 -19
- package/dist/signer/src/nip59.js.map +1 -1
- package/dist/signer/src/queue.d.ts +21 -0
- package/dist/signer/src/queue.d.ts.map +1 -0
- package/dist/signer/src/queue.js +40 -0
- package/dist/signer/src/queue.js.map +1 -0
- package/dist/signer/src/signers/nip01.d.ts +14 -2
- package/dist/signer/src/signers/nip01.d.ts.map +1 -1
- package/dist/signer/src/signers/nip01.js +6 -2
- package/dist/signer/src/signers/nip01.js.map +1 -1
- package/dist/signer/src/signers/nip07.d.ts +9 -9
- package/dist/signer/src/signers/nip07.d.ts.map +1 -1
- package/dist/signer/src/signers/nip07.js +15 -27
- package/dist/signer/src/signers/nip07.js.map +1 -1
- package/dist/signer/src/signers/nip46.d.ts +7 -3
- package/dist/signer/src/signers/nip46.d.ts.map +1 -1
- package/dist/signer/src/signers/nip46.js +12 -8
- package/dist/signer/src/signers/nip46.js.map +1 -1
- package/dist/signer/src/signers/nip55.d.ts +7 -7
- package/dist/signer/src/signers/nip55.d.ts.map +1 -1
- package/dist/signer/src/signers/nip55.js +33 -40
- package/dist/signer/src/signers/nip55.js.map +1 -1
- package/dist/signer/src/util.d.ts +27 -15
- package/dist/signer/src/util.d.ts.map +1 -1
- package/dist/signer/src/util.js +47 -14
- package/dist/signer/src/util.js.map +1 -1
- package/dist/store/src/misc.d.ts +18 -0
- package/dist/store/src/misc.d.ts.map +1 -1
- package/dist/store/src/misc.js +14 -0
- package/dist/store/src/misc.js.map +1 -1
- package/dist/store/src/repository.d.ts +29 -12
- package/dist/store/src/repository.d.ts.map +1 -1
- package/dist/store/src/repository.js +270 -206
- package/dist/store/src/repository.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/util/src/Bolt12.d.ts.map +1 -1
- package/dist/util/src/Bolt12.js +11 -8
- package/dist/util/src/Bolt12.js.map +1 -1
- package/dist/util/src/Events.d.ts +1 -0
- package/dist/util/src/Events.d.ts.map +1 -1
- package/dist/util/src/Events.js +10 -1
- package/dist/util/src/Events.js.map +1 -1
- package/dist/util/src/Lightning.d.ts +1 -0
- package/dist/util/src/Lightning.d.ts.map +1 -1
- package/dist/util/src/Lightning.js +1 -0
- package/dist/util/src/Lightning.js.map +1 -1
- package/package.json +15 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { noop, tryCatch, batcher, postJson } from "@welshman/lib";
|
|
2
2
|
import { queryProfile, displayNip05 } from "@welshman/util";
|
|
3
|
-
import { deriveDeduplicated } from "@welshman/store";
|
|
4
|
-
import { LoadableMapPlugin
|
|
3
|
+
import { deriveDeduplicated, projection } from "@welshman/store";
|
|
4
|
+
import { LoadableMapPlugin } from "./base.js";
|
|
5
5
|
import { Profiles } from "./profiles.js";
|
|
6
6
|
/**
|
|
7
7
|
* NIP-05 handles, keyed by nip05 identifier. A "local" loadable collection:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handles.js","sourceRoot":"","sources":["../../../../src/plugins/handles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAGzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"handles.js","sourceRoot":"","sources":["../../../../src/plugins/handles.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export type PartialLogMessage = {
|
|
|
17
17
|
export declare class Logger {
|
|
18
18
|
protected readonly app: IApp;
|
|
19
19
|
protected store: import("svelte/store").Writable<LogMessage[]>;
|
|
20
|
-
messages: import("
|
|
20
|
+
messages: import("@welshman/store").Projection<LogMessage[]>;
|
|
21
21
|
constructor(app: IApp);
|
|
22
22
|
log(source: string, { id, at, ...message }: PartialLogMessage): void;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,qBAAa,MAAM;IAIL,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI;IAHxC,SAAS,CAAC,KAAK,gDAA6B;IAC5C,QAAQ
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,qBAAa,MAAM;IAIL,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI;IAHxC,SAAS,CAAC,KAAK,gDAA6B;IAC5C,QAAQ,qDAAyB;gBAEF,GAAG,EAAE,IAAI;IAExC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAC,EAAe,EAAE,EAAe,EAAE,GAAG,OAAO,EAAC,EAAE,iBAAiB;CAGtF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { writable } from "svelte/store";
|
|
2
2
|
import { randomId } from "@welshman/lib";
|
|
3
|
-
import { projection } from "
|
|
3
|
+
import { projection } from "@welshman/store";
|
|
4
4
|
/**
|
|
5
5
|
* A logger which stores messages durably for inspection. Subscribe to `messages`
|
|
6
6
|
* (a projection) to read the log; append with `log(source, {...})`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/plugins/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAgB1C;;;GAGG;AACH,MAAM,OAAO,MAAM;IAIc;IAHrB,KAAK,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAA;IAC5C,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEjC,YAA+B,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;IAAG,CAAC;IAE5C,GAAG,CAAC,MAAc,EAAE,EAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAoB;QACnF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7F,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MessagingRelayListReader, MessagingRelayListWriter } from "@welshman/domain";
|
|
2
2
|
import { DerivedPlugin } from "./base.js";
|
|
3
|
-
import type { Projection } from "
|
|
3
|
+
import type { Projection } from "@welshman/store";
|
|
4
4
|
import type { IApp } from "../app.js";
|
|
5
5
|
/**
|
|
6
6
|
* Kind-10050 messaging relay lists (NIP-17), keyed by pubkey. Loaded via the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messagingRelayLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/messagingRelayLists.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"messagingRelayLists.d.ts","sourceRoot":"","sources":["../../../../src/plugins/messagingRelayLists.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAG/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,wBAAwB,CAAC;gBAClE,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,IAAI,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAoD;IAEjG,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,8CACa;IAErE,MAAM,GAAI,KAAK,MAAM,8CAA8C;IAEnE,SAAS,GAAI,KAAK,MAAM,8CAAiD;IAEzE,OAAO,GAAI,MAAM,MAAM,EAAE,8CAAgD;CAC1E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Socket } from "@welshman/net";
|
|
2
|
+
import { MapPlugin } from "./base.js";
|
|
3
|
+
export type NotifyItem = {
|
|
4
|
+
url: string;
|
|
5
|
+
message: string;
|
|
6
|
+
receivedAt: number;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The latest NOTIFY message per relay url. A relay sends one to tell the
|
|
10
|
+
* authenticated user something about their account — a failed payment, an
|
|
11
|
+
* expiring membership — and replaces it by sending another, so only the most
|
|
12
|
+
* recent one per relay is kept. A pure store; the socket wiring that fills it
|
|
13
|
+
* lives in `appPolicyNotify`.
|
|
14
|
+
*
|
|
15
|
+
* The store is in memory. A relay may resend its latest message after every
|
|
16
|
+
* AUTH, so anything that needs a message to stay dismissed persists that
|
|
17
|
+
* itself.
|
|
18
|
+
*/
|
|
19
|
+
export declare class Notify extends MapPlugin<NotifyItem> {
|
|
20
|
+
private onSocketReceive;
|
|
21
|
+
monitorSocket: (socket: Socket) => () => void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=notify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../../src/plugins/notify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,MAAM,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;GAUG;AACH,qBAAa,MAAO,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC/C,OAAO,CAAC,eAAe,CAItB;IAED,aAAa,GAAI,QAAQ,MAAM,gBAM9B;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { now } from "@welshman/lib";
|
|
2
|
+
import { SocketEvent, isRelayNotify } from "@welshman/net";
|
|
3
|
+
import { MapPlugin } from "./base.js";
|
|
4
|
+
/**
|
|
5
|
+
* The latest NOTIFY message per relay url. A relay sends one to tell the
|
|
6
|
+
* authenticated user something about their account — a failed payment, an
|
|
7
|
+
* expiring membership — and replaces it by sending another, so only the most
|
|
8
|
+
* recent one per relay is kept. A pure store; the socket wiring that fills it
|
|
9
|
+
* lives in `appPolicyNotify`.
|
|
10
|
+
*
|
|
11
|
+
* The store is in memory. A relay may resend its latest message after every
|
|
12
|
+
* AUTH, so anything that needs a message to stay dismissed persists that
|
|
13
|
+
* itself.
|
|
14
|
+
*/
|
|
15
|
+
export class Notify extends MapPlugin {
|
|
16
|
+
onSocketReceive = (message, url) => {
|
|
17
|
+
if (isRelayNotify(message)) {
|
|
18
|
+
this.set(url, { url, message: message[1], receivedAt: now() });
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
monitorSocket = (socket) => {
|
|
22
|
+
socket.on(SocketEvent.Receive, this.onSocketReceive);
|
|
23
|
+
return () => {
|
|
24
|
+
socket.off(SocketEvent.Receive, this.onSocketReceive);
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=notify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../../src/plugins/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACjC,OAAO,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,eAAe,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAQnC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,MAAO,SAAQ,SAAqB;IACvC,eAAe,GAAG,CAAC,OAAqB,EAAE,GAAW,EAAE,EAAE;QAC/D,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC,CAAA;IAED,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE;QACjC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAEpD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QACvD,CAAC,CAAA;IACH,CAAC,CAAA;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PinboardReader, PinboardWriter, PinReader, PinWriter } from "@welshman/domain";
|
|
2
2
|
import { DerivedPlugin } from "./base.js";
|
|
3
|
-
import type { Projection } from "
|
|
3
|
+
import type { Projection } from "@welshman/store";
|
|
4
4
|
import type { IApp } from "../app.js";
|
|
5
5
|
export type PinboardFields = {
|
|
6
6
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinboards.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pinboards.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAO,SAAS,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"pinboards.d.ts","sourceRoot":"","sources":["../../../../src/plugins/pinboards.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAO,SAAS,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAEpG,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAI/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,CAAC;gBAC9C,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,SAAS,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,cAAc,EAAE,CAAC,CAC0B;IAEpF,aAAa,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACyB;IAEnF,MAAM,GAAU,QAAQ,cAAc,8CASrC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,8CAUpE;CACF;AAED;;;GAGG;AACH,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;gBACpC,GAAG,EAAE,IAAI;IAQrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAQhD,QAAQ,GAAI,SAAS,MAAM,KAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAC8B;IAEnF,UAAU,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAC4C;IAIlG,YAAY,GAAU,SAAS,MAAM,EAAE,aAAY,MAAM,EAAO,sDAS/D;IAED,cAAc,GAAI,QAAQ,MAAM,EAAE,aAAY,MAAM,EAAO,sDACmB;IAE9E,MAAM,GAAU,QAAQ,SAAS,8CAEhC;IAED,MAAM,GAAU,SAAS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,8CAU/D;IAED,UAAU,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,8CACY;IAExD,eAAe,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,8CACU;CAC5D"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { uniq } from "@welshman/lib";
|
|
2
2
|
import { Address, PINBOARD, PIN, inbox } from "@welshman/util";
|
|
3
3
|
import { Pinboard, Pin } from "@welshman/domain";
|
|
4
|
-
import {
|
|
4
|
+
import { projectFrom } from "@welshman/store";
|
|
5
|
+
import { DerivedPlugin } from "./base.js";
|
|
5
6
|
import { Network } from "./network.js";
|
|
6
7
|
import { Router } from "./router.js";
|
|
7
8
|
import { Domain } from "./domain.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinboards.js","sourceRoot":"","sources":["../../../../src/plugins/pinboards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAC,QAAQ,EAAkC,GAAG,EAAuB,MAAM,kBAAkB,CAAA;AACpG,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"pinboards.js","sourceRoot":"","sources":["../../../../src/plugins/pinboards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
import type { SignerOptions } from "@welshman/signer";
|
|
1
2
|
import { MapPlugin } from "./base.js";
|
|
2
3
|
/**
|
|
3
4
|
* A cache of decrypted content, keyed by the ciphertext. Decryption itself is
|
|
4
5
|
* supplied by the caller (the signer's underlying decrypt), so the cache stays
|
|
5
6
|
* independent of which signer produced the plaintext — and `appPolicyCacheDecrypt`
|
|
6
7
|
* can layer it onto `user.signer` without recursing back into the wrapped signer.
|
|
7
|
-
*
|
|
8
|
+
*
|
|
9
|
+
* A caller shares a pending decryption requested at least as urgently, so concurrent callers
|
|
10
|
+
* prompt the signer once. An abort fails only the caller that started the decryption.
|
|
8
11
|
*/
|
|
9
12
|
export declare class Plaintext extends MapPlugin<string> {
|
|
10
13
|
private pending;
|
|
11
|
-
ensure: (ciphertext: string, decrypt: () => Promise<string
|
|
14
|
+
ensure: (ciphertext: string, decrypt: () => Promise<string>, options?: SignerOptions) => Promise<string>;
|
|
12
15
|
private decryptOnce;
|
|
16
|
+
private start;
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=plaintext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plaintext.d.ts","sourceRoot":"","sources":["../../../../src/plugins/plaintext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"plaintext.d.ts","sourceRoot":"","sources":["../../../../src/plugins/plaintext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AASnC;;;;;;;;GAQG;AACH,qBAAa,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAgC;IAE/C,MAAM,GACJ,YAAY,MAAM,EAClB,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,EAC9B,UAAS,aAAkB,KAC1B,OAAO,CAAC,MAAM,CAAC,CAQjB;IAED,OAAO,CAAC,WAAW,CAoBlB;IAED,OAAO,CAAC,KAAK,CAoBZ;CACF"}
|
|
@@ -1,33 +1,53 @@
|
|
|
1
1
|
import { MapPlugin } from "./base.js";
|
|
2
|
+
const priorityOf = (options) => options.priority ?? 0;
|
|
2
3
|
/**
|
|
3
4
|
* A cache of decrypted content, keyed by the ciphertext. Decryption itself is
|
|
4
5
|
* supplied by the caller (the signer's underlying decrypt), so the cache stays
|
|
5
6
|
* independent of which signer produced the plaintext — and `appPolicyCacheDecrypt`
|
|
6
7
|
* can layer it onto `user.signer` without recursing back into the wrapped signer.
|
|
7
|
-
*
|
|
8
|
+
*
|
|
9
|
+
* A caller shares a pending decryption requested at least as urgently, so concurrent callers
|
|
10
|
+
* prompt the signer once. An abort fails only the caller that started the decryption.
|
|
8
11
|
*/
|
|
9
12
|
export class Plaintext extends MapPlugin {
|
|
10
13
|
pending = new Map();
|
|
11
|
-
ensure = async (ciphertext, decrypt) => {
|
|
14
|
+
ensure = async (ciphertext, decrypt, options = {}) => {
|
|
12
15
|
let result = this.get(ciphertext);
|
|
13
16
|
if (result === undefined) {
|
|
14
|
-
result = await this.decryptOnce(ciphertext, decrypt);
|
|
17
|
+
result = await this.decryptOnce(ciphertext, decrypt, options);
|
|
15
18
|
}
|
|
16
19
|
return result;
|
|
17
20
|
};
|
|
18
|
-
decryptOnce = (ciphertext, decrypt) => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
.
|
|
27
|
-
this.pending.delete(ciphertext);
|
|
21
|
+
decryptOnce = (ciphertext, decrypt, options) => {
|
|
22
|
+
const shared = this.pending.get(ciphertext);
|
|
23
|
+
let promise;
|
|
24
|
+
if (shared && priorityOf(shared.options) >= priorityOf(options)) {
|
|
25
|
+
// A caller left behind by another's abort asks for the plaintext itself
|
|
26
|
+
promise = shared.promise.catch(error => {
|
|
27
|
+
if (!shared.options.signal?.aborted)
|
|
28
|
+
throw error;
|
|
29
|
+
return this.ensure(ciphertext, decrypt, options);
|
|
28
30
|
});
|
|
29
|
-
this.pending.set(ciphertext, promise);
|
|
30
31
|
}
|
|
32
|
+
else {
|
|
33
|
+
promise = this.start(ciphertext, decrypt, options);
|
|
34
|
+
}
|
|
35
|
+
return promise;
|
|
36
|
+
};
|
|
37
|
+
start = (ciphertext, decrypt, options) => {
|
|
38
|
+
const promise = decrypt().then(plaintext => {
|
|
39
|
+
this.set(ciphertext, plaintext);
|
|
40
|
+
return plaintext;
|
|
41
|
+
});
|
|
42
|
+
const decryption = { promise, options };
|
|
43
|
+
// A more urgent caller may have started its own since
|
|
44
|
+
const forget = () => {
|
|
45
|
+
if (this.pending.get(ciphertext) === decryption) {
|
|
46
|
+
this.pending.delete(ciphertext);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
this.pending.set(ciphertext, decryption);
|
|
50
|
+
promise.then(forget, forget);
|
|
31
51
|
return promise;
|
|
32
52
|
};
|
|
33
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plaintext.js","sourceRoot":"","sources":["../../../../src/plugins/plaintext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plaintext.js","sourceRoot":"","sources":["../../../../src/plugins/plaintext.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAOnC,MAAM,UAAU,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAA;AAEpE;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAU,SAAQ,SAAiB;IACtC,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;IAE/C,MAAM,GAAG,KAAK,EACZ,UAAkB,EAClB,OAA8B,EAC9B,UAAyB,EAAE,EACV,EAAE;QACnB,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAEjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAEO,WAAW,GAAG,CACpB,UAAkB,EAClB,OAA8B,EAC9B,OAAsB,EACL,EAAE;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,OAAwB,CAAA;QAE5B,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,wEAAwE;YACxE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;oBAAE,MAAM,KAAK,CAAA;gBAEhD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAClD,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACpD,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAEO,KAAK,GAAG,CAAC,UAAkB,EAAE,OAA8B,EAAE,OAAsB,EAAE,EAAE;QAC7F,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAE/B,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,EAAC,OAAO,EAAE,OAAO,EAAC,CAAA;QAErC,sDAAsD;QACtD,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACjC,CAAC;QACH,CAAC,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAE5B,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;CACF"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Readable } from "svelte/store";
|
|
2
2
|
import { ProfileReader, ProfileWriter } from "@welshman/domain";
|
|
3
3
|
import { DerivedPlugin } from "./base.js";
|
|
4
|
-
import type { Projection
|
|
4
|
+
import type { Projection } from "@welshman/store";
|
|
5
|
+
import type { Search } from "./base.js";
|
|
5
6
|
import type { IApp } from "../app.js";
|
|
6
7
|
/**
|
|
7
8
|
* Kind-0 profiles, keyed by pubkey. Loaded via the outbox model (the author's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AAK1C,OAAO,EAAU,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAA;AAErF,OAAO,EAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AAK1C,OAAO,EAAU,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAA;AAErF,OAAO,EAAC,aAAa,EAAe,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,WAAW,CAAA;AAMrC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAAa,CAAC,aAAa,CAAC;IACxD,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;gBAE1C,GAAG,EAAE,IAAI;IAYrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO;IAI/C,MAAM,GAAI,IAAI,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,8CACa;IAE1D,OAAO,GAAI,QAAQ,MAAM,GAAG,SAAS,EAAE,GAAG,MAAM,GAAG,EAAE,KAAG,UAAU,CAAC,MAAM,CAAC,CAOzE;IAED,OAAO,CAAC,UAAU,CA4CjB;CACF"}
|
|
@@ -3,8 +3,8 @@ import { debounce } from "throttle-debounce";
|
|
|
3
3
|
import { dec, inc, max, noop } from "@welshman/lib";
|
|
4
4
|
import { PROFILE, searchRelays } from "@welshman/util";
|
|
5
5
|
import { Profile, displayPubkey } from "@welshman/domain";
|
|
6
|
-
import { throttled } from "@welshman/store";
|
|
7
|
-
import { DerivedPlugin,
|
|
6
|
+
import { throttled, projection } from "@welshman/store";
|
|
7
|
+
import { DerivedPlugin, createSearch } from "./base.js";
|
|
8
8
|
import { Network } from "./network.js";
|
|
9
9
|
import { Router } from "./router.js";
|
|
10
10
|
import { Domain } from "./domain.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAC,OAAO,EAAgC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../../src/plugins/profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,9 @@ export declare abstract class PublishStatusView {
|
|
|
49
49
|
abstract readonly results: PublishResultsByRelay;
|
|
50
50
|
abstract isComplete(): boolean;
|
|
51
51
|
abstract abort(): void;
|
|
52
|
+
private _subs;
|
|
53
|
+
subscribe(subscriber: Subscriber<this>): () => void;
|
|
54
|
+
protected notify(): void;
|
|
52
55
|
getUrlsWithStatus(statuses: PublishStatus | PublishStatus[]): string[];
|
|
53
56
|
getCompleteUrls(): string[];
|
|
54
57
|
getIncompleteUrls(): string[];
|
|
@@ -64,7 +67,6 @@ export declare class Publication extends PublishStatusView {
|
|
|
64
67
|
event: HashedEvent;
|
|
65
68
|
wrap?: HashedEvent;
|
|
66
69
|
readonly controller: AbortController;
|
|
67
|
-
private _subs;
|
|
68
70
|
private _settled;
|
|
69
71
|
constructor(request: PublishRequest, event: HashedEvent);
|
|
70
72
|
get relays(): string[];
|
|
@@ -76,20 +78,17 @@ export declare class Publication extends PublishStatusView {
|
|
|
76
78
|
wrap?: HashedEvent;
|
|
77
79
|
}): void;
|
|
78
80
|
abort(): void;
|
|
79
|
-
subscribe(subscriber: Subscriber<this>): () => void;
|
|
80
81
|
settled(): import("@welshman/lib").Deferred<this, this>;
|
|
81
82
|
}
|
|
82
83
|
export declare const mergeResults: (publications: Publication[]) => PublishResultsByRelay;
|
|
83
84
|
/** Several publications watched as one, e.g. a rumor gift-wrapped for each recipient. */
|
|
84
85
|
export declare class PublicationGroup extends PublishStatusView {
|
|
85
86
|
readonly publications: Publication[];
|
|
86
|
-
private _subs;
|
|
87
87
|
constructor(publications: Publication[]);
|
|
88
88
|
get relays(): string[];
|
|
89
89
|
get results(): PublishResultsByRelay;
|
|
90
90
|
isComplete(): boolean;
|
|
91
91
|
abort(): void;
|
|
92
|
-
subscribe(subscriber: Subscriber<this>): () => void;
|
|
93
92
|
settled(): Promise<this>;
|
|
94
93
|
}
|
|
95
94
|
export type Publishable = Publication | PublicationGroup;
|
|
@@ -109,6 +108,8 @@ export declare const STAGES: Stage[];
|
|
|
109
108
|
export declare class Publisher {
|
|
110
109
|
readonly app: IApp;
|
|
111
110
|
history: import("svelte/store").Writable<Publication[]>;
|
|
111
|
+
private unsettled;
|
|
112
|
+
private holders;
|
|
112
113
|
queue: TaskQueue<Publication>;
|
|
113
114
|
constructor(app: IApp);
|
|
114
115
|
publish: (request: PublishRequest) => Publication;
|
|
@@ -117,7 +118,10 @@ export declare class Publisher {
|
|
|
117
118
|
retry(target: Publishable, relays?: string[]): Publishable;
|
|
118
119
|
merge(items: Publishable[]): PublicationGroup;
|
|
119
120
|
private run;
|
|
120
|
-
private
|
|
121
|
+
private hold;
|
|
122
|
+
private release;
|
|
123
|
+
private holdCopy;
|
|
124
|
+
private trackSent;
|
|
121
125
|
}
|
|
122
126
|
export {};
|
|
123
127
|
//# sourceMappingURL=publisher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../../src/plugins/publisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAE5C,OAAO,
|
|
1
|
+
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../../src/plugins/publisher.ts"],"names":[],"mappings":"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"}
|