keri 0.0.0-dev.8b0703e → 0.0.0-dev.a3c1af3
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/controller/controller.d.ts +109 -0
- package/dist/controller/controller.js +545 -0
- package/dist/controller/controller.js.map +1 -0
- package/dist/controller/encrypt.d.ts +45 -0
- package/dist/controller/encrypt.js +120 -0
- package/dist/controller/encrypt.js.map +1 -0
- package/dist/core/credential-event.d.ts +58 -0
- package/dist/core/credential-event.js +28 -0
- package/dist/core/credential-event.js.map +1 -0
- package/dist/core/credential.d.ts +79 -0
- package/dist/core/credential.js +25 -0
- package/dist/core/credential.js.map +1 -0
- package/dist/core/digest.d.ts +1 -0
- package/dist/core/digest.js +7 -0
- package/dist/core/digest.js.map +1 -0
- package/dist/core/endpoint-discovery.d.ts +20 -0
- package/dist/core/endpoint-discovery.js +60 -0
- package/dist/core/endpoint-discovery.js.map +1 -0
- package/dist/core/events.d.ts +12 -0
- package/dist/core/events.js +25 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/kawa.d.ts +17 -0
- package/dist/core/kawa.js +78 -0
- package/dist/core/kawa.js.map +1 -0
- package/dist/core/key-event-log.d.ts +13 -0
- package/dist/core/key-event-log.js +153 -0
- package/dist/core/key-event-log.js.map +1 -0
- package/dist/core/key-event.d.ts +96 -0
- package/dist/core/key-event.js +88 -0
- package/dist/core/key-event.js.map +1 -0
- package/dist/core/keys.d.ts +9 -0
- package/dist/core/keys.js +17 -0
- package/dist/core/keys.js.map +1 -0
- package/dist/core/mailbox-client.d.ts +17 -0
- package/dist/core/mailbox-client.js +57 -0
- package/dist/core/mailbox-client.js.map +1 -0
- package/dist/core/main.d.ts +46 -0
- package/dist/core/main.js +43 -0
- package/dist/core/main.js.map +1 -0
- package/dist/core/receipt-event.d.ts +15 -0
- package/dist/core/receipt-event.js +13 -0
- package/dist/core/receipt-event.js.map +1 -0
- package/dist/core/registry-event.d.ts +28 -0
- package/dist/core/registry-event.js +18 -0
- package/dist/core/registry-event.js.map +1 -0
- package/dist/core/routed-event.d.ts +73 -0
- package/dist/core/routed-event.js +53 -0
- package/dist/core/routed-event.js.map +1 -0
- package/dist/core/said.d.ts +4 -0
- package/dist/core/said.js +26 -0
- package/dist/core/said.js.map +1 -0
- package/dist/core/sign.d.ts +5 -0
- package/dist/core/sign.js +10 -0
- package/dist/core/sign.js.map +1 -0
- package/dist/core/threshold.d.ts +6 -0
- package/dist/core/threshold.js +58 -0
- package/dist/core/threshold.js.map +1 -0
- package/dist/core/verify.d.ts +14 -0
- package/dist/core/verify.js +43 -0
- package/dist/core/verify.js.map +1 -0
- package/dist/main.d.ts +2 -2
- package/dist/main.js +3 -2
- package/dist/main.js.map +1 -0
- package/dist/storage/sqlite/node-sqlite.d.ts +12 -0
- package/dist/storage/sqlite/node-sqlite.js +25 -0
- package/dist/storage/sqlite/node-sqlite.js.map +1 -0
- package/dist/storage/sqlite/schema.d.ts +2 -0
- package/dist/storage/sqlite/schema.js +49 -0
- package/dist/storage/sqlite/schema.js.map +1 -0
- package/dist/storage/sqlite/sqlite-database.d.ts +13 -0
- package/dist/storage/sqlite/sqlite-database.js +2 -0
- package/dist/storage/sqlite/sqlite-database.js.map +1 -0
- package/dist/storage/sqlite/storage-sqlite.d.ts +26 -0
- package/dist/storage/sqlite/storage-sqlite.js +213 -0
- package/dist/storage/sqlite/storage-sqlite.js.map +1 -0
- package/package.json +38 -26
- package/dist/data-type.d.ts +0 -9
- package/dist/data-type.js +0 -1
- package/dist/db/sqlite-db.d.ts +0 -14
- package/dist/db/sqlite-db.js +0 -90
- package/dist/events/common.d.ts +0 -6
- package/dist/events/common.js +0 -1
- package/dist/events/incept.d.ts +0 -26
- package/dist/events/incept.js +0 -28
- package/dist/events/interact.d.ts +0 -14
- package/dist/events/interact.js +0 -20
- package/dist/events/main.d.ts +0 -4
- package/dist/events/main.js +0 -4
- package/dist/events/reply.d.ts +0 -15
- package/dist/events/reply.js +0 -20
- package/dist/keri.d.ts +0 -1
- package/dist/keri.js +0 -110
- package/dist/keystore/encrypt.d.ts +0 -2
- package/dist/keystore/encrypt.js +0 -38
- package/dist/keystore/keystore-fs.d.ts +0 -13
- package/dist/keystore/keystore-fs.js +0 -50
- package/dist/keystore/keystore-web.d.ts +0 -12
- package/dist/keystore/keystore-web.js +0 -48
- package/dist/keystore/keystore.d.ts +0 -15
- package/dist/keystore/keystore.js +0 -1
- package/dist/main-common.d.ts +0 -7
- package/dist/main-common.js +0 -7
- package/dist/main-web.d.ts +0 -2
- package/dist/main-web.js +0 -2
- package/dist/parser/base64.d.ts +0 -6
- package/dist/parser/base64.js +0 -74
- package/dist/parser/cesr-encoding.d.ts +0 -34
- package/dist/parser/cesr-encoding.js +0 -158
- package/dist/parser/codes.d.ts +0 -143
- package/dist/parser/codes.js +0 -266
- package/dist/parser/parser.d.ts +0 -11
- package/dist/parser/parser.js +0 -150
- package/dist/parser/version.d.ts +0 -11
- package/dist/parser/version.js +0 -56
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { migrate } from "./schema.js";
|
|
2
|
+
export { NodeSqliteDatabase } from "./node-sqlite.js";
|
|
3
|
+
import { Attachments, Message, } from "../../core/main.js";
|
|
4
|
+
function parseRow(result) {
|
|
5
|
+
if (!("event_json" in result) || typeof result.event_json !== "string") {
|
|
6
|
+
throw new Error("Row does not contain event_json");
|
|
7
|
+
}
|
|
8
|
+
if (!("attachments" in result) || typeof result.attachments !== "string") {
|
|
9
|
+
throw new Error("Row does not contain attachments");
|
|
10
|
+
}
|
|
11
|
+
const body = JSON.parse(result.event_json);
|
|
12
|
+
const atc = Attachments.parse(new TextEncoder().encode(result.attachments)) ?? new Attachments();
|
|
13
|
+
return new Message(body, atc);
|
|
14
|
+
}
|
|
15
|
+
function prepareRow(message) {
|
|
16
|
+
if (message.version.protocol === "ACDC") {
|
|
17
|
+
const body = message.body;
|
|
18
|
+
return {
|
|
19
|
+
event_id: body.d,
|
|
20
|
+
protocol: message.version.protocol,
|
|
21
|
+
type: "credential",
|
|
22
|
+
sn: null,
|
|
23
|
+
event_json: JSON.stringify(body),
|
|
24
|
+
attachments: message.attachments.text(),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
switch (message.body.t) {
|
|
28
|
+
case "icp":
|
|
29
|
+
case "rot":
|
|
30
|
+
case "ixn": {
|
|
31
|
+
const body = message.body;
|
|
32
|
+
return {
|
|
33
|
+
event_id: body.d,
|
|
34
|
+
protocol: message.version.protocol,
|
|
35
|
+
type: body.t,
|
|
36
|
+
sn: parseInt(body.s, 16),
|
|
37
|
+
event_json: JSON.stringify(body),
|
|
38
|
+
attachments: message.attachments.text(),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
case "vcp": {
|
|
42
|
+
const body = message.body;
|
|
43
|
+
return {
|
|
44
|
+
event_id: body.d,
|
|
45
|
+
protocol: message.version.protocol,
|
|
46
|
+
type: body.t,
|
|
47
|
+
sn: null,
|
|
48
|
+
event_json: JSON.stringify(body),
|
|
49
|
+
attachments: message.attachments.text(),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
case "iss":
|
|
53
|
+
case "rev": {
|
|
54
|
+
const body = message.body;
|
|
55
|
+
return {
|
|
56
|
+
event_id: body.d,
|
|
57
|
+
protocol: message.version.protocol,
|
|
58
|
+
type: body.t,
|
|
59
|
+
sn: null,
|
|
60
|
+
event_json: JSON.stringify(body),
|
|
61
|
+
attachments: message.attachments.text(),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
default: {
|
|
65
|
+
const body = message.body;
|
|
66
|
+
return {
|
|
67
|
+
event_id: typeof body.d === "string" ? body.d : null,
|
|
68
|
+
protocol: message.version.protocol,
|
|
69
|
+
type: typeof body.t === "string" ? body.t : null,
|
|
70
|
+
sn: null,
|
|
71
|
+
event_json: JSON.stringify(body),
|
|
72
|
+
attachments: message.attachments.text(),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export class SqliteControllerStorage {
|
|
78
|
+
#db;
|
|
79
|
+
constructor(db) {
|
|
80
|
+
migrate(db);
|
|
81
|
+
this.#db = db;
|
|
82
|
+
}
|
|
83
|
+
#queryOne(sql, params) {
|
|
84
|
+
const result = Array.from(this.#db.iterate(sql, params))[0];
|
|
85
|
+
return result ? result : undefined;
|
|
86
|
+
}
|
|
87
|
+
saveKey(publicKey, digest, encryptedPrivKey) {
|
|
88
|
+
const statement = [
|
|
89
|
+
"INSERT INTO key_info(public_key, public_key_digest, encrypted_private_key)",
|
|
90
|
+
"VALUES ($public_key, $digest, $encrypted_private_key)",
|
|
91
|
+
"ON CONFLICT (public_key) DO NOTHING",
|
|
92
|
+
].join("\n");
|
|
93
|
+
this.#db.execute(statement, {
|
|
94
|
+
public_key: publicKey,
|
|
95
|
+
digest,
|
|
96
|
+
encrypted_private_key: encryptedPrivKey,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
getKey(publicKey) {
|
|
100
|
+
const statement = ["SELECT encrypted_private_key FROM key_info", "WHERE public_key = $public_key", "LIMIT 1"].join("\n");
|
|
101
|
+
const result = this.#queryOne(statement, { public_key: publicKey });
|
|
102
|
+
if (!result || typeof result.encrypted_private_key !== "string") {
|
|
103
|
+
throw new Error(`Key not found for public key: ${publicKey}`);
|
|
104
|
+
}
|
|
105
|
+
return result.encrypted_private_key;
|
|
106
|
+
}
|
|
107
|
+
getPublicKeyByDigest(digest) {
|
|
108
|
+
const statement = ["SELECT public_key FROM key_info", "WHERE public_key_digest = $digest", "LIMIT 1"].join("\n");
|
|
109
|
+
const result = this.#queryOne(statement, { digest });
|
|
110
|
+
if (!result || typeof result.public_key !== "string") {
|
|
111
|
+
throw new Error(`Key not found for digest: ${digest}`);
|
|
112
|
+
}
|
|
113
|
+
return result.public_key;
|
|
114
|
+
}
|
|
115
|
+
saveMessage(message) {
|
|
116
|
+
const statement = [
|
|
117
|
+
"INSERT INTO event(event_id, protocol, type, sn, event_json, attachments)",
|
|
118
|
+
"VALUES ($event_id, $protocol, $type, $sn, $event_json, $attachments)",
|
|
119
|
+
"ON CONFLICT(event_id) DO NOTHING",
|
|
120
|
+
].join("\n");
|
|
121
|
+
this.#db.execute(statement, prepareRow(message));
|
|
122
|
+
}
|
|
123
|
+
*getReplies(filter = {}) {
|
|
124
|
+
const conditions = ["type = 'rpy'"];
|
|
125
|
+
const params = {};
|
|
126
|
+
if (filter.eid !== undefined) {
|
|
127
|
+
conditions.push("json_extract(event_json, '$.a.eid') = $eid");
|
|
128
|
+
params.eid = filter.eid;
|
|
129
|
+
}
|
|
130
|
+
if (filter.route !== undefined) {
|
|
131
|
+
conditions.push("json_extract(event_json, '$.r') = $route");
|
|
132
|
+
params.route = filter.route;
|
|
133
|
+
}
|
|
134
|
+
if (filter.cid !== undefined) {
|
|
135
|
+
conditions.push("json_extract(event_json, '$.a.cid') = $cid");
|
|
136
|
+
params.cid = filter.cid;
|
|
137
|
+
}
|
|
138
|
+
const statement = [
|
|
139
|
+
"SELECT event_json, attachments FROM event",
|
|
140
|
+
`WHERE ${conditions.join(" AND ")}`,
|
|
141
|
+
"ORDER BY sn ASC",
|
|
142
|
+
].join("\n");
|
|
143
|
+
for (const result of this.#db.iterate(statement, params)) {
|
|
144
|
+
yield parseRow(result);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
*getKeyEvents(prefix) {
|
|
148
|
+
const statement = [
|
|
149
|
+
"SELECT event_json, attachments",
|
|
150
|
+
"FROM event",
|
|
151
|
+
"WHERE json_extract(event_json, '$.i') = $prefix",
|
|
152
|
+
"AND type in ('icp', 'rot', 'ixn')",
|
|
153
|
+
"ORDER BY sn ASC",
|
|
154
|
+
].join("\n");
|
|
155
|
+
for (const result of this.#db.iterate(statement, { prefix })) {
|
|
156
|
+
yield parseRow(result);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
*getCredentialEvents(id) {
|
|
160
|
+
const statement = [
|
|
161
|
+
"SELECT event_json, attachments",
|
|
162
|
+
"FROM event",
|
|
163
|
+
"WHERE type IN ('iss', 'rev') AND json_extract(event_json, '$.i') = $id",
|
|
164
|
+
"ORDER BY rowid ASC",
|
|
165
|
+
].join("\n");
|
|
166
|
+
for (const row of this.#db.iterate(statement, { id })) {
|
|
167
|
+
yield parseRow(row);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
getRegistry(id) {
|
|
171
|
+
const statement = [
|
|
172
|
+
"SELECT event_json, attachments",
|
|
173
|
+
"FROM event",
|
|
174
|
+
"WHERE type = 'vcp' AND json_extract(event_json, '$.i') = $id",
|
|
175
|
+
"LIMIT 1",
|
|
176
|
+
].join("\n");
|
|
177
|
+
const result = this.#queryOne(statement, { id });
|
|
178
|
+
return result ? parseRow(result) : null;
|
|
179
|
+
}
|
|
180
|
+
*getRegistriesByOwner(owner) {
|
|
181
|
+
const statement = [
|
|
182
|
+
"SELECT event_json, attachments",
|
|
183
|
+
"FROM event",
|
|
184
|
+
"WHERE type = 'vcp' AND json_extract(event_json, '$.ii') = $owner",
|
|
185
|
+
"ORDER BY rowid ASC",
|
|
186
|
+
].join("\n");
|
|
187
|
+
for (const row of this.#db.iterate(statement, { owner })) {
|
|
188
|
+
yield parseRow(row);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
getCredential(id) {
|
|
192
|
+
const statement = ["SELECT event_json, attachments", "FROM event", "WHERE event_id = $id", "LIMIT 1"].join("\n");
|
|
193
|
+
const result = this.#queryOne(statement, { id });
|
|
194
|
+
return result ? parseRow(result).body : null;
|
|
195
|
+
}
|
|
196
|
+
getCredentialsByRegistry(registryId) {
|
|
197
|
+
const statement = [
|
|
198
|
+
"SELECT event_json, attachments",
|
|
199
|
+
"FROM event",
|
|
200
|
+
"WHERE json_extract(event_json, '$.ri') = $registry_id",
|
|
201
|
+
].join("\n");
|
|
202
|
+
return Array.from(this.#db.iterate(statement, { registry_id: registryId })).map((row) => parseRow(row).body);
|
|
203
|
+
}
|
|
204
|
+
getMailboxOffset(prefix, topic) {
|
|
205
|
+
const result = this.#queryOne("SELECT offset FROM mailbox_cursor WHERE prefix = $prefix AND topic = $topic LIMIT 1", { prefix, topic });
|
|
206
|
+
return typeof result?.offset === "number" ? result.offset : 0;
|
|
207
|
+
}
|
|
208
|
+
saveMailboxOffset(prefix, topic, offset) {
|
|
209
|
+
this.#db.execute("INSERT INTO mailbox_cursor(prefix, topic, offset) VALUES ($prefix, $topic, $offset) " +
|
|
210
|
+
"ON CONFLICT(prefix, topic) DO UPDATE SET offset = $offset", { prefix, topic, offset });
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=storage-sqlite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-sqlite.js","sourceRoot":"","sources":["../../../src/storage/sqlite/storage-sqlite.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,45 +1,57 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "keri",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.a3c1af3",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "git+https://github.com/lenkan/keri-js.git"
|
|
7
|
+
},
|
|
4
8
|
"scripts": {
|
|
5
|
-
"lint": "eslint && prettier --check . && tsc --noEmit",
|
|
6
|
-
"lint:fix": "eslint --fix && prettier --write .",
|
|
7
9
|
"build": "tsc -p tsconfig.build.json",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
+
"dev": "tsc -p tsconfig.build.json --watch",
|
|
11
|
+
"test": "node --conditions=source --test --no-warnings 'src/**/*.test.ts'",
|
|
12
|
+
"test:integration": "node --conditions=source --test --no-warnings 'test_integration/**/*.test.ts'",
|
|
13
|
+
"test:interop": "node --conditions=source --no-warnings scripts/run-scripts.ts",
|
|
14
|
+
"lint": "biome lint .",
|
|
15
|
+
"check": "tsc --noEmit",
|
|
16
|
+
"format": "biome format --write .",
|
|
17
|
+
"format:check": "biome format ."
|
|
10
18
|
},
|
|
11
|
-
"
|
|
12
|
-
"keri": "
|
|
19
|
+
"imports": {
|
|
20
|
+
"#keri": "./src/main.ts",
|
|
21
|
+
"#keri/core": "./src/core/main.ts",
|
|
22
|
+
"#keri/sqlite-storage": "./src/storage/sqlite/storage-sqlite.ts"
|
|
13
23
|
},
|
|
14
24
|
"exports": {
|
|
15
25
|
".": "./dist/main.js",
|
|
16
|
-
"./
|
|
26
|
+
"./sqlite-storage": "./dist/storage/sqlite/storage-sqlite.js"
|
|
17
27
|
},
|
|
18
28
|
"files": [
|
|
19
29
|
"dist"
|
|
20
30
|
],
|
|
21
31
|
"type": "module",
|
|
22
|
-
"author": "",
|
|
23
|
-
"license": "
|
|
24
|
-
"description": "",
|
|
32
|
+
"author": "Daniel Lenksjö",
|
|
33
|
+
"license": "Apache-2.0",
|
|
34
|
+
"description": "KERI for JavaScript",
|
|
35
|
+
"devEngines": {
|
|
36
|
+
"runtime": {
|
|
37
|
+
"name": "node",
|
|
38
|
+
"version": ">=24",
|
|
39
|
+
"onFail": "warn"
|
|
40
|
+
},
|
|
41
|
+
"packageManager": {
|
|
42
|
+
"name": "npm",
|
|
43
|
+
"version": ">=11",
|
|
44
|
+
"onFail": "warn"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
25
47
|
"engines": {
|
|
26
48
|
"node": ">=22"
|
|
27
49
|
},
|
|
28
|
-
"devDependencies": {
|
|
29
|
-
"@eslint/js": "^9.17.0",
|
|
30
|
-
"@types/node": "^22.9.1",
|
|
31
|
-
"commander": "^12.1.0",
|
|
32
|
-
"eslint": "^9.17.0",
|
|
33
|
-
"eslint-config-prettier": "^9.1.0",
|
|
34
|
-
"globals": "^15.12.0",
|
|
35
|
-
"prettier": "^3.3.3",
|
|
36
|
-
"typescript": "^5.7.3",
|
|
37
|
-
"typescript-eslint": "^8.19.0"
|
|
38
|
-
},
|
|
39
50
|
"dependencies": {
|
|
40
|
-
"@noble/curves": "^
|
|
41
|
-
"@noble/ed25519": "^
|
|
42
|
-
"@noble/hashes": "^
|
|
43
|
-
"@noble/secp256k1": "^
|
|
51
|
+
"@noble/curves": "^2.0.0",
|
|
52
|
+
"@noble/ed25519": "^3.0.0",
|
|
53
|
+
"@noble/hashes": "^2.0.0",
|
|
54
|
+
"@noble/secp256k1": "^3.0.0",
|
|
55
|
+
"cesr": "*"
|
|
44
56
|
}
|
|
45
57
|
}
|
package/dist/data-type.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export type DataValue = string | number | boolean | DataObject | DataArray;
|
|
2
|
-
export type DataArray = DataValue[];
|
|
3
|
-
/**
|
|
4
|
-
* Defines a data object that can be serialized to JSON.
|
|
5
|
-
* E.g. key events and acdc objects
|
|
6
|
-
*/
|
|
7
|
-
export interface DataObject {
|
|
8
|
-
[x: string]: DataValue;
|
|
9
|
-
}
|
package/dist/data-type.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/db/sqlite-db.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { KeyEvent, ReplyEvent } from "../events/main.ts";
|
|
2
|
-
export interface SqliteEventStoreOptions {
|
|
3
|
-
filename?: string;
|
|
4
|
-
}
|
|
5
|
-
export declare class SqliteEventStore {
|
|
6
|
-
#private;
|
|
7
|
-
constructor(options?: SqliteEventStoreOptions);
|
|
8
|
-
init(): void;
|
|
9
|
-
insert(event: KeyEvent): Promise<void>;
|
|
10
|
-
get(id: string): Promise<any>;
|
|
11
|
-
aid(id: string): Promise<any[]>;
|
|
12
|
-
locations(id: string): Promise<ReplyEvent[]>;
|
|
13
|
-
list(): Promise<KeyEvent[]>;
|
|
14
|
-
}
|
package/dist/db/sqlite-db.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _SqliteEventStore_db;
|
|
13
|
-
import { DatabaseSync } from "node:sqlite";
|
|
14
|
-
import { existsSync, mkdirSync } from "node:fs";
|
|
15
|
-
import { dirname } from "node:path";
|
|
16
|
-
function parseRow(row) {
|
|
17
|
-
if (!row || typeof row !== "object") {
|
|
18
|
-
throw new Error(`Row not found`);
|
|
19
|
-
}
|
|
20
|
-
const data = "data" in row && row["data"];
|
|
21
|
-
if (!data || typeof data !== "string") {
|
|
22
|
-
throw new Error(`Unexpected row format`);
|
|
23
|
-
}
|
|
24
|
-
return JSON.parse(data);
|
|
25
|
-
}
|
|
26
|
-
function ensureDirSync(filename) {
|
|
27
|
-
const dir = dirname(filename);
|
|
28
|
-
if (!existsSync(dir)) {
|
|
29
|
-
mkdirSync(dir);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export class SqliteEventStore {
|
|
33
|
-
constructor(options = {}) {
|
|
34
|
-
_SqliteEventStore_db.set(this, void 0);
|
|
35
|
-
if (options.filename) {
|
|
36
|
-
ensureDirSync(options.filename);
|
|
37
|
-
}
|
|
38
|
-
__classPrivateFieldSet(this, _SqliteEventStore_db, new DatabaseSync(options.filename ?? ":memory:"), "f");
|
|
39
|
-
}
|
|
40
|
-
init() {
|
|
41
|
-
__classPrivateFieldGet(this, _SqliteEventStore_db, "f").exec(`
|
|
42
|
-
CREATE TABLE IF NOT EXISTS events (
|
|
43
|
-
id TEXT PRIMARY KEY,
|
|
44
|
-
data JSON NOT NULL
|
|
45
|
-
);
|
|
46
|
-
`);
|
|
47
|
-
}
|
|
48
|
-
async insert(event) {
|
|
49
|
-
const sql = `
|
|
50
|
-
INSERT INTO events (id, data)
|
|
51
|
-
VALUES ($id, $data) ON CONFLICT(id) DO NOTHING;
|
|
52
|
-
`;
|
|
53
|
-
__classPrivateFieldGet(this, _SqliteEventStore_db, "f").prepare(sql).run({
|
|
54
|
-
id: event.d,
|
|
55
|
-
data: JSON.stringify(event),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
async get(id) {
|
|
59
|
-
const row = __classPrivateFieldGet(this, _SqliteEventStore_db, "f").prepare("SELECT * FROM events WHERE id = ?").get(id);
|
|
60
|
-
return parseRow(row);
|
|
61
|
-
}
|
|
62
|
-
async aid(id) {
|
|
63
|
-
const sql = `
|
|
64
|
-
SELECT * FROM events WHERE json_extract(data, '$.i') = $aid
|
|
65
|
-
ORDER BY json_extract(data, '$.sn') DESC;
|
|
66
|
-
`;
|
|
67
|
-
const rows = __classPrivateFieldGet(this, _SqliteEventStore_db, "f").prepare(sql).all({ aid: id });
|
|
68
|
-
return rows.map(parseRow);
|
|
69
|
-
}
|
|
70
|
-
async locations(id) {
|
|
71
|
-
const sql = `
|
|
72
|
-
SELECT * FROM
|
|
73
|
-
events
|
|
74
|
-
WHERE
|
|
75
|
-
json_extract(data, '$.t') = 'rpy' AND
|
|
76
|
-
json_extract(data, '$.r') = '/loc/scheme' AND
|
|
77
|
-
json_extract(data, '$.a.eid') = $id;
|
|
78
|
-
`;
|
|
79
|
-
const rows = __classPrivateFieldGet(this, _SqliteEventStore_db, "f").prepare(sql).all({ id });
|
|
80
|
-
return rows.map(parseRow);
|
|
81
|
-
}
|
|
82
|
-
async list() {
|
|
83
|
-
const sql = `
|
|
84
|
-
SELECT * FROM events;
|
|
85
|
-
`;
|
|
86
|
-
const rows = __classPrivateFieldGet(this, _SqliteEventStore_db, "f").prepare(sql).all();
|
|
87
|
-
return rows.map(parseRow);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
_SqliteEventStore_db = new WeakMap();
|
package/dist/events/common.d.ts
DELETED
package/dist/events/common.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/events/incept.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { DataArray } from "../data-type.ts";
|
|
2
|
-
import type { Threshold } from "./common.ts";
|
|
3
|
-
export interface InceptArgs {
|
|
4
|
-
k: string[];
|
|
5
|
-
kt: Threshold;
|
|
6
|
-
n: string[];
|
|
7
|
-
nt: Threshold;
|
|
8
|
-
b?: string[];
|
|
9
|
-
bt?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface InceptEvent {
|
|
12
|
-
v: string;
|
|
13
|
-
t: "icp";
|
|
14
|
-
d: string;
|
|
15
|
-
i: string;
|
|
16
|
-
s: string;
|
|
17
|
-
kt: Threshold;
|
|
18
|
-
k: string[];
|
|
19
|
-
nt: Threshold;
|
|
20
|
-
n: string[];
|
|
21
|
-
bt: string;
|
|
22
|
-
b: string[];
|
|
23
|
-
c: string[];
|
|
24
|
-
a: DataArray;
|
|
25
|
-
}
|
|
26
|
-
export declare function incept(data: InceptArgs): InceptEvent;
|
package/dist/events/incept.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { blake3 } from "@noble/hashes/blake3";
|
|
2
|
-
import cesr from "../parser/cesr-encoding.js";
|
|
3
|
-
import { MatterCode } from "../parser/codes.js";
|
|
4
|
-
import { versify } from "../parser/version.js";
|
|
5
|
-
export function incept(data) {
|
|
6
|
-
const event = versify({
|
|
7
|
-
t: "icp",
|
|
8
|
-
d: "#".repeat(44),
|
|
9
|
-
i: "#".repeat(44),
|
|
10
|
-
s: "0",
|
|
11
|
-
kt: data.kt,
|
|
12
|
-
k: data.k,
|
|
13
|
-
nt: data.nt,
|
|
14
|
-
n: data.n,
|
|
15
|
-
bt: data.bt ?? "0",
|
|
16
|
-
b: data.b ?? [],
|
|
17
|
-
c: [],
|
|
18
|
-
a: [],
|
|
19
|
-
});
|
|
20
|
-
const encoder = new TextEncoder();
|
|
21
|
-
const digest = cesr.encode(MatterCode.Blake3_256, blake3
|
|
22
|
-
.create({ dkLen: 32 })
|
|
23
|
-
.update(encoder.encode(JSON.stringify(event)))
|
|
24
|
-
.digest());
|
|
25
|
-
event["d"] = digest;
|
|
26
|
-
event["i"] = digest;
|
|
27
|
-
return event;
|
|
28
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { DataArray } from "../data-type.ts";
|
|
2
|
-
export interface InteractArgs {
|
|
3
|
-
i: string;
|
|
4
|
-
s: string;
|
|
5
|
-
a: DataArray;
|
|
6
|
-
}
|
|
7
|
-
export interface InteractEvent {
|
|
8
|
-
v: string;
|
|
9
|
-
t: "ixn";
|
|
10
|
-
d: string;
|
|
11
|
-
i: string;
|
|
12
|
-
a: DataArray;
|
|
13
|
-
}
|
|
14
|
-
export declare function interact(data: InteractArgs): InteractEvent;
|
package/dist/events/interact.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { blake3 } from "@noble/hashes/blake3";
|
|
2
|
-
import cesr from "../parser/cesr-encoding.js";
|
|
3
|
-
import { MatterCode } from "../parser/codes.js";
|
|
4
|
-
import { versify } from "../parser/version.js";
|
|
5
|
-
export function interact(data) {
|
|
6
|
-
const event = versify({
|
|
7
|
-
t: "ixn",
|
|
8
|
-
d: "#".repeat(44),
|
|
9
|
-
i: data.i,
|
|
10
|
-
s: data.s,
|
|
11
|
-
a: data.a,
|
|
12
|
-
});
|
|
13
|
-
const encoder = new TextEncoder();
|
|
14
|
-
const digest = cesr.encode(MatterCode.Blake3_256, blake3
|
|
15
|
-
.create({ dkLen: 32 })
|
|
16
|
-
.update(encoder.encode(JSON.stringify(event)))
|
|
17
|
-
.digest());
|
|
18
|
-
event["d"] = digest;
|
|
19
|
-
return event;
|
|
20
|
-
}
|
package/dist/events/main.d.ts
DELETED
package/dist/events/main.js
DELETED
package/dist/events/reply.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { DataObject } from "../data-type.ts";
|
|
2
|
-
export interface ReplyArgs {
|
|
3
|
-
dt?: string;
|
|
4
|
-
r: string;
|
|
5
|
-
a: DataObject;
|
|
6
|
-
}
|
|
7
|
-
export interface ReplyEvent {
|
|
8
|
-
v: string;
|
|
9
|
-
t: "rpy";
|
|
10
|
-
d: string;
|
|
11
|
-
dt: string;
|
|
12
|
-
r: string;
|
|
13
|
-
a: DataObject;
|
|
14
|
-
}
|
|
15
|
-
export declare function reply(data: ReplyArgs): ReplyEvent;
|
package/dist/events/reply.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { blake3 } from "@noble/hashes/blake3";
|
|
2
|
-
import cesr from "../parser/cesr-encoding.js";
|
|
3
|
-
import { MatterCode } from "../parser/codes.js";
|
|
4
|
-
import { versify } from "../parser/version.js";
|
|
5
|
-
export function reply(data) {
|
|
6
|
-
const event = versify({
|
|
7
|
-
t: "rpy",
|
|
8
|
-
d: "#".repeat(44),
|
|
9
|
-
dt: data.dt ?? new Date().toISOString(),
|
|
10
|
-
r: data.r,
|
|
11
|
-
a: data.a,
|
|
12
|
-
});
|
|
13
|
-
const encoder = new TextEncoder();
|
|
14
|
-
const digest = cesr.encode(MatterCode.Blake3_256, blake3
|
|
15
|
-
.create({ dkLen: 32 })
|
|
16
|
-
.update(encoder.encode(JSON.stringify(event)))
|
|
17
|
-
.digest());
|
|
18
|
-
event["d"] = digest;
|
|
19
|
-
return event;
|
|
20
|
-
}
|
package/dist/keri.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|