keri 0.0.8-dev.0f93fc3 → 0.0.8-dev.1468d4d

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 (106) hide show
  1. package/README.md +1 -8
  2. package/dist/controller/controller.d.ts +109 -0
  3. package/dist/controller/controller.js +542 -0
  4. package/dist/controller/controller.js.map +1 -0
  5. package/dist/controller/encrypt.d.ts +45 -0
  6. package/dist/controller/encrypt.js +120 -0
  7. package/dist/controller/encrypt.js.map +1 -0
  8. package/dist/core/credential-event.d.ts +58 -0
  9. package/dist/core/credential-event.js +28 -0
  10. package/dist/core/credential-event.js.map +1 -0
  11. package/dist/core/credential.d.ts +79 -0
  12. package/dist/core/credential.js +25 -0
  13. package/dist/core/credential.js.map +1 -0
  14. package/dist/core/digest.d.ts +1 -0
  15. package/dist/core/digest.js +7 -0
  16. package/dist/core/digest.js.map +1 -0
  17. package/dist/core/endpoint-discovery.d.ts +20 -0
  18. package/dist/core/endpoint-discovery.js +60 -0
  19. package/dist/core/endpoint-discovery.js.map +1 -0
  20. package/dist/core/events.d.ts +12 -0
  21. package/dist/core/events.js +25 -0
  22. package/dist/core/events.js.map +1 -0
  23. package/dist/core/kawa.d.ts +17 -0
  24. package/dist/core/kawa.js +79 -0
  25. package/dist/core/kawa.js.map +1 -0
  26. package/dist/core/key-event-log.d.ts +13 -0
  27. package/dist/core/key-event-log.js +154 -0
  28. package/dist/core/key-event-log.js.map +1 -0
  29. package/dist/core/key-event.d.ts +96 -0
  30. package/dist/core/key-event.js +89 -0
  31. package/dist/core/key-event.js.map +1 -0
  32. package/dist/core/keys.d.ts +9 -0
  33. package/dist/core/keys.js +17 -0
  34. package/dist/core/keys.js.map +1 -0
  35. package/dist/core/mailbox-client.d.ts +17 -0
  36. package/dist/{client.js → core/mailbox-client.js} +8 -36
  37. package/dist/core/mailbox-client.js.map +1 -0
  38. package/dist/core/main.d.ts +47 -0
  39. package/dist/core/main.js +44 -0
  40. package/dist/core/main.js.map +1 -0
  41. package/dist/core/receipt-event.d.ts +15 -0
  42. package/dist/core/receipt-event.js +13 -0
  43. package/dist/core/receipt-event.js.map +1 -0
  44. package/dist/core/registry-event.d.ts +28 -0
  45. package/dist/core/registry-event.js +18 -0
  46. package/dist/core/registry-event.js.map +1 -0
  47. package/dist/core/routed-event.d.ts +73 -0
  48. package/dist/core/routed-event.js +53 -0
  49. package/dist/core/routed-event.js.map +1 -0
  50. package/dist/core/said.d.ts +4 -0
  51. package/dist/core/said.js +26 -0
  52. package/dist/core/said.js.map +1 -0
  53. package/dist/core/sign.d.ts +5 -0
  54. package/dist/core/sign.js +10 -0
  55. package/dist/core/sign.js.map +1 -0
  56. package/dist/core/threshold.d.ts +6 -0
  57. package/dist/core/threshold.js +58 -0
  58. package/dist/core/threshold.js.map +1 -0
  59. package/dist/core/verify.d.ts +14 -0
  60. package/dist/core/verify.js +43 -0
  61. package/dist/core/verify.js.map +1 -0
  62. package/dist/main.d.ts +2 -7
  63. package/dist/main.js +2 -7
  64. package/dist/main.js.map +1 -1
  65. package/dist/storage/sqlite/node-sqlite.d.ts +12 -0
  66. package/dist/storage/sqlite/node-sqlite.js +25 -0
  67. package/dist/storage/sqlite/node-sqlite.js.map +1 -0
  68. package/dist/storage/sqlite/schema.d.ts +2 -0
  69. package/dist/storage/sqlite/schema.js +49 -0
  70. package/dist/storage/sqlite/schema.js.map +1 -0
  71. package/dist/storage/sqlite/sqlite-database.d.ts +13 -0
  72. package/dist/storage/sqlite/sqlite-database.js +2 -0
  73. package/dist/storage/sqlite/sqlite-database.js.map +1 -0
  74. package/dist/storage/sqlite/storage-sqlite.d.ts +26 -0
  75. package/dist/storage/sqlite/storage-sqlite.js +213 -0
  76. package/dist/storage/sqlite/storage-sqlite.js.map +1 -0
  77. package/package.json +10 -11
  78. package/dist/cli/main.d.ts +0 -2
  79. package/dist/cli/main.js +0 -183
  80. package/dist/cli/main.js.map +0 -1
  81. package/dist/client.d.ts +0 -17
  82. package/dist/client.js.map +0 -1
  83. package/dist/controller.d.ts +0 -72
  84. package/dist/controller.js +0 -477
  85. package/dist/controller.js.map +0 -1
  86. package/dist/db/storage-sqlite.d.ts +0 -12
  87. package/dist/db/storage-sqlite.js +0 -53
  88. package/dist/db/storage-sqlite.js.map +0 -1
  89. package/dist/db/storage.d.ts +0 -18
  90. package/dist/db/storage.js +0 -29
  91. package/dist/db/storage.js.map +0 -1
  92. package/dist/events/event-store.d.ts +0 -116
  93. package/dist/events/event-store.js +0 -254
  94. package/dist/events/event-store.js.map +0 -1
  95. package/dist/events/events.d.ts +0 -248
  96. package/dist/events/events.js +0 -186
  97. package/dist/events/events.js.map +0 -1
  98. package/dist/keystore/encrypt.d.ts +0 -11
  99. package/dist/keystore/encrypt.js +0 -57
  100. package/dist/keystore/encrypt.js.map +0 -1
  101. package/dist/keystore/key-manager.d.ts +0 -20
  102. package/dist/keystore/key-manager.js +0 -61
  103. package/dist/keystore/key-manager.js.map +0 -1
  104. package/dist/keystore/pinentry.d.ts +0 -1
  105. package/dist/keystore/pinentry.js +0 -46
  106. package/dist/keystore/pinentry.js.map +0 -1
@@ -0,0 +1,213 @@
1
+ import { migrate } from "./schema.js";
2
+ export { NodeSqliteDatabase } from "./node-sqlite.js";
3
+ import { Message, Attachments, } from "#keri/core";
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,25 +1,26 @@
1
1
  {
2
2
  "name": "keri",
3
- "version": "0.0.8-dev.0f93fc3",
3
+ "version": "0.0.8-dev.1468d4d",
4
4
  "scripts": {
5
5
  "build": "tsc -p tsconfig.build.json",
6
6
  "dev": "tsc -p tsconfig.build.json --watch",
7
- "test": "node --test --test-reporter=spec --no-warnings --experimental-strip-types",
8
- "test:integration": "npm test -- 'test_integration/**/*.ts'",
9
- "test:scripts": "node --no-warnings scripts/run-scripts.ts",
10
- "test:example": "./test_examples.sh",
7
+ "test": "node --test --no-warnings 'src/**/*.test.ts'",
8
+ "test:integration": "node --test --no-warnings 'test_integration/**/*.test.ts'",
9
+ "test:interop": "node --no-warnings scripts/run-scripts.ts",
11
10
  "lint": "eslint",
12
11
  "check": "tsc --noEmit",
13
12
  "clean": "node scripts/clean.ts",
14
13
  "format": "prettier --write .",
15
14
  "format:check": "prettier --check ."
16
15
  },
17
- "bin": {
18
- "keri": "dist/cli/main.js"
16
+ "imports": {
17
+ "#keri": "./src/main.ts",
18
+ "#keri/core": "./src/core/main.ts",
19
+ "#keri/sqlite-storage": "./src/storage/sqlite/storage-sqlite.ts"
19
20
  },
20
21
  "exports": {
21
22
  ".": "./dist/main.js",
22
- "./storage-sqlite": "./dist/db/storage-sqlite.js"
23
+ "./sqlite-storage": "./dist/storage/sqlite/storage-sqlite.js"
23
24
  },
24
25
  "files": [
25
26
  "dist"
@@ -48,12 +49,10 @@
48
49
  "@noble/ed25519": "^3.0.0",
49
50
  "@noble/hashes": "^2.0.0",
50
51
  "@noble/secp256k1": "^3.0.0",
51
- "cesr": "^0.0.23-dev.66c3786",
52
- "commander": "^14.0.0"
52
+ "cesr": "^0.0.23-dev.66c3786"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@eslint/js": "^9.28.0",
56
- "@hono/node-server": "^1.19.3",
57
56
  "@types/node": "^22.15.30",
58
57
  "eslint": "^9.28.0",
59
58
  "eslint-config-prettier": "^9.1.0",
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env -S node --no-warnings
2
- export {};
package/dist/cli/main.js DELETED
@@ -1,183 +0,0 @@
1
- #!/usr/bin/env -S node --no-warnings
2
- import { program } from "commander";
3
- import process from "node:process";
4
- import { Controller } from "../controller.js";
5
- import { SqliteStorage } from "../db/storage-sqlite.js";
6
- import { PassphraseKeyManager } from "../keystore/key-manager.js";
7
- import { keri } from "../events/events.js";
8
- import { Message } from "cesr";
9
- const storage = new SqliteStorage({ filename: ".keri/db.sqlite" });
10
- storage.init();
11
- function getStringArray(options, key) {
12
- if (typeof options !== "object" || options === null || !(key in options)) {
13
- return [];
14
- }
15
- const value = options[key];
16
- const result = [];
17
- if (typeof value === "string") {
18
- result.push(value);
19
- }
20
- else if (Array.isArray(value)) {
21
- result.push(...value);
22
- }
23
- return result;
24
- }
25
- function getOptionalString(options, key) {
26
- if (typeof options !== "object" || options === null) {
27
- throw new Error(`Options is not an object`);
28
- }
29
- const value = options[key];
30
- if (value !== undefined && typeof value !== "string") {
31
- throw new Error(`Expected "${key}" to be a string, got "${typeof value}"`);
32
- }
33
- return value;
34
- }
35
- function getString(options, key) {
36
- const value = getOptionalString(options, key);
37
- if (!value) {
38
- throw new Error(`Expected "${key}" to be a string, got "${value}"`);
39
- }
40
- return value;
41
- }
42
- program.command("resolve <oobi>").action(async (oobi) => {
43
- const controller = new Controller({
44
- storage,
45
- keychain: new PassphraseKeyManager({ storage }),
46
- });
47
- await controller.resolve(oobi);
48
- });
49
- program
50
- .command("incept")
51
- .option("--passcode <passcode>")
52
- .option("--wit <wit...>")
53
- .action(async (options) => {
54
- const passcode = getOptionalString(options, "passcode");
55
- const wits = getStringArray(options, "wit");
56
- const keystore = new PassphraseKeyManager({ storage, passphrase: passcode });
57
- const controller = new Controller({ storage, keychain: keystore });
58
- const event = await controller.createIdentifier({
59
- wits,
60
- keys: [await keystore.incept()],
61
- next: [await keystore.incept()],
62
- });
63
- console.log(event.i);
64
- });
65
- program
66
- .command("send")
67
- .description("Sends a signed exchange message to the specified recipient")
68
- .requiredOption("--sender <sender aid>")
69
- .requiredOption("--route <route>")
70
- .requiredOption("--topic <topic>")
71
- .requiredOption("--receiver <receiver aid>")
72
- .option("--passcode <passcode>")
73
- .requiredOption("--data <data>")
74
- .action(async (options) => {
75
- const passcode = getOptionalString(options, "passcode");
76
- const sender = getString(options, "sender");
77
- const receiver = getString(options, "receiver");
78
- const route = getString(options, "route");
79
- const topic = getString(options, "topic");
80
- const data = JSON.parse(getString(options, "data"));
81
- const keystore = new PassphraseKeyManager({
82
- storage,
83
- passphrase: passcode,
84
- });
85
- const controller = new Controller({ storage, keychain: keystore });
86
- const message = new Message(keri.exchange({
87
- i: sender,
88
- r: route,
89
- q: {},
90
- a: { i: sender, ...data },
91
- e: {},
92
- }));
93
- await controller.forward({
94
- sender: await controller.state(sender),
95
- topic,
96
- recipient: receiver,
97
- message,
98
- });
99
- });
100
- program
101
- .command("create-registry")
102
- .description("Creates a new credential registry")
103
- .requiredOption("--owner <owner aid>")
104
- .option("--passcode <passcode>")
105
- .action(async (options) => {
106
- const passcode = getOptionalString(options, "passcode");
107
- const owner = getString(options, "owner");
108
- const keystore = new PassphraseKeyManager({
109
- storage,
110
- passphrase: passcode,
111
- });
112
- const controller = new Controller({ storage, keychain: keystore });
113
- const registry = await controller.createRegistry({ owner });
114
- console.log(registry.i);
115
- });
116
- program
117
- .command("create-credential")
118
- .description("Creates a new credential")
119
- .requiredOption("--registry <registry said>")
120
- .requiredOption("--receiver <receiver aid>")
121
- .requiredOption("--schema <schema said>")
122
- .requiredOption("--data <data>")
123
- .requiredOption("--rules <rules>")
124
- .option("--salt <salt>")
125
- .option("--edges <edges>")
126
- .option("--passcode <passcode>")
127
- .action(async (options) => {
128
- const passcode = getOptionalString(options, "passcode");
129
- const registryId = getString(options, "registry");
130
- const receiver = getString(options, "receiver");
131
- const schemaId = getString(options, "schema");
132
- const salt = getOptionalString(options, "salt");
133
- const data = JSON.parse(getString(options, "data"));
134
- const rules = JSON.parse(getString(options, "rules"));
135
- const edges = JSON.parse(getOptionalString(options, "edges") ?? "null");
136
- const keystore = new PassphraseKeyManager({
137
- storage,
138
- passphrase: passcode,
139
- });
140
- const controller = new Controller({ storage, keychain: keystore });
141
- const acdc = await controller.createCredential({
142
- holder: receiver,
143
- registryId: registryId,
144
- schemaId: schemaId,
145
- data: data,
146
- salt: salt,
147
- rules: rules,
148
- edges: edges || undefined,
149
- });
150
- const s = await controller.store.get(acdc.d);
151
- if (!s) {
152
- throw new Error("Failed to store created credential");
153
- }
154
- console.log(acdc.d);
155
- });
156
- program
157
- .command("ipex-grant")
158
- .requiredOption("--said <aid>")
159
- .option("--passcode <passcode>")
160
- .action(async (options) => {
161
- const passcode = getOptionalString(options, "passcode");
162
- const said = getString(options, "said");
163
- const keystore = new PassphraseKeyManager({
164
- storage,
165
- passphrase: passcode,
166
- });
167
- const controller = new Controller({
168
- storage,
169
- keychain: keystore,
170
- });
171
- const acdc = (await controller.store.get(said))?.body;
172
- if (!acdc) {
173
- throw new Error(`No ACDC found for said ${said}`);
174
- }
175
- if (acdc.a.i) {
176
- await controller.sendCredentialArficats(acdc, acdc.a.i);
177
- }
178
- await controller.grant({
179
- credential: acdc,
180
- });
181
- });
182
- program.parse(process.argv);
183
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { type ReceiptEvent } from "./events/events.ts";
2
- import { type LocationRecord } from "./events/event-store.ts";
3
- import { type Message } from "cesr";
4
- export interface SendArgs {
5
- messages: Message[];
6
- }
7
- export interface ClientOptions {
8
- role: string;
9
- endpoint: LocationRecord;
10
- }
11
- export declare class Client {
12
- #private;
13
- role: string;
14
- constructor(options: ClientOptions);
15
- getReceipt(message: Message): Promise<Message<ReceiptEvent>>;
16
- sendMessage(message: Message, signal?: AbortSignal): Promise<Message[]>;
17
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import { ControllerEventStore, type KeyValueStorage, type KeyState, type LocationRecord } from "./events/event-store.ts";
2
- import { type KeyEvent, type InteractEvent, type CredentialEvent, type RegistryInceptEvent } from "./events/events.ts";
3
- import { Client } from "./client.ts";
4
- import { Message } from "cesr";
5
- export interface ControllerDeps {
6
- keychain: Keychain;
7
- storage: KeyValueStorage;
8
- }
9
- export interface IpexGrantArgs {
10
- credential: CredentialEvent;
11
- recipient?: string;
12
- timestamp?: string;
13
- }
14
- export interface ForwardArgs {
15
- message: Message<KeyEvent>;
16
- sender: KeyState;
17
- topic: string;
18
- recipient: string;
19
- timestamp?: string;
20
- }
21
- export interface InceptArgs {
22
- keys: string[];
23
- next?: string[];
24
- wits?: string[];
25
- toad?: number;
26
- }
27
- export interface ReplyArgs {
28
- aid: string;
29
- route: string;
30
- data: Record<string, unknown>;
31
- }
32
- export interface InteractArgs {
33
- aid: string;
34
- data: Record<string, unknown>;
35
- }
36
- export interface CreateRegistryArgs {
37
- owner: string;
38
- nonce?: string;
39
- }
40
- export interface CreateCredentialArgs {
41
- schemaId: string;
42
- registryId: string;
43
- holder: string;
44
- salt?: string;
45
- data?: Record<string, unknown>;
46
- rules?: Record<string, unknown>;
47
- edges?: Record<string, unknown>;
48
- timestamp?: Date;
49
- }
50
- export interface Keychain {
51
- sign(publicKey: string, message: Uint8Array): Promise<string>;
52
- }
53
- export declare class Controller {
54
- #private;
55
- get store(): ControllerEventStore;
56
- constructor(deps: ControllerDeps);
57
- createIdentifier(args: InceptArgs): Promise<KeyState>;
58
- reply(args: ReplyArgs): Promise<void>;
59
- interact(args: InteractArgs): Promise<InteractEvent>;
60
- createRegistry(args: CreateRegistryArgs): Promise<RegistryInceptEvent>;
61
- createCredential(args: CreateCredentialArgs): Promise<CredentialEvent>;
62
- resolve(oobi: string): Promise<void>;
63
- getClient(cid: string): Promise<Client>;
64
- getLocation(aid: string): Promise<LocationRecord>;
65
- private submit;
66
- state(said: string): Promise<KeyState>;
67
- listEvents(id: string): Promise<Message<KeyEvent>[]>;
68
- sendCredentialArficats(credential: CredentialEvent, recipient: string): Promise<void>;
69
- grant(args: IpexGrantArgs): Promise<void>;
70
- forward(args: ForwardArgs): Promise<void>;
71
- sign(event: Record<string, unknown>, keys: string[]): Promise<string[]>;
72
- }