@welshman/app 0.3.4 → 0.3.6
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/commands.d.ts +8 -1
- package/dist/app/src/commands.d.ts.map +1 -1
- package/dist/app/src/commands.js +17 -1
- package/dist/app/src/commands.js.map +1 -1
- package/dist/app/src/core.js +2 -2
- package/dist/app/src/core.js.map +1 -1
- package/dist/feeds/src/request.d.ts +1 -1
- package/dist/feeds/src/request.d.ts.map +1 -1
- package/dist/feeds/src/request.js +6 -3
- package/dist/feeds/src/request.js.map +1 -1
- package/dist/lib/src/Tools.d.ts +2 -0
- package/dist/lib/src/Tools.d.ts.map +1 -1
- package/dist/lib/src/Tools.js +11 -1
- package/dist/lib/src/Tools.js.map +1 -1
- package/dist/net/src/auth.d.ts +0 -6
- package/dist/net/src/auth.d.ts.map +1 -1
- package/dist/net/src/auth.js +2 -8
- package/dist/net/src/auth.js.map +1 -1
- package/dist/signer/src/signers/nip46.js +2 -2
- package/dist/signer/src/signers/nip46.js.map +1 -1
- package/dist/store/src/custom.d.ts +1 -1
- package/dist/store/src/custom.d.ts.map +1 -1
- package/dist/store/src/custom.js +2 -2
- package/dist/store/src/custom.js.map +1 -1
- package/dist/util/src/Blossom.d.ts +0 -1
- package/dist/util/src/Blossom.d.ts.map +1 -1
- package/dist/util/src/Blossom.js +6 -9
- package/dist/util/src/Blossom.js.map +1 -1
- package/dist/util/src/Events.d.ts +0 -6
- package/dist/util/src/Events.d.ts.map +1 -1
- package/dist/util/src/Events.js +5 -1
- package/dist/util/src/Events.js.map +1 -1
- package/dist/util/src/Kinds.d.ts +15 -14
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +15 -14
- package/dist/util/src/Kinds.js.map +1 -1
- package/dist/util/src/Nip42.d.ts +7 -0
- package/dist/util/src/Nip42.d.ts.map +1 -0
- package/dist/util/src/Nip42.js +9 -0
- package/dist/util/src/Nip42.js.map +1 -0
- package/dist/util/src/Nip86.d.ts +31 -0
- package/dist/util/src/Nip86.d.ts.map +1 -0
- package/dist/util/src/Nip86.js +41 -0
- package/dist/util/src/Nip86.js.map +1 -0
- package/dist/util/src/Nip98.d.ts +9 -0
- package/dist/util/src/Nip98.d.ts.map +1 -0
- package/dist/util/src/Nip98.js +16 -0
- package/dist/util/src/Nip98.js.map +1 -0
- package/dist/util/src/Room.d.ts +42 -0
- package/dist/util/src/Room.d.ts.map +1 -0
- package/dist/util/src/Room.js +25 -0
- package/dist/util/src/Room.js.map +1 -0
- package/dist/util/src/index.d.ts +4 -0
- package/dist/util/src/index.d.ts.map +1 -1
- package/dist/util/src/index.js +4 -0
- package/dist/util/src/index.js.map +1 -1
- package/package.json +9 -10
- package/dist/dvm/src/handler.d.ts +0 -30
- package/dist/dvm/src/handler.d.ts.map +0 -1
- package/dist/dvm/src/handler.js +0 -84
- package/dist/dvm/src/handler.js.map +0 -1
- package/dist/dvm/src/index.d.ts +0 -3
- package/dist/dvm/src/index.d.ts.map +0 -1
- package/dist/dvm/src/index.js +0 -3
- package/dist/dvm/src/index.js.map +0 -1
- package/dist/dvm/src/request.d.ts +0 -14
- package/dist/dvm/src/request.d.ts.map +0 -1
- package/dist/dvm/src/request.js +0 -29
- package/dist/dvm/src/request.js.map +0 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Base64 } from "js-base64";
|
|
2
|
+
import { sha256, textEncoder } from "@welshman/lib";
|
|
3
|
+
import { makeEvent } from "./Events.js";
|
|
4
|
+
import { HTTP_AUTH } from "./Kinds.js";
|
|
5
|
+
export const makeHttpAuth = async (url, method = "GET", body) => {
|
|
6
|
+
const tags = [
|
|
7
|
+
["u", url],
|
|
8
|
+
["method", method],
|
|
9
|
+
];
|
|
10
|
+
if (body) {
|
|
11
|
+
tags.push(["payload", await sha256(textEncoder.encode(body))]);
|
|
12
|
+
}
|
|
13
|
+
return makeEvent(HTTP_AUTH, { tags });
|
|
14
|
+
};
|
|
15
|
+
export const makeHttpAuthHeader = (event) => `Nostr ${Base64.encode(JSON.stringify(event))}`;
|
|
16
|
+
//# sourceMappingURL=Nip98.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nip98.js","sourceRoot":"","sources":["../../../../util/src/Nip98.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAA;AAChC,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AACjD,OAAO,EAAC,SAAS,EAAc,MAAM,aAAa,CAAA;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAAE,MAAM,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG;QACX,CAAC,GAAG,EAAE,GAAG,CAAC;QACV,CAAC,QAAQ,EAAE,MAAM,CAAC;KACnB,CAAA;IAED,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,SAAS,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAkB,EAAE,EAAE,CACvD,SAAS,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TrustedEvent } from "./Events.js";
|
|
2
|
+
export type RoomMeta = {
|
|
3
|
+
id: string;
|
|
4
|
+
tags: string[][];
|
|
5
|
+
event?: TrustedEvent;
|
|
6
|
+
};
|
|
7
|
+
export type PublishedRoomMeta = Omit<RoomMeta, "event"> & {
|
|
8
|
+
event: TrustedEvent;
|
|
9
|
+
};
|
|
10
|
+
export declare const makeRoomMeta: (room?: Partial<RoomMeta>) => RoomMeta;
|
|
11
|
+
export declare const readRoomMeta: (event: TrustedEvent) => PublishedRoomMeta;
|
|
12
|
+
export declare const makeRoomCreateEvent: (room: RoomMeta) => {
|
|
13
|
+
kind: number;
|
|
14
|
+
content: string;
|
|
15
|
+
tags: string[][];
|
|
16
|
+
created_at: number;
|
|
17
|
+
};
|
|
18
|
+
export declare const makeRoomDeleteEvent: (room: RoomMeta) => {
|
|
19
|
+
kind: number;
|
|
20
|
+
content: string;
|
|
21
|
+
tags: string[][];
|
|
22
|
+
created_at: number;
|
|
23
|
+
};
|
|
24
|
+
export declare const makeRoomEditEvent: (room: RoomMeta) => {
|
|
25
|
+
kind: number;
|
|
26
|
+
content: string;
|
|
27
|
+
tags: string[][];
|
|
28
|
+
created_at: number;
|
|
29
|
+
};
|
|
30
|
+
export declare const makeRoomJoinEvent: (room: RoomMeta) => {
|
|
31
|
+
kind: number;
|
|
32
|
+
content: string;
|
|
33
|
+
tags: string[][];
|
|
34
|
+
created_at: number;
|
|
35
|
+
};
|
|
36
|
+
export declare const makeRoomLeaveEvent: (room: RoomMeta) => {
|
|
37
|
+
kind: number;
|
|
38
|
+
content: string;
|
|
39
|
+
tags: string[][];
|
|
40
|
+
created_at: number;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=Room.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../../util/src/Room.ts"],"names":[],"mappings":"AASA,OAAO,EAAY,YAAY,EAAgB,MAAM,aAAa,CAAA;AAElE,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG;IACxD,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAM,OAAO,CAAC,QAAQ,CAAM,KAAG,QAI1D,CAAA;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,iBAclD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,MAAM,QAAQ;;;;;CACA,CAAA;AAElD,eAAO,MAAM,mBAAmB,GAAI,MAAM,QAAQ;;;;;CACA,CAAA;AAElD,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ;;;;;CACmB,CAAA;AAEnE,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ;;;;;CAAmD,CAAA;AAEnG,eAAO,MAAM,kBAAkB,GAAI,MAAM,QAAQ;;;;;CACA,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { randomId, nthNe } from "@welshman/lib";
|
|
2
|
+
import { ROOM_META, ROOM_DELETE, ROOM_CREATE, ROOM_EDIT_META, ROOM_JOIN, ROOM_LEAVE, } from "./Kinds.js";
|
|
3
|
+
import { makeEvent, getIdentifier } from "./Events.js";
|
|
4
|
+
export const makeRoomMeta = (room = {}) => ({
|
|
5
|
+
id: randomId(),
|
|
6
|
+
tags: [],
|
|
7
|
+
...room,
|
|
8
|
+
});
|
|
9
|
+
export const readRoomMeta = (event) => {
|
|
10
|
+
if (event.kind !== ROOM_META) {
|
|
11
|
+
throw new Error("Invalid group meta event");
|
|
12
|
+
}
|
|
13
|
+
const id = getIdentifier(event);
|
|
14
|
+
if (!id) {
|
|
15
|
+
throw new Error("Group meta event had no d tag");
|
|
16
|
+
}
|
|
17
|
+
const tags = event.tags.filter(nthNe(0, "d"));
|
|
18
|
+
return { id, tags, event };
|
|
19
|
+
};
|
|
20
|
+
export const makeRoomCreateEvent = (room) => makeEvent(ROOM_CREATE, { tags: [["h", room.id]] });
|
|
21
|
+
export const makeRoomDeleteEvent = (room) => makeEvent(ROOM_DELETE, { tags: [["h", room.id]] });
|
|
22
|
+
export const makeRoomEditEvent = (room) => makeEvent(ROOM_EDIT_META, { tags: [["h", room.id], ...room.tags] });
|
|
23
|
+
export const makeRoomJoinEvent = (room) => makeEvent(ROOM_JOIN, { tags: [["h", room.id]] });
|
|
24
|
+
export const makeRoomLeaveEvent = (room) => makeEvent(ROOM_LEAVE, { tags: [["h", room.id]] });
|
|
25
|
+
//# sourceMappingURL=Room.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Room.js","sourceRoot":"","sources":["../../../../util/src/Room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AAC7C,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EAAC,SAAS,EAAgB,aAAa,EAAC,MAAM,aAAa,CAAA;AAYlE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAA0B,EAAE,EAAY,EAAE,CAAC,CAAC;IACvE,EAAE,EAAE,QAAQ,EAAE;IACd,IAAI,EAAE,EAAE;IACR,GAAG,IAAI;CACR,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAqB,EAAE;IACrE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAE7C,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAC,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAE,EAAE,CACpD,SAAS,CAAC,WAAW,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAE,EAAE,CACpD,SAAS,CAAC,WAAW,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,EAAE,CAClD,SAAS,CAAC,cAAc,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAA;AAEnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAc,EAAE,EAAE,CACnD,SAAS,CAAC,UAAU,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAA"}
|
package/dist/util/src/index.d.ts
CHANGED
|
@@ -7,8 +7,12 @@ export * from "./Handler.js";
|
|
|
7
7
|
export * from "./Kinds.js";
|
|
8
8
|
export * from "./Links.js";
|
|
9
9
|
export * from "./List.js";
|
|
10
|
+
export * from "./Nip42.js";
|
|
11
|
+
export * from "./Nip86.js";
|
|
12
|
+
export * from "./Nip98.js";
|
|
10
13
|
export * from "./Profile.js";
|
|
11
14
|
export * from "./Relay.js";
|
|
15
|
+
export * from "./Room.js";
|
|
12
16
|
export * from "./Tags.js";
|
|
13
17
|
export * from "./Zaps.js";
|
|
14
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../util/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../util/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
|
package/dist/util/src/index.js
CHANGED
|
@@ -7,8 +7,12 @@ export * from "./Handler.js";
|
|
|
7
7
|
export * from "./Kinds.js";
|
|
8
8
|
export * from "./Links.js";
|
|
9
9
|
export * from "./List.js";
|
|
10
|
+
export * from "./Nip42.js";
|
|
11
|
+
export * from "./Nip86.js";
|
|
12
|
+
export * from "./Nip98.js";
|
|
10
13
|
export * from "./Profile.js";
|
|
11
14
|
export * from "./Relay.js";
|
|
15
|
+
export * from "./Room.js";
|
|
12
16
|
export * from "./Tags.js";
|
|
13
17
|
export * from "./Zaps.js";
|
|
14
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../util/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../util/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@welshman/app",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"author": "hodlbod",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A collection of svelte stores for use in building nostr client applications.",
|
|
@@ -19,15 +19,14 @@
|
|
|
19
19
|
"idb": "^8.0.0",
|
|
20
20
|
"svelte": "^4.2.18",
|
|
21
21
|
"throttle-debounce": "^5.0.2",
|
|
22
|
-
"@welshman/
|
|
23
|
-
"@welshman/
|
|
24
|
-
"@welshman/
|
|
25
|
-
"@welshman/
|
|
26
|
-
"@welshman/
|
|
27
|
-
"@welshman/util": "0.3.
|
|
28
|
-
"@welshman/
|
|
29
|
-
"@welshman/
|
|
30
|
-
"@welshman/net": "0.3.4"
|
|
22
|
+
"@welshman/feeds": "0.3.6",
|
|
23
|
+
"@welshman/lib": "0.3.6",
|
|
24
|
+
"@welshman/net": "0.3.6",
|
|
25
|
+
"@welshman/relay": "0.3.6",
|
|
26
|
+
"@welshman/store": "0.3.6",
|
|
27
|
+
"@welshman/util": "0.3.6",
|
|
28
|
+
"@welshman/signer": "0.3.6",
|
|
29
|
+
"@welshman/router": "0.3.6"
|
|
31
30
|
},
|
|
32
31
|
"devDependencies": {
|
|
33
32
|
"rimraf": "~6.0.0",
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Nip01Signer } from "@welshman/signer";
|
|
2
|
-
import { TrustedEvent, StampedEvent } from "@welshman/util";
|
|
3
|
-
import { AdapterContext } from "@welshman/net";
|
|
4
|
-
export type DVMHandler = {
|
|
5
|
-
stop?: () => void;
|
|
6
|
-
handleEvent: (e: TrustedEvent) => AsyncGenerator<StampedEvent>;
|
|
7
|
-
};
|
|
8
|
-
export type CreateDVMHandler = (dvm: DVM) => DVMHandler;
|
|
9
|
-
export type DVMOpts = {
|
|
10
|
-
sk: string;
|
|
11
|
-
relays: string[];
|
|
12
|
-
handlers: Record<string, CreateDVMHandler>;
|
|
13
|
-
expireAfter?: number;
|
|
14
|
-
requireMention?: boolean;
|
|
15
|
-
context?: AdapterContext;
|
|
16
|
-
};
|
|
17
|
-
export declare class DVM {
|
|
18
|
-
readonly opts: DVMOpts;
|
|
19
|
-
active: boolean;
|
|
20
|
-
logEvents: boolean;
|
|
21
|
-
seen: Set<unknown>;
|
|
22
|
-
handlers: Map<any, any>;
|
|
23
|
-
signer: Nip01Signer;
|
|
24
|
-
constructor(opts: DVMOpts);
|
|
25
|
-
start(): Promise<void>;
|
|
26
|
-
stop(): void;
|
|
27
|
-
onEvent(request: TrustedEvent): Promise<void>;
|
|
28
|
-
publish(template: StampedEvent): Promise<void>;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../dvm/src/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAS,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAmB,cAAc,EAAC,MAAM,eAAe,CAAA;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,WAAW,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,cAAc,CAAC,YAAY,CAAC,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,CAAA;AAEvD,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,qBAAa,GAAG;IAOF,QAAQ,CAAC,IAAI,EAAE,OAAO;IANlC,MAAM,UAAQ;IACd,SAAS,UAAQ;IACjB,IAAI,eAAY;IAChB,QAAQ,gBAAY;IACpB,MAAM,EAAE,WAAW,CAAA;gBAEE,IAAI,EAAE,OAAO;IAQ5B,KAAK;IA2BX,IAAI;IAQE,OAAO,CAAC,OAAO,EAAE,YAAY;IA6C7B,OAAO,CAAC,QAAQ,EAAE,YAAY;CAMrC"}
|
package/dist/dvm/src/handler.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { now } from "@welshman/lib";
|
|
2
|
-
import { Nip01Signer } from "@welshman/signer";
|
|
3
|
-
import { request, publish } from "@welshman/net";
|
|
4
|
-
export class DVM {
|
|
5
|
-
opts;
|
|
6
|
-
active = false;
|
|
7
|
-
logEvents = false;
|
|
8
|
-
seen = new Set();
|
|
9
|
-
handlers = new Map();
|
|
10
|
-
signer;
|
|
11
|
-
constructor(opts) {
|
|
12
|
-
this.opts = opts;
|
|
13
|
-
this.signer = new Nip01Signer(opts.sk);
|
|
14
|
-
for (const [kind, createHandler] of Object.entries(this.opts.handlers)) {
|
|
15
|
-
this.handlers.set(parseInt(kind), createHandler(this));
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
async start() {
|
|
19
|
-
this.active = true;
|
|
20
|
-
const { relays, context, requireMention = false } = this.opts;
|
|
21
|
-
const pubkey = await this.signer.getPubkey();
|
|
22
|
-
while (this.active) {
|
|
23
|
-
await new Promise(resolve => {
|
|
24
|
-
const since = now();
|
|
25
|
-
const kinds = Array.from(this.handlers.keys());
|
|
26
|
-
const filter = { kinds, since };
|
|
27
|
-
if (requireMention) {
|
|
28
|
-
filter["#p"] = [pubkey];
|
|
29
|
-
}
|
|
30
|
-
request({
|
|
31
|
-
relays,
|
|
32
|
-
filters: [filter],
|
|
33
|
-
context,
|
|
34
|
-
onClose: resolve,
|
|
35
|
-
onEvent: this.onEvent,
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
stop() {
|
|
41
|
-
for (const handler of this.handlers.values()) {
|
|
42
|
-
handler.stop?.();
|
|
43
|
-
}
|
|
44
|
-
this.active = false;
|
|
45
|
-
}
|
|
46
|
-
async onEvent(request) {
|
|
47
|
-
const { expireAfter = 60 * 60 } = this.opts;
|
|
48
|
-
if (this.seen.has(request.id)) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const handler = this.handlers.get(request.kind);
|
|
52
|
-
if (!handler) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
this.seen.add(request.id);
|
|
56
|
-
if (this.logEvents) {
|
|
57
|
-
console.info("Handling request", request);
|
|
58
|
-
}
|
|
59
|
-
for await (const event of handler.handleEvent(request)) {
|
|
60
|
-
if (event.kind !== 7000) {
|
|
61
|
-
event.tags.push(["request", JSON.stringify(request)]);
|
|
62
|
-
const inputTag = request.tags.find((t) => t[0] === "i");
|
|
63
|
-
if (inputTag) {
|
|
64
|
-
event.tags.push(inputTag);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
event.tags.push(["p", request.pubkey]);
|
|
68
|
-
event.tags.push(["e", request.id]);
|
|
69
|
-
if (expireAfter) {
|
|
70
|
-
event.tags.push(["expiration", String(now() + expireAfter)]);
|
|
71
|
-
}
|
|
72
|
-
if (this.logEvents) {
|
|
73
|
-
console.info("Publishing event", event);
|
|
74
|
-
}
|
|
75
|
-
this.publish(event);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
async publish(template) {
|
|
79
|
-
const { relays, context } = this.opts;
|
|
80
|
-
const event = await this.signer.sign(template);
|
|
81
|
-
await publish({ event, relays, context });
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../dvm/src/handler.ts"],"names":[],"mappings":"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"}
|
package/dist/dvm/src/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../dvm/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
package/dist/dvm/src/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../dvm/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { TrustedEvent, SignedEvent } from "@welshman/util";
|
|
2
|
-
import { AdapterContext } from "@welshman/net";
|
|
3
|
-
export type DVMRequestOptions = {
|
|
4
|
-
event: SignedEvent;
|
|
5
|
-
relays: string[];
|
|
6
|
-
timeout?: number;
|
|
7
|
-
autoClose?: boolean;
|
|
8
|
-
context?: AdapterContext;
|
|
9
|
-
onResult?: (event: TrustedEvent, url: string) => void;
|
|
10
|
-
onProgress?: (event: TrustedEvent, url: string) => void;
|
|
11
|
-
};
|
|
12
|
-
export declare const requestDvmResponse: (options: DVMRequestOptions) => Promise<TrustedEvent[]>;
|
|
13
|
-
export declare const makeDvmRequest: (options: DVMRequestOptions) => Promise<[import("@welshman/net").PublishStatusByRelay, TrustedEvent[]]>;
|
|
14
|
-
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../dvm/src/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,WAAW,EAAS,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAmB,cAAc,EAAC,MAAM,eAAe,CAAA;AAE9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACxD,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,iBAAiB,4BAyB5D,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,iBAAiB,4EACK,CAAA"}
|
package/dist/dvm/src/request.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { now } from "@welshman/lib";
|
|
2
|
-
import { request, publish } from "@welshman/net";
|
|
3
|
-
export const requestDvmResponse = (options) => {
|
|
4
|
-
const { event, relays, context, timeout = 30_000, autoClose = true, onResult, onProgress } = options;
|
|
5
|
-
const kind = event.kind + 1000;
|
|
6
|
-
const kinds = onProgress ? [kind, 7000] : [kind];
|
|
7
|
-
const filters = [{ kinds, since: now() - 60, "#e": [event.id] }];
|
|
8
|
-
const abortController = new AbortController();
|
|
9
|
-
const signal = AbortSignal.any([abortController.signal, AbortSignal.timeout(timeout)]);
|
|
10
|
-
return request({
|
|
11
|
-
signal,
|
|
12
|
-
relays,
|
|
13
|
-
filters,
|
|
14
|
-
context,
|
|
15
|
-
onEvent: (event, url) => {
|
|
16
|
-
if (event.kind === 7000) {
|
|
17
|
-
onProgress?.(event, url);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
onResult?.(event, url);
|
|
21
|
-
if (autoClose) {
|
|
22
|
-
abortController.abort();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
export const makeDvmRequest = (options) => Promise.all([publish(options), requestDvmResponse(options)]);
|
|
29
|
-
//# sourceMappingURL=request.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../dvm/src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AAEjC,OAAO,EAAC,OAAO,EAAE,OAAO,EAAiB,MAAM,eAAe,CAAA;AAY9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA0B,EAAE,EAAE;IAC/D,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAC,GAAG,OAAO,CAAA;IAClG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,OAAO,GAAa,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAC,CAAC,CAAA;IACxE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;IAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAEtF,OAAO,OAAO,CAAC;QACb,MAAM;QACN,MAAM;QACN,OAAO;QACP,OAAO;QACP,OAAO,EAAE,CAAC,KAAmB,EAAE,GAAW,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxB,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC1B,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBAEtB,IAAI,SAAS,EAAE,CAAC;oBACd,eAAe,CAAC,KAAK,EAAE,CAAA;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAA0B,EAAE,EAAE,CAC3D,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA"}
|