@ibgib/node-gib 0.0.10 → 0.0.14

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 (329) hide show
  1. package/dist/assumptions.respec.mjs.map +1 -1
  2. package/dist/email/aws/aws-sigv4-helper.d.mts +26 -0
  3. package/dist/email/aws/aws-sigv4-helper.d.mts.map +1 -0
  4. package/dist/email/aws/aws-sigv4-helper.mjs +94 -0
  5. package/dist/email/aws/aws-sigv4-helper.mjs.map +1 -0
  6. package/dist/email/aws/email-receiver-aws.d.mts +13 -0
  7. package/dist/email/aws/email-receiver-aws.d.mts.map +1 -0
  8. package/dist/email/aws/email-receiver-aws.mjs +97 -0
  9. package/dist/email/aws/email-receiver-aws.mjs.map +1 -0
  10. package/dist/email/aws/email-sender-aws.d.mts +23 -0
  11. package/dist/email/aws/email-sender-aws.d.mts.map +1 -0
  12. package/dist/email/aws/email-sender-aws.mjs +106 -0
  13. package/dist/email/aws/email-sender-aws.mjs.map +1 -0
  14. package/dist/email/aws/index.d.mts +7 -0
  15. package/dist/email/aws/index.d.mts.map +1 -0
  16. package/dist/email/aws/index.mjs +7 -0
  17. package/dist/email/aws/index.mjs.map +1 -0
  18. package/dist/email/email-constants.d.mts +15 -0
  19. package/dist/email/email-constants.d.mts.map +1 -0
  20. package/dist/email/email-constants.mjs +15 -0
  21. package/dist/email/email-constants.mjs.map +1 -0
  22. package/dist/email/email-helpers.d.mts +35 -0
  23. package/dist/email/email-helpers.d.mts.map +1 -0
  24. package/dist/email/email-helpers.mjs +144 -0
  25. package/dist/email/email-helpers.mjs.map +1 -0
  26. package/dist/email/email-receiver.d.mts +12 -0
  27. package/dist/email/email-receiver.d.mts.map +1 -0
  28. package/dist/email/email-receiver.mjs +23 -0
  29. package/dist/email/email-receiver.mjs.map +1 -0
  30. package/dist/email/email-sender.d.mts +13 -0
  31. package/dist/email/email-sender.d.mts.map +1 -0
  32. package/dist/email/email-sender.mjs +35 -0
  33. package/dist/email/email-sender.mjs.map +1 -0
  34. package/dist/email/email-service.respec.d.mts +2 -0
  35. package/dist/email/email-service.respec.d.mts.map +1 -0
  36. package/dist/email/email-service.respec.mjs +115 -0
  37. package/dist/email/email-service.respec.mjs.map +1 -0
  38. package/dist/email/email-types.d.mts +53 -0
  39. package/dist/email/email-types.d.mts.map +1 -0
  40. package/dist/email/email-types.mjs +5 -0
  41. package/dist/email/email-types.mjs.map +1 -0
  42. package/dist/email/index.d.mts +11 -0
  43. package/dist/email/index.d.mts.map +1 -0
  44. package/dist/email/index.mjs +11 -0
  45. package/dist/email/index.mjs.map +1 -0
  46. package/dist/email/mock/email-sender-mock.d.mts +20 -0
  47. package/dist/email/mock/email-sender-mock.d.mts.map +1 -0
  48. package/dist/email/mock/email-sender-mock.mjs +47 -0
  49. package/dist/email/mock/email-sender-mock.mjs.map +1 -0
  50. package/dist/email/mock/index.d.mts +5 -0
  51. package/dist/email/mock/index.d.mts.map +1 -0
  52. package/dist/email/mock/index.mjs +5 -0
  53. package/dist/email/mock/index.mjs.map +1 -0
  54. package/dist/index.d.mts +13 -0
  55. package/dist/index.d.mts.map +1 -0
  56. package/dist/index.mjs +14 -0
  57. package/dist/index.mjs.map +1 -0
  58. package/dist/respec-gib.node.mjs +3 -4
  59. package/dist/respec-gib.node.mjs.map +1 -1
  60. package/dist/serve-gib/bootstrap-helper.d.mts +27 -0
  61. package/dist/serve-gib/bootstrap-helper.d.mts.map +1 -0
  62. package/dist/serve-gib/bootstrap-helper.mjs +116 -0
  63. package/dist/serve-gib/bootstrap-helper.mjs.map +1 -0
  64. package/dist/serve-gib/bootstrap-helper.respec.d.mts +2 -0
  65. package/dist/serve-gib/bootstrap-helper.respec.d.mts.map +1 -0
  66. package/dist/serve-gib/bootstrap-helper.respec.mjs +85 -0
  67. package/dist/serve-gib/bootstrap-helper.respec.mjs.map +1 -0
  68. package/dist/serve-gib/constants.d.mts +2 -0
  69. package/dist/serve-gib/constants.d.mts.map +1 -0
  70. package/dist/serve-gib/constants.mjs +2 -0
  71. package/dist/serve-gib/constants.mjs.map +1 -0
  72. package/dist/serve-gib/handlers/api/debug/ws-echo.handler.d.mts +39 -0
  73. package/dist/serve-gib/handlers/api/debug/ws-echo.handler.d.mts.map +1 -0
  74. package/dist/serve-gib/handlers/api/debug/ws-echo.handler.mjs +99 -0
  75. package/dist/serve-gib/handlers/api/debug/ws-echo.handler.mjs.map +1 -0
  76. package/dist/serve-gib/handlers/api/email/email-inbound.handler.d.mts +25 -0
  77. package/dist/serve-gib/handlers/api/email/email-inbound.handler.d.mts.map +1 -0
  78. package/dist/serve-gib/handlers/api/email/email-inbound.handler.mjs +54 -0
  79. package/dist/serve-gib/handlers/api/email/email-inbound.handler.mjs.map +1 -0
  80. package/dist/serve-gib/handlers/api/email/email-outbound.handler.d.mts +24 -0
  81. package/dist/serve-gib/handlers/api/email/email-outbound.handler.d.mts.map +1 -0
  82. package/dist/serve-gib/handlers/api/email/email-outbound.handler.mjs +72 -0
  83. package/dist/serve-gib/handlers/api/email/email-outbound.handler.mjs.map +1 -0
  84. package/dist/serve-gib/handlers/api/health.handler.d.mts +14 -0
  85. package/dist/serve-gib/handlers/api/health.handler.d.mts.map +1 -0
  86. package/dist/serve-gib/handlers/api/health.handler.mjs +21 -0
  87. package/dist/serve-gib/handlers/api/health.handler.mjs.map +1 -0
  88. package/dist/serve-gib/handlers/api/health.respec.d.mts +2 -0
  89. package/dist/serve-gib/handlers/api/health.respec.d.mts.map +1 -0
  90. package/dist/serve-gib/handlers/api/health.respec.mjs +47 -0
  91. package/dist/serve-gib/handlers/api/health.respec.mjs.map +1 -0
  92. package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.d.mts +41 -0
  93. package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.d.mts.map +1 -0
  94. package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.mjs +34 -0
  95. package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.mjs.map +1 -0
  96. package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.d.mts +26 -0
  97. package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.d.mts.map +1 -0
  98. package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.mjs +179 -0
  99. package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.mjs.map +1 -0
  100. package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.d.mts +23 -0
  101. package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.d.mts.map +1 -0
  102. package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.mjs +52 -0
  103. package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.mjs.map +1 -0
  104. package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.d.mts +44 -0
  105. package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.d.mts.map +1 -0
  106. package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs +127 -0
  107. package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs.map +1 -0
  108. package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.d.mts +45 -0
  109. package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.d.mts.map +1 -0
  110. package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.mjs +159 -0
  111. package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.mjs.map +1 -0
  112. package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.d.mts +25 -0
  113. package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.d.mts.map +1 -0
  114. package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.mjs +183 -0
  115. package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.mjs.map +1 -0
  116. package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.d.mts +2 -0
  117. package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.d.mts.map +1 -0
  118. package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.mjs +98 -0
  119. package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.mjs.map +1 -0
  120. package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.d.mts +22 -0
  121. package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.d.mts.map +1 -0
  122. package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.mjs +19 -0
  123. package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.mjs.map +1 -0
  124. package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.d.mts +19 -0
  125. package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.d.mts.map +1 -0
  126. package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.mjs +82 -0
  127. package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.mjs.map +1 -0
  128. package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.d.mts +20 -0
  129. package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.d.mts.map +1 -0
  130. package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.mjs +77 -0
  131. package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.mjs.map +1 -0
  132. package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.d.mts +2 -0
  133. package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.d.mts.map +1 -0
  134. package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.mjs +131 -0
  135. package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.mjs.map +1 -0
  136. package/dist/serve-gib/handlers/api/keystone/sso-config.handler.d.mts +23 -0
  137. package/dist/serve-gib/handlers/api/keystone/sso-config.handler.d.mts.map +1 -0
  138. package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs +62 -0
  139. package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs.map +1 -0
  140. package/dist/serve-gib/handlers/api/keystone/sso-link.handler.d.mts +23 -0
  141. package/dist/serve-gib/handlers/api/keystone/sso-link.handler.d.mts.map +1 -0
  142. package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs +118 -0
  143. package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs.map +1 -0
  144. package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts +24 -0
  145. package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts.map +1 -0
  146. package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs +160 -0
  147. package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs.map +1 -0
  148. package/dist/serve-gib/handlers/error-handler.d.mts +14 -0
  149. package/dist/serve-gib/handlers/error-handler.d.mts.map +1 -0
  150. package/dist/serve-gib/handlers/error-handler.mjs +35 -0
  151. package/dist/serve-gib/handlers/error-handler.mjs.map +1 -0
  152. package/dist/serve-gib/handlers/handler-base.d.mts +129 -0
  153. package/dist/serve-gib/handlers/handler-base.d.mts.map +1 -0
  154. package/dist/serve-gib/handlers/handler-base.mjs +402 -0
  155. package/dist/serve-gib/handlers/handler-base.mjs.map +1 -0
  156. package/dist/serve-gib/handlers/static-handler.d.mts +17 -0
  157. package/dist/serve-gib/handlers/static-handler.d.mts.map +1 -0
  158. package/dist/serve-gib/handlers/static-handler.mjs +85 -0
  159. package/dist/serve-gib/handlers/static-handler.mjs.map +1 -0
  160. package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.d.mts +35 -0
  161. package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.d.mts.map +1 -0
  162. package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.mjs +219 -0
  163. package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.mjs.map +1 -0
  164. package/dist/serve-gib/handlers/ws/sync-upgrade.handler.d.mts +21 -0
  165. package/dist/serve-gib/handlers/ws/sync-upgrade.handler.d.mts.map +1 -0
  166. package/dist/serve-gib/handlers/ws/sync-upgrade.handler.mjs +21 -0
  167. package/dist/serve-gib/handlers/ws/sync-upgrade.handler.mjs.map +1 -0
  168. package/dist/serve-gib/handlers/ws/ws-helper.d.mts +29 -0
  169. package/dist/serve-gib/handlers/ws/ws-helper.d.mts.map +1 -0
  170. package/dist/serve-gib/handlers/ws/ws-helper.mjs +195 -0
  171. package/dist/serve-gib/handlers/ws/ws-helper.mjs.map +1 -0
  172. package/dist/serve-gib/handlers/ws/ws-types.d.mts +32 -0
  173. package/dist/serve-gib/handlers/ws/ws-types.d.mts.map +1 -0
  174. package/dist/serve-gib/handlers/ws/ws-types.mjs +2 -0
  175. package/dist/serve-gib/handlers/ws/ws-types.mjs.map +1 -0
  176. package/dist/serve-gib/identity-index/identity-index-constants.d.mts +4 -0
  177. package/dist/serve-gib/identity-index/identity-index-constants.d.mts.map +1 -0
  178. package/dist/serve-gib/identity-index/identity-index-constants.mjs +4 -0
  179. package/dist/serve-gib/identity-index/identity-index-constants.mjs.map +1 -0
  180. package/dist/serve-gib/identity-index/identity-index-helpers.d.mts +35 -0
  181. package/dist/serve-gib/identity-index/identity-index-helpers.d.mts.map +1 -0
  182. package/dist/serve-gib/identity-index/identity-index-helpers.mjs +69 -0
  183. package/dist/serve-gib/identity-index/identity-index-helpers.mjs.map +1 -0
  184. package/dist/serve-gib/identity-index/identity-index-service.d.mts +41 -0
  185. package/dist/serve-gib/identity-index/identity-index-service.d.mts.map +1 -0
  186. package/dist/serve-gib/identity-index/identity-index-service.mjs +86 -0
  187. package/dist/serve-gib/identity-index/identity-index-service.mjs.map +1 -0
  188. package/dist/serve-gib/identity-index/identity-index-service.respec.d.mts +2 -0
  189. package/dist/serve-gib/identity-index/identity-index-service.respec.d.mts.map +1 -0
  190. package/dist/serve-gib/identity-index/identity-index-service.respec.mjs +109 -0
  191. package/dist/serve-gib/identity-index/identity-index-service.respec.mjs.map +1 -0
  192. package/dist/serve-gib/identity-index/identity-index-types.d.mts +31 -0
  193. package/dist/serve-gib/identity-index/identity-index-types.d.mts.map +1 -0
  194. package/dist/serve-gib/identity-index/identity-index-types.mjs +2 -0
  195. package/dist/serve-gib/identity-index/identity-index-types.mjs.map +1 -0
  196. package/dist/serve-gib/index.d.mts +50 -0
  197. package/dist/serve-gib/index.d.mts.map +1 -0
  198. package/dist/serve-gib/index.mjs +80 -0
  199. package/dist/serve-gib/index.mjs.map +1 -0
  200. package/dist/serve-gib/keystone-schema-helpers.d.mts +50 -0
  201. package/dist/serve-gib/keystone-schema-helpers.d.mts.map +1 -0
  202. package/dist/serve-gib/keystone-schema-helpers.mjs +99 -0
  203. package/dist/serve-gib/keystone-schema-helpers.mjs.map +1 -0
  204. package/dist/serve-gib/keystone-schema-helpers.respec.d.mts +2 -0
  205. package/dist/serve-gib/keystone-schema-helpers.respec.d.mts.map +1 -0
  206. package/dist/serve-gib/keystone-schema-helpers.respec.mjs +68 -0
  207. package/dist/serve-gib/keystone-schema-helpers.respec.mjs.map +1 -0
  208. package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.d.mts +38 -0
  209. package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.d.mts.map +1 -0
  210. package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mjs +85 -0
  211. package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mjs.map +1 -0
  212. package/dist/serve-gib/path-constants.d.mts +102 -0
  213. package/dist/serve-gib/path-constants.d.mts.map +1 -0
  214. package/dist/serve-gib/path-constants.mjs +107 -0
  215. package/dist/serve-gib/path-constants.mjs.map +1 -0
  216. package/dist/serve-gib/path-helper.d.mts +23 -0
  217. package/dist/serve-gib/path-helper.d.mts.map +1 -0
  218. package/dist/serve-gib/path-helper.mjs +107 -0
  219. package/dist/serve-gib/path-helper.mjs.map +1 -0
  220. package/dist/serve-gib/path-helper.respec.d.mts +2 -0
  221. package/dist/serve-gib/path-helper.respec.d.mts.map +1 -0
  222. package/dist/serve-gib/path-helper.respec.mjs +83 -0
  223. package/dist/serve-gib/path-helper.respec.mjs.map +1 -0
  224. package/dist/serve-gib/serve-gib-helpers.d.mts +14 -0
  225. package/dist/serve-gib/serve-gib-helpers.d.mts.map +1 -0
  226. package/dist/serve-gib/serve-gib-helpers.mjs +30 -0
  227. package/dist/serve-gib/serve-gib-helpers.mjs.map +1 -0
  228. package/dist/serve-gib/serve-gib-v1.d.mts +40 -0
  229. package/dist/serve-gib/serve-gib-v1.d.mts.map +1 -0
  230. package/dist/serve-gib/serve-gib-v1.mjs +157 -0
  231. package/dist/serve-gib/serve-gib-v1.mjs.map +1 -0
  232. package/dist/serve-gib/serve-gib.respec.d.mts +2 -0
  233. package/dist/serve-gib/serve-gib.respec.d.mts.map +1 -0
  234. package/dist/serve-gib/serve-gib.respec.mjs +85 -0
  235. package/dist/serve-gib/serve-gib.respec.mjs.map +1 -0
  236. package/dist/serve-gib/server-constants.d.mts +3 -0
  237. package/dist/serve-gib/server-constants.d.mts.map +1 -0
  238. package/dist/serve-gib/server-constants.mjs +3 -0
  239. package/dist/serve-gib/server-constants.mjs.map +1 -0
  240. package/dist/serve-gib/types.d.mts +94 -0
  241. package/dist/serve-gib/types.d.mts.map +1 -0
  242. package/dist/serve-gib/types.mjs +7 -0
  243. package/dist/serve-gib/types.mjs.map +1 -0
  244. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mjs.map +1 -1
  245. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.d.mts +5 -0
  246. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.d.mts.map +1 -1
  247. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs +37 -0
  248. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs.map +1 -1
  249. package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.mjs +1 -1
  250. package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.mjs.map +1 -1
  251. package/dist/witness/space/node-filesystem-space/node-filesystem-space-types.d.mts.map +1 -1
  252. package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.d.mts.map +1 -1
  253. package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.mjs.map +1 -1
  254. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.d.mts.map +1 -1
  255. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
  256. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
  257. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
  258. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
  259. package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mjs.map +1 -1
  260. package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mjs.map +1 -1
  261. package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mjs.map +1 -1
  262. package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mjs.map +1 -1
  263. package/package.json +2 -2
  264. package/src/email/aws/aws-sigv4-helper.mts +139 -0
  265. package/src/email/aws/email-receiver-aws.mts +107 -0
  266. package/src/email/aws/email-sender-aws.mts +130 -0
  267. package/src/email/aws/index.mts +7 -0
  268. package/src/email/email-constants.mts +18 -0
  269. package/src/email/email-helpers.mts +160 -0
  270. package/src/email/email-receiver.mts +29 -0
  271. package/src/email/email-sender.mts +44 -0
  272. package/src/email/email-service.respec.mts +134 -0
  273. package/src/email/email-types.mts +59 -0
  274. package/src/email/index.mts +11 -0
  275. package/src/email/mock/email-sender-mock.mts +54 -0
  276. package/src/email/mock/index.mts +5 -0
  277. package/src/index.mts +41 -0
  278. package/src/respec-gib.node.mts +4 -5
  279. package/src/serve-gib/CHANGELOG.md +34 -0
  280. package/src/serve-gib/README.md +77 -0
  281. package/src/serve-gib/SERVE_REFACTOR_IMPLEMENTATION.md +112 -0
  282. package/src/serve-gib/bootstrap-helper.mts +141 -0
  283. package/src/serve-gib/bootstrap-helper.respec.mts +100 -0
  284. package/src/serve-gib/constants.mts +1 -0
  285. package/src/serve-gib/handlers/api/debug/ws-echo.handler.mts +105 -0
  286. package/src/serve-gib/handlers/api/email/email-inbound.handler.mts +67 -0
  287. package/src/serve-gib/handlers/api/email/email-outbound.handler.mts +82 -0
  288. package/src/serve-gib/handlers/api/health.handler.mts +23 -0
  289. package/src/serve-gib/handlers/api/health.respec.mts +51 -0
  290. package/src/serve-gib/handlers/api/ibgib/ibgib-handler-types.mts +49 -0
  291. package/src/serve-gib/handlers/api/ibgib/ibgib.handler.mts +176 -0
  292. package/src/serve-gib/handlers/api/keystone/keystone-check-email.handler.mts +60 -0
  293. package/src/serve-gib/handlers/api/keystone/keystone-evolve.handler.mts +150 -0
  294. package/src/serve-gib/handlers/api/keystone/keystone-genesis.handler.mts +171 -0
  295. package/src/serve-gib/handlers/api/keystone/keystone-get.handler.mts +198 -0
  296. package/src/serve-gib/handlers/api/keystone/keystone-get.respec.mts +106 -0
  297. package/src/serve-gib/handlers/api/keystone/keystone-handler-types.mts +29 -0
  298. package/src/serve-gib/handlers/api/keystone/keystone-lookup.handler.mts +95 -0
  299. package/src/serve-gib/handlers/api/keystone/keystone-post.handler.mts +75 -0
  300. package/src/serve-gib/handlers/api/keystone/keystone-post.respec.mts +130 -0
  301. package/src/serve-gib/handlers/api/keystone/sso-config.handler.mts +66 -0
  302. package/src/serve-gib/handlers/api/keystone/sso-link.handler.mts +140 -0
  303. package/src/serve-gib/handlers/api/keystone/sso-login.handler.mts +190 -0
  304. package/src/serve-gib/handlers/error-handler.mts +36 -0
  305. package/src/serve-gib/handlers/handler-base.mts +383 -0
  306. package/src/serve-gib/handlers/static-handler.mts +83 -0
  307. package/src/serve-gib/handlers/ws/sync-upgrade-handler-base.mts +233 -0
  308. package/src/serve-gib/handlers/ws/sync-upgrade.handler.mts +24 -0
  309. package/src/serve-gib/handlers/ws/ws-helper.mts +216 -0
  310. package/src/serve-gib/handlers/ws/ws-types.mts +53 -0
  311. package/src/serve-gib/identity-index/identity-index-constants.mts +3 -0
  312. package/src/serve-gib/identity-index/identity-index-helpers.mts +85 -0
  313. package/src/serve-gib/identity-index/identity-index-service.mts +109 -0
  314. package/src/serve-gib/identity-index/identity-index-service.respec.mts +135 -0
  315. package/src/serve-gib/identity-index/identity-index-types.mts +33 -0
  316. package/src/serve-gib/index.mts +92 -0
  317. package/src/serve-gib/keystone-schema-helpers.mts +120 -0
  318. package/src/serve-gib/keystone-schema-helpers.respec.mts +85 -0
  319. package/src/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mts +109 -0
  320. package/src/serve-gib/path-constants.mts +119 -0
  321. package/src/serve-gib/path-helper.mts +101 -0
  322. package/src/serve-gib/path-helper.respec.mts +99 -0
  323. package/src/serve-gib/serve-gib-helpers.mts +32 -0
  324. package/src/serve-gib/serve-gib-v1.mts +172 -0
  325. package/src/serve-gib/serve-gib.respec.mts +90 -0
  326. package/src/serve-gib/server-constants.mts +2 -0
  327. package/src/serve-gib/types.mts +102 -0
  328. package/src/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mts +41 -0
  329. package/src/witness/space/node-filesystem-space/node-filesystem-space-helper.mts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAE5B,2BAA2B;AAC3B,cAAc,uBAAuB,CAAC;AAEtC,uBAAuB;AACvB,OAAO,EACH,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,eAAe,GAClB,MAAM,mBAAmB,CAAC"}
@@ -128,7 +128,7 @@ else {
128
128
  * @param found respec paths already found (used in recursive calls)
129
129
  * @returns list of all respec paths according to the respec regexp constant {@link RESPEC_FILE_REG_EXP}
130
130
  */
131
- async function getRespecFileFullPaths(dirPath, found) {
131
+ async function getRespecFileFullPaths(dirPath, found = []) {
132
132
  const lc = `[${getRespecFileFullPaths.name}][${dirPath}]`;
133
133
  try {
134
134
  if (logalot) {
@@ -156,10 +156,9 @@ async function getRespecFileFullPaths(dirPath, found) {
156
156
  files.push(fullPath);
157
157
  }
158
158
  });
159
- found = found.concat(files);
159
+ found.push(...files);
160
160
  for (let i = 0; i < dirs.length; i++) {
161
- const subfound = await getRespecFileFullPaths(dirs[i], found);
162
- found = found.concat(subfound);
161
+ await getRespecFileFullPaths(dirs[i], found);
163
162
  }
164
163
  return Array.from(new Set(found)); // unique
165
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"respec-gib.node.mjs","sourceRoot":"","sources":["../src/respec-gib.node.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"respec-gib.node.mjs","sourceRoot":"","sources":["../src/respec-gib.node.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { MetaspaceFactory, MetaspaceService } from '@ibgib/core-gib/dist/witness/space/metaspace/metaspace-types.mjs';
2
+ /**
3
+ * Deterministically calculates the physical filesystem path for a domain
4
+ * based on its keystone's tjpGib.
5
+ *
6
+ * @param tjpGib The TJP hash of the keystone defining the domain.
7
+ * @param baseDataDir The root directory for all ibgib spaces on the server.
8
+ * @returns The absolute path to the domain's isolated root.
9
+ */
10
+ export declare function getDomainRootPath(tjpGib: string, baseDataDir: string): string;
11
+ /**
12
+ * Creates a MetaspaceFactory using the "Factory Closure Pattern" to isolate
13
+ * all space operations within the given domainRootPath.
14
+ *
15
+ * @param domainRootPath The physical root directory for this domain.
16
+ * @returns A MetaspaceFactory pre-configured for this domain.
17
+ */
18
+ export declare function getDomainFactory(domainRootPath: string): MetaspaceFactory;
19
+ /**
20
+ * Orchestrates the bootstrapping of a domain-isolated metaspace.
21
+ *
22
+ * @param keystoneAddr The full address of the keystone defining the domain.
23
+ * @param baseDataDir The server's root data directory.
24
+ * @returns An initialized MetaspaceService scoped to the domain.
25
+ */
26
+ export declare function bootstrapDomainMetaspace(keystoneAddr: string, baseDataDir: string): Promise<MetaspaceService>;
27
+ //# sourceMappingURL=bootstrap-helper.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-helper.d.mts","sourceRoot":"","sources":["../../src/serve-gib/bootstrap-helper.mts"],"names":[],"mappings":"AAKA,OAAO,EACH,gBAAgB,EAAE,gBAAgB,EAErC,MAAM,kEAAkE,CAAC;AAY1E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAQ7E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,CA8DzE;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC1C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAqB3B"}
@@ -0,0 +1,116 @@
1
+ import { join } from 'node:path';
2
+ import { clone, getUUID, } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
3
+ import { getGib, getGibInfo } from '@ibgib/ts-gib/dist/V1/transforms/transform-helper.mjs';
4
+ import { NodeIndexedFilesystemSpace_V1 } from '../witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.mjs';
5
+ import { DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1, } from '../witness/space/node-filesystem-space/node-filesystem-space-types.mjs';
6
+ import { GLOBAL_LOG_A_LOT } from './server-constants.mjs';
7
+ import { Metaspace_Nodeindexedspace } from './metaspace-nodeindexedspace/metaspace-nodeindexedspace.mjs';
8
+ const logalot = GLOBAL_LOG_A_LOT;
9
+ /**
10
+ * Deterministically calculates the physical filesystem path for a domain
11
+ * based on its keystone's tjpGib.
12
+ *
13
+ * @param tjpGib The TJP hash of the keystone defining the domain.
14
+ * @param baseDataDir The root directory for all ibgib spaces on the server.
15
+ * @returns The absolute path to the domain's isolated root.
16
+ */
17
+ export function getDomainRootPath(tjpGib, baseDataDir) {
18
+ // We use the first 2 characters as subfolders to balance the OS filesystem entries.
19
+ // e.g. /data/spaces/ab/c1/defg...
20
+ const sub1 = tjpGib.slice(0, 2);
21
+ const sub2 = tjpGib.slice(2, 4);
22
+ const remaining = tjpGib;
23
+ return join(baseDataDir, 'domains', sub1, sub2, remaining);
24
+ }
25
+ /**
26
+ * Creates a MetaspaceFactory using the "Factory Closure Pattern" to isolate
27
+ * all space operations within the given domainRootPath.
28
+ *
29
+ * @param domainRootPath The physical root directory for this domain.
30
+ * @returns A MetaspaceFactory pre-configured for this domain.
31
+ */
32
+ export function getDomainFactory(domainRootPath) {
33
+ const lc = `[${getDomainFactory.name}]`;
34
+ const fnZeroSpaceFactory = () => {
35
+ const zeroSpaceData = {
36
+ ...clone(DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1),
37
+ classname: NodeIndexedFilesystemSpace_V1.name,
38
+ baseDir: domainRootPath,
39
+ };
40
+ const zeroSpace = new NodeIndexedFilesystemSpace_V1(zeroSpaceData);
41
+ zeroSpace.gib = 'gib'; // Primitive zero space
42
+ return zeroSpace;
43
+ };
44
+ const fnDefaultLocalSpaceFactory = async (opts) => {
45
+ // Ensure we don't prompt for a name during server bootstrap
46
+ // opts.spaceName ||= `default_${pickRandom_Letters({ count: 5 })}`;
47
+ opts.spaceName ||= `default`;
48
+ const spaceData = {
49
+ ...clone(DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1),
50
+ classname: NodeIndexedFilesystemSpace_V1.name,
51
+ uuid: await getUUID(),
52
+ baseDir: domainRootPath,
53
+ name: opts.spaceName,
54
+ spaceSubPath: opts.spaceName,
55
+ baseSubPath: 'ibgib',
56
+ binSubPath: 'bin',
57
+ dnaSubPath: 'dna',
58
+ ibgibsSubPath: 'ibgibs',
59
+ metaSubPath: 'meta',
60
+ isTjp: true,
61
+ };
62
+ if (logalot) {
63
+ console.log(`${lc}[${fnDefaultLocalSpaceFactory.name}] spaceData.classname: ${spaceData.classname} (I: b60da661e9282e1253101e08765eb226)`);
64
+ }
65
+ const space = new NodeIndexedFilesystemSpace_V1(spaceData);
66
+ space.gib = await getGib({ ibGib: space, hasTjp: true });
67
+ return space;
68
+ };
69
+ const fnDtoToSpace = async (spaceDto) => {
70
+ if (!spaceDto) {
71
+ throw new Error(`spaceDto required (E: 30ede52f9c974591dac980a810510e26)`);
72
+ }
73
+ if (!spaceDto.data) {
74
+ throw new Error(`spaceDto.data required (E: 867b08a9c998e95028396f283d1d4826)`);
75
+ }
76
+ if (!spaceDto.data.classname) {
77
+ throw new Error(`spaceDto.data.classname required (E: 95a68813e64e68e6c84296d8dbaeb826)`);
78
+ }
79
+ if (spaceDto.data.classname !== NodeIndexedFilesystemSpace_V1.name) {
80
+ throw new Error(`spaceDto.data.classname (${spaceDto.data.classname}) expeced to be ${NodeIndexedFilesystemSpace_V1.name} (E: 68aaa875ff22b92f57a0a3189da4b826)`);
81
+ }
82
+ const space = await NodeIndexedFilesystemSpace_V1.createFromDto(spaceDto);
83
+ return space;
84
+ };
85
+ return {
86
+ fnZeroSpaceFactory,
87
+ fnDefaultLocalSpaceFactory,
88
+ fnDtoToSpace,
89
+ };
90
+ }
91
+ /**
92
+ * Orchestrates the bootstrapping of a domain-isolated metaspace.
93
+ *
94
+ * @param keystoneAddr The full address of the keystone defining the domain.
95
+ * @param baseDataDir The server's root data directory.
96
+ * @returns An initialized MetaspaceService scoped to the domain.
97
+ */
98
+ export async function bootstrapDomainMetaspace(keystoneAddr, baseDataDir) {
99
+ const { tjpGib, punctiliarHash } = getGibInfo({ ibGibAddr: keystoneAddr });
100
+ const domainGib = tjpGib || punctiliarHash;
101
+ if (!domainGib) {
102
+ throw new Error(`Could not extract tjpGib from keystone address: ${keystoneAddr}`);
103
+ }
104
+ const domainRootPath = getDomainRootPath(domainGib, baseDataDir);
105
+ const factory = getDomainFactory(domainRootPath);
106
+ const metaspace = new Metaspace_Nodeindexedspace(/*cacheSvc*/ undefined);
107
+ await metaspace.initialize({
108
+ metaspaceFactory: factory,
109
+ // For server-side, these prompts should probably be non-interactive or log errors.
110
+ getFnAlert: () => async (arg) => console.log(`[ALERT] ${arg.title}: ${arg.msg}`),
111
+ getFnPrompt: () => async (arg) => { throw new Error(`Interactive prompt (${arg.title}) not supported in server bootstrap.`); },
112
+ getFnPromptPassword: () => async (title) => { throw new Error(`Password prompt (${title}) not supported in server bootstrap.`); },
113
+ });
114
+ return metaspace;
115
+ }
116
+ //# sourceMappingURL=bootstrap-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-helper.mjs","sourceRoot":"","sources":["../../src/serve-gib/bootstrap-helper.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bootstrap-helper.respec.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-helper.respec.d.mts","sourceRoot":"","sources":["../../src/serve-gib/bootstrap-helper.respec.mts"],"names":[],"mappings":""}
@@ -0,0 +1,85 @@
1
+ import { join } from 'node:path';
2
+ import { existsSync, mkdirSync, rmSync } from 'node:fs';
3
+ import { respecfully, iReckon, ifWe } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
4
+ const sir = `[${import.meta.url}]`;
5
+ import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
6
+ import { KeystoneService_V1 } from '@ibgib/core-gib/dist/keystone/keystone-service-v1.mjs';
7
+ import { createStandardPoolConfig } from '@ibgib/core-gib/dist/keystone/keystone-config-builder.mjs';
8
+ import { POOL_ID_DEFAULT } from '@ibgib/core-gib/dist/keystone/keystone-constants.mjs';
9
+ import { GLOBAL_LOG_A_LOT } from './server-constants.mjs';
10
+ import { getDomainRootPath, bootstrapDomainMetaspace } from './bootstrap-helper.mjs';
11
+ const logalot = GLOBAL_LOG_A_LOT;
12
+ /**
13
+ * Minimal mock to satisfy KeystoneService requirements during genesis.
14
+ */
15
+ class MockMetaspace {
16
+ async getLocalUserSpace() { return new MockSpace(); }
17
+ async put() { }
18
+ async registerNewIbGib() { }
19
+ }
20
+ class MockSpace {
21
+ async witness() { return { data: { success: true } }; }
22
+ }
23
+ await respecfully(sir, 'bootstrap-helper', async () => {
24
+ const lc = `[bootstrap-helper.respec.mts][bootstrap-helper]`;
25
+ const testDataDir = './test-data';
26
+ console.log(`${lc} testDataDir: ${testDataDir} (I: c9f39853a57a5af97ab8ff7882c49826)`);
27
+ // Clean and recreate test-data directory
28
+ if (existsSync(testDataDir)) {
29
+ try {
30
+ rmSync(testDataDir, { recursive: true, force: true, maxRetries: 5, retryDelay: 100 });
31
+ }
32
+ catch { /* ignore */ }
33
+ }
34
+ mkdirSync(testDataDir, { recursive: true });
35
+ await ifWe(sir, 'calculate balanced domain root paths', async () => {
36
+ const tjpGib = 'abcde1234567890';
37
+ const root = getDomainRootPath(tjpGib, testDataDir);
38
+ // Should be: testDataDir/domains/ab/cd/abcde1234567890
39
+ iReckon(sir, root).includes(join('domains', 'ab', 'cd', tjpGib));
40
+ });
41
+ await ifWe(sir, 'bootstrap a domain metaspace and create the directory', async () => {
42
+ const keystoneAddr = 'keystone_alice^abcde1234567890';
43
+ const metaspace = await bootstrapDomainMetaspace(keystoneAddr, testDataDir);
44
+ iReckon(sir, metaspace).isGonnaBe(metaspace);
45
+ iReckon(sir, metaspace.initialized).isGonnaBe(true);
46
+ const expectedPath = getDomainRootPath('abcde1234567890', testDataDir);
47
+ iReckon(sir, existsSync(expectedPath)).isGonnaBe(true);
48
+ // The ibgib framework uses a specific subdirectory structure for the bootstrap
49
+ const bootstrapFile = join(expectedPath, 'ibgib', '000_zerospace', 'gib', 'bootstrap.json');
50
+ iReckon(sir, existsSync(bootstrapFile)).isGonnaBe(true);
51
+ // Also check that the default space was created
52
+ const defaultSpaceDir = join(expectedPath, 'ibgib', 'default');
53
+ iReckon(sir, existsSync(defaultSpaceDir)).isGonnaBe(true);
54
+ });
55
+ await ifWe(sir, 'integrate with KeystoneService and bootstrap 5 unique domains', async () => {
56
+ const keystoneService = new KeystoneService_V1();
57
+ const mockMetaspace = new MockMetaspace();
58
+ const mockSpace = new MockSpace();
59
+ const config = createStandardPoolConfig({ id: POOL_ID_DEFAULT, salt: POOL_ID_DEFAULT });
60
+ const identities = ['Alice', 'Bob', 'Charlie', 'Dave', 'Eve'];
61
+ for (const name of identities) {
62
+ // 1. Generate an actual genesis keystone for this identity
63
+ const keystone = await keystoneService.genesis({
64
+ masterSecret: `SecretFor_${name}`,
65
+ configs: [config],
66
+ metaspace: mockMetaspace,
67
+ space: mockSpace,
68
+ });
69
+ const addr = getIbGibAddr({ ibGib: keystone });
70
+ const tjpGib = keystone.gib;
71
+ if (logalot) {
72
+ console.log(`[test] Bootstrapping domain for ${name}: ${addr} (I: 7ba45828f2719ca578a1f078ff16e126)`);
73
+ }
74
+ // 2. Drive the bootstrap logic
75
+ const metaspace = await bootstrapDomainMetaspace(addr, testDataDir);
76
+ iReckon(sir, metaspace.initialized).isGonnaBe(true);
77
+ // 3. Verify the unique path
78
+ const expectedPath = getDomainRootPath(tjpGib, testDataDir);
79
+ iReckon(sir, existsSync(expectedPath)).isGonnaBe(true);
80
+ const bootstrapFile = join(expectedPath, 'ibgib', '000_zerospace', 'gib', 'bootstrap.json');
81
+ iReckon(sir, existsSync(bootstrapFile)).isGonnaBe(true);
82
+ }
83
+ });
84
+ });
85
+ //# sourceMappingURL=bootstrap-helper.respec.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-helper.respec.mjs","sourceRoot":"","sources":["../../src/serve-gib/bootstrap-helper.respec.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { GLOBAL_LOG_A_LOT } from '../constants.mjs';
2
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/serve-gib/constants.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { GLOBAL_LOG_A_LOT } from '../constants.mjs';
2
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/serve-gib/constants.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @module handlers/api/debug/ws-echo.handler
3
+ *
4
+ * Minimal WebSocket echo handler for validating end-to-end WebSocket
5
+ * plumbing: Traefik passthrough → Node.js upgrade event → browser client.
6
+ *
7
+ * ## intent
8
+ *
9
+ * This is a diagnostic-only endpoint. The goal is to confirm that:
10
+ * 1. Traefik correctly forwards WS upgrade requests to the container
11
+ * 2. The Node.js `upgrade` event fires and we can accept the connect handshake
12
+ * 3. The browser client can open a wss:// connection and exchange frames
13
+ *
14
+ * Once WS sync is confirmed end-to-end, this handler can be removed or
15
+ * gated behind an env flag.
16
+ *
17
+ * ## endpoint
18
+ *
19
+ * `GET /api/debug/ws-echo` (with Upgrade: websocket header)
20
+ *
21
+ * On connect: server sends `{"status":"connected","msg":"ws-echo ready"}`
22
+ * On message: server echoes `{"echo":<original message>}`
23
+ * On close: server logs and cleans up
24
+ */
25
+ import { IncomingMessage } from 'node:http';
26
+ import { Socket } from 'node:net';
27
+ /**
28
+ * Returns true if this request is a WebSocket upgrade to the debug echo path.
29
+ * Call this from the server's `upgrade` event listener.
30
+ */
31
+ export declare function canHandleWsUpgrade(req: IncomingMessage): boolean;
32
+ /**
33
+ * Accepts the WebSocket upgrade and sets up the echo loop.
34
+ *
35
+ * Client will receive a JSON `{status:"connected"}` on open, and
36
+ * `{echo:<msg>}` for every message it sends.
37
+ */
38
+ export declare function handleWsEchoUpgrade(req: IncomingMessage, socket: Socket, head: Buffer): void;
39
+ //# sourceMappingURL=ws-echo.handler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-echo.handler.d.mts","sourceRoot":"","sources":["../../../../../src/serve-gib/handlers/api/debug/ws-echo.handler.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAoBlC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAGhE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CA2C5F"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @module handlers/api/debug/ws-echo.handler
3
+ *
4
+ * Minimal WebSocket echo handler for validating end-to-end WebSocket
5
+ * plumbing: Traefik passthrough → Node.js upgrade event → browser client.
6
+ *
7
+ * ## intent
8
+ *
9
+ * This is a diagnostic-only endpoint. The goal is to confirm that:
10
+ * 1. Traefik correctly forwards WS upgrade requests to the container
11
+ * 2. The Node.js `upgrade` event fires and we can accept the connect handshake
12
+ * 3. The browser client can open a wss:// connection and exchange frames
13
+ *
14
+ * Once WS sync is confirmed end-to-end, this handler can be removed or
15
+ * gated behind an env flag.
16
+ *
17
+ * ## endpoint
18
+ *
19
+ * `GET /api/debug/ws-echo` (with Upgrade: websocket header)
20
+ *
21
+ * On connect: server sends `{"status":"connected","msg":"ws-echo ready"}`
22
+ * On message: server echoes `{"echo":<original message>}`
23
+ * On close: server logs and cleans up
24
+ */
25
+ import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
26
+ import { GLOBAL_LOG_A_LOT } from '../../../constants.mjs';
27
+ import { encodeTextFrame, encodeCloseFrame, performConnect, WebSocketFrameDecoder } from '../../ws/ws-helper.mjs';
28
+ import { API_PATH_REGEXES } from '../../../path-constants.mjs';
29
+ const logalot = GLOBAL_LOG_A_LOT;
30
+ const lc = `[WsEchoHandler]`;
31
+ // ---------------------------------------------------------------------------
32
+ // Public handler
33
+ // ---------------------------------------------------------------------------
34
+ /**
35
+ * Returns true if this request is a WebSocket upgrade to the debug echo path.
36
+ * Call this from the server's `upgrade` event listener.
37
+ */
38
+ export function canHandleWsUpgrade(req) {
39
+ const pathname = new URL(req.url ?? '/', 'http://localhost').pathname;
40
+ return API_PATH_REGEXES.DEBUG_WS_ECHO.test(pathname);
41
+ }
42
+ /**
43
+ * Accepts the WebSocket upgrade and sets up the echo loop.
44
+ *
45
+ * Client will receive a JSON `{status:"connected"}` on open, and
46
+ * `{echo:<msg>}` for every message it sends.
47
+ */
48
+ export function handleWsEchoUpgrade(req, socket, head) {
49
+ const lc_fn = `${lc}[handleWsEchoUpgrade]`;
50
+ try {
51
+ if (logalot) {
52
+ console.log(`${lc_fn} starting...`);
53
+ }
54
+ const ok = performConnect(req, socket);
55
+ if (!ok) {
56
+ return;
57
+ }
58
+ // Send the "connected" greeting
59
+ socket.write(encodeTextFrame(JSON.stringify({ status: 'connected', msg: 'ws-echo ready' })));
60
+ // Echo loop
61
+ const decoder = new WebSocketFrameDecoder();
62
+ socket.on('data', (data) => {
63
+ try {
64
+ decoder.addChunk(data);
65
+ let frameText = decoder.nextFrame();
66
+ while (frameText !== null) {
67
+ if (logalot) {
68
+ console.log(`${lc_fn} echo: ${frameText}`);
69
+ }
70
+ socket.write(encodeTextFrame(JSON.stringify({ echo: frameText })));
71
+ frameText = decoder.nextFrame();
72
+ }
73
+ }
74
+ catch (error) {
75
+ console.error(`${lc_fn} error in data handler: ${extractErrorMsg(error)}`);
76
+ socket.write(encodeCloseFrame(1000));
77
+ socket.end();
78
+ }
79
+ });
80
+ socket.on('error', (error) => {
81
+ console.error(`${lc_fn} socket error: ${extractErrorMsg(error)}`);
82
+ });
83
+ socket.on('close', () => {
84
+ if (logalot) {
85
+ console.log(`${lc_fn} socket closed.`);
86
+ }
87
+ });
88
+ }
89
+ catch (error) {
90
+ console.error(`${lc_fn} ${extractErrorMsg(error)}`);
91
+ socket.destroy();
92
+ }
93
+ finally {
94
+ if (logalot) {
95
+ console.log(`${lc_fn} complete.`);
96
+ }
97
+ }
98
+ }
99
+ //# sourceMappingURL=ws-echo.handler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-echo.handler.mjs","sourceRoot":"","sources":["../../../../../src/serve-gib/handlers/api/debug/ws-echo.handler.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @module serve-gib/handlers/api/email/email-inbound
3
+ *
4
+ * Handler for POST /api/email/inbound
5
+ */
6
+ import { EmailReceiver } from '../../../../email/email-types.mjs';
7
+ import { RequestContext, ResponseResult, ServeGibHttpMethod } from '../../../types.mjs';
8
+ import { ServeGibHandlerBase } from '../../handler-base.mjs';
9
+ export interface EmailInboundHandlerOptions {
10
+ receiver?: EmailReceiver;
11
+ }
12
+ /**
13
+ * POST /api/email/inbound
14
+ * Parses incoming email webhook payloads (e.g. AWS SES SNS/S3 webhook), evaluates spam verdicts,
15
+ * and yields normalized inbound email.
16
+ */
17
+ export declare class EmailInboundHandler extends ServeGibHandlerBase {
18
+ protected lc: string;
19
+ protected method: ServeGibHttpMethod;
20
+ protected regex: RegExp;
21
+ private receiver;
22
+ constructor(options?: EmailInboundHandlerOptions);
23
+ protected handleRouteImpl(reqCtx: RequestContext): Promise<ResponseResult | undefined>;
24
+ }
25
+ //# sourceMappingURL=email-inbound.handler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-inbound.handler.d.mts","sourceRoot":"","sources":["../../../../../src/serve-gib/handlers/api/email/email-inbound.handler.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,mBAAmB;IACxD,UAAmB,EAAE,SAAmC;IACxD,UAAmB,MAAM,EAAE,kBAAkB,CAAU;IACvD,UAAmB,KAAK,SAAkC;IAE1D,OAAO,CAAC,QAAQ,CAAgB;IAEhC,YAAY,OAAO,GAAE,0BAA+B,EAGnD;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA+B3F;CACJ"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @module serve-gib/handlers/api/email/email-inbound
3
+ *
4
+ * Handler for POST /api/email/inbound
5
+ */
6
+ import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
7
+ import { EmailReceiverAws } from '../../../../email/aws/email-receiver-aws.mjs';
8
+ import { API_PATH_REGEXES } from '../../../path-constants.mjs';
9
+ import { ServeGibHandlerBase } from '../../handler-base.mjs';
10
+ /**
11
+ * POST /api/email/inbound
12
+ * Parses incoming email webhook payloads (e.g. AWS SES SNS/S3 webhook), evaluates spam verdicts,
13
+ * and yields normalized inbound email.
14
+ */
15
+ export class EmailInboundHandler extends ServeGibHandlerBase {
16
+ lc = `[${EmailInboundHandler.name}]`;
17
+ method = 'POST';
18
+ regex = API_PATH_REGEXES.EMAIL_INBOUND;
19
+ receiver;
20
+ constructor(options = {}) {
21
+ super();
22
+ this.receiver = options.receiver || new EmailReceiverAws();
23
+ }
24
+ async handleRouteImpl(reqCtx) {
25
+ const lc = `${this.lc}[${this.handleRouteImpl.name}]`;
26
+ try {
27
+ if (reqCtx.method !== 'POST') {
28
+ return this.error(405, 'Method Not Allowed');
29
+ }
30
+ if (!reqCtx.body) {
31
+ return this.error(400, 'Request body is empty');
32
+ }
33
+ let payload;
34
+ try {
35
+ payload = JSON.parse(reqCtx.body);
36
+ }
37
+ catch {
38
+ payload = reqCtx.body;
39
+ }
40
+ const inboundEmail = await this.receiver.parseInboundPayload(payload);
41
+ console.log(`${lc} Successfully processed inbound email msgId: ${inboundEmail.messageId}, folder: ${inboundEmail.folder} (I: 890123456789abcdef8a9b0c1d2e3f4a)`);
42
+ return this.ok({
43
+ success: true,
44
+ email: inboundEmail,
45
+ });
46
+ }
47
+ catch (error) {
48
+ const emsg = extractErrorMsg(error);
49
+ console.error(`${lc} Inbound email handling failed: ${emsg} (E: 90123456789abcdef9a0b1c2d3e4f5a6)`);
50
+ return this.error(500, `Inbound email error: ${emsg}`);
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=email-inbound.handler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-inbound.handler.mjs","sourceRoot":"","sources":["../../../../../src/serve-gib/handlers/api/email/email-inbound.handler.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAM7D;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IACrC,EAAE,GAAG,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC;IACrC,MAAM,GAAuB,MAAM,CAAC;IACpC,KAAK,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAElD,QAAQ,CAAgB;IAEhC,YAAY,OAAO,GAA+B,EAAE;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,gBAAgB,EAAE,CAAC;IAC/D,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,MAAsB;QAClD,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC;QACtD,IAAI,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,OAAY,CAAC;YACjB,IAAI,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAEtE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,gDAAgD,YAAY,CAAC,SAAS,aAAa,YAAY,CAAC,MAAM,wCAAwC,CAAC,CAAC;YAEjK,OAAO,IAAI,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,YAAY;aACtB,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,mCAAmC,IAAI,wCAAwC,CAAC,CAAC;YACpG,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @module serve-gib/handlers/api/email/email-outbound
3
+ *
4
+ * Handler for POST /api/email/send
5
+ */
6
+ import { EmailSender } from '../../../../email/email-types.mjs';
7
+ import { RequestContext, ResponseResult, ServeGibHttpMethod } from '../../../types.mjs';
8
+ import { ServeGibHandlerBase } from '../../handler-base.mjs';
9
+ export interface EmailOutboundHandlerOptions {
10
+ sender?: EmailSender;
11
+ }
12
+ /**
13
+ * POST /api/email/send
14
+ * Validates request payload and dispatches outbound email via the active EmailSender driver.
15
+ */
16
+ export declare class EmailOutboundHandler extends ServeGibHandlerBase {
17
+ protected lc: string;
18
+ protected method: ServeGibHttpMethod;
19
+ protected regex: RegExp;
20
+ private sender;
21
+ constructor(options?: EmailOutboundHandlerOptions);
22
+ protected handleRouteImpl(reqCtx: RequestContext): Promise<ResponseResult | undefined>;
23
+ }
24
+ //# sourceMappingURL=email-outbound.handler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-outbound.handler.d.mts","sourceRoot":"","sources":["../../../../../src/serve-gib/handlers/api/email/email-outbound.handler.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAiB,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,2BAA2B;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;IACzD,UAAmB,EAAE,SAAoC;IACzD,UAAmB,MAAM,EAAE,kBAAkB,CAAU;IACvD,UAAmB,KAAK,SAA+B;IAEvD,OAAO,CAAC,MAAM,CAAc;IAE5B,YAAY,OAAO,GAAE,2BAAgC,EAiBpD;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAgC3F;CACJ"}