@sempdev/semp 0.4.3

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 (559) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/dist/brief/address.d.ts +77 -0
  4. package/dist/brief/address.d.ts.map +1 -0
  5. package/dist/brief/address.js +217 -0
  6. package/dist/brief/address.js.map +1 -0
  7. package/dist/brief/brief.d.ts +75 -0
  8. package/dist/brief/brief.d.ts.map +1 -0
  9. package/dist/brief/brief.js +56 -0
  10. package/dist/brief/brief.js.map +1 -0
  11. package/dist/brief/index.d.ts +11 -0
  12. package/dist/brief/index.d.ts.map +1 -0
  13. package/dist/brief/index.js +11 -0
  14. package/dist/brief/index.js.map +1 -0
  15. package/dist/canonical/index.d.ts +8 -0
  16. package/dist/canonical/index.d.ts.map +1 -0
  17. package/dist/canonical/index.js +8 -0
  18. package/dist/canonical/index.js.map +1 -0
  19. package/dist/canonical/marshal.d.ts +35 -0
  20. package/dist/canonical/marshal.d.ts.map +1 -0
  21. package/dist/canonical/marshal.js +107 -0
  22. package/dist/canonical/marshal.js.map +1 -0
  23. package/dist/clockskew/index.d.ts +52 -0
  24. package/dist/clockskew/index.d.ts.map +1 -0
  25. package/dist/clockskew/index.js +62 -0
  26. package/dist/clockskew/index.js.map +1 -0
  27. package/dist/closure/closure.d.ts +106 -0
  28. package/dist/closure/closure.d.ts.map +1 -0
  29. package/dist/closure/closure.js +152 -0
  30. package/dist/closure/closure.js.map +1 -0
  31. package/dist/closure/driver.d.ts +103 -0
  32. package/dist/closure/driver.d.ts.map +1 -0
  33. package/dist/closure/driver.js +126 -0
  34. package/dist/closure/driver.js.map +1 -0
  35. package/dist/closure/index.d.ts +13 -0
  36. package/dist/closure/index.d.ts.map +1 -0
  37. package/dist/closure/index.js +13 -0
  38. package/dist/closure/index.js.map +1 -0
  39. package/dist/closure/store.d.ts +80 -0
  40. package/dist/closure/store.d.ts.map +1 -0
  41. package/dist/closure/store.js +89 -0
  42. package/dist/closure/store.js.map +1 -0
  43. package/dist/crypto/aead.d.ts +29 -0
  44. package/dist/crypto/aead.d.ts.map +1 -0
  45. package/dist/crypto/aead.js +48 -0
  46. package/dist/crypto/aead.js.map +1 -0
  47. package/dist/crypto/argon2.d.ts +20 -0
  48. package/dist/crypto/argon2.d.ts.map +1 -0
  49. package/dist/crypto/argon2.js +28 -0
  50. package/dist/crypto/argon2.js.map +1 -0
  51. package/dist/crypto/index.d.ts +14 -0
  52. package/dist/crypto/index.d.ts.map +1 -0
  53. package/dist/crypto/index.js +14 -0
  54. package/dist/crypto/index.js.map +1 -0
  55. package/dist/crypto/kdf.d.ts +96 -0
  56. package/dist/crypto/kdf.d.ts.map +1 -0
  57. package/dist/crypto/kdf.js +122 -0
  58. package/dist/crypto/kdf.js.map +1 -0
  59. package/dist/crypto/kem.d.ts +85 -0
  60. package/dist/crypto/kem.d.ts.map +1 -0
  61. package/dist/crypto/kem.js +130 -0
  62. package/dist/crypto/kem.js.map +1 -0
  63. package/dist/crypto/mac.d.ts +19 -0
  64. package/dist/crypto/mac.d.ts.map +1 -0
  65. package/dist/crypto/mac.js +32 -0
  66. package/dist/crypto/mac.js.map +1 -0
  67. package/dist/delivery/ack.d.ts +125 -0
  68. package/dist/delivery/ack.d.ts.map +1 -0
  69. package/dist/delivery/ack.js +141 -0
  70. package/dist/delivery/ack.js.map +1 -0
  71. package/dist/delivery/blocklist.d.ts +87 -0
  72. package/dist/delivery/blocklist.d.ts.map +1 -0
  73. package/dist/delivery/blocklist.js +107 -0
  74. package/dist/delivery/blocklist.js.map +1 -0
  75. package/dist/delivery/cancel.d.ts +60 -0
  76. package/dist/delivery/cancel.d.ts.map +1 -0
  77. package/dist/delivery/cancel.js +43 -0
  78. package/dist/delivery/cancel.js.map +1 -0
  79. package/dist/delivery/disposition.d.ts +106 -0
  80. package/dist/delivery/disposition.d.ts.map +1 -0
  81. package/dist/delivery/disposition.js +105 -0
  82. package/dist/delivery/disposition.js.map +1 -0
  83. package/dist/delivery/fetch.d.ts +59 -0
  84. package/dist/delivery/fetch.d.ts.map +1 -0
  85. package/dist/delivery/fetch.js +47 -0
  86. package/dist/delivery/fetch.js.map +1 -0
  87. package/dist/delivery/forwarder.d.ts +106 -0
  88. package/dist/delivery/forwarder.d.ts.map +1 -0
  89. package/dist/delivery/forwarder.js +251 -0
  90. package/dist/delivery/forwarder.js.map +1 -0
  91. package/dist/delivery/inbox.d.ts +42 -0
  92. package/dist/delivery/inbox.d.ts.map +1 -0
  93. package/dist/delivery/inbox.js +68 -0
  94. package/dist/delivery/inbox.js.map +1 -0
  95. package/dist/delivery/index.d.ts +31 -0
  96. package/dist/delivery/index.d.ts.map +1 -0
  97. package/dist/delivery/index.js +31 -0
  98. package/dist/delivery/index.js.map +1 -0
  99. package/dist/delivery/internalroute.d.ts +50 -0
  100. package/dist/delivery/internalroute.d.ts.map +1 -0
  101. package/dist/delivery/internalroute.js +23 -0
  102. package/dist/delivery/internalroute.js.map +1 -0
  103. package/dist/delivery/pipeline.d.ts +153 -0
  104. package/dist/delivery/pipeline.d.ts.map +1 -0
  105. package/dist/delivery/pipeline.js +356 -0
  106. package/dist/delivery/pipeline.js.map +1 -0
  107. package/dist/delivery/policy_state.d.ts +105 -0
  108. package/dist/delivery/policy_state.d.ts.map +1 -0
  109. package/dist/delivery/policy_state.js +293 -0
  110. package/dist/delivery/policy_state.js.map +1 -0
  111. package/dist/delivery/queue.d.ts +47 -0
  112. package/dist/delivery/queue.d.ts.map +1 -0
  113. package/dist/delivery/queue.js +33 -0
  114. package/dist/delivery/queue.js.map +1 -0
  115. package/dist/delivery/receipt.d.ts +137 -0
  116. package/dist/delivery/receipt.d.ts.map +1 -0
  117. package/dist/delivery/receipt.js +181 -0
  118. package/dist/delivery/receipt.js.map +1 -0
  119. package/dist/delivery/receipt_store.d.ts +81 -0
  120. package/dist/delivery/receipt_store.d.ts.map +1 -0
  121. package/dist/delivery/receipt_store.js +74 -0
  122. package/dist/delivery/receipt_store.js.map +1 -0
  123. package/dist/delivery/retry.d.ts +78 -0
  124. package/dist/delivery/retry.d.ts.map +1 -0
  125. package/dist/delivery/retry.js +132 -0
  126. package/dist/delivery/retry.js.map +1 -0
  127. package/dist/delivery/scheduler.d.ts +156 -0
  128. package/dist/delivery/scheduler.d.ts.map +1 -0
  129. package/dist/delivery/scheduler.js +349 -0
  130. package/dist/delivery/scheduler.js.map +1 -0
  131. package/dist/delivery/stage_partition.d.ts +87 -0
  132. package/dist/delivery/stage_partition.d.ts.map +1 -0
  133. package/dist/delivery/stage_partition.js +122 -0
  134. package/dist/delivery/stage_partition.js.map +1 -0
  135. package/dist/delivery/staged_runner.d.ts +100 -0
  136. package/dist/delivery/staged_runner.d.ts.map +1 -0
  137. package/dist/delivery/staged_runner.js +277 -0
  138. package/dist/delivery/staged_runner.js.map +1 -0
  139. package/dist/delivery/submission.d.ts +72 -0
  140. package/dist/delivery/submission.d.ts.map +1 -0
  141. package/dist/delivery/submission.js +58 -0
  142. package/dist/delivery/submission.js.map +1 -0
  143. package/dist/delivery/sync.d.ts +68 -0
  144. package/dist/delivery/sync.d.ts.map +1 -0
  145. package/dist/delivery/sync.js +99 -0
  146. package/dist/delivery/sync.js.map +1 -0
  147. package/dist/delivery/user_policy.d.ts +74 -0
  148. package/dist/delivery/user_policy.d.ts.map +1 -0
  149. package/dist/delivery/user_policy.js +140 -0
  150. package/dist/delivery/user_policy.js.map +1 -0
  151. package/dist/discovery/cache.d.ts +37 -0
  152. package/dist/discovery/cache.d.ts.map +1 -0
  153. package/dist/discovery/cache.js +45 -0
  154. package/dist/discovery/cache.js.map +1 -0
  155. package/dist/discovery/configuration.d.ts +97 -0
  156. package/dist/discovery/configuration.d.ts.map +1 -0
  157. package/dist/discovery/configuration.js +146 -0
  158. package/dist/discovery/configuration.js.map +1 -0
  159. package/dist/discovery/dns.d.ts +56 -0
  160. package/dist/discovery/dns.d.ts.map +1 -0
  161. package/dist/discovery/dns.js +120 -0
  162. package/dist/discovery/dns.js.map +1 -0
  163. package/dist/discovery/domain_keys.d.ts +62 -0
  164. package/dist/discovery/domain_keys.d.ts.map +1 -0
  165. package/dist/discovery/domain_keys.js +89 -0
  166. package/dist/discovery/domain_keys.js.map +1 -0
  167. package/dist/discovery/index.d.ts +19 -0
  168. package/dist/discovery/index.d.ts.map +1 -0
  169. package/dist/discovery/index.js +19 -0
  170. package/dist/discovery/index.js.map +1 -0
  171. package/dist/discovery/lookup.d.ts +72 -0
  172. package/dist/discovery/lookup.d.ts.map +1 -0
  173. package/dist/discovery/lookup.js +121 -0
  174. package/dist/discovery/lookup.js.map +1 -0
  175. package/dist/discovery/onion.d.ts +34 -0
  176. package/dist/discovery/onion.d.ts.map +1 -0
  177. package/dist/discovery/onion.js +61 -0
  178. package/dist/discovery/onion.js.map +1 -0
  179. package/dist/discovery/partition.d.ts +96 -0
  180. package/dist/discovery/partition.d.ts.map +1 -0
  181. package/dist/discovery/partition.js +247 -0
  182. package/dist/discovery/partition.js.map +1 -0
  183. package/dist/discovery/resolver.d.ts +113 -0
  184. package/dist/discovery/resolver.d.ts.map +1 -0
  185. package/dist/discovery/resolver.js +176 -0
  186. package/dist/discovery/resolver.js.map +1 -0
  187. package/dist/discovery/txt.d.ts +39 -0
  188. package/dist/discovery/txt.d.ts.map +1 -0
  189. package/dist/discovery/txt.js +71 -0
  190. package/dist/discovery/txt.js.map +1 -0
  191. package/dist/enclosure/forwarding.d.ts +128 -0
  192. package/dist/enclosure/forwarding.d.ts.map +1 -0
  193. package/dist/enclosure/forwarding.js +119 -0
  194. package/dist/enclosure/forwarding.js.map +1 -0
  195. package/dist/enclosure/index.d.ts +11 -0
  196. package/dist/enclosure/index.d.ts.map +1 -0
  197. package/dist/enclosure/index.js +11 -0
  198. package/dist/enclosure/index.js.map +1 -0
  199. package/dist/envelope/buckets.d.ts +38 -0
  200. package/dist/envelope/buckets.d.ts.map +1 -0
  201. package/dist/envelope/buckets.js +73 -0
  202. package/dist/envelope/buckets.js.map +1 -0
  203. package/dist/envelope/canonical.d.ts +28 -0
  204. package/dist/envelope/canonical.d.ts.map +1 -0
  205. package/dist/envelope/canonical.js +54 -0
  206. package/dist/envelope/canonical.js.map +1 -0
  207. package/dist/envelope/compose.d.ts +171 -0
  208. package/dist/envelope/compose.d.ts.map +1 -0
  209. package/dist/envelope/compose.js +237 -0
  210. package/dist/envelope/compose.js.map +1 -0
  211. package/dist/envelope/encode.d.ts +41 -0
  212. package/dist/envelope/encode.d.ts.map +1 -0
  213. package/dist/envelope/encode.js +69 -0
  214. package/dist/envelope/encode.js.map +1 -0
  215. package/dist/envelope/index.d.ts +20 -0
  216. package/dist/envelope/index.d.ts.map +1 -0
  217. package/dist/envelope/index.js +20 -0
  218. package/dist/envelope/index.js.map +1 -0
  219. package/dist/envelope/open_any.d.ts +48 -0
  220. package/dist/envelope/open_any.d.ts.map +1 -0
  221. package/dist/envelope/open_any.js +81 -0
  222. package/dist/envelope/open_any.js.map +1 -0
  223. package/dist/envelope/open_verified.d.ts +59 -0
  224. package/dist/envelope/open_verified.d.ts.map +1 -0
  225. package/dist/envelope/open_verified.js +67 -0
  226. package/dist/envelope/open_verified.js.map +1 -0
  227. package/dist/envelope/padding.d.ts +55 -0
  228. package/dist/envelope/padding.d.ts.map +1 -0
  229. package/dist/envelope/padding.js +162 -0
  230. package/dist/envelope/padding.js.map +1 -0
  231. package/dist/envelope/rejection.d.ts +22 -0
  232. package/dist/envelope/rejection.d.ts.map +1 -0
  233. package/dist/envelope/rejection.js +30 -0
  234. package/dist/envelope/rejection.js.map +1 -0
  235. package/dist/envelope/sendtime.d.ts +49 -0
  236. package/dist/envelope/sendtime.d.ts.map +1 -0
  237. package/dist/envelope/sendtime.js +87 -0
  238. package/dist/envelope/sendtime.js.map +1 -0
  239. package/dist/envelope/verify.d.ts +29 -0
  240. package/dist/envelope/verify.d.ts.map +1 -0
  241. package/dist/envelope/verify.js +90 -0
  242. package/dist/envelope/verify.js.map +1 -0
  243. package/dist/extensions/index.d.ts +7 -0
  244. package/dist/extensions/index.d.ts.map +1 -0
  245. package/dist/extensions/index.js +7 -0
  246. package/dist/extensions/index.js.map +1 -0
  247. package/dist/extensions/limits.d.ts +101 -0
  248. package/dist/extensions/limits.d.ts.map +1 -0
  249. package/dist/extensions/limits.js +175 -0
  250. package/dist/extensions/limits.js.map +1 -0
  251. package/dist/handshake/abort.d.ts +49 -0
  252. package/dist/handshake/abort.d.ts.map +1 -0
  253. package/dist/handshake/abort.js +82 -0
  254. package/dist/handshake/abort.js.map +1 -0
  255. package/dist/handshake/capabilities.d.ts +46 -0
  256. package/dist/handshake/capabilities.d.ts.map +1 -0
  257. package/dist/handshake/capabilities.js +114 -0
  258. package/dist/handshake/capabilities.js.map +1 -0
  259. package/dist/handshake/client_state.d.ts +186 -0
  260. package/dist/handshake/client_state.d.ts.map +1 -0
  261. package/dist/handshake/client_state.js +520 -0
  262. package/dist/handshake/client_state.js.map +1 -0
  263. package/dist/handshake/confirm.d.ts +21 -0
  264. package/dist/handshake/confirm.d.ts.map +1 -0
  265. package/dist/handshake/confirm.js +27 -0
  266. package/dist/handshake/confirm.js.map +1 -0
  267. package/dist/handshake/driver.d.ts +126 -0
  268. package/dist/handshake/driver.d.ts.map +1 -0
  269. package/dist/handshake/driver.js +251 -0
  270. package/dist/handshake/driver.js.map +1 -0
  271. package/dist/handshake/federation.d.ts +365 -0
  272. package/dist/handshake/federation.d.ts.map +1 -0
  273. package/dist/handshake/federation.js +664 -0
  274. package/dist/handshake/federation.js.map +1 -0
  275. package/dist/handshake/first_contact.d.ts +57 -0
  276. package/dist/handshake/first_contact.d.ts.map +1 -0
  277. package/dist/handshake/first_contact.js +124 -0
  278. package/dist/handshake/first_contact.js.map +1 -0
  279. package/dist/handshake/identity.d.ts +101 -0
  280. package/dist/handshake/identity.d.ts.map +1 -0
  281. package/dist/handshake/identity.js +117 -0
  282. package/dist/handshake/identity.js.map +1 -0
  283. package/dist/handshake/index.d.ts +21 -0
  284. package/dist/handshake/index.d.ts.map +1 -0
  285. package/dist/handshake/index.js +21 -0
  286. package/dist/handshake/index.js.map +1 -0
  287. package/dist/handshake/messages.d.ts +176 -0
  288. package/dist/handshake/messages.d.ts.map +1 -0
  289. package/dist/handshake/messages.js +125 -0
  290. package/dist/handshake/messages.js.map +1 -0
  291. package/dist/handshake/pow.d.ts +53 -0
  292. package/dist/handshake/pow.d.ts.map +1 -0
  293. package/dist/handshake/pow.js +142 -0
  294. package/dist/handshake/pow.js.map +1 -0
  295. package/dist/handshake/resume_driver.d.ts +56 -0
  296. package/dist/handshake/resume_driver.d.ts.map +1 -0
  297. package/dist/handshake/resume_driver.js +75 -0
  298. package/dist/handshake/resume_driver.js.map +1 -0
  299. package/dist/handshake/server.d.ts +112 -0
  300. package/dist/handshake/server.d.ts.map +1 -0
  301. package/dist/handshake/server.js +247 -0
  302. package/dist/handshake/server.js.map +1 -0
  303. package/dist/handshake/server_state.d.ts +102 -0
  304. package/dist/handshake/server_state.d.ts.map +1 -0
  305. package/dist/handshake/server_state.js +278 -0
  306. package/dist/handshake/server_state.js.map +1 -0
  307. package/dist/index.d.ts +33 -0
  308. package/dist/index.d.ts.map +1 -0
  309. package/dist/index.js +33 -0
  310. package/dist/index.js.map +1 -0
  311. package/dist/keys/compromise.d.ts +118 -0
  312. package/dist/keys/compromise.d.ts.map +1 -0
  313. package/dist/keys/compromise.js +218 -0
  314. package/dist/keys/compromise.js.map +1 -0
  315. package/dist/keys/device_certificate.d.ts +166 -0
  316. package/dist/keys/device_certificate.d.ts.map +1 -0
  317. package/dist/keys/device_certificate.js +328 -0
  318. package/dist/keys/device_certificate.js.map +1 -0
  319. package/dist/keys/device_records.d.ts +175 -0
  320. package/dist/keys/device_records.d.ts.map +1 -0
  321. package/dist/keys/device_records.js +418 -0
  322. package/dist/keys/device_records.js.map +1 -0
  323. package/dist/keys/directory_cache.d.ts +64 -0
  324. package/dist/keys/directory_cache.d.ts.map +1 -0
  325. package/dist/keys/directory_cache.js +98 -0
  326. package/dist/keys/directory_cache.js.map +1 -0
  327. package/dist/keys/directory_state.d.ts +79 -0
  328. package/dist/keys/directory_state.d.ts.map +1 -0
  329. package/dist/keys/directory_state.js +155 -0
  330. package/dist/keys/directory_state.js.map +1 -0
  331. package/dist/keys/index.d.ts +18 -0
  332. package/dist/keys/index.d.ts.map +1 -0
  333. package/dist/keys/index.js +18 -0
  334. package/dist/keys/index.js.map +1 -0
  335. package/dist/keys/key_revocation.d.ts +61 -0
  336. package/dist/keys/key_revocation.d.ts.map +1 -0
  337. package/dist/keys/key_revocation.js +88 -0
  338. package/dist/keys/key_revocation.js.map +1 -0
  339. package/dist/keys/request.d.ts +124 -0
  340. package/dist/keys/request.d.ts.map +1 -0
  341. package/dist/keys/request.js +130 -0
  342. package/dist/keys/request.js.map +1 -0
  343. package/dist/keys/sign.d.ts +49 -0
  344. package/dist/keys/sign.d.ts.map +1 -0
  345. package/dist/keys/sign.js +80 -0
  346. package/dist/keys/sign.js.map +1 -0
  347. package/dist/keys/signed.d.ts +80 -0
  348. package/dist/keys/signed.d.ts.map +1 -0
  349. package/dist/keys/signed.js +138 -0
  350. package/dist/keys/signed.js.map +1 -0
  351. package/dist/keys/store.d.ts +138 -0
  352. package/dist/keys/store.d.ts.map +1 -0
  353. package/dist/keys/store.js +107 -0
  354. package/dist/keys/store.js.map +1 -0
  355. package/dist/largeattachment/crypto.d.ts +47 -0
  356. package/dist/largeattachment/crypto.d.ts.map +1 -0
  357. package/dist/largeattachment/crypto.js +235 -0
  358. package/dist/largeattachment/crypto.js.map +1 -0
  359. package/dist/largeattachment/enclosure.d.ts +48 -0
  360. package/dist/largeattachment/enclosure.d.ts.map +1 -0
  361. package/dist/largeattachment/enclosure.js +102 -0
  362. package/dist/largeattachment/enclosure.js.map +1 -0
  363. package/dist/largeattachment/index.d.ts +15 -0
  364. package/dist/largeattachment/index.d.ts.map +1 -0
  365. package/dist/largeattachment/index.js +15 -0
  366. package/dist/largeattachment/index.js.map +1 -0
  367. package/dist/largeattachment/store.d.ts +36 -0
  368. package/dist/largeattachment/store.d.ts.map +1 -0
  369. package/dist/largeattachment/store.js +37 -0
  370. package/dist/largeattachment/store.js.map +1 -0
  371. package/dist/largeattachment/types.d.ts +56 -0
  372. package/dist/largeattachment/types.d.ts.map +1 -0
  373. package/dist/largeattachment/types.js +31 -0
  374. package/dist/largeattachment/types.js.map +1 -0
  375. package/dist/largeattachment/upload.d.ts +62 -0
  376. package/dist/largeattachment/upload.d.ts.map +1 -0
  377. package/dist/largeattachment/upload.js +166 -0
  378. package/dist/largeattachment/upload.js.map +1 -0
  379. package/dist/migration/index.d.ts +17 -0
  380. package/dist/migration/index.d.ts.map +1 -0
  381. package/dist/migration/index.js +17 -0
  382. package/dist/migration/index.js.map +1 -0
  383. package/dist/migration/lockout.d.ts +48 -0
  384. package/dist/migration/lockout.d.ts.map +1 -0
  385. package/dist/migration/lockout.js +57 -0
  386. package/dist/migration/lockout.js.map +1 -0
  387. package/dist/migration/migration.d.ts +48 -0
  388. package/dist/migration/migration.d.ts.map +1 -0
  389. package/dist/migration/migration.js +58 -0
  390. package/dist/migration/migration.js.map +1 -0
  391. package/dist/migration/notice.d.ts +33 -0
  392. package/dist/migration/notice.d.ts.map +1 -0
  393. package/dist/migration/notice.js +85 -0
  394. package/dist/migration/notice.js.map +1 -0
  395. package/dist/migration/orchestrate.d.ts +109 -0
  396. package/dist/migration/orchestrate.d.ts.map +1 -0
  397. package/dist/migration/orchestrate.js +212 -0
  398. package/dist/migration/orchestrate.js.map +1 -0
  399. package/dist/migration/publication_store.d.ts +34 -0
  400. package/dist/migration/publication_store.d.ts.map +1 -0
  401. package/dist/migration/publication_store.js +44 -0
  402. package/dist/migration/publication_store.js.map +1 -0
  403. package/dist/migration/sign.d.ts +65 -0
  404. package/dist/migration/sign.d.ts.map +1 -0
  405. package/dist/migration/sign.js +331 -0
  406. package/dist/migration/sign.js.map +1 -0
  407. package/dist/migration/types.d.ts +92 -0
  408. package/dist/migration/types.d.ts.map +1 -0
  409. package/dist/migration/types.js +26 -0
  410. package/dist/migration/types.js.map +1 -0
  411. package/dist/reasoncodes.d.ts +42 -0
  412. package/dist/reasoncodes.d.ts.map +1 -0
  413. package/dist/reasoncodes.js +80 -0
  414. package/dist/reasoncodes.js.map +1 -0
  415. package/dist/recovery/bundle.d.ts +34 -0
  416. package/dist/recovery/bundle.d.ts.map +1 -0
  417. package/dist/recovery/bundle.js +144 -0
  418. package/dist/recovery/bundle.js.map +1 -0
  419. package/dist/recovery/bundle_crypto.d.ts +60 -0
  420. package/dist/recovery/bundle_crypto.d.ts.map +1 -0
  421. package/dist/recovery/bundle_crypto.js +179 -0
  422. package/dist/recovery/bundle_crypto.js.map +1 -0
  423. package/dist/recovery/bundle_store.d.ts +57 -0
  424. package/dist/recovery/bundle_store.d.ts.map +1 -0
  425. package/dist/recovery/bundle_store.js +104 -0
  426. package/dist/recovery/bundle_store.js.map +1 -0
  427. package/dist/recovery/index.d.ts +19 -0
  428. package/dist/recovery/index.d.ts.map +1 -0
  429. package/dist/recovery/index.js +19 -0
  430. package/dist/recovery/index.js.map +1 -0
  431. package/dist/recovery/manifest_crosscheck.d.ts +59 -0
  432. package/dist/recovery/manifest_crosscheck.d.ts.map +1 -0
  433. package/dist/recovery/manifest_crosscheck.js +59 -0
  434. package/dist/recovery/manifest_crosscheck.js.map +1 -0
  435. package/dist/recovery/shamir.d.ts +51 -0
  436. package/dist/recovery/shamir.d.ts.map +1 -0
  437. package/dist/recovery/shamir.js +181 -0
  438. package/dist/recovery/shamir.js.map +1 -0
  439. package/dist/recovery/sign.d.ts +61 -0
  440. package/dist/recovery/sign.d.ts.map +1 -0
  441. package/dist/recovery/sign.js +359 -0
  442. package/dist/recovery/sign.js.map +1 -0
  443. package/dist/recovery/types.d.ts +180 -0
  444. package/dist/recovery/types.d.ts.map +1 -0
  445. package/dist/recovery/types.js +31 -0
  446. package/dist/recovery/types.js.map +1 -0
  447. package/dist/reputation/abuse_report.d.ts +62 -0
  448. package/dist/reputation/abuse_report.d.ts.map +1 -0
  449. package/dist/reputation/abuse_report.js +111 -0
  450. package/dist/reputation/abuse_report.js.map +1 -0
  451. package/dist/reputation/bucketize.d.ts +31 -0
  452. package/dist/reputation/bucketize.d.ts.map +1 -0
  453. package/dist/reputation/bucketize.js +77 -0
  454. package/dist/reputation/bucketize.js.map +1 -0
  455. package/dist/reputation/gossip.d.ts +24 -0
  456. package/dist/reputation/gossip.d.ts.map +1 -0
  457. package/dist/reputation/gossip.js +64 -0
  458. package/dist/reputation/gossip.js.map +1 -0
  459. package/dist/reputation/gossip_fetch.d.ts +64 -0
  460. package/dist/reputation/gossip_fetch.d.ts.map +1 -0
  461. package/dist/reputation/gossip_fetch.js +114 -0
  462. package/dist/reputation/gossip_fetch.js.map +1 -0
  463. package/dist/reputation/index.d.ts +20 -0
  464. package/dist/reputation/index.d.ts.map +1 -0
  465. package/dist/reputation/index.js +20 -0
  466. package/dist/reputation/index.js.map +1 -0
  467. package/dist/reputation/observation_store.d.ts +67 -0
  468. package/dist/reputation/observation_store.d.ts.map +1 -0
  469. package/dist/reputation/observation_store.js +171 -0
  470. package/dist/reputation/observation_store.js.map +1 -0
  471. package/dist/reputation/pow.d.ts +91 -0
  472. package/dist/reputation/pow.d.ts.map +1 -0
  473. package/dist/reputation/pow.js +209 -0
  474. package/dist/reputation/pow.js.map +1 -0
  475. package/dist/reputation/sign.d.ts +40 -0
  476. package/dist/reputation/sign.d.ts.map +1 -0
  477. package/dist/reputation/sign.js +202 -0
  478. package/dist/reputation/sign.js.map +1 -0
  479. package/dist/reputation/types.d.ts +133 -0
  480. package/dist/reputation/types.d.ts.map +1 -0
  481. package/dist/reputation/types.js +33 -0
  482. package/dist/reputation/types.js.map +1 -0
  483. package/dist/reputation/whois.d.ts +25 -0
  484. package/dist/reputation/whois.d.ts.map +1 -0
  485. package/dist/reputation/whois.js +20 -0
  486. package/dist/reputation/whois.js.map +1 -0
  487. package/dist/seal/index.d.ts +8 -0
  488. package/dist/seal/index.d.ts.map +1 -0
  489. package/dist/seal/index.js +8 -0
  490. package/dist/seal/index.js.map +1 -0
  491. package/dist/seal/wrap.d.ts +74 -0
  492. package/dist/seal/wrap.d.ts.map +1 -0
  493. package/dist/seal/wrap.js +213 -0
  494. package/dist/seal/wrap.js.map +1 -0
  495. package/dist/session/dispatcher.d.ts +65 -0
  496. package/dist/session/dispatcher.d.ts.map +1 -0
  497. package/dist/session/dispatcher.js +96 -0
  498. package/dist/session/dispatcher.js.map +1 -0
  499. package/dist/session/index.d.ts +15 -0
  500. package/dist/session/index.d.ts.map +1 -0
  501. package/dist/session/index.js +15 -0
  502. package/dist/session/index.js.map +1 -0
  503. package/dist/session/rekey.d.ts +108 -0
  504. package/dist/session/rekey.d.ts.map +1 -0
  505. package/dist/session/rekey.js +207 -0
  506. package/dist/session/rekey.js.map +1 -0
  507. package/dist/session/rekey_seal.d.ts +66 -0
  508. package/dist/session/rekey_seal.d.ts.map +1 -0
  509. package/dist/session/rekey_seal.js +153 -0
  510. package/dist/session/rekey_seal.js.map +1 -0
  511. package/dist/session/resume.d.ts +125 -0
  512. package/dist/session/resume.d.ts.map +1 -0
  513. package/dist/session/resume.js +263 -0
  514. package/dist/session/resume.js.map +1 -0
  515. package/dist/session/session.d.ts +136 -0
  516. package/dist/session/session.d.ts.map +1 -0
  517. package/dist/session/session.js +188 -0
  518. package/dist/session/session.js.map +1 -0
  519. package/dist/transparency/index.d.ts +13 -0
  520. package/dist/transparency/index.d.ts.map +1 -0
  521. package/dist/transparency/index.js +13 -0
  522. package/dist/transparency/index.js.map +1 -0
  523. package/dist/transparency/log.d.ts +61 -0
  524. package/dist/transparency/log.d.ts.map +1 -0
  525. package/dist/transparency/log.js +133 -0
  526. package/dist/transparency/log.js.map +1 -0
  527. package/dist/transparency/merkle.d.ts +59 -0
  528. package/dist/transparency/merkle.d.ts.map +1 -0
  529. package/dist/transparency/merkle.js +314 -0
  530. package/dist/transparency/merkle.js.map +1 -0
  531. package/dist/transparency/sign.d.ts +48 -0
  532. package/dist/transparency/sign.d.ts.map +1 -0
  533. package/dist/transparency/sign.js +140 -0
  534. package/dist/transparency/sign.js.map +1 -0
  535. package/dist/transparency/types.d.ts +97 -0
  536. package/dist/transparency/types.d.ts.map +1 -0
  537. package/dist/transparency/types.js +25 -0
  538. package/dist/transparency/types.js.map +1 -0
  539. package/dist/transport/h2.d.ts +163 -0
  540. package/dist/transport/h2.d.ts.map +1 -0
  541. package/dist/transport/h2.js +397 -0
  542. package/dist/transport/h2.js.map +1 -0
  543. package/dist/transport/index.d.ts +15 -0
  544. package/dist/transport/index.d.ts.map +1 -0
  545. package/dist/transport/index.js +15 -0
  546. package/dist/transport/index.js.map +1 -0
  547. package/dist/transport/memory.d.ts +21 -0
  548. package/dist/transport/memory.d.ts.map +1 -0
  549. package/dist/transport/memory.js +112 -0
  550. package/dist/transport/memory.js.map +1 -0
  551. package/dist/transport/transport.d.ts +54 -0
  552. package/dist/transport/transport.d.ts.map +1 -0
  553. package/dist/transport/transport.js +20 -0
  554. package/dist/transport/transport.js.map +1 -0
  555. package/dist/transport/ws.d.ts +40 -0
  556. package/dist/transport/ws.d.ts.map +1 -0
  557. package/dist/transport/ws.js +204 -0
  558. package/dist/transport/ws.js.map +1 -0
  559. package/package.json +147 -0
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Reference per-user envelope inbox — minimal in-memory FIFO.
3
+ *
4
+ * Intended for in-process tests, embedded servers, and the
5
+ * reference {@link "./fetch".FetchResponse} producer. NOT a
6
+ * production storage layer:
7
+ *
8
+ * - No persistence: process restart loses all queued envelopes.
9
+ * - No fairness controls, no per-address access control, no
10
+ * retention rules.
11
+ * - Concurrency boundary is single-process; multi-writer use is
12
+ * safe under the JavaScript run-to-completion model but not
13
+ * across worker threads.
14
+ *
15
+ * Production deployments MUST back this with a durable store,
16
+ * retention rules, fairness controls, and per-address access
17
+ * control — none of which are present here.
18
+ *
19
+ * @module
20
+ */
21
+ /** Default maximum per-address queue depth. */
22
+ export const DefaultMaxQueueDepth = 10_000;
23
+ /** Reference in-memory inbox keyed by canonical user@domain string. */
24
+ export class Inbox {
25
+ queues = new Map();
26
+ maxDepth;
27
+ constructor(maxDepth = DefaultMaxQueueDepth) {
28
+ if (maxDepth <= 0) {
29
+ this.maxDepth = DefaultMaxQueueDepth;
30
+ }
31
+ else {
32
+ this.maxDepth = maxDepth;
33
+ }
34
+ }
35
+ /**
36
+ * Append `payload` to the queue for `address`. If the queue is at
37
+ * its maximum depth, the oldest entry is dropped to make room.
38
+ */
39
+ store(address, payload) {
40
+ if (address === "") {
41
+ throw new Error("delivery: inbox.store empty address");
42
+ }
43
+ const list = this.queues.get(address);
44
+ if (list === undefined) {
45
+ this.queues.set(address, [payload.slice()]);
46
+ return;
47
+ }
48
+ if (list.length >= this.maxDepth) {
49
+ list.shift(); // drop oldest
50
+ }
51
+ list.push(payload.slice());
52
+ }
53
+ /**
54
+ * Return every queued envelope for `address` and clear the queue.
55
+ * Returns an empty array when the address has no waiting
56
+ * envelopes.
57
+ */
58
+ drain(address) {
59
+ const list = this.queues.get(address) ?? [];
60
+ this.queues.delete(address);
61
+ return list;
62
+ }
63
+ /** Number of waiting envelopes for `address`. */
64
+ pending(address) {
65
+ return this.queues.get(address)?.length ?? 0;
66
+ }
67
+ }
68
+ //# sourceMappingURL=inbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/delivery/inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C,uEAAuE;AACvE,MAAM,OAAO,KAAK;IACC,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IACzC,QAAQ,CAAS;IAElC,YAAY,WAAmB,oBAAoB;QACjD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAe,EAAE,OAAmB;QACxC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc;QAC9B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAe;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IACjD,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Delivery layer per DELIVERY.md.
3
+ *
4
+ * Signed delivery receipts (§1.1.1), per-attempt acknowledgment
5
+ * envelope (§1.1.1.5 / §1.6) including recipient-status visibility
6
+ * (§1.6.4), retry-schedule primitives (§2.3), queue state record
7
+ * (§2.5), and the per-user block list (§4) with match precedence.
8
+ *
9
+ * @module
10
+ */
11
+ export { type DeliveryReceipt, type EnvelopeHash, type ReceiptSignature, type SignDeliveryReceiptInput, type SignDeliveryReceiptResult, type VerifyDeliveryReceiptInput, DeliveryReceiptPrefix, DeliveryReceiptType, DeliveryReceiptVersion, EnvelopeHashAlgorithmSHA256, ReceiptClockSkewToleranceSeconds, ReceiptSignatureAlgorithmEd25519, computeEnvelopeHash, signDeliveryReceipt, validateReceipt, verifyDeliveryReceipt, verifyEnvelopeBinding, } from "./receipt.js";
12
+ export { type ReceiptStore, DefaultReceiptRetentionMs, InMemoryReceiptStore, } from "./receipt_store.js";
13
+ export { type Acknowledgment, type DeliveryAck, type RecipientState, type RecipientStatus, type SenderIdentity, type Visibility, type VisibilityEntry, type VisibilityMode, MaxStatusMessageBytes, buildDeliveredAck, buildRejectedAck, matchVisibility, validateRecipientStatus, } from "./ack.js";
14
+ export { type EffectiveRetryConfig, type RetryConfig, DefaultMaxRetryHorizonMs, MaxRetryHorizonCapMs, MaxRetryIntervalMs, MinJitterFloorMs, MinRetryAttempts, MinRetryInitialIntervalMs, MinRetryJitterFraction, MinRetryMultiplier, baseIntervalMs, effectiveDeadline, isRecoverableReason, jitterIntervalMs, nextAttemptAt, sanitizeRetry, } from "./retry.js";
15
+ export { type QueueRecordState, type QueueState, isTerminalState, setTerminal, } from "./queue.js";
16
+ export { type BlockEntry, type BlockList, type BlockListLookup, type BlockListSender, type BlocklistEntity, type BlocklistEntityType, type BlocklistScope, StaticBlockListLookup, matchBlockList, } from "./blocklist.js";
17
+ export { type SubmissionEvent, type SubmissionResponse, type SubmissionResult, type SubmissionStep, SubmissionType, SubmissionVersion, newSubmissionEvent, newSubmissionResponse, } from "./submission.js";
18
+ export { type CancelRequest, type CancelResponse, type CancelResult, newCancelRequest, newCancelResponse, } from "./cancel.js";
19
+ export { type FetchRequest, type FetchResponse, type FetchStep, FetchType, FetchVersion, newFetchRequest, newFetchResponse, } from "./fetch.js";
20
+ export { DefaultMaxQueueDepth, Inbox, } from "./inbox.js";
21
+ export { type InternalRoute, type InternalRouteAck, InternalRouteTimeoutMs, InternalRouteType, InternalRouteVersion, } from "./internalroute.js";
22
+ export { type Disposition, type DispositionDecision, type StagedHeld, type StagedHeldStage, type StageOutcome, DefaultStageTimeoutMs, DispositionKind, DispositionReasonAccepted, DispositionReasonOther, DispositionReasonPolicy, DispositionReasonSpam, aggregateDispositions, isStageComplete, validateDisposition, } from "./disposition.js";
23
+ export { type SyncMessage, type SyncOp, type SyncOperation, type SyncSignatureBlock, SyncMessagePrefix, SyncMessageType, SyncMessageVersion, SyncStep, signSyncMessage, validateSyncMessage, verifySyncMessage, } from "./sync.js";
24
+ export { type PolicyOp, type PolicyOperation, type UserPolicyMessage, type UserPolicySignatureBlock, PolicyKindAcceptedSender, PolicyKindBlock, PolicyKindFirstContact, UserPolicyPrefix, UserPolicyStep, UserPolicyType, UserPolicyVersion, signUserPolicyMessage, validateUserPolicyMessage, verifyUserPolicyMessage, } from "./user_policy.js";
25
+ export { type CertificateProvider, type PartitionInput, partitionStages, } from "./stage_partition.js";
26
+ export { type PolicyApplyReasonCode, type PolicySnapshot, PolicyApplyError, PolicyState, defaultPolicyKinds, } from "./policy_state.js";
27
+ export { type DecodedBrief, type DomainKeyLookup, type DomainPolicyFunc, type EnvMACFunc, type InboxStore, type LocalAddressFunc, type PipelineConfig, type PipelineLogger, type PipelineRejection, type PipelineResult, type RecipientPolicyFunc, type SessionRetiredFunc, Pipeline, } from "./pipeline.js";
28
+ export { type StageCompleteFunc, type StageDeliverFunc, type StageSuppressFunc, type StagedRunnerConfig, EnvelopeAlreadyHeldError, EnvelopeNotHeldError, StagedRunner, } from "./staged_runner.js";
29
+ export { type AttemptResult, type DeliverFunc, type EventSink, type SchedulerConfig, type SchedulerStore, InMemorySchedulerStore, Scheduler, TickInProgressError, UnknownRecordError, } from "./scheduler.js";
30
+ export { type Dialer, type ForwarderConfig, type PeerConfig, Forwarder, PeerRegistry, } from "./forwarder.js";
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Delivery layer per DELIVERY.md.
3
+ *
4
+ * Signed delivery receipts (§1.1.1), per-attempt acknowledgment
5
+ * envelope (§1.1.1.5 / §1.6) including recipient-status visibility
6
+ * (§1.6.4), retry-schedule primitives (§2.3), queue state record
7
+ * (§2.5), and the per-user block list (§4) with match precedence.
8
+ *
9
+ * @module
10
+ */
11
+ export { DeliveryReceiptPrefix, DeliveryReceiptType, DeliveryReceiptVersion, EnvelopeHashAlgorithmSHA256, ReceiptClockSkewToleranceSeconds, ReceiptSignatureAlgorithmEd25519, computeEnvelopeHash, signDeliveryReceipt, validateReceipt, verifyDeliveryReceipt, verifyEnvelopeBinding, } from "./receipt.js";
12
+ export { DefaultReceiptRetentionMs, InMemoryReceiptStore, } from "./receipt_store.js";
13
+ export { MaxStatusMessageBytes, buildDeliveredAck, buildRejectedAck, matchVisibility, validateRecipientStatus, } from "./ack.js";
14
+ export { DefaultMaxRetryHorizonMs, MaxRetryHorizonCapMs, MaxRetryIntervalMs, MinJitterFloorMs, MinRetryAttempts, MinRetryInitialIntervalMs, MinRetryJitterFraction, MinRetryMultiplier, baseIntervalMs, effectiveDeadline, isRecoverableReason, jitterIntervalMs, nextAttemptAt, sanitizeRetry, } from "./retry.js";
15
+ export { isTerminalState, setTerminal, } from "./queue.js";
16
+ export { StaticBlockListLookup, matchBlockList, } from "./blocklist.js";
17
+ export { SubmissionType, SubmissionVersion, newSubmissionEvent, newSubmissionResponse, } from "./submission.js";
18
+ export { newCancelRequest, newCancelResponse, } from "./cancel.js";
19
+ export { FetchType, FetchVersion, newFetchRequest, newFetchResponse, } from "./fetch.js";
20
+ export { DefaultMaxQueueDepth, Inbox, } from "./inbox.js";
21
+ export { InternalRouteTimeoutMs, InternalRouteType, InternalRouteVersion, } from "./internalroute.js";
22
+ export { DefaultStageTimeoutMs, DispositionKind, DispositionReasonAccepted, DispositionReasonOther, DispositionReasonPolicy, DispositionReasonSpam, aggregateDispositions, isStageComplete, validateDisposition, } from "./disposition.js";
23
+ export { SyncMessagePrefix, SyncMessageType, SyncMessageVersion, SyncStep, signSyncMessage, validateSyncMessage, verifySyncMessage, } from "./sync.js";
24
+ export { PolicyKindAcceptedSender, PolicyKindBlock, PolicyKindFirstContact, UserPolicyPrefix, UserPolicyStep, UserPolicyType, UserPolicyVersion, signUserPolicyMessage, validateUserPolicyMessage, verifyUserPolicyMessage, } from "./user_policy.js";
25
+ export { partitionStages, } from "./stage_partition.js";
26
+ export { PolicyApplyError, PolicyState, defaultPolicyKinds, } from "./policy_state.js";
27
+ export { Pipeline, } from "./pipeline.js";
28
+ export { EnvelopeAlreadyHeldError, EnvelopeNotHeldError, StagedRunner, } from "./staged_runner.js";
29
+ export { InMemorySchedulerStore, Scheduler, TickInProgressError, UnknownRecordError, } from "./scheduler.js";
30
+ export { Forwarder, PeerRegistry, } from "./forwarder.js";
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAOL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,gCAAgC,EAChC,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAEL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EASL,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAElB,OAAO,EAGL,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAQL,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAKL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAIL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAIL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,KAAK,GACN,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAML,qBAAqB,EACrB,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAKL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAKL,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAGL,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAaL,QAAQ,GACT,MAAM,eAAe,CAAC;AAEvB,OAAO,EAKL,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAML,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAIL,SAAS,EACT,YAAY,GACb,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SEMP_INTERNAL_ROUTE wire shapes per DISCOVERY.md §5.4.
3
+ *
4
+ * Used when one partition server hands an envelope to a sibling
5
+ * partition server inside the same domain.
6
+ *
7
+ * Internal routing does NOT exempt an envelope from the delivery
8
+ * pipeline or from block-list enforcement; the receiving partition
9
+ * server runs the full pipeline before producing its acknowledgment
10
+ * (DELIVERY.md §5.3).
11
+ *
12
+ * @module
13
+ */
14
+ import type { Envelope } from "../envelope/index.js";
15
+ import type { Acknowledgment } from "./ack.js";
16
+ /** Wire-level type discriminator. */
17
+ export declare const InternalRouteType = "SEMP_INTERNAL_ROUTE";
18
+ /** Schema version. */
19
+ export declare const InternalRouteVersion = "1.0.0";
20
+ /**
21
+ * Recommended timeout for internally routed deliveries before they
22
+ * are treated as silent (DISCOVERY.md §5.4.1, DELIVERY.md §1.5).
23
+ */
24
+ export declare const InternalRouteTimeoutMs = 30000;
25
+ /** SEMP_INTERNAL_ROUTE request envelope per §5.4. */
26
+ export interface InternalRoute {
27
+ type: typeof InternalRouteType;
28
+ to: string;
29
+ internal_route: string[];
30
+ /** ISO 8601 UTC. */
31
+ timestamp: string;
32
+ envelope: Envelope;
33
+ }
34
+ /**
35
+ * Acknowledgment a receiving partition server returns for every
36
+ * internally routed envelope per §5.4.1.
37
+ */
38
+ export interface InternalRouteAck {
39
+ type: typeof InternalRouteType;
40
+ step: "acknowledgment";
41
+ version: string;
42
+ envelope_id: string;
43
+ to: string;
44
+ status: Acknowledgment;
45
+ reason_code?: string;
46
+ reason?: string;
47
+ /** ISO 8601 UTC. */
48
+ timestamp: string;
49
+ }
50
+ //# sourceMappingURL=internalroute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalroute.d.ts","sourceRoot":"","sources":["../../src/delivery/internalroute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD,sBAAsB;AACtB,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,iBAAiB,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,iBAAiB,CAAC;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SEMP_INTERNAL_ROUTE wire shapes per DISCOVERY.md §5.4.
3
+ *
4
+ * Used when one partition server hands an envelope to a sibling
5
+ * partition server inside the same domain.
6
+ *
7
+ * Internal routing does NOT exempt an envelope from the delivery
8
+ * pipeline or from block-list enforcement; the receiving partition
9
+ * server runs the full pipeline before producing its acknowledgment
10
+ * (DELIVERY.md §5.3).
11
+ *
12
+ * @module
13
+ */
14
+ /** Wire-level type discriminator. */
15
+ export const InternalRouteType = "SEMP_INTERNAL_ROUTE";
16
+ /** Schema version. */
17
+ export const InternalRouteVersion = "1.0.0";
18
+ /**
19
+ * Recommended timeout for internally routed deliveries before they
20
+ * are treated as silent (DISCOVERY.md §5.4.1, DELIVERY.md §1.5).
21
+ */
22
+ export const InternalRouteTimeoutMs = 30_000;
23
+ //# sourceMappingURL=internalroute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalroute.js","sourceRoot":"","sources":["../../src/delivery/internalroute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD,sBAAsB;AACtB,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Receive-side delivery pipeline per DELIVERY.md §2.
3
+ *
4
+ * Runs the fixed nine-step sequence every envelope passes through
5
+ * before a delivery decision is made:
6
+ *
7
+ * 1. Verify `seal.signature` → `seal_invalid`
8
+ * 2. Check `postmark.expires` → `envelope_expired`
9
+ * 3. Check `postmark.session_id` → `no_session` / `handshake_invalid`
10
+ * 4. Verify `seal.session_mac` → `session_mac_invalid`
11
+ * 5. Check domain / server policy → `rejected` or `silent`
12
+ * 6. Decrypt `K_brief` from `seal.brief_recipients`
13
+ * 7. Decrypt `envelope.brief`
14
+ * 8. Check user policy (block list) → `rejected` or `silent`
15
+ * 9. Deliver to client → `delivered`
16
+ *
17
+ * Each step is a private method so operators can wrap or override
18
+ * individual stages without rewriting orchestration. The exported
19
+ * {@link Pipeline.process} runs all steps in order and short-circuits
20
+ * on the first failure.
21
+ *
22
+ * @module
23
+ */
24
+ import { type Envelope, type RecipientCandidate } from "../envelope/index.js";
25
+ import type { Visibility } from "./ack.js";
26
+ import type { BlockListLookup } from "./blocklist.js";
27
+ import type { Inbox } from "./inbox.js";
28
+ import type { SubmissionResult } from "./submission.js";
29
+ /** Minimal logging hook. May be `undefined`. */
30
+ export type PipelineLogger = (line: string) => void;
31
+ /** Lookup hook returning a domain's published Ed25519 signing key. */
32
+ export type DomainKeyLookup = (domain: string) => Promise<Uint8Array | null>;
33
+ /** Hook returning the current `K_env_mac` (to track session rekeys). */
34
+ export type EnvMACFunc = () => Uint8Array;
35
+ /**
36
+ * Optional pre-block-list per-recipient gate. Returns
37
+ * `{ ack: "delivered" }` to pass the gate; any other ack
38
+ * short-circuits delivery for that recipient.
39
+ */
40
+ export type RecipientPolicyFunc = (recipient: string) => {
41
+ ack: "delivered";
42
+ } | {
43
+ ack: "rejected" | "silent";
44
+ reasonCode: string;
45
+ reason?: string;
46
+ };
47
+ /**
48
+ * Optional step-5 hook. Returns `{ ack: "delivered" }` to pass;
49
+ * `rejected` or `silent` terminates the pipeline at this step with
50
+ * an envelope-wide rejection.
51
+ */
52
+ export type DomainPolicyFunc = (fromDomain: string, fromServer: string) => {
53
+ ack: "delivered";
54
+ } | {
55
+ ack: "rejected" | "silent";
56
+ reasonCode: string;
57
+ reason?: string;
58
+ };
59
+ /** Hook classifying recipient addresses as local vs remote. */
60
+ export type LocalAddressFunc = (address: string) => boolean;
61
+ /** Optional inbox writer (the bundled {@link Inbox} satisfies this). */
62
+ export type InboxStore = Pick<Inbox, "store">;
63
+ /** Hook returning the current session-id retired status. */
64
+ export type SessionRetiredFunc = (sessionId: string) => Promise<boolean>;
65
+ /** Decoded brief shape — minimal fields the pipeline needs. */
66
+ export interface DecodedBrief {
67
+ to: string[];
68
+ cc?: string[];
69
+ /** Sender address; surfaced on the brief for visibility / logging. */
70
+ from?: string;
71
+ }
72
+ /** Inputs to {@link Pipeline}. */
73
+ export interface PipelineConfig {
74
+ /** Hook returning K_env_mac for step 4. May be omitted with skipSessionMAC. */
75
+ envMAC?: EnvMACFunc;
76
+ /** Lookup for sender-domain Ed25519 pub for step 1. */
77
+ domainKeys?: DomainKeyLookup;
78
+ /** Optional retired-session lookup for step 3. */
79
+ sessionRetired?: SessionRetiredFunc;
80
+ /** Disable step 1 (used in local-client submission mode). */
81
+ skipSignatureCheck?: boolean;
82
+ /** Disable step 4 (used in local-client submission mode). */
83
+ skipSessionMACCheck?: boolean;
84
+ /** Disable step 2 (testing only). */
85
+ skipExpiryCheck?: boolean;
86
+ /** Disable step 3 (testing only). */
87
+ skipSessionIDCheck?: boolean;
88
+ /**
89
+ * Recipient candidates the home server may use to unwrap
90
+ * `K_brief`. Typically one or more domain encryption keypairs.
91
+ * Required for step 6/7.
92
+ */
93
+ briefRecipients: RecipientCandidate[];
94
+ /** Optional step-5 domain policy. */
95
+ domainPolicy?: DomainPolicyFunc;
96
+ /** Optional pre-block-list per-recipient gate. */
97
+ recipientPolicy?: RecipientPolicyFunc;
98
+ /** Optional step-8 user-level block list lookup. */
99
+ blockList?: BlockListLookup;
100
+ /** Required: classify recipients as local / remote. */
101
+ isLocal: LocalAddressFunc;
102
+ /** Optional inbox writer. Without it, step 9 is a no-op. */
103
+ inbox?: InboxStore;
104
+ /** Optional logger. */
105
+ logger?: PipelineLogger;
106
+ /** Wall-clock hook; defaults to `() => new Date()`. */
107
+ now?: () => Date;
108
+ /** Default clock-skew tolerance for step 2; defaults to 15 minutes. */
109
+ clockSkewMs?: number;
110
+ }
111
+ /** Envelope-wide rejection produced by steps 1–7. */
112
+ export interface PipelineRejection {
113
+ reasonCode: string;
114
+ reason: string;
115
+ silent?: boolean;
116
+ }
117
+ /** Outcome of a single pipeline run. */
118
+ export interface PipelineResult {
119
+ envelopeId: string;
120
+ /** Decoded brief, populated when steps 6/7 succeeded. */
121
+ brief?: DecodedBrief;
122
+ /**
123
+ * Per-recipient outcomes when the pipeline ran past step 7.
124
+ * Empty when {@link rejection} is set.
125
+ */
126
+ results: SubmissionResult[];
127
+ /**
128
+ * Envelope-wide rejection (steps 1–7). Implies {@link results} is
129
+ * empty.
130
+ */
131
+ rejection?: PipelineRejection;
132
+ }
133
+ /**
134
+ * Receive-side delivery pipeline. Single-process, callable across
135
+ * many envelopes. Concurrency is the caller's responsibility — each
136
+ * `process()` call is independent and stateless beyond the
137
+ * configured hooks.
138
+ */
139
+ export declare class Pipeline {
140
+ private readonly cfg;
141
+ constructor(cfg: PipelineConfig);
142
+ /** Run the full pipeline against `env`. */
143
+ process(env: Envelope): Promise<PipelineResult>;
144
+ private verifySignature;
145
+ private checkExpiry;
146
+ private checkSessionId;
147
+ private checkSessionMac;
148
+ private checkDomainPolicy;
149
+ private deliverOne;
150
+ private log;
151
+ }
152
+ export type { Visibility };
153
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/delivery/pipeline.ts"],"names":[],"mappings":"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"}