@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.
- package/dist/assumptions.respec.mjs.map +1 -1
- package/dist/email/aws/aws-sigv4-helper.d.mts +26 -0
- package/dist/email/aws/aws-sigv4-helper.d.mts.map +1 -0
- package/dist/email/aws/aws-sigv4-helper.mjs +94 -0
- package/dist/email/aws/aws-sigv4-helper.mjs.map +1 -0
- package/dist/email/aws/email-receiver-aws.d.mts +13 -0
- package/dist/email/aws/email-receiver-aws.d.mts.map +1 -0
- package/dist/email/aws/email-receiver-aws.mjs +97 -0
- package/dist/email/aws/email-receiver-aws.mjs.map +1 -0
- package/dist/email/aws/email-sender-aws.d.mts +23 -0
- package/dist/email/aws/email-sender-aws.d.mts.map +1 -0
- package/dist/email/aws/email-sender-aws.mjs +106 -0
- package/dist/email/aws/email-sender-aws.mjs.map +1 -0
- package/dist/email/aws/index.d.mts +7 -0
- package/dist/email/aws/index.d.mts.map +1 -0
- package/dist/email/aws/index.mjs +7 -0
- package/dist/email/aws/index.mjs.map +1 -0
- package/dist/email/email-constants.d.mts +15 -0
- package/dist/email/email-constants.d.mts.map +1 -0
- package/dist/email/email-constants.mjs +15 -0
- package/dist/email/email-constants.mjs.map +1 -0
- package/dist/email/email-helpers.d.mts +35 -0
- package/dist/email/email-helpers.d.mts.map +1 -0
- package/dist/email/email-helpers.mjs +144 -0
- package/dist/email/email-helpers.mjs.map +1 -0
- package/dist/email/email-receiver.d.mts +12 -0
- package/dist/email/email-receiver.d.mts.map +1 -0
- package/dist/email/email-receiver.mjs +23 -0
- package/dist/email/email-receiver.mjs.map +1 -0
- package/dist/email/email-sender.d.mts +13 -0
- package/dist/email/email-sender.d.mts.map +1 -0
- package/dist/email/email-sender.mjs +35 -0
- package/dist/email/email-sender.mjs.map +1 -0
- package/dist/email/email-service.respec.d.mts +2 -0
- package/dist/email/email-service.respec.d.mts.map +1 -0
- package/dist/email/email-service.respec.mjs +115 -0
- package/dist/email/email-service.respec.mjs.map +1 -0
- package/dist/email/email-types.d.mts +53 -0
- package/dist/email/email-types.d.mts.map +1 -0
- package/dist/email/email-types.mjs +5 -0
- package/dist/email/email-types.mjs.map +1 -0
- package/dist/email/index.d.mts +11 -0
- package/dist/email/index.d.mts.map +1 -0
- package/dist/email/index.mjs +11 -0
- package/dist/email/index.mjs.map +1 -0
- package/dist/email/mock/email-sender-mock.d.mts +20 -0
- package/dist/email/mock/email-sender-mock.d.mts.map +1 -0
- package/dist/email/mock/email-sender-mock.mjs +47 -0
- package/dist/email/mock/email-sender-mock.mjs.map +1 -0
- package/dist/email/mock/index.d.mts +5 -0
- package/dist/email/mock/index.d.mts.map +1 -0
- package/dist/email/mock/index.mjs +5 -0
- package/dist/email/mock/index.mjs.map +1 -0
- package/dist/index.d.mts +13 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +14 -0
- package/dist/index.mjs.map +1 -0
- package/dist/respec-gib.node.mjs +3 -4
- package/dist/respec-gib.node.mjs.map +1 -1
- package/dist/serve-gib/bootstrap-helper.d.mts +27 -0
- package/dist/serve-gib/bootstrap-helper.d.mts.map +1 -0
- package/dist/serve-gib/bootstrap-helper.mjs +116 -0
- package/dist/serve-gib/bootstrap-helper.mjs.map +1 -0
- package/dist/serve-gib/bootstrap-helper.respec.d.mts +2 -0
- package/dist/serve-gib/bootstrap-helper.respec.d.mts.map +1 -0
- package/dist/serve-gib/bootstrap-helper.respec.mjs +85 -0
- package/dist/serve-gib/bootstrap-helper.respec.mjs.map +1 -0
- package/dist/serve-gib/constants.d.mts +2 -0
- package/dist/serve-gib/constants.d.mts.map +1 -0
- package/dist/serve-gib/constants.mjs +2 -0
- package/dist/serve-gib/constants.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/debug/ws-echo.handler.d.mts +39 -0
- package/dist/serve-gib/handlers/api/debug/ws-echo.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/debug/ws-echo.handler.mjs +99 -0
- package/dist/serve-gib/handlers/api/debug/ws-echo.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-inbound.handler.d.mts +25 -0
- package/dist/serve-gib/handlers/api/email/email-inbound.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-inbound.handler.mjs +54 -0
- package/dist/serve-gib/handlers/api/email/email-inbound.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.d.mts +24 -0
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.mjs +72 -0
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/health.handler.d.mts +14 -0
- package/dist/serve-gib/handlers/api/health.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/health.handler.mjs +21 -0
- package/dist/serve-gib/handlers/api/health.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/health.respec.d.mts +2 -0
- package/dist/serve-gib/handlers/api/health.respec.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/health.respec.mjs +47 -0
- package/dist/serve-gib/handlers/api/health.respec.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.d.mts +41 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.mjs +34 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.d.mts +26 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.mjs +179 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.d.mts +23 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.mjs +52 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.d.mts +44 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs +127 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.d.mts +45 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.mjs +159 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.d.mts +25 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.mjs +183 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.d.mts +2 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.mjs +98 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.d.mts +22 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.mjs +19 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.d.mts +19 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.mjs +82 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.d.mts +20 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.mjs +77 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.d.mts +2 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.mjs +131 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.d.mts +23 -0
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs +62 -0
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.d.mts +23 -0
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs +118 -0
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts +24 -0
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs +160 -0
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/error-handler.d.mts +14 -0
- package/dist/serve-gib/handlers/error-handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/error-handler.mjs +35 -0
- package/dist/serve-gib/handlers/error-handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/handler-base.d.mts +129 -0
- package/dist/serve-gib/handlers/handler-base.d.mts.map +1 -0
- package/dist/serve-gib/handlers/handler-base.mjs +402 -0
- package/dist/serve-gib/handlers/handler-base.mjs.map +1 -0
- package/dist/serve-gib/handlers/static-handler.d.mts +17 -0
- package/dist/serve-gib/handlers/static-handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/static-handler.mjs +85 -0
- package/dist/serve-gib/handlers/static-handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.d.mts +35 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.d.mts.map +1 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.mjs +219 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.mjs.map +1 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade.handler.d.mts +21 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade.handler.mjs +21 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/ws/ws-helper.d.mts +29 -0
- package/dist/serve-gib/handlers/ws/ws-helper.d.mts.map +1 -0
- package/dist/serve-gib/handlers/ws/ws-helper.mjs +195 -0
- package/dist/serve-gib/handlers/ws/ws-helper.mjs.map +1 -0
- package/dist/serve-gib/handlers/ws/ws-types.d.mts +32 -0
- package/dist/serve-gib/handlers/ws/ws-types.d.mts.map +1 -0
- package/dist/serve-gib/handlers/ws/ws-types.mjs +2 -0
- package/dist/serve-gib/handlers/ws/ws-types.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-constants.d.mts +4 -0
- package/dist/serve-gib/identity-index/identity-index-constants.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-constants.mjs +4 -0
- package/dist/serve-gib/identity-index/identity-index-constants.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-helpers.d.mts +35 -0
- package/dist/serve-gib/identity-index/identity-index-helpers.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-helpers.mjs +69 -0
- package/dist/serve-gib/identity-index/identity-index-helpers.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-service.d.mts +41 -0
- package/dist/serve-gib/identity-index/identity-index-service.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-service.mjs +86 -0
- package/dist/serve-gib/identity-index/identity-index-service.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-service.respec.d.mts +2 -0
- package/dist/serve-gib/identity-index/identity-index-service.respec.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-service.respec.mjs +109 -0
- package/dist/serve-gib/identity-index/identity-index-service.respec.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-types.d.mts +31 -0
- package/dist/serve-gib/identity-index/identity-index-types.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-types.mjs +2 -0
- package/dist/serve-gib/identity-index/identity-index-types.mjs.map +1 -0
- package/dist/serve-gib/index.d.mts +50 -0
- package/dist/serve-gib/index.d.mts.map +1 -0
- package/dist/serve-gib/index.mjs +80 -0
- package/dist/serve-gib/index.mjs.map +1 -0
- package/dist/serve-gib/keystone-schema-helpers.d.mts +50 -0
- package/dist/serve-gib/keystone-schema-helpers.d.mts.map +1 -0
- package/dist/serve-gib/keystone-schema-helpers.mjs +99 -0
- package/dist/serve-gib/keystone-schema-helpers.mjs.map +1 -0
- package/dist/serve-gib/keystone-schema-helpers.respec.d.mts +2 -0
- package/dist/serve-gib/keystone-schema-helpers.respec.d.mts.map +1 -0
- package/dist/serve-gib/keystone-schema-helpers.respec.mjs +68 -0
- package/dist/serve-gib/keystone-schema-helpers.respec.mjs.map +1 -0
- package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.d.mts +38 -0
- package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.d.mts.map +1 -0
- package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mjs +85 -0
- package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mjs.map +1 -0
- package/dist/serve-gib/path-constants.d.mts +102 -0
- package/dist/serve-gib/path-constants.d.mts.map +1 -0
- package/dist/serve-gib/path-constants.mjs +107 -0
- package/dist/serve-gib/path-constants.mjs.map +1 -0
- package/dist/serve-gib/path-helper.d.mts +23 -0
- package/dist/serve-gib/path-helper.d.mts.map +1 -0
- package/dist/serve-gib/path-helper.mjs +107 -0
- package/dist/serve-gib/path-helper.mjs.map +1 -0
- package/dist/serve-gib/path-helper.respec.d.mts +2 -0
- package/dist/serve-gib/path-helper.respec.d.mts.map +1 -0
- package/dist/serve-gib/path-helper.respec.mjs +83 -0
- package/dist/serve-gib/path-helper.respec.mjs.map +1 -0
- package/dist/serve-gib/serve-gib-helpers.d.mts +14 -0
- package/dist/serve-gib/serve-gib-helpers.d.mts.map +1 -0
- package/dist/serve-gib/serve-gib-helpers.mjs +30 -0
- package/dist/serve-gib/serve-gib-helpers.mjs.map +1 -0
- package/dist/serve-gib/serve-gib-v1.d.mts +40 -0
- package/dist/serve-gib/serve-gib-v1.d.mts.map +1 -0
- package/dist/serve-gib/serve-gib-v1.mjs +157 -0
- package/dist/serve-gib/serve-gib-v1.mjs.map +1 -0
- package/dist/serve-gib/serve-gib.respec.d.mts +2 -0
- package/dist/serve-gib/serve-gib.respec.d.mts.map +1 -0
- package/dist/serve-gib/serve-gib.respec.mjs +85 -0
- package/dist/serve-gib/serve-gib.respec.mjs.map +1 -0
- package/dist/serve-gib/server-constants.d.mts +3 -0
- package/dist/serve-gib/server-constants.d.mts.map +1 -0
- package/dist/serve-gib/server-constants.mjs +3 -0
- package/dist/serve-gib/server-constants.mjs.map +1 -0
- package/dist/serve-gib/types.d.mts +94 -0
- package/dist/serve-gib/types.d.mts.map +1 -0
- package/dist/serve-gib/types.mjs +7 -0
- package/dist/serve-gib/types.mjs.map +1 -0
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.d.mts +5 -0
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.d.mts.map +1 -1
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs +37 -0
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.mjs +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-types.d.mts.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.d.mts.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.d.mts.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
- 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
- package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/package.json +2 -2
- package/src/email/aws/aws-sigv4-helper.mts +139 -0
- package/src/email/aws/email-receiver-aws.mts +107 -0
- package/src/email/aws/email-sender-aws.mts +130 -0
- package/src/email/aws/index.mts +7 -0
- package/src/email/email-constants.mts +18 -0
- package/src/email/email-helpers.mts +160 -0
- package/src/email/email-receiver.mts +29 -0
- package/src/email/email-sender.mts +44 -0
- package/src/email/email-service.respec.mts +134 -0
- package/src/email/email-types.mts +59 -0
- package/src/email/index.mts +11 -0
- package/src/email/mock/email-sender-mock.mts +54 -0
- package/src/email/mock/index.mts +5 -0
- package/src/index.mts +41 -0
- package/src/respec-gib.node.mts +4 -5
- package/src/serve-gib/CHANGELOG.md +34 -0
- package/src/serve-gib/README.md +77 -0
- package/src/serve-gib/SERVE_REFACTOR_IMPLEMENTATION.md +112 -0
- package/src/serve-gib/bootstrap-helper.mts +141 -0
- package/src/serve-gib/bootstrap-helper.respec.mts +100 -0
- package/src/serve-gib/constants.mts +1 -0
- package/src/serve-gib/handlers/api/debug/ws-echo.handler.mts +105 -0
- package/src/serve-gib/handlers/api/email/email-inbound.handler.mts +67 -0
- package/src/serve-gib/handlers/api/email/email-outbound.handler.mts +82 -0
- package/src/serve-gib/handlers/api/health.handler.mts +23 -0
- package/src/serve-gib/handlers/api/health.respec.mts +51 -0
- package/src/serve-gib/handlers/api/ibgib/ibgib-handler-types.mts +49 -0
- package/src/serve-gib/handlers/api/ibgib/ibgib.handler.mts +176 -0
- package/src/serve-gib/handlers/api/keystone/keystone-check-email.handler.mts +60 -0
- package/src/serve-gib/handlers/api/keystone/keystone-evolve.handler.mts +150 -0
- package/src/serve-gib/handlers/api/keystone/keystone-genesis.handler.mts +171 -0
- package/src/serve-gib/handlers/api/keystone/keystone-get.handler.mts +198 -0
- package/src/serve-gib/handlers/api/keystone/keystone-get.respec.mts +106 -0
- package/src/serve-gib/handlers/api/keystone/keystone-handler-types.mts +29 -0
- package/src/serve-gib/handlers/api/keystone/keystone-lookup.handler.mts +95 -0
- package/src/serve-gib/handlers/api/keystone/keystone-post.handler.mts +75 -0
- package/src/serve-gib/handlers/api/keystone/keystone-post.respec.mts +130 -0
- package/src/serve-gib/handlers/api/keystone/sso-config.handler.mts +66 -0
- package/src/serve-gib/handlers/api/keystone/sso-link.handler.mts +140 -0
- package/src/serve-gib/handlers/api/keystone/sso-login.handler.mts +190 -0
- package/src/serve-gib/handlers/error-handler.mts +36 -0
- package/src/serve-gib/handlers/handler-base.mts +383 -0
- package/src/serve-gib/handlers/static-handler.mts +83 -0
- package/src/serve-gib/handlers/ws/sync-upgrade-handler-base.mts +233 -0
- package/src/serve-gib/handlers/ws/sync-upgrade.handler.mts +24 -0
- package/src/serve-gib/handlers/ws/ws-helper.mts +216 -0
- package/src/serve-gib/handlers/ws/ws-types.mts +53 -0
- package/src/serve-gib/identity-index/identity-index-constants.mts +3 -0
- package/src/serve-gib/identity-index/identity-index-helpers.mts +85 -0
- package/src/serve-gib/identity-index/identity-index-service.mts +109 -0
- package/src/serve-gib/identity-index/identity-index-service.respec.mts +135 -0
- package/src/serve-gib/identity-index/identity-index-types.mts +33 -0
- package/src/serve-gib/index.mts +92 -0
- package/src/serve-gib/keystone-schema-helpers.mts +120 -0
- package/src/serve-gib/keystone-schema-helpers.respec.mts +85 -0
- package/src/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mts +109 -0
- package/src/serve-gib/path-constants.mts +119 -0
- package/src/serve-gib/path-helper.mts +101 -0
- package/src/serve-gib/path-helper.respec.mts +99 -0
- package/src/serve-gib/serve-gib-helpers.mts +32 -0
- package/src/serve-gib/serve-gib-v1.mts +172 -0
- package/src/serve-gib/serve-gib.respec.mts +90 -0
- package/src/serve-gib/server-constants.mts +2 -0
- package/src/serve-gib/types.mts +102 -0
- package/src/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mts +41 -0
- 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"}
|
package/dist/respec-gib.node.mjs
CHANGED
|
@@ -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
|
|
159
|
+
found.push(...files);
|
|
160
160
|
for (let i = 0; i < dirs.length; i++) {
|
|
161
|
-
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACH,eAAe,EAAmB,gBAAgB,EAAE,cAAc,EAClE,qBAAqB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,EAAE,GAAG,iBAAiB,CAAC;AAG7B,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAoB;IACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;IACtE,OAAO,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAoB,EAAE,MAAc,EAAE,IAAY;IAClF,MAAM,KAAK,GAAG,GAAG,EAAE,uBAAuB,CAAC;IAC3C,IAAI,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;QAAC,CAAC;QAErD,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEpB,gCAAgC;QAChC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7F,YAAY;QACZ,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpC,OAAO,SAAS,KAAK,IAAI,EAAE,CAAC;oBACxB,IAAI,OAAO,EAAE,CAAC;wBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,UAAU,SAAS,EAAE,CAAC,CAAC;oBAAC,CAAC;oBAC5D,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnE,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,2BAA2B,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3E,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,EAAE,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,kBAAkB,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,iBAAiB,CAAC,CAAC;YAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IAEP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;YAAS,CAAC;QACP,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC;QAAC,CAAC;IACvD,CAAC;AACL,CAAC"}
|
|
@@ -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"}
|