cesr-ts 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/esm/src/adapters/async-iterable.js +8 -0
  2. package/esm/src/adapters/effection.js +6 -0
  3. package/esm/src/annotate/annotator.js +12 -0
  4. package/esm/src/annotate/cli.js +12 -0
  5. package/esm/src/annotate/comments.js +5 -1
  6. package/esm/src/annotate/denot.js +6 -0
  7. package/esm/src/annotate/render.js +15 -3
  8. package/esm/src/core/bytes.js +9 -0
  9. package/esm/src/core/errors.js +3 -0
  10. package/esm/src/core/parser-engine.js +1 -1
  11. package/esm/src/core/parser-frame-parser.js +22 -18
  12. package/esm/src/core/vocabulary.js +47 -0
  13. package/esm/src/index.js +5 -0
  14. package/esm/src/parser/attachment-parser.js +4 -0
  15. package/esm/src/parser/cold-start.js +6 -0
  16. package/esm/src/parser/group-dispatch.js +2 -2
  17. package/esm/src/primitives/aggor.js +374 -30
  18. package/esm/src/primitives/bexter.js +2 -3
  19. package/esm/src/primitives/blinder.js +6 -0
  20. package/esm/src/primitives/byte-like.js +19 -0
  21. package/esm/src/primitives/cigar.js +17 -3
  22. package/esm/src/primitives/cipher.js +91 -6
  23. package/esm/src/primitives/codex.js +39 -6
  24. package/esm/src/primitives/compactor.js +307 -3
  25. package/esm/src/primitives/counter.js +6 -2
  26. package/esm/src/primitives/dater.js +1 -2
  27. package/esm/src/primitives/decimer.js +7 -11
  28. package/esm/src/primitives/decrypter.js +123 -7
  29. package/esm/src/primitives/diger.js +57 -3
  30. package/esm/src/primitives/disclosure.js +300 -0
  31. package/esm/src/primitives/encrypter.js +130 -7
  32. package/esm/src/primitives/hydrate.js +49 -0
  33. package/esm/src/primitives/ilker.js +2 -3
  34. package/esm/src/primitives/indexer.js +21 -4
  35. package/esm/src/primitives/labeler.js +1 -2
  36. package/esm/src/primitives/mapper.js +612 -35
  37. package/esm/src/primitives/matter.js +133 -3
  38. package/esm/src/primitives/mediar.js +6 -0
  39. package/esm/src/primitives/noncer.js +2 -3
  40. package/esm/src/primitives/number.js +1 -2
  41. package/esm/src/primitives/pather.js +102 -5
  42. package/esm/src/primitives/prefixer.js +1 -2
  43. package/esm/src/primitives/primitive.js +14 -0
  44. package/esm/src/primitives/registry.js +2 -0
  45. package/esm/src/primitives/saider.js +80 -3
  46. package/esm/src/primitives/salter.js +96 -2
  47. package/esm/src/primitives/sealed-box.js +41 -0
  48. package/esm/src/primitives/seqner.js +1 -2
  49. package/esm/src/primitives/siger.js +58 -3
  50. package/esm/src/primitives/signer.js +243 -9
  51. package/esm/src/primitives/streamer.js +28 -0
  52. package/esm/src/primitives/structing.js +727 -0
  53. package/esm/src/primitives/structor.js +20 -0
  54. package/esm/src/primitives/tagger.js +1 -2
  55. package/esm/src/primitives/texter.js +1 -2
  56. package/esm/src/primitives/tholder.js +552 -10
  57. package/esm/src/primitives/traitor.js +2 -3
  58. package/esm/src/primitives/verfer.js +50 -6
  59. package/esm/src/primitives/verser.js +16 -6
  60. package/esm/src/router/router-stub.js +1 -0
  61. package/esm/src/serder/native.js +1326 -0
  62. package/esm/src/serder/serder.js +1558 -59
  63. package/esm/src/serder/serdery.js +92 -7
  64. package/esm/src/serder/smell.js +26 -1
  65. package/esm/src/tables/codex-utils.js +2 -0
  66. package/esm/src/tables/counter-codex.js +2 -0
  67. package/esm/src/tables/counter-groups.js +6 -0
  68. package/esm/src/tables/versions.js +4 -0
  69. package/esm/src/version.js +5 -2
  70. package/package.json +5 -2
  71. package/types/src/adapters/async-iterable.d.ts +8 -0
  72. package/types/src/adapters/async-iterable.d.ts.map +1 -1
  73. package/types/src/adapters/effection.d.ts +7 -0
  74. package/types/src/adapters/effection.d.ts.map +1 -1
  75. package/types/src/annotate/annotator.d.ts +12 -0
  76. package/types/src/annotate/annotator.d.ts.map +1 -1
  77. package/types/src/annotate/cli.d.ts +13 -0
  78. package/types/src/annotate/cli.d.ts.map +1 -1
  79. package/types/src/annotate/comments.d.ts +4 -0
  80. package/types/src/annotate/comments.d.ts.map +1 -1
  81. package/types/src/annotate/denot.d.ts +6 -0
  82. package/types/src/annotate/denot.d.ts.map +1 -1
  83. package/types/src/annotate/render.d.ts.map +1 -1
  84. package/types/src/annotate/types.d.ts +2 -0
  85. package/types/src/annotate/types.d.ts.map +1 -1
  86. package/types/src/bench/parser-benchmark.d.ts +3 -0
  87. package/types/src/bench/parser-benchmark.d.ts.map +1 -1
  88. package/types/src/core/bytes.d.ts +9 -0
  89. package/types/src/core/bytes.d.ts.map +1 -1
  90. package/types/src/core/errors.d.ts +3 -0
  91. package/types/src/core/errors.d.ts.map +1 -1
  92. package/types/src/core/parser-engine.d.ts +4 -0
  93. package/types/src/core/parser-engine.d.ts.map +1 -1
  94. package/types/src/core/parser-frame-parser.d.ts.map +1 -1
  95. package/types/src/core/types.d.ts +2 -0
  96. package/types/src/core/types.d.ts.map +1 -1
  97. package/types/src/core/vocabulary.d.ts +48 -0
  98. package/types/src/core/vocabulary.d.ts.map +1 -0
  99. package/types/src/index.d.ts +5 -0
  100. package/types/src/index.d.ts.map +1 -1
  101. package/types/src/parser/attachment-parser.d.ts +4 -0
  102. package/types/src/parser/attachment-parser.d.ts.map +1 -1
  103. package/types/src/parser/cold-start.d.ts +6 -0
  104. package/types/src/parser/cold-start.d.ts.map +1 -1
  105. package/types/src/parser/group-dispatch.d.ts.map +1 -1
  106. package/types/src/primitives/aggor.d.ts +100 -13
  107. package/types/src/primitives/aggor.d.ts.map +1 -1
  108. package/types/src/primitives/bexter.d.ts.map +1 -1
  109. package/types/src/primitives/blinder.d.ts +6 -0
  110. package/types/src/primitives/blinder.d.ts.map +1 -1
  111. package/types/src/primitives/byte-like.d.ts +7 -0
  112. package/types/src/primitives/byte-like.d.ts.map +1 -0
  113. package/types/src/primitives/cigar.d.ts +11 -1
  114. package/types/src/primitives/cigar.d.ts.map +1 -1
  115. package/types/src/primitives/cipher.d.ts +73 -2
  116. package/types/src/primitives/cipher.d.ts.map +1 -1
  117. package/types/src/primitives/codex.d.ts +34 -4
  118. package/types/src/primitives/codex.d.ts.map +1 -1
  119. package/types/src/primitives/compactor.d.ts +94 -2
  120. package/types/src/primitives/compactor.d.ts.map +1 -1
  121. package/types/src/primitives/counter.d.ts.map +1 -1
  122. package/types/src/primitives/dater.d.ts.map +1 -1
  123. package/types/src/primitives/decimer.d.ts.map +1 -1
  124. package/types/src/primitives/decrypter.d.ts +64 -3
  125. package/types/src/primitives/decrypter.d.ts.map +1 -1
  126. package/types/src/primitives/diger.d.ts +16 -0
  127. package/types/src/primitives/diger.d.ts.map +1 -1
  128. package/types/src/primitives/disclosure.d.ts +201 -0
  129. package/types/src/primitives/disclosure.d.ts.map +1 -0
  130. package/types/src/primitives/encrypter.d.ts +66 -4
  131. package/types/src/primitives/encrypter.d.ts.map +1 -1
  132. package/types/src/primitives/hydrate.d.ts +20 -0
  133. package/types/src/primitives/hydrate.d.ts.map +1 -0
  134. package/types/src/primitives/ilker.d.ts.map +1 -1
  135. package/types/src/primitives/indexer.d.ts.map +1 -1
  136. package/types/src/primitives/labeler.d.ts.map +1 -1
  137. package/types/src/primitives/mapper.d.ts +132 -11
  138. package/types/src/primitives/mapper.d.ts.map +1 -1
  139. package/types/src/primitives/matter.d.ts +33 -1
  140. package/types/src/primitives/matter.d.ts.map +1 -1
  141. package/types/src/primitives/mediar.d.ts +6 -0
  142. package/types/src/primitives/mediar.d.ts.map +1 -1
  143. package/types/src/primitives/noncer.d.ts.map +1 -1
  144. package/types/src/primitives/number.d.ts.map +1 -1
  145. package/types/src/primitives/pather.d.ts +21 -0
  146. package/types/src/primitives/pather.d.ts.map +1 -1
  147. package/types/src/primitives/prefixer.d.ts.map +1 -1
  148. package/types/src/primitives/primitive.d.ts +26 -0
  149. package/types/src/primitives/primitive.d.ts.map +1 -1
  150. package/types/src/primitives/registry.d.ts +3 -0
  151. package/types/src/primitives/registry.d.ts.map +1 -1
  152. package/types/src/primitives/saider.d.ts +41 -0
  153. package/types/src/primitives/saider.d.ts.map +1 -1
  154. package/types/src/primitives/salter.d.ts +56 -1
  155. package/types/src/primitives/salter.d.ts.map +1 -1
  156. package/types/src/primitives/sealed-box.d.ts +29 -0
  157. package/types/src/primitives/sealed-box.d.ts.map +1 -0
  158. package/types/src/primitives/seqner.d.ts.map +1 -1
  159. package/types/src/primitives/siger.d.ts +14 -0
  160. package/types/src/primitives/siger.d.ts.map +1 -1
  161. package/types/src/primitives/signer.d.ts +80 -4
  162. package/types/src/primitives/signer.d.ts.map +1 -1
  163. package/types/src/primitives/streamer.d.ts +31 -0
  164. package/types/src/primitives/streamer.d.ts.map +1 -0
  165. package/types/src/primitives/structing.d.ts +4114 -0
  166. package/types/src/primitives/structing.d.ts.map +1 -0
  167. package/types/src/primitives/structor.d.ts +6 -0
  168. package/types/src/primitives/structor.d.ts.map +1 -1
  169. package/types/src/primitives/tagger.d.ts.map +1 -1
  170. package/types/src/primitives/texter.d.ts.map +1 -1
  171. package/types/src/primitives/tholder.d.ts +150 -5
  172. package/types/src/primitives/tholder.d.ts.map +1 -1
  173. package/types/src/primitives/traitor.d.ts.map +1 -1
  174. package/types/src/primitives/unknown.d.ts +1 -0
  175. package/types/src/primitives/unknown.d.ts.map +1 -1
  176. package/types/src/primitives/verfer.d.ts +12 -0
  177. package/types/src/primitives/verfer.d.ts.map +1 -1
  178. package/types/src/primitives/verser.d.ts +14 -3
  179. package/types/src/primitives/verser.d.ts.map +1 -1
  180. package/types/src/router/router-stub.d.ts +3 -0
  181. package/types/src/router/router-stub.d.ts.map +1 -1
  182. package/types/src/serder/native.d.ts +115 -0
  183. package/types/src/serder/native.d.ts.map +1 -0
  184. package/types/src/serder/serder.d.ts +187 -9
  185. package/types/src/serder/serder.d.ts.map +1 -1
  186. package/types/src/serder/serdery.d.ts +42 -0
  187. package/types/src/serder/serdery.d.ts.map +1 -1
  188. package/types/src/serder/smell.d.ts +22 -0
  189. package/types/src/serder/smell.d.ts.map +1 -1
  190. package/types/src/tables/codex-utils.d.ts +3 -0
  191. package/types/src/tables/codex-utils.d.ts.map +1 -1
  192. package/types/src/tables/counter-codex.d.ts +4 -0
  193. package/types/src/tables/counter-codex.d.ts.map +1 -1
  194. package/types/src/tables/counter-groups.d.ts +6 -0
  195. package/types/src/tables/counter-groups.d.ts.map +1 -1
  196. package/types/src/tables/counter.tables.generated.d.ts.map +1 -1
  197. package/types/src/tables/indexer.codex.generated.d.ts.map +1 -1
  198. package/types/src/tables/matter.codex.generated.d.ts.map +1 -1
  199. package/types/src/tables/table-types.d.ts +6 -0
  200. package/types/src/tables/table-types.d.ts.map +1 -1
  201. package/types/src/tables/versions.d.ts +6 -0
  202. package/types/src/tables/versions.d.ts.map +1 -1
  203. package/types/src/version.d.ts +5 -2
  204. package/types/src/version.d.ts.map +1 -1
@@ -23,7 +23,8 @@ interface MatterData {
23
23
  * Base CESR primitive carrying qualified matter material.
24
24
  *
25
25
  * KERIpy substance: `Matter` is the foundational primitive abstraction that
26
- * handles exfil/infil between raw bytes and qualified CESR encodings.
26
+ * handles exfil/infil between raw bytes and qualified CESR encodings and owns
27
+ * the base derivation-code semantic projections shared by semantic subclasses.
27
28
  */
28
29
  export declare class Matter {
29
30
  protected readonly _code: string;
@@ -34,16 +35,47 @@ export declare class Matter {
34
35
  constructor(init: Matter | MatterData | MatterInit);
35
36
  protected toMatterData(): MatterData;
36
37
  get code(): string;
38
+ /** KERIpy parity alias: codex member name for this derivation code. */
39
+ get name(): string;
40
+ /** KERIpy parity alias: hard code portion of the qualified text code. */
41
+ get hard(): string;
42
+ /** Soft code portion exclusive of any prepad xtra characters. */
43
+ get soft(): string;
44
+ /**
45
+ * KERIpy parity size projection.
46
+ *
47
+ * This follows KERIpy's generic `Matter.size` rule: decode the soft sextets
48
+ * when present, otherwise return `null`.
49
+ */
50
+ get size(): number | null;
51
+ /** Hard + padded-soft view of the full text code. */
52
+ get both(): string;
37
53
  get raw(): Uint8Array;
38
54
  get qb64(): string;
39
55
  get qb64b(): Uint8Array;
40
56
  get qb2(): Uint8Array;
41
57
  get fullSize(): number;
42
58
  get fullSizeB2(): number;
59
+ /** Generic KERIpy derivation-code transferability rule. */
60
+ get transferable(): boolean;
61
+ /** Generic KERIpy digest-family semantic projection. */
62
+ get digestive(): boolean;
63
+ /** Generic KERIpy identifier-prefix semantic projection. */
64
+ get prefixive(): boolean;
65
+ /** True when the code family carries fixed-size soft text metadata. */
66
+ get special(): boolean;
67
+ /** True when both qb64 and qb2 are 24-bit aligned and round-trip exactly. */
68
+ get composable(): boolean;
43
69
  equals(other: {
44
70
  qb64: string;
45
71
  }): boolean;
46
72
  toString(): string;
73
+ /** KERIpy parity helper: fixed raw size for one code. */
74
+ static rawSizeForCode(code: string): number;
75
+ /** KERIpy parity helper: fixed full qb64 size for one code. */
76
+ static fullSizeForCode(code: string): number;
77
+ /** KERIpy parity helper: lead-byte size for one code. */
78
+ static leadSizeForCode(code: string): number;
47
79
  }
48
80
  /** Parse matter from text-domain CESR bytes. */
49
81
  export declare function parseMatterFromText(input: Uint8Array): Matter;
@@ -1 +1 @@
1
- {"version":3,"file":"matter.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/matter.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAuMD;;;;;GAKG;AACH,qBAAa,MAAM;IACjB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAE3B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU;IAclD,SAAS,CAAC,YAAY,IAAI,UAAU;IAUpC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,GAAG,IAAI,UAAU,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,IAAI,GAAG,IAAI,UAAU,CAEpB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,MAAM,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAIxC,QAAQ,IAAI,MAAM;CAGnB;AAED,gDAAgD;AAChD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE7D;AAED,kDAAkD;AAClD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAIR"}
1
+ {"version":3,"file":"matter.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/matter.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAuRD;;;;;;GAMG;AACH,qBAAa,MAAM;IACjB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAE3B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU;IAclD,SAAS,CAAC,YAAY,IAAI,UAAU;IAUpC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,uEAAuE;IACvE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,yEAAyE;IACzE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,iEAAiE;IACjE,IAAI,IAAI,IAAI,MAAM,CAMjB;IAED;;;;;OAKG;IACH,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAExB;IAED,qDAAqD;IACrD,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,IAAI,GAAG,IAAI,UAAU,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,IAAI,GAAG,IAAI,UAAU,CAEpB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,2DAA2D;IAC3D,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,wDAAwD;IACxD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,4DAA4D;IAC5D,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,uEAAuE;IACvE,IAAI,OAAO,IAAI,OAAO,CAGrB;IAED,6EAA6E;IAC7E,IAAI,UAAU,IAAI,OAAO,CAMxB;IAED,MAAM,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAIxC,QAAQ,IAAI,MAAM;IAIlB,yDAAyD;IACzD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3C,+DAA+D;IAC/D,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ5C,yDAAyD;IACzD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAG7C;AAED,gDAAgD;AAChD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE7D;AAED,kDAAkD;AAClD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAIR"}
@@ -9,6 +9,12 @@ export declare function isMediarCode(code: string): boolean;
9
9
  *
10
10
  * KERIpy substance: `Mediar` materializes media metadata/value tuple groups
11
11
  * used in blinded media attachments and related CESR payload envelopes.
12
+ *
13
+ * Maintainer note:
14
+ * - this class owns counted-group transport framing only
15
+ * - semantic disclosure helpers live in `disclosure.ts`
16
+ * - the semantic fixed-field record carried by these groups is `TypeMedia`
17
+ * from `structing.ts`
12
18
  */
13
19
  export declare class Mediar extends Structor {
14
20
  constructor(init: Structor | ConstructorParameters<typeof Structor>[0]);
@@ -1 +1 @@
1
- {"version":3,"file":"mediar.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/mediar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAiB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAExD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,QAAQ;gBACtB,IAAI,EAAE,QAAQ,GAAG,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAUtE,oEAAoE;WACpD,SAAS,CACvB,KAAK,EAAE,gBAAgB,EACvB,YAAY,GAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAS,GACrD,MAAM;CAGV;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAIR"}
1
+ {"version":3,"file":"mediar.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/mediar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAiB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAExD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,MAAO,SAAQ,QAAQ;gBACtB,IAAI,EAAE,QAAQ,GAAG,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAUtE,oEAAoE;WACpD,SAAS,CACvB,KAAK,EAAE,gBAAgB,EACvB,YAAY,GAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAS,GACrD,MAAM;CAGV;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAIR"}
@@ -1 +1 @@
1
- {"version":3,"file":"noncer.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/noncer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,KAAK;gBACnB,IAAI,EAAE,MAAM,GAAG,UAAU;IAQrC;;;;;OAKG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,+EAA+E;IAC/E,IAAI,MAAM,IAAI,UAAU,CAEvB;CACF;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAER"}
1
+ {"version":3,"file":"noncer.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/noncer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,KAAK;gBACnB,IAAI,EAAE,MAAM,GAAG,UAAU;IAOrC;;;;;OAKG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,+EAA+E;IAC/E,IAAI,MAAM,IAAI,UAAU,CAEvB;CACF;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAER"}
@@ -1 +1 @@
1
- {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/number.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;gBAC7B,IAAI,EAAE,MAAM,GAAG,UAAU;IAQrC,IAAI,GAAG,IAAI,MAAM,CAMhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,eAAe,CAEjB"}
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/number.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;gBAC7B,IAAI,EAAE,MAAM,GAAG,UAAU;IAOrC,IAAI,GAAG,IAAI,MAAM,CAMhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,eAAe,CAEjB"}
@@ -1,5 +1,26 @@
1
1
  import type { ColdCode } from "../core/types.js";
2
2
  import { Matter, type MatterInit } from "./matter.js";
3
+ /**
4
+ * Build a Pather from semantic route/path text.
5
+ *
6
+ * This mirrors the KERIpy `Pather(path=..., relative=..., pathive=...)`
7
+ * constructor path:
8
+ * - "pathive" base64-safe segments use compact StrB64 encoding with `-`
9
+ * separators
10
+ * - non-pathive routes fall back to byte/text encoding when they contain
11
+ * characters like `/`
12
+ * - relative routes keep the first segment as-is, while absolute paths are
13
+ * forced to start with an empty root segment
14
+ *
15
+ * Examples:
16
+ * - `makePather("ksn", { relative: true, pathive: false }).qb64 === "4AABAksn"`
17
+ * - `makePather("reply", { relative: true, pathive: false }).qb64 === "6AACAAAreply"`
18
+ * - `makePather("credential/issue", { relative: true, pathive: false }).qb64 === "4AAEcredential-issue"`
19
+ */
20
+ export declare function makePather(path: string | readonly string[], opts?: {
21
+ relative?: boolean;
22
+ pathive?: boolean;
23
+ }): Pather;
3
24
  /**
4
25
  * CESR path primitive for SAD traversal routes.
5
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pather.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/pather.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAMnE;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,MAAM;gBACpB,IAAI,EAAE,MAAM,GAAG,UAAU;IAUrC,iFAAiF;IACjF,IAAI,IAAI,IAAI,MAAM,CAMjB;CACF;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAER"}
1
+ {"version":3,"file":"pather.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/pather.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAiDnE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAChC,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,MAAM,CAiDR;AAED;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,MAAM;gBACpB,IAAI,EAAE,MAAM,GAAG,UAAU;IASrC,iFAAiF;IACjF,IAAI,IAAI,IAAI,MAAM,CAMjB;CACF;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAER"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefixer.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/prefixer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,MAAM;gBACtB,IAAI,EAAE,MAAM,GAAG,UAAU;IAQrC,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,QAAQ,CAEV"}
1
+ {"version":3,"file":"prefixer.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/prefixer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,MAAM;gBACtB,IAAI,EAAE,MAAM,GAAG,UAAU;IAOrC,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,QAAQ,CAEV"}
@@ -1,6 +1,7 @@
1
1
  import type { Counter } from "./counter.js";
2
2
  import type { Indexer } from "./indexer.js";
3
3
  import type { Matter } from "./matter.js";
4
+ import type { Streamer } from "./streamer.js";
4
5
  import type { UnknownPrimitive } from "./unknown.js";
5
6
  /**
6
7
  * Structural contract used by parser outputs for counted group payloads.
@@ -14,6 +15,23 @@ export interface CounterGroupLike extends Counter {
14
15
  }
15
16
  /** Any first-class hydrated CESR primitive returned by parser hydration. */
16
17
  export type Primitive = Matter | Indexer | Counter | UnknownPrimitive;
18
+ /**
19
+ * Rehydratable qualified primitive from one parsed recursive group graph.
20
+ *
21
+ * These entries are safe to pass through `new X({ qb64b: entry.qb64b })` style
22
+ * reconstruction because they are real qualified CESR primitives, not tuple
23
+ * payloads, nested counted groups, or lossless unknown placeholders.
24
+ */
25
+ export type QualifiedPrimitive = Matter | Indexer | Counter;
26
+ /**
27
+ * Primitive family that cipher encryption/decryption can faithfully round-trip.
28
+ *
29
+ * This intentionally excludes `UnknownPrimitive`: sealed-box decrypt returns a
30
+ * fully hydrated constructor-backed value, not a parser fallback placeholder.
31
+ */
32
+ export type CipherHydratable = QualifiedPrimitive | Streamer;
33
+ /** Constructor contract for cipher plaintext rehydration. */
34
+ export type CipherHydratableCtor<T extends CipherHydratable = CipherHydratable> = new (...args: any[]) => T;
17
35
  /** Ordered tuple payload used by grouped attachments (for fixed small tuples). */
18
36
  export type PrimitiveTuple = readonly GroupEntry[];
19
37
  /** Recursive parser graph entry for attachment/native payloads. */
@@ -22,4 +40,12 @@ export type GroupEntry = Primitive | PrimitiveTuple | CounterGroupLike;
22
40
  export declare function isPrimitiveTuple(entry: GroupEntry): entry is PrimitiveTuple;
23
41
  /** Runtime guard for parsed counter-group nodes in recursive payload graphs. */
24
42
  export declare function isCounterGroupLike(entry: GroupEntry): entry is CounterGroupLike;
43
+ /**
44
+ * Runtime guard for one rehydratable qualified primitive in a parsed group graph.
45
+ *
46
+ * This intentionally means "real CESR primitive with `qb64b`" rather than
47
+ * "any parser primitive union member", so tuples, nested counter groups, and
48
+ * `UnknownPrimitive` placeholders are all excluded.
49
+ */
50
+ export declare function isQualifiedPrimitive(entry: unknown): entry is QualifiedPrimitive;
25
51
  //# sourceMappingURL=primitive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC;AACtE,kFAAkF;AAClF,MAAM,MAAM,cAAc,GAAG,SAAS,UAAU,EAAE,CAAC;AACnD,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEvE,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,IAAI,cAAc,CAE3E;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,GAChB,KAAK,IAAI,gBAAgB,CAG3B"}
1
+ {"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC;AACtE;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAC5D;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAC7D,6DAA6D;AAC7D,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,IAC3C,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7B,kFAAkF;AAClF,MAAM,MAAM,cAAc,GAAG,SAAS,UAAU,EAAE,CAAC;AACnD,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEvE,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,IAAI,cAAc,CAE3E;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,GAChB,KAAK,IAAI,gBAAgB,CAG3B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,kBAAkB,CAM7B"}
@@ -1,3 +1,4 @@
1
+ /** Lossless summary of one primitive token parsed from text-domain CESR. */
1
2
  export interface PrimitiveToken {
2
3
  code: string;
3
4
  name: string;
@@ -5,6 +6,8 @@ export interface PrimitiveToken {
5
6
  raw: Uint8Array;
6
7
  fullSize: number;
7
8
  }
9
+ /** Parse one text-domain primitive token and include its generated code name. */
8
10
  export declare function parsePrimitiveFromText(input: Uint8Array): PrimitiveToken;
11
+ /** Return all known generated matter codes sorted for deterministic scans. */
9
12
  export declare function supportedPrimitiveCodes(): string[];
10
13
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/registry.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAWxE;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/registry.ts"],"names":[],"mappings":"AAGA,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAWxE;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD"}
@@ -1,5 +1,22 @@
1
1
  import type { ColdCode } from "../core/types.js";
2
+ import type { Kind } from "../tables/versions.js";
2
3
  import { Matter, type MatterInit } from "./matter.js";
4
+ /** Digest callback seam used by SAID derivation helpers. */
5
+ export type SaidDigestFn = (ser: Uint8Array, code: string) => Uint8Array;
6
+ /** Options for deriving one top-level saidive field from a SAD. */
7
+ export interface SaidifyOptions {
8
+ code?: string;
9
+ kind?: Kind;
10
+ label?: string;
11
+ ignore?: string[];
12
+ digest?: SaidDigestFn;
13
+ }
14
+ /** Options for computing multiple saidive fields from one sized SAD. */
15
+ export interface SaidifyFieldsOptions {
16
+ kind?: Kind;
17
+ saids: Record<string, string>;
18
+ digest?: SaidDigestFn;
19
+ }
3
20
  /**
4
21
  * Self-addressing identifier digest primitive.
5
22
  *
@@ -10,6 +27,30 @@ export declare class Saider extends Matter {
10
27
  constructor(init: Matter | MatterInit);
11
28
  get said(): string;
12
29
  get digest(): Uint8Array;
30
+ /**
31
+ * Derive one SAID from a SAD, inject it at `label`, and return the updated SAD.
32
+ *
33
+ * KERIpy places `saidify` on `Saider`, not `Serder`: the responsibility here
34
+ * is digest derivation for one saidive field, while event-specific policies
35
+ * such as mirrored `i == d` handling belong in higher layers.
36
+ */
37
+ static saidify(sad: Record<string, unknown>, { code, kind, label, ignore, digest, }: SaidifyOptions): {
38
+ saider: Saider;
39
+ sad: Record<string, unknown>;
40
+ };
41
+ /**
42
+ * Compute all digestive saidive fields from the same sized-dummied SAD bytes.
43
+ *
44
+ * This mirrors the KERIpy `makify/_compute` model for top-level saidive
45
+ * fields: resolve effective field codes first, dummy only digestive fields,
46
+ * size the version string once, hash once, then fill all digestive fields
47
+ * from that same raw serialization.
48
+ */
49
+ static saidifyFields(sad: Record<string, unknown>, { kind, saids, digest, }: SaidifyFieldsOptions): {
50
+ sad: Record<string, unknown>;
51
+ raw: Uint8Array;
52
+ saiders: Record<string, Saider>;
53
+ };
13
54
  }
14
55
  /** Parse and hydrate `Saider` from txt/qb2 bytes. */
15
56
  export declare function parseSaider(input: Uint8Array, cold: Extract<ColdCode, "txt" | "bny">): Saider;
@@ -1 +1 @@
1
- {"version":3,"file":"saider.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/saider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,MAAM;gBACpB,IAAI,EAAE,MAAM,GAAG,UAAU;IAUrC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;CACF;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAER"}
1
+ {"version":3,"file":"saider.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/saider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE,4DAA4D;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;AAEzE,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,MAAM;gBACpB,IAAI,EAAE,MAAM,GAAG,UAAU;IASrC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,EACE,IAAU,EACV,IAAI,EACJ,KAAW,EACX,MAAM,EACN,MAAqB,GACtB,EAAE,cAAc,GAChB;QACD,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9B;IAmBD;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,EACE,IAAI,EACJ,KAAK,EACL,MAAqB,GACtB,EAAE,oBAAoB,GACtB;QACD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,GAAG,EAAE,UAAU,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC;CAyCF;AASD,qDAAqD;AACrD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAER"}
@@ -1,13 +1,68 @@
1
+ import { type Tier } from "../core/vocabulary.js";
1
2
  import { Matter, type MatterInit } from "./matter.js";
3
+ import { Signer } from "./signer.js";
4
+ export interface SalterInit extends MatterInit {
5
+ tier?: Tier;
6
+ }
7
+ export interface SalterStretchOptions {
8
+ size?: number;
9
+ path?: string;
10
+ tier?: Tier;
11
+ temp?: boolean;
12
+ }
13
+ export interface SalterSignerOptions {
14
+ code?: string;
15
+ transferable?: boolean;
16
+ path?: string;
17
+ tier?: Tier;
18
+ temp?: boolean;
19
+ }
20
+ export interface SalterSignersOptions extends SalterSignerOptions {
21
+ count?: number;
22
+ start?: number;
23
+ codes?: string[];
24
+ }
2
25
  /**
3
26
  * Salt primitive for deterministic secret/signer derivation workflows.
4
27
  *
5
28
  * KERIpy substance: Salter stores random or fixed salt bytes and is used as
6
29
  * input to deterministic signer/seed generation paths.
30
+ *
31
+ * Maintainer model:
32
+ * - `tier` is the default stretch policy carried with the salt instance
33
+ * - individual `stretch()` / `signer()` calls may still override it
7
34
  */
8
35
  export declare class Salter extends Matter {
9
- constructor(init: Matter | MatterInit);
36
+ readonly tier: Tier;
37
+ constructor(init: Matter | SalterInit);
10
38
  /** Raw salt bytes used by key-derivation consumers. */
11
39
  get salt(): Uint8Array;
40
+ /**
41
+ * Derive deterministic secret bytes from this salt and one derivation path.
42
+ *
43
+ * KERIpy correspondence:
44
+ * - mirrors `Salter.stretch(...)` using Argon2id and tier/temp policy
45
+ *
46
+ * Path rule:
47
+ * - callers supply the fully formed KERI salty path string
48
+ * - `Salter` does not impose `pidx/ridx/kidx` structure itself; that remains
49
+ * a higher-layer manager/creator responsibility
50
+ */
51
+ stretch({ size, path, tier, temp, }?: SalterStretchOptions): Uint8Array;
52
+ /**
53
+ * Derive one deterministic executable signer from this salt and one path.
54
+ *
55
+ * The signer suite controls seed width; `Salter` only owns the deterministic
56
+ * seed derivation.
57
+ */
58
+ signer({ code, transferable, path, tier, temp, }?: SalterSignerOptions): Signer;
59
+ /**
60
+ * Derive an ordered signer list from one path prefix plus hex suffix range.
61
+ *
62
+ * KERIpy correspondence:
63
+ * - successive signers append lowercase-hex offsets to the supplied path
64
+ * prefix
65
+ */
66
+ signers({ count, start, path, code, codes, transferable, tier, temp, }?: SalterSignersOptions): Signer[];
12
67
  }
13
68
  //# sourceMappingURL=salter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"salter.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/salter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,MAAM;gBACpB,IAAI,EAAE,MAAM,GAAG,UAAU;IAQrC,uDAAuD;IACvD,IAAI,IAAI,IAAI,UAAU,CAErB;CACF"}
1
+ {"version":3,"file":"salter.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/salter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAS,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD;;;;;;;;;GASG;AACH,qBAAa,MAAO,SAAQ,MAAM;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;gBAER,IAAI,EAAE,MAAM,GAAG,UAAU;IAUrC,uDAAuD;IACvD,IAAI,IAAI,IAAI,UAAU,CAErB;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EACN,IAAS,EACT,IAAS,EACT,IAAgB,EAChB,IAAY,GACb,GAAE,oBAAyB,GAAG,UAAU;IAWzC;;;;;OAKG;IACH,MAAM,CAAC,EACL,IAA0B,EAC1B,YAAmB,EACnB,IAAS,EACT,IAAI,EACJ,IAAY,GACb,GAAE,mBAAwB,GAAG,MAAM;IAapC;;;;;;OAMG;IACH,OAAO,CAAC,EACN,KAAS,EACT,KAAS,EACT,IAAS,EACT,IAA0B,EAC1B,KAAK,EACL,YAAmB,EACnB,IAAI,EACJ,IAAY,GACb,GAAE,oBAAyB,GAAG,MAAM,EAAE;CAYxC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Internal libsodium-backed sealed-box seam for KERIpy cipher parity.
3
+ *
4
+ * Boundary rule:
5
+ * - CESR primitives own sealed-box behavior
6
+ * - higher layers consume `Cipher`/`Encrypter`/`Decrypter`, not sodium calls
7
+ * - this module returns only raw key/plaintext/cipher bytes; derivation codes
8
+ * and primitive hydration stay outside at the CESR primitive layer
9
+ */
10
+ /** Derive X25519 public key material from one Ed25519 verifier key. */
11
+ export declare function boxPublicKeyFromEd25519Verfer(verferRaw: Uint8Array): Uint8Array;
12
+ /**
13
+ * Derive the X25519 box keypair corresponding to one Ed25519 signing seed.
14
+ *
15
+ * KERIpy parity:
16
+ * - derive the Ed25519 signing keypair first
17
+ * - then convert both sides to the associated X25519 box keys
18
+ */
19
+ export declare function boxKeyPairFromEd25519Seed(seedRaw: Uint8Array): {
20
+ publicKey: Uint8Array;
21
+ privateKey: Uint8Array;
22
+ };
23
+ /** Recover the X25519 public key corresponding to one raw X25519 private key. */
24
+ export declare function boxPublicKeyFromPrivateKey(privateKey: Uint8Array): Uint8Array;
25
+ /** Encrypt one plaintext using libsodium's X25519 sealed-box primitive. */
26
+ export declare function sealBox(plaintext: Uint8Array, publicKey: Uint8Array): Uint8Array;
27
+ /** Open one libsodium X25519 sealed-box ciphertext back to raw plaintext bytes. */
28
+ export declare function openSealedBox(cipher: Uint8Array, publicKey: Uint8Array, privateKey: Uint8Array): Uint8Array;
29
+ //# sourceMappingURL=sealed-box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sealed-box.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/sealed-box.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,uEAAuE;AACvE,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,UAAU,GACpB,UAAU,CAIZ;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG;IAC9D,SAAS,EAAE,UAAU,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;CACxB,CAUA;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAE7E;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,CACrB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU,GACpB,UAAU,CAEZ;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,GACrB,UAAU,CAIZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"seqner.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/seqner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,MAAM;gBACpB,IAAI,EAAE,MAAM,GAAG,UAAU;IAUrC,IAAI,EAAE,IAAI,MAAM,CAMf;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;CACF;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAER"}
1
+ {"version":3,"file":"seqner.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/seqner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,MAAM;gBACpB,IAAI,EAAE,MAAM,GAAG,UAAU;IASrC,IAAI,EAAE,IAAI,MAAM,CAMf;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;CACF;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,MAAM,CAER"}
@@ -1,6 +1,14 @@
1
1
  import type { ColdCode } from "../core/types.js";
2
+ import { Cigar } from "./cigar.js";
2
3
  import { Indexer, type IndexerInit } from "./indexer.js";
3
4
  import type { Verfer } from "./verfer.js";
5
+ /** Rebuild options for turning detached signature material into indexed signature material. */
6
+ export interface SigerFromCigarOptions {
7
+ index: number;
8
+ ondex?: number | null;
9
+ only?: boolean;
10
+ verfer?: Verfer;
11
+ }
4
12
  /**
5
13
  * Indexed signature primitive with optional verifier association.
6
14
  *
@@ -10,6 +18,12 @@ import type { Verfer } from "./verfer.js";
10
18
  export declare class Siger extends Indexer {
11
19
  readonly verfer?: Verfer;
12
20
  constructor(init: Indexer | IndexerInit, verfer?: Verfer);
21
+ /** Rebuild indexed signature material from detached signature bytes plus verifier context. */
22
+ static fromCigar(cigar: Cigar, { index, ondex, only, verfer }: SigerFromCigarOptions): Siger;
23
+ /** Resolve the indexed-signature family implied by one verifier suite. */
24
+ private static indexedSignatureFamilyForVerfer;
25
+ /** Resolve the indexed-signature code emitted for one verifier suite and signature shape. */
26
+ private static indexedSignatureCodeForVerfer;
13
27
  }
14
28
  /** Parse and hydrate `Siger` from txt or qb2 encoded bytes. */
15
29
  export declare function parseSiger(input: Uint8Array, cold: Extract<ColdCode, "txt" | "bny">): Siger;
@@ -1 +1 @@
1
- {"version":3,"file":"siger.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/siger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,OAAO,GAAG,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM;CAUzD;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,KAAK,CAEP"}
1
+ {"version":3,"file":"siger.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/siger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAS1C,+FAA+F;AAC/F,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,OAAO,GAAG,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM;IAUxD,8FAA8F;IAC9F,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,KAAK,EACZ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,MAAqB,EAAE,EAAE,qBAAqB,GAC3E,KAAK;IA0BR,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAmC9C,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,6BAA6B;CAmB7C;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,GACrC,KAAK,CAEP"}
@@ -1,14 +1,90 @@
1
+ import { Cigar } from "./cigar.js";
1
2
  import { Matter, type MatterInit } from "./matter.js";
3
+ import { Siger } from "./siger.js";
4
+ import { Verfer } from "./verfer.js";
5
+ /** Construction options for one executable signer seed. */
6
+ export interface SignerInit extends MatterInit {
7
+ transferable?: boolean;
8
+ }
9
+ /** Explicit factory options for `Signer.random(...)`. */
10
+ export interface SignerRandomOptions {
11
+ code?: string;
12
+ transferable?: boolean;
13
+ }
14
+ /** Signature-shape options for `Signer.sign(...)`. */
15
+ export interface SignerSignOptions {
16
+ index?: number;
17
+ only?: boolean;
18
+ ondex?: number | null;
19
+ }
2
20
  /**
3
21
  * Signing-seed primitive.
4
22
  *
5
- * KERIpy substance: Signer wraps private seed material that is used to derive
6
- * signing key pairs and associated verifier material; this TS layer constrains
7
- * codex validity while higher crypto layers perform key derivation/signing.
23
+ * KERIpy substance: Signer wraps private seed material, derives the associated
24
+ * verifier, and owns suite-driven signature creation.
25
+ *
26
+ * TypeScript difference:
27
+ * - seed derivation codes do not themselves encode transferability, so
28
+ * `Signer` carries an explicit transferability choice rather than inheriting
29
+ * `Matter.transferable`
8
30
  */
9
31
  export declare class Signer extends Matter {
10
- constructor(init: Matter | MatterInit);
32
+ private readonly _transferable;
33
+ private readonly _signRaw;
34
+ /** Public verifier derived from this seed and the explicit transferability choice. */
35
+ readonly verfer: Verfer;
36
+ constructor(init: Matter | SignerInit);
37
+ /**
38
+ * Explicit signer transferability override.
39
+ *
40
+ * Seed codes do not encode transferability, so `Signer` intentionally does
41
+ * not inherit the generic `Matter.transferable` rule.
42
+ */
43
+ get transferable(): boolean;
11
44
  /** Raw seed bytes for signer key-derivation/instantiation. */
12
45
  get seed(): Uint8Array;
46
+ /** Return the raw seed size implied by one signer-suite code. */
47
+ static seedSizeForCode(code: string): number;
48
+ /**
49
+ * Project one verifier code back to the signer seed code for the same suite.
50
+ *
51
+ * Keeper-style derivation flows use this without reopening a free helper seam.
52
+ */
53
+ static seedCodeForVerferCode(verferCode: string): string;
54
+ /** Create one explicit random signer seed for creator-style flows. */
55
+ static random({ code, transferable }?: SignerRandomOptions): Signer;
56
+ private static assertSupportedSeedCode;
57
+ private static assertSupportedVerferCode;
58
+ /** Resolve the verifier code implied by one signer seed code and transferability choice. */
59
+ private static verferCodeForSeedCode;
60
+ /** Derive one raw public verification key from signer seed bytes and suite code. */
61
+ private static publicKeyForSeedCode;
62
+ /** Bind one KERIpy-style signer suite at construction time. */
63
+ private static bindSuite;
64
+ /** Resolve the detached-signature code emitted by this signer suite. */
65
+ private detachedSignatureCode;
66
+ /** Resolve the indexed-signature family emitted by this signer suite. */
67
+ private indexedSignatureFamily;
68
+ /**
69
+ * Resolve the indexed-signature code emitted by this signer and signature shape.
70
+ *
71
+ * KERIpy correspondence:
72
+ * - `only=true` selects the current-list-only family
73
+ * - otherwise `ondex` defaults to `index`
74
+ * - the small `both` family is valid only when `index === ondex <= 63`
75
+ */
76
+ private indexedSignatureCode;
77
+ /**
78
+ * Sign one message and return either a detached `Cigar` or indexed `Siger`.
79
+ *
80
+ * KERIpy correspondence:
81
+ * - `index === undefined` returns a detached non-indexed signature
82
+ * - otherwise the seed suite decides the emitted indexed signature code family
83
+ * - `only=true` selects the current-list-only family and ignores any caller
84
+ * `ondex` override
85
+ * - otherwise `ondex` defaults to `index`, preserving KERIpy's implicit
86
+ * same-index rule for ordinary indexed signatures
87
+ */
88
+ sign(ser: Uint8Array, { index, only, ondex }?: SignerSignOptions): Cigar | Siger;
13
89
  }
14
90
  //# sourceMappingURL=signer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/signer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;GAMG;AACH,qBAAa,MAAO,SAAQ,MAAM;gBACpB,IAAI,EAAE,MAAM,GAAG,UAAU;IAUrC,8DAA8D;IAC9D,IAAI,IAAI,IAAI,UAAU,CAErB;CACF"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/signer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,2DAA2D;AAC3D,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAsCD;;;;;;;;;;GAUG;AACH,qBAAa,MAAO,SAAQ,MAAM;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,MAAM,GAAG,UAAU;IASrC;;;;;OAKG;IACH,IAAa,YAAY,IAAI,OAAO,CAEnC;IAED,8DAA8D;IAC9D,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,iEAAiE;IACjE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK5C;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAgBxD,sEAAsE;IACtE,MAAM,CAAC,MAAM,CACX,EAAE,IAA0B,EAAE,YAAmB,EAAE,GAAE,mBAAwB,GAC5E,MAAM;IAOT,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAQtC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAexC,4FAA4F;IAC5F,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAcpC,oFAAoF;IACpF,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAcnC,+DAA+D;IAC/D,OAAO,CAAC,MAAM,CAAC,SAAS;IAuCxB,wEAAwE;IACxE,OAAO,CAAC,qBAAqB;IAa7B,yEAAyE;IACzE,OAAO,CAAC,sBAAsB;IA4B9B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;;;;;;;OAUG;IACH,IAAI,CACF,GAAG,EAAE,UAAU,EACf,EAAE,KAAK,EAAE,IAAY,EAAE,KAAK,EAAE,GAAE,iBAAsB,GACrD,KAAK,GAAG,KAAK;CAoBjB"}
@@ -0,0 +1,31 @@
1
+ import { type ByteLike } from "./byte-like.js";
2
+ /**
3
+ * Constructor surface for one sniffable CESR stream holder.
4
+ *
5
+ * `verify` is retained for KERIpy vocabulary parity, but the current
6
+ * TypeScript port does not yet implement stream sniffability verification on
7
+ * construction.
8
+ */
9
+ export interface StreamerInit {
10
+ stream: ByteLike;
11
+ verify?: boolean;
12
+ }
13
+ /**
14
+ * Sniffable CESR stream holder.
15
+ *
16
+ * KERIpy substance: `Streamer` is the minimal primitive used when encryption
17
+ * and decryption round-trip whole CESR streams instead of one qualified matter
18
+ * instance.
19
+ *
20
+ * Current `keri-ts` scope:
21
+ * - owns raw stream bytes only
22
+ * - does not yet port KERIpy's `text` / `binary` / `texter` / `bexter`
23
+ * projection helpers or sniffability verification behavior
24
+ */
25
+ export declare class Streamer {
26
+ protected readonly _stream: Uint8Array;
27
+ constructor({ stream }: StreamerInit);
28
+ /** Raw sniffable CESR stream bytes. */
29
+ get stream(): Uint8Array;
30
+ }
31
+ //# sourceMappingURL=streamer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../../../src/src/primitives/streamer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,gBAAgB,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ;IACnB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;gBAE3B,EAAE,MAAM,EAAE,EAAE,YAAY;IAIpC,uCAAuC;IACvC,IAAI,MAAM,IAAI,UAAU,CAEvB;CACF"}