keri 0.0.0-dev.3258b67 → 0.0.0-dev.40708fa

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 (146) hide show
  1. package/dist/cesr/__main__.d.ts +1 -2
  2. package/dist/cesr/__main__.js +1 -2
  3. package/dist/cesr/__main__.js.map +1 -1
  4. package/dist/cesr/attachments-reader.js +41 -33
  5. package/dist/cesr/attachments-reader.js.map +1 -1
  6. package/dist/cesr/attachments.d.ts +1 -3
  7. package/dist/cesr/attachments.js +3 -11
  8. package/dist/cesr/attachments.js.map +1 -1
  9. package/dist/cesr/counter.d.ts +2 -5
  10. package/dist/cesr/counter.js +8 -23
  11. package/dist/cesr/counter.js.map +1 -1
  12. package/dist/cesr/frame.d.ts +8 -13
  13. package/dist/cesr/frame.js +4 -2
  14. package/dist/cesr/frame.js.map +1 -1
  15. package/dist/cesr/genus.d.ts +0 -3
  16. package/dist/cesr/genus.js +2 -11
  17. package/dist/cesr/genus.js.map +1 -1
  18. package/dist/cesr/groups/generic-map.d.ts +2 -2
  19. package/dist/cesr/groups/generic-map.js +4 -12
  20. package/dist/cesr/groups/generic-map.js.map +1 -1
  21. package/dist/cesr/indexer.d.ts +3 -5
  22. package/dist/cesr/indexer.js +2 -8
  23. package/dist/cesr/indexer.js.map +1 -1
  24. package/dist/cesr/matter.d.ts +2 -5
  25. package/dist/cesr/matter.js +3 -13
  26. package/dist/cesr/matter.js.map +1 -1
  27. package/dist/cesr/message.js +1 -1
  28. package/dist/cesr/message.js.map +1 -1
  29. package/dist/cesr/parse.js +8 -7
  30. package/dist/cesr/parse.js.map +1 -1
  31. package/dist/cesr/version-string.js +1 -2
  32. package/dist/cesr/version-string.js.map +1 -1
  33. package/dist/cli/cli.js +3 -3
  34. package/dist/cli/cli.js.map +1 -1
  35. package/dist/controller/controller.d.ts +9 -25
  36. package/dist/controller/controller.js +5 -5
  37. package/dist/controller/controller.js.map +1 -1
  38. package/dist/core/credential-event.d.ts +5 -9
  39. package/dist/core/credential-event.js +1 -1
  40. package/dist/core/credential-event.js.map +1 -1
  41. package/dist/core/credential.d.ts +1 -1
  42. package/dist/core/credential.js +1 -1
  43. package/dist/core/credential.js.map +1 -1
  44. package/dist/core/digest.js +3 -3
  45. package/dist/core/digest.js.map +1 -1
  46. package/dist/core/endpoint-discovery.d.ts +4 -4
  47. package/dist/core/endpoint-discovery.js.map +1 -1
  48. package/dist/core/events.js +2 -2
  49. package/dist/core/events.js.map +1 -1
  50. package/dist/core/kawa.d.ts +1 -1
  51. package/dist/core/kawa.js +3 -42
  52. package/dist/core/kawa.js.map +1 -1
  53. package/dist/core/key-event-log.d.ts +12 -6
  54. package/dist/core/key-event-log.js +13 -11
  55. package/dist/core/key-event-log.js.map +1 -1
  56. package/dist/core/key-event.d.ts +7 -9
  57. package/dist/core/key-event.js +1 -1
  58. package/dist/core/key-event.js.map +1 -1
  59. package/dist/core/keys.d.ts +2 -1
  60. package/dist/core/keys.js +10 -10
  61. package/dist/core/keys.js.map +1 -1
  62. package/dist/core/mailbox-client.d.ts +1 -1
  63. package/dist/core/mailbox-client.js +2 -2
  64. package/dist/core/mailbox-client.js.map +1 -1
  65. package/dist/core/main.d.ts +9 -7
  66. package/dist/core/main.js +5 -3
  67. package/dist/core/main.js.map +1 -1
  68. package/dist/core/receipt-event.d.ts +2 -2
  69. package/dist/core/receipt-event.js +1 -1
  70. package/dist/core/receipt-event.js.map +1 -1
  71. package/dist/core/registry-event.d.ts +3 -5
  72. package/dist/core/registry-event.js +1 -1
  73. package/dist/core/registry-event.js.map +1 -1
  74. package/dist/core/routed-event.d.ts +7 -13
  75. package/dist/core/routed-event.js +1 -1
  76. package/dist/core/routed-event.js.map +1 -1
  77. package/dist/core/said.js +9 -6
  78. package/dist/core/said.js.map +1 -1
  79. package/dist/core/sign.js +3 -3
  80. package/dist/core/sign.js.map +1 -1
  81. package/dist/core/verify.d.ts +10 -2
  82. package/dist/core/verify.js +30 -11
  83. package/dist/core/verify.js.map +1 -1
  84. package/dist/core/witness-client.d.ts +8 -0
  85. package/dist/core/witness-client.js +39 -0
  86. package/dist/core/witness-client.js.map +1 -0
  87. package/dist/encoding/main.d.ts +2 -0
  88. package/dist/encoding/main.js +3 -0
  89. package/dist/encoding/main.js.map +1 -0
  90. package/dist/main.d.ts +0 -1
  91. package/dist/main.js +0 -1
  92. package/dist/main.js.map +1 -1
  93. package/dist/nodejs-utils/serve.d.ts +5 -0
  94. package/dist/nodejs-utils/serve.js +77 -0
  95. package/dist/nodejs-utils/serve.js.map +1 -0
  96. package/dist/storage/credential-storage.d.ts +8 -0
  97. package/dist/storage/credential-storage.js +2 -0
  98. package/dist/storage/credential-storage.js.map +1 -0
  99. package/dist/storage/key-event-storage.d.ts +10 -0
  100. package/dist/storage/key-event-storage.js +2 -0
  101. package/dist/storage/key-event-storage.js.map +1 -0
  102. package/dist/storage/mailbox-storage.d.ts +4 -0
  103. package/dist/storage/mailbox-storage.js +2 -0
  104. package/dist/storage/mailbox-storage.js.map +1 -0
  105. package/dist/storage/main.d.ts +4 -0
  106. package/dist/storage/main.js +2 -0
  107. package/dist/storage/main.js.map +1 -0
  108. package/dist/storage/private-key-storage.d.ts +5 -0
  109. package/dist/storage/private-key-storage.js +2 -0
  110. package/dist/storage/private-key-storage.js.map +1 -0
  111. package/dist/storage/sqlite/schema.js +25 -19
  112. package/dist/storage/sqlite/schema.js.map +1 -1
  113. package/dist/storage/sqlite/storage-sqlite.d.ts +10 -7
  114. package/dist/storage/sqlite/storage-sqlite.js +10 -8
  115. package/dist/storage/sqlite/storage-sqlite.js.map +1 -1
  116. package/dist/witness/main.d.ts +2 -6
  117. package/dist/witness/main.js +2 -3
  118. package/dist/witness/main.js.map +1 -1
  119. package/dist/witness/witness-router.d.ts +2 -0
  120. package/dist/witness/witness-router.js +103 -0
  121. package/dist/witness/witness-router.js.map +1 -0
  122. package/dist/witness/witness.d.ts +14 -6
  123. package/dist/witness/witness.js +128 -48
  124. package/dist/witness/witness.js.map +1 -1
  125. package/package.json +40 -10
  126. package/dist/cesr/codec.d.ts +0 -26
  127. package/dist/cesr/codec.js +0 -26
  128. package/dist/cesr/codec.js.map +0 -1
  129. package/dist/witness/app.d.ts +0 -9
  130. package/dist/witness/app.js +0 -91
  131. package/dist/witness/app.js.map +0 -1
  132. package/dist/witness/env.d.ts +0 -1
  133. package/dist/witness/env.js +0 -8
  134. package/dist/witness/env.js.map +0 -1
  135. package/dist/witness/event-storage.d.ts +0 -8
  136. package/dist/witness/event-storage.js +0 -2
  137. package/dist/witness/event-storage.js.map +0 -1
  138. package/dist/witness/local.d.ts +0 -1
  139. package/dist/witness/local.js +0 -48
  140. package/dist/witness/local.js.map +0 -1
  141. package/dist/witness/parser.d.ts +0 -3
  142. package/dist/witness/parser.js +0 -7
  143. package/dist/witness/parser.js.map +0 -1
  144. package/dist/witness/seed.d.ts +0 -1
  145. package/dist/witness/seed.js +0 -5
  146. package/dist/witness/seed.js.map +0 -1
@@ -1,11 +1,11 @@
1
- import { Message } from "../cesr/__main__.ts";
1
+ import { Message } from "#keri/cesr";
2
2
  export interface QueryEventInit {
3
3
  dt?: Date;
4
4
  r?: string;
5
5
  rr?: string;
6
6
  q: Record<string, unknown>;
7
7
  }
8
- export type QueryEvent = {
8
+ export type QueryEventBody = {
9
9
  v: string;
10
10
  t: "qry";
11
11
  d: string;
@@ -19,7 +19,7 @@ export interface ReplyEventInit {
19
19
  r: string;
20
20
  a: Record<string, unknown>;
21
21
  }
22
- export type ReplyEvent = {
22
+ export type ReplyEventBody = {
23
23
  v: string;
24
24
  t: "rpy";
25
25
  d: string;
@@ -35,12 +35,8 @@ export type RoutedEventBody = {
35
35
  [key: string]: unknown;
36
36
  };
37
37
  export type RoutedEvent = Message<RoutedEventBody>;
38
- export declare function query(args: QueryEventInit): Message<QueryEvent & {
39
- v: string;
40
- }>;
41
- export declare function reply(args: ReplyEventInit): Message<ReplyEvent & {
42
- v: string;
43
- }>;
38
+ export declare function query(args: QueryEventInit): Message<QueryEventBody>;
39
+ export declare function reply(args: ReplyEventInit): Message<ReplyEventBody>;
44
40
  export interface ExchangeEventInit {
45
41
  sender: string;
46
42
  recipient?: string;
@@ -55,7 +51,7 @@ export interface ExchangeEmbedding {
55
51
  d: string;
56
52
  [key: string]: string | Record<string, unknown>;
57
53
  }
58
- export interface ExchangeEvent extends Record<string, unknown> {
54
+ export interface ExchangeEventBody extends Record<string, unknown> {
59
55
  v: string;
60
56
  t: "exn";
61
57
  d: string;
@@ -68,6 +64,4 @@ export interface ExchangeEvent extends Record<string, unknown> {
68
64
  a: Record<string, unknown>;
69
65
  e: Record<string, string | Record<string, unknown>>;
70
66
  }
71
- export declare function exchange(args: ExchangeEventInit): Message<ExchangeEvent & {
72
- v: string;
73
- }>;
67
+ export declare function exchange(args: ExchangeEventInit): Message<ExchangeEventBody>;
@@ -1,4 +1,4 @@
1
- import { Attachments, Message } from "../cesr/__main__.js";
1
+ import { Attachments, Message } from "#keri/cesr";
2
2
  import { DUMMY_VERSION, encodeEvent, formatDate } from "./events.js";
3
3
  import { saidify } from "./said.js";
4
4
  export function query(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"routed-event.js","sourceRoot":"","sources":["../../src/core/routed-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+CpC,MAAM,UAAU,KAAK,CAAC,IAAoB;IACxC,MAAM,IAAI,GAAG,WAAW,CAAa;QACnC,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QACrC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;QACjB,CAAC,EAAE,IAAI,CAAC,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAoB;IACxC,MAAM,IAAI,GAAG,WAAW,CAAa;QACnC,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QACrC,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,CAAC,EAAE,IAAI,CAAC,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAgCD,MAAM,UAAU,QAAQ,CAAC,IAAuB;IAC9C,MAAM,MAAM,GAAsB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAgB;QACtC,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,IAAI,CAAC,MAAM;QACd,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QACxB,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5C,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACnB,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACpB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;KAC7C,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"routed-event.js","sourceRoot":"","sources":["../../src/core/routed-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CpC,MAAM,UAAU,KAAK,CAAC,IAAoB;IACxC,MAAM,IAAI,GAAG,WAAW,CAAiB;QACvC,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QACrC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;QACjB,CAAC,EAAE,IAAI,CAAC,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAoB;IACxC,MAAM,IAAI,GAAG,WAAW,CAAiB;QACvC,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QACrC,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,CAAC,EAAE,IAAI,CAAC,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAgCD,MAAM,UAAU,QAAQ,CAAC,IAAuB;IAC9C,MAAM,MAAM,GAAsB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAoB;QAC1C,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,IAAI,CAAC,MAAM;QACd,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QACxB,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5C,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACnB,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACpB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;KAC7C,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACxC,CAAC"}
package/dist/core/said.js CHANGED
@@ -1,11 +1,14 @@
1
1
  import { blake3 } from "@noble/hashes/blake3.js";
2
- import { cesr } from "../cesr/__main__.js";
2
+ import { encodeText, Matter } from "#keri/cesr";
3
3
  function calculateSaid(event) {
4
- const digest = cesr.crypto.blake3_256(blake3
5
- .create({ dkLen: 32 })
6
- .update(new TextEncoder().encode(JSON.stringify(event)))
7
- .digest());
8
- return digest.text();
4
+ const digest = encodeText(new Matter({
5
+ code: Matter.Code.Blake3_256,
6
+ raw: blake3
7
+ .create({ dkLen: 32 })
8
+ .update(new TextEncoder().encode(JSON.stringify(event)))
9
+ .digest(),
10
+ }));
11
+ return digest;
9
12
  }
10
13
  export function saidify(event, labels) {
11
14
  if (!labels?.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"said.js","sourceRoot":"","sources":["../../src/core/said.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACnC,MAAM;SACH,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACrB,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD,MAAM,EAAE,CACZ,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAMD,MAAM,UAAU,OAAO,CAAoC,KAAQ,EAAE,MAAiB;IACpF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"said.js","sourceRoot":"","sources":["../../src/core/said.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhD,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,MAAM,GAAG,UAAU,CACvB,IAAI,MAAM,CAAC;QACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;QAC5B,GAAG,EAAE,MAAM;aACR,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;aACrB,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACvD,MAAM,EAAE;KACZ,CAAC,CACH,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAMD,MAAM,UAAU,OAAO,CAAoC,KAAQ,EAAE,MAAiB;IACpF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC"}
package/dist/core/sign.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { ed25519 } from "@noble/curves/ed25519.js";
2
- import { cesr, Indexer } from "../cesr/__main__.js";
2
+ import { encodeText, Indexer, Matter } from "#keri/cesr";
3
3
  export function sign(payload, options) {
4
4
  const signature = ed25519.sign(payload, options.key);
5
5
  if (options.index !== undefined && options.index !== null) {
6
- return Indexer.crypto.ed25519_sig(signature, options.index).text();
6
+ return encodeText(Indexer.crypto.ed25519_sig(signature, options.index));
7
7
  }
8
- return cesr.crypto.ed25519_sig(signature).text();
8
+ return encodeText(Matter.crypto.ed25519_sig(signature));
9
9
  }
10
10
  //# sourceMappingURL=sign.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/core/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,UAAU,IAAI,CAAC,OAAmB,EAAE,OAAoB;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1D,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/core/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAOzD,MAAM,UAAU,IAAI,CAAC,OAAmB,EAAE,OAAoB;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1D,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1D,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Matter } from "#keri/cesr";
1
2
  import { type Threshold } from "./threshold.ts";
2
3
  export interface VerifyOptions {
3
4
  threshold: Threshold;
@@ -11,5 +12,12 @@ export type VerifyResult = {
11
12
  ok: false;
12
13
  error: string;
13
14
  };
14
- export declare function verify(payload: Uint8Array, options: VerifyOptions): VerifyResult;
15
- export declare function verifyOrThrow(payload: Uint8Array, options: VerifyOptions): void;
15
+ export declare function verifySignature(payload: Uint8Array, key: Matter, sig: Uint8Array): boolean;
16
+ export declare function verifyThreshold(payload: Uint8Array, options: VerifyOptions): VerifyResult;
17
+ export declare function verifyThresholdOrThrow(payload: Uint8Array, options: VerifyOptions): void;
18
+ /**
19
+ * Validates that every signature present is cryptographically valid for its key,
20
+ * but does NOT check that the threshold is met.
21
+ */
22
+ export declare function verifySignatures(payload: Uint8Array, options: VerifyOptions): VerifyResult;
23
+ export declare function verifySignaturesOrThrow(payload: Uint8Array, options: VerifyOptions): void;
@@ -1,20 +1,16 @@
1
1
  import { ed25519 } from "@noble/curves/ed25519.js";
2
- import { Indexer, Matter } from "../cesr/__main__.js";
2
+ import { Indexer, Matter } from "#keri/cesr";
3
3
  import { parseThreshold } from "./threshold.js";
4
- function verifySignature(payload, key, sig) {
4
+ export function verifySignature(payload, key, sig) {
5
5
  switch (key.code) {
6
6
  case Matter.Code.Ed25519:
7
7
  case Matter.Code.Ed25519N:
8
- // TODO:
9
- // We can check the code of the signature,
10
- // but it does not really matter since it will be verified correctly regardless.
11
- // Anyway, revisit later
12
- return ed25519.verify(sig.raw, payload, key.raw);
8
+ return ed25519.verify(sig, payload, key.raw);
13
9
  default:
14
10
  throw new Error(`Unsupported key code: ${key.code}`);
15
11
  }
16
12
  }
17
- export function verify(payload, options) {
13
+ export function verifyThreshold(payload, options) {
18
14
  const keys = options.keys.map((key) => Matter.parse(key));
19
15
  const sigs = options.sigs.map((sig) => Indexer.parse(sig));
20
16
  const threshold = parseThreshold(options.threshold, options.keys.length);
@@ -24,7 +20,7 @@ export function verify(payload, options) {
24
20
  if (!sig) {
25
21
  continue;
26
22
  }
27
- if (!verifySignature(payload, keys[idx], sig)) {
23
+ if (!verifySignature(payload, keys[idx], sig.raw)) {
28
24
  return { ok: false, error: `Invalid signature for key at index ${idx}` };
29
25
  }
30
26
  sum += threshold.weights[idx];
@@ -34,8 +30,31 @@ export function verify(payload, options) {
34
30
  }
35
31
  return { ok: true };
36
32
  }
37
- export function verifyOrThrow(payload, options) {
38
- const result = verify(payload, options);
33
+ export function verifyThresholdOrThrow(payload, options) {
34
+ const result = verifyThreshold(payload, options);
35
+ if (!result.ok) {
36
+ throw new Error(result.error);
37
+ }
38
+ }
39
+ /**
40
+ * Validates that every signature present is cryptographically valid for its key,
41
+ * but does NOT check that the threshold is met.
42
+ */
43
+ export function verifySignatures(payload, options) {
44
+ const keys = options.keys.map((key) => Matter.parse(key));
45
+ const sigs = options.sigs.map((sig) => Indexer.parse(sig));
46
+ for (let idx = 0; idx < keys.length; idx++) {
47
+ const sig = sigs.find((s) => s.index === idx);
48
+ if (!sig)
49
+ continue;
50
+ if (!verifySignature(payload, keys[idx], sig.raw)) {
51
+ return { ok: false, error: `Invalid signature for key at index ${idx}` };
52
+ }
53
+ }
54
+ return { ok: true };
55
+ }
56
+ export function verifySignaturesOrThrow(payload, options) {
57
+ const result = verifySignatures(payload, options);
39
58
  if (!result.ok) {
40
59
  throw new Error(result.error);
41
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/core/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAC;AAkBhE,SAAS,eAAe,CAAC,OAAmB,EAAE,GAAW,EAAE,GAAqB;IAC9E,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ;YACvB,QAAQ;YACR,0CAA0C;YAC1C,gFAAgF;YAChF,wBAAwB;YACxB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACnD;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAmB,EAAE,OAAsB;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEzE,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sCAAsC,GAAG,EAAE,EAAE,CAAC;QAC3E,CAAC;QAED,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,GAAG,yBAAyB,SAAS,CAAC,QAAQ,WAAW,EAAE,CAAC;IAC/G,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmB,EAAE,OAAsB;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/core/verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type Message } from "#keri/cesr";
2
+ import type { KeyEventBody } from "./key-event.ts";
3
+ import type { ReceiptEvent } from "./receipt-event.ts";
4
+ export declare class WitnessClient {
5
+ #private;
6
+ constructor(url: string, fetch?: typeof globalThis.fetch);
7
+ receipt(event: Message<KeyEventBody>): Promise<ReceiptEvent>;
8
+ }
@@ -0,0 +1,39 @@
1
+ import { encodeText, Matter, parse } from "#keri/cesr";
2
+ import { verifySignature } from "./verify.js";
3
+ export class WitnessClient {
4
+ #url;
5
+ #fetch;
6
+ constructor(url, fetch) {
7
+ this.#url = url;
8
+ this.#fetch = fetch ?? globalThis.fetch;
9
+ }
10
+ async receipt(event) {
11
+ const url = new URL("/receipts", this.#url);
12
+ if (url.protocol !== "http:" && url.protocol !== "https:") {
13
+ throw new Error(`Invalid protocol: ${url}`);
14
+ }
15
+ const fetchResponse = await this.#fetch(url, {
16
+ method: "POST",
17
+ body: JSON.stringify(event.body),
18
+ headers: {
19
+ "Content-Type": "application/cesr+json",
20
+ "CESR-ATTACHMENT": encodeText(event.attachments.frames()),
21
+ },
22
+ });
23
+ if (!fetchResponse.ok || !fetchResponse.body) {
24
+ throw new Error(`Failed to submit event to witness: ${fetchResponse.status} ${fetchResponse.statusText}`);
25
+ }
26
+ for await (const incoming of parse(fetchResponse.body)) {
27
+ if (incoming.body.t === "rct" && incoming.body.d === event.body.d) {
28
+ for (const couple of incoming.attachments.NonTransReceiptCouples) {
29
+ if (!verifySignature(event.raw, Matter.parse(couple.prefix), Matter.parse(couple.sig).raw)) {
30
+ throw new Error(`Invalid witness signature from ${couple.prefix}`);
31
+ }
32
+ }
33
+ return incoming;
34
+ }
35
+ }
36
+ throw new Error(`No receipt returned from ${this.#url}`);
37
+ }
38
+ }
39
+ //# sourceMappingURL=witness-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"witness-client.js","sourceRoot":"","sources":["../../src/core/witness-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAgB,KAAK,EAAE,MAAM,YAAY,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,OAAO,aAAa;IACxB,IAAI,CAAS;IACb,MAAM,CAA0B;IAEhC,YAAY,GAAW,EAAE,KAA+B;QACtD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA4B;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YAChC,OAAO,EAAE;gBACP,cAAc,EAAE,uBAAuB;gBACvC,iBAAiB,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;aAC1D;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,sCAAsC,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClE,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;oBACjE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC3F,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;gBAED,OAAO,QAAwB,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { decodeBase64Int, decodeBase64Url, encodeBase64Int, encodeBase64Url } from "./base64.ts";
2
+ export { decodeUtf8, encodeUtf8 } from "./utf8.ts";
@@ -0,0 +1,3 @@
1
+ export { decodeBase64Int, decodeBase64Url, encodeBase64Int, encodeBase64Url } from "./base64.js";
2
+ export { decodeUtf8, encodeUtf8 } from "./utf8.js";
3
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/encoding/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
package/dist/main.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export * from "./controller/controller.ts";
2
2
  export * from "./core/main.ts";
3
- export * from "./witness/main.ts";
package/dist/main.js CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from "./controller/controller.js";
2
2
  export * from "./core/main.js";
3
- export * from "./witness/main.js";
4
3
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { RequestListener } from "node:http";
2
+ export interface ServerOptions {
3
+ logger?: (message: string, context?: unknown) => void;
4
+ }
5
+ export declare function createListener(handler: (request: Request) => Promise<Response>, logger?: (message: string, context?: unknown) => void): RequestListener;
@@ -0,0 +1,77 @@
1
+ import { Readable } from "node:stream";
2
+ import { format } from "node:util";
3
+ function toWebRequest(req, url) {
4
+ const headers = new Headers();
5
+ for (const [key, headerValue] of Object.entries(req.headers)) {
6
+ if (headerValue !== undefined) {
7
+ if (Array.isArray(headerValue)) {
8
+ for (const value of headerValue) {
9
+ headers.append(key, value);
10
+ }
11
+ }
12
+ else {
13
+ headers.set(key, headerValue);
14
+ }
15
+ }
16
+ }
17
+ let body = null;
18
+ if (!["GET", "HEAD"].includes(req.method ?? "")) {
19
+ body = Readable.toWeb(req);
20
+ }
21
+ const request = new Request(url, {
22
+ method: req.method,
23
+ headers: headers,
24
+ body,
25
+ duplex: "half",
26
+ // Cast required because DOM types omit `duplex`, but Node.js undici fetch requires it when body is a stream
27
+ });
28
+ return request;
29
+ }
30
+ async function handleRequest(req, res, handler) {
31
+ const host = req.headers.host ?? "0.0.0.0";
32
+ const protocol = req.headers["x-forwarded-proto"] ?? "http";
33
+ const url = new URL(req.url ?? "/", `${protocol}://${host}`);
34
+ const request = toWebRequest(req, url);
35
+ const response = await handler(request);
36
+ res.writeHead(response.status, Object.fromEntries(response.headers.entries()));
37
+ const reader = response.body?.getReader();
38
+ if (reader) {
39
+ while (true) {
40
+ const { done, value } = await reader.read();
41
+ if (done)
42
+ break;
43
+ res.write(value);
44
+ }
45
+ }
46
+ res.end();
47
+ }
48
+ export function createListener(handler, logger) {
49
+ return async (req, res) => {
50
+ const start = Date.now();
51
+ const url = req.url ?? "/";
52
+ const method = req.method ?? "GET";
53
+ logger?.(`${method} ${url}`);
54
+ res.on("finish", () => {
55
+ const ms = Date.now() - start;
56
+ logger?.(`${method} ${url} - ${res.statusCode} - ${ms}ms`, {
57
+ request: {
58
+ url,
59
+ method,
60
+ headers: req.headers,
61
+ },
62
+ response: {
63
+ status: res.statusCode,
64
+ },
65
+ });
66
+ });
67
+ try {
68
+ await handleRequest(req, res, handler);
69
+ }
70
+ catch (err) {
71
+ logger?.(`Error handling request\n${format(err)}\n`);
72
+ res.statusCode = 500;
73
+ res.end("Internal Server Error");
74
+ }
75
+ };
76
+ }
77
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/nodejs-utils/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CredentialBody, IssueEvent, Message, RegistryInceptEventBody, RevokeEvent } from "#keri/core";
2
+ export interface CredentialStorage {
3
+ getCredentialEvents(id: string): Generator<Message<IssueEvent | RevokeEvent>>;
4
+ getRegistry(id: string): Message<RegistryInceptEventBody> | null;
5
+ getRegistriesByOwner(owner: string): Generator<Message<RegistryInceptEventBody>>;
6
+ getCredential(id: string): CredentialBody | null;
7
+ getCredentialsByRegistry(registryId: string): CredentialBody[];
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=credential-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-storage.js","sourceRoot":"","sources":["../../src/storage/credential-storage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { KeyEvent, Message, ReplyEventBody } from "#keri/core";
2
+ export interface KeyEventStorage {
3
+ saveMessage(message: Message): void;
4
+ getKeyEvents(prefix: string): Generator<KeyEvent>;
5
+ getReplies(filter?: {
6
+ route?: string;
7
+ eid?: string;
8
+ cid?: string;
9
+ }): Generator<Message<ReplyEventBody>>;
10
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=key-event-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-event-storage.js","sourceRoot":"","sources":["../../src/storage/key-event-storage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface MailboxStorage {
2
+ getMailboxOffset(prefix: string, topic: string): number;
3
+ saveMailboxOffset(prefix: string, topic: string, offset: number): void;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mailbox-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox-storage.js","sourceRoot":"","sources":["../../src/storage/mailbox-storage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type { CredentialStorage } from "./credential-storage.ts";
2
+ export type { KeyEventStorage } from "./key-event-storage.ts";
3
+ export type { MailboxStorage } from "./mailbox-storage.ts";
4
+ export type { PrivateKeyStorage } from "./private-key-storage.ts";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/storage/main.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface PrivateKeyStorage {
2
+ saveKey(publicKey: string, digest: string, encryptedPrivKey: string): void;
3
+ getEncryptedPrivateKey(publicKey: string): string;
4
+ getPublicKeyByDigest(digest: string): string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=private-key-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private-key-storage.js","sourceRoot":"","sources":["../../src/storage/private-key-storage.ts"],"names":[],"mappings":""}
@@ -1,28 +1,34 @@
1
1
  const migrations = [
2
2
  // Migration 1: initial schema
3
3
  [
4
- `CREATE TABLE IF NOT EXISTS event (
5
- event_id TEXT PRIMARY KEY,
6
- protocol TEXT NOT NULL,
7
- type TEXT NOT NULL,
8
- sn INTEGER,
9
- event_json JSON NOT NULL,
10
- attachments TEXT
11
- )`,
12
- `CREATE TABLE IF NOT EXISTS key_info (
13
- public_key TEXT PRIMARY KEY,
14
- public_key_digest TEXT NOT NULL,
15
- encrypted_private_key TEXT NOT NULL
16
- )`,
4
+ [
5
+ "CREATE TABLE IF NOT EXISTS event (",
6
+ " event_id TEXT PRIMARY KEY,",
7
+ " protocol TEXT NOT NULL,",
8
+ " type TEXT NOT NULL,",
9
+ " sn INTEGER,",
10
+ " event_json JSON NOT NULL,",
11
+ " attachments TEXT",
12
+ ")",
13
+ ].join("\n"),
14
+ [
15
+ "CREATE TABLE IF NOT EXISTS key_info (",
16
+ " public_key TEXT PRIMARY KEY,",
17
+ " public_key_digest TEXT NOT NULL,",
18
+ " encrypted_private_key TEXT NOT NULL",
19
+ ")",
20
+ ].join("\n"),
17
21
  ],
18
22
  // Migration 2: mailbox cursor
19
23
  [
20
- `CREATE TABLE IF NOT EXISTS mailbox_cursor (
21
- prefix TEXT NOT NULL,
22
- topic TEXT NOT NULL,
23
- offset INTEGER NOT NULL DEFAULT 0,
24
- PRIMARY KEY (prefix, topic)
25
- )`,
24
+ [
25
+ "CREATE TABLE IF NOT EXISTS mailbox_cursor (",
26
+ " prefix TEXT NOT NULL,",
27
+ " topic TEXT NOT NULL,",
28
+ " offset INTEGER NOT NULL DEFAULT 0,",
29
+ " PRIMARY KEY (prefix, topic)",
30
+ ")",
31
+ ].join("\n"),
26
32
  ],
27
33
  ];
28
34
  export function migrate(db) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/storage/sqlite/schema.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAe;IAC7B,8BAA8B;IAC9B;QACE;;;;;;;MAOE;QACF;;;;MAIE;KACH;IACD,8BAA8B;IAC9B;QACE;;;;;MAKE;KACH;CACF,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,EAAY;IAClC,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC;IACnF,EAAE,CAAC,OAAO,CAAC,+FAA+F,CAAC,CAAC;IAE5G,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,OAAO,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3D,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/storage/sqlite/schema.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAe;IAC7B,8BAA8B;IAC9B;QACE;YACE,oCAAoC;YACpC,iCAAiC;YACjC,8BAA8B;YAC9B,8BAA8B;YAC9B,wBAAwB;YACxB,8BAA8B;YAC9B,oBAAoB;YACpB,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ;YACE,uCAAuC;YACvC,2CAA2C;YAC3C,wCAAwC;YACxC,uCAAuC;YACvC,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD,8BAA8B;IAC9B;QACE;YACE,6CAA6C;YAC7C,yBAAyB;YACzB,yBAAyB;YACzB,sCAAsC;YACtC,+BAA+B;YAC/B,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;CACF,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,EAAY;IAClC,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC;IACnF,EAAE,CAAC,OAAO,CAAC,+FAA+F,CAAC,CAAC;IAE5G,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,OAAO,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3D,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,24 +1,27 @@
1
1
  import type { Database } from "./sqlite-database.ts";
2
2
  export { NodeSqliteDatabase } from "./node-sqlite.ts";
3
3
  export type { Database, Params, Row, SQLValue } from "./sqlite-database.ts";
4
- import type { ControllerStorage } from "../../controller/controller.ts";
5
- import { type CredentialBody, type IssueEvent, type KeyEvent, Message, type RegistryInceptEvent, type ReplyEvent, type RevokeEvent } from "../../core/main.ts";
6
- export declare class SqliteControllerStorage implements ControllerStorage {
4
+ import { type CredentialBody, type IssueEvent, type KeyEvent, Message, type RegistryInceptEventBody, type ReplyEventBody, type RevokeEvent } from "#keri/core";
5
+ import type { CredentialStorage } from "../credential-storage.ts";
6
+ import type { KeyEventStorage } from "../key-event-storage.ts";
7
+ import type { MailboxStorage } from "../mailbox-storage.ts";
8
+ import type { PrivateKeyStorage } from "../private-key-storage.ts";
9
+ export declare class SqliteControllerStorage implements KeyEventStorage, PrivateKeyStorage, CredentialStorage, MailboxStorage {
7
10
  #private;
8
11
  constructor(db: Database);
9
12
  saveKey(publicKey: string, digest: string, encryptedPrivKey: string): void;
10
- getKey(publicKey: string): string;
13
+ getEncryptedPrivateKey(publicKey: string): string;
11
14
  getPublicKeyByDigest(digest: string): string;
12
15
  saveMessage(message: Message): void;
13
16
  getReplies(filter?: {
14
17
  route?: string;
15
18
  eid?: string;
16
19
  cid?: string;
17
- }): Generator<Message<ReplyEvent>>;
20
+ }): Generator<Message<ReplyEventBody>>;
18
21
  getKeyEvents(prefix: string): Generator<KeyEvent>;
19
22
  getCredentialEvents(id: string): Generator<Message<IssueEvent | RevokeEvent>>;
20
- getRegistry(id: string): Message<RegistryInceptEvent> | null;
21
- getRegistriesByOwner(owner: string): Generator<Message<RegistryInceptEvent>>;
23
+ getRegistry(id: string): Message<RegistryInceptEventBody> | null;
24
+ getRegistriesByOwner(owner: string): Generator<Message<RegistryInceptEventBody>>;
22
25
  getCredential(id: string): CredentialBody | null;
23
26
  getCredentialsByRegistry(registryId: string): CredentialBody[];
24
27
  getMailboxOffset(prefix: string, topic: string): number;