@prosopo/database 4.2.10 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +3 -3
- package/.turbo/{turbo-build.log → turbo-build$colon$esm.log} +15 -16
- package/.turbo/turbo-build$colon$tsc.log +15 -15
- package/.turbo/turbo-build$colon$types.log +1 -0
- package/CHANGELOG.md +54 -0
- package/dist/cjs/databases/client.cjs +3 -1
- package/dist/cjs/databases/provider.cjs +6 -4
- package/dist/{databases → esm/databases}/client.js +3 -1
- package/dist/{databases → esm/databases}/provider.js +6 -4
- package/dist/tsc/base/index.d.ts.map +1 -0
- package/dist/tsc/base/index.js +3 -0
- package/dist/tsc/base/index.js.map +1 -0
- package/dist/tsc/base/mongo.d.ts.map +1 -0
- package/dist/tsc/base/mongo.js +142 -0
- package/dist/tsc/base/mongo.js.map +1 -0
- package/dist/tsc/base/mongoMemory.d.ts.map +1 -0
- package/dist/tsc/base/mongoMemory.js +21 -0
- package/dist/tsc/base/mongoMemory.js.map +1 -0
- package/dist/tsc/databases/captcha.d.ts.map +1 -0
- package/dist/tsc/databases/captcha.js +276 -0
- package/dist/tsc/databases/captcha.js.map +1 -0
- package/dist/tsc/databases/centralDbStreamer.d.ts.map +1 -0
- package/dist/tsc/databases/centralDbStreamer.js +163 -0
- package/dist/tsc/databases/centralDbStreamer.js.map +1 -0
- package/dist/{databases → tsc/databases}/client.d.ts +1 -1
- package/dist/tsc/databases/client.d.ts.map +1 -0
- package/dist/tsc/databases/client.js +72 -0
- package/dist/tsc/databases/client.js.map +1 -0
- package/dist/tsc/databases/clientRecordCache.d.ts.map +1 -0
- package/dist/tsc/databases/clientRecordCache.js +31 -0
- package/dist/tsc/databases/clientRecordCache.js.map +1 -0
- package/dist/tsc/databases/index.d.ts.map +1 -0
- package/dist/tsc/databases/index.js +18 -0
- package/dist/tsc/databases/index.js.map +1 -0
- package/dist/{databases → tsc/databases}/provider.d.ts +3 -3
- package/dist/tsc/databases/provider.d.ts.map +1 -0
- package/dist/tsc/databases/provider.js +2054 -0
- package/dist/tsc/databases/provider.js.map +1 -0
- package/dist/tsc/errorSites.d.ts.map +1 -0
- package/dist/{errorSites.js.map → tsc/errorSites.js.map} +1 -1
- package/dist/tsc/index.d.ts.map +1 -0
- package/dist/tsc/index.js +7 -0
- package/dist/tsc/index.js.map +1 -0
- package/dist/tsc/mongooseOptions.d.ts.map +1 -0
- package/dist/tsc/mongooseOptions.js +56 -0
- package/dist/tsc/mongooseOptions.js.map +1 -0
- package/dist/tsc/redisCache.d.ts.map +1 -0
- package/dist/tsc/redisCache.js +340 -0
- package/dist/tsc/redisCache.js.map +1 -0
- package/dist/tsc/tests/integration/centralStreamingEnrichment.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/centralStreamingEnrichment.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/clientRecordCache.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/clientRecordCache.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/commitmentRecordProjection.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/commitmentRecordProjection.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/commitmentUpdateTimestamp.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/commitmentUpdateTimestamp.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/commitmentUpsertNoMutation.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/commitmentUpsertNoMutation.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/countCommitmentsByNormalisedEmail.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/countCommitmentsByNormalisedEmail.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/getUpdatedClients.integration.test.d.ts.map +1 -0
- package/dist/{tests → tsc/tests}/integration/getUpdatedClients.integration.test.js +39 -1
- package/dist/tsc/tests/integration/getUpdatedClients.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/ipInfoPersistence.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/ipInfoPersistence.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/projectionContract.d.ts.map +1 -0
- package/dist/tsc/tests/integration/projectionContract.js.map +1 -0
- package/dist/tsc/tests/integration/projectionContracts.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/projectionContracts.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/providedIpPipelineCast.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/providedIpPipelineCast.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/puzzleCentralStreaming.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/puzzleCentralStreaming.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/redisCacheSessionPatch.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/redisCacheSessionPatch.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/saveCaptchasSessionUpsert.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/saveCaptchasSessionUpsert.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/serverCheckClaim.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/serverCheckClaim.integration.test.js.map +1 -0
- package/dist/tsc/tests/integration/sessionRecordProjection.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/integration/sessionRecordProjection.integration.test.js.map +1 -0
- package/dist/tsc/tests/mongoGlobalSetup.d.ts.map +1 -0
- package/dist/tsc/tests/mongoGlobalSetup.js.map +1 -0
- package/dist/tsc/tests/mongooseOptions.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/mongooseOptions.unit.test.js.map +1 -0
- package/dist/tsc/tests/unit/base/mongo.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/unit/base/mongo.unit.test.js.map +1 -0
- package/dist/tsc/tests/unit/captchaLabel.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/unit/captchaLabel.unit.test.js.map +1 -0
- package/dist/tsc/tests/unit/databases/centralDbStreamer.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/unit/databases/centralDbStreamer.unit.test.js.map +1 -0
- package/dist/tsc/tests/unit/detectorBundleTtl.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/unit/detectorBundleTtl.unit.test.js.map +1 -0
- package/dist/tsc/tests/unit/inputMethods.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/unit/inputMethods.unit.test.js.map +1 -0
- package/dist/tsc/tests/unit/redisCacheEscalation.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/unit/redisCacheEscalation.unit.test.js.map +1 -0
- package/dist/types/base/index.d.ts +3 -0
- package/dist/types/base/index.d.ts.map +1 -0
- package/dist/types/base/mongo.d.ts +24 -0
- package/dist/types/base/mongo.d.ts.map +1 -0
- package/dist/types/base/mongoMemory.d.ts +10 -0
- package/dist/types/base/mongoMemory.d.ts.map +1 -0
- package/dist/types/databases/captcha.d.ts +34 -0
- package/dist/types/databases/captcha.d.ts.map +1 -0
- package/dist/types/databases/centralDbStreamer.d.ts +29 -0
- package/dist/types/databases/centralDbStreamer.d.ts.map +1 -0
- package/dist/types/databases/client.d.ts +12 -0
- package/dist/types/databases/client.d.ts.map +1 -0
- package/dist/types/databases/clientRecordCache.d.ts +11 -0
- package/dist/types/databases/clientRecordCache.d.ts.map +1 -0
- package/dist/types/databases/index.d.ts +17 -0
- package/dist/types/databases/index.d.ts.map +1 -0
- package/dist/types/databases/provider.d.ts +171 -0
- package/dist/types/databases/provider.d.ts.map +1 -0
- package/dist/types/errorSites.d.ts +57 -0
- package/dist/types/errorSites.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/mongooseOptions.d.ts +15 -0
- package/dist/types/mongooseOptions.d.ts.map +1 -0
- package/dist/types/redisCache.d.ts +26 -0
- package/dist/types/redisCache.d.ts.map +1 -0
- package/dist/types/tests/integration/centralStreamingEnrichment.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/centralStreamingEnrichment.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/clientRecordCache.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/clientRecordCache.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/commitmentRecordProjection.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/commitmentRecordProjection.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/commitmentUpdateTimestamp.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/commitmentUpdateTimestamp.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/commitmentUpsertNoMutation.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/commitmentUpsertNoMutation.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/countCommitmentsByNormalisedEmail.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/countCommitmentsByNormalisedEmail.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/getUpdatedClients.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/getUpdatedClients.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/ipInfoPersistence.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/ipInfoPersistence.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/projectionContract.d.ts +9 -0
- package/dist/types/tests/integration/projectionContract.d.ts.map +1 -0
- package/dist/types/tests/integration/projectionContracts.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/projectionContracts.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/providedIpPipelineCast.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/providedIpPipelineCast.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/puzzleCentralStreaming.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/puzzleCentralStreaming.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/redisCacheSessionPatch.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/redisCacheSessionPatch.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/saveCaptchasSessionUpsert.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/saveCaptchasSessionUpsert.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/serverCheckClaim.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/serverCheckClaim.integration.test.d.ts.map +1 -0
- package/dist/types/tests/integration/sessionRecordProjection.integration.test.d.ts +2 -0
- package/dist/types/tests/integration/sessionRecordProjection.integration.test.d.ts.map +1 -0
- package/dist/types/tests/mongoGlobalSetup.d.ts +2 -0
- package/dist/types/tests/mongoGlobalSetup.d.ts.map +1 -0
- package/dist/types/tests/mongooseOptions.unit.test.d.ts +2 -0
- package/dist/types/tests/mongooseOptions.unit.test.d.ts.map +1 -0
- package/dist/types/tests/unit/base/mongo.unit.test.d.ts +2 -0
- package/dist/types/tests/unit/base/mongo.unit.test.d.ts.map +1 -0
- package/dist/types/tests/unit/captchaLabel.unit.test.d.ts +2 -0
- package/dist/types/tests/unit/captchaLabel.unit.test.d.ts.map +1 -0
- package/dist/types/tests/unit/databases/centralDbStreamer.unit.test.d.ts +2 -0
- package/dist/types/tests/unit/databases/centralDbStreamer.unit.test.d.ts.map +1 -0
- package/dist/types/tests/unit/detectorBundleTtl.unit.test.d.ts +2 -0
- package/dist/types/tests/unit/detectorBundleTtl.unit.test.d.ts.map +1 -0
- package/dist/types/tests/unit/inputMethods.unit.test.d.ts +2 -0
- package/dist/types/tests/unit/inputMethods.unit.test.d.ts.map +1 -0
- package/dist/types/tests/unit/redisCacheEscalation.unit.test.d.ts +2 -0
- package/dist/types/tests/unit/redisCacheEscalation.unit.test.d.ts.map +1 -0
- package/package.json +16 -17
- package/dist/base/index.d.ts.map +0 -1
- package/dist/base/index.js.map +0 -1
- package/dist/base/mongo.d.ts.map +0 -1
- package/dist/base/mongo.js.map +0 -1
- package/dist/base/mongoMemory.d.ts.map +0 -1
- package/dist/base/mongoMemory.js.map +0 -1
- package/dist/databases/captcha.d.ts.map +0 -1
- package/dist/databases/captcha.js.map +0 -1
- package/dist/databases/centralDbStreamer.d.ts.map +0 -1
- package/dist/databases/centralDbStreamer.js.map +0 -1
- package/dist/databases/client.d.ts.map +0 -1
- package/dist/databases/client.js.map +0 -1
- package/dist/databases/clientRecordCache.d.ts.map +0 -1
- package/dist/databases/clientRecordCache.js.map +0 -1
- package/dist/databases/index.d.ts.map +0 -1
- package/dist/databases/index.js.map +0 -1
- package/dist/databases/provider.d.ts.map +0 -1
- package/dist/databases/provider.js.map +0 -1
- package/dist/errorSites.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/mongooseOptions.d.ts.map +0 -1
- package/dist/mongooseOptions.js.map +0 -1
- package/dist/redisCache.d.ts.map +0 -1
- package/dist/redisCache.js.map +0 -1
- package/dist/tests/integration/centralStreamingEnrichment.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/centralStreamingEnrichment.integration.test.js.map +0 -1
- package/dist/tests/integration/clientRecordCache.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/clientRecordCache.integration.test.js.map +0 -1
- package/dist/tests/integration/commitmentRecordProjection.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/commitmentRecordProjection.integration.test.js.map +0 -1
- package/dist/tests/integration/commitmentUpdateTimestamp.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/commitmentUpdateTimestamp.integration.test.js.map +0 -1
- package/dist/tests/integration/commitmentUpsertNoMutation.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/commitmentUpsertNoMutation.integration.test.js.map +0 -1
- package/dist/tests/integration/countCommitmentsByNormalisedEmail.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/countCommitmentsByNormalisedEmail.integration.test.js.map +0 -1
- package/dist/tests/integration/getUpdatedClients.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/getUpdatedClients.integration.test.js.map +0 -1
- package/dist/tests/integration/ipInfoPersistence.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/ipInfoPersistence.integration.test.js.map +0 -1
- package/dist/tests/integration/projectionContract.d.ts.map +0 -1
- package/dist/tests/integration/projectionContract.js.map +0 -1
- package/dist/tests/integration/projectionContracts.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/projectionContracts.integration.test.js.map +0 -1
- package/dist/tests/integration/providedIpPipelineCast.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/providedIpPipelineCast.integration.test.js.map +0 -1
- package/dist/tests/integration/puzzleCentralStreaming.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/puzzleCentralStreaming.integration.test.js.map +0 -1
- package/dist/tests/integration/redisCacheSessionPatch.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/redisCacheSessionPatch.integration.test.js.map +0 -1
- package/dist/tests/integration/saveCaptchasSessionUpsert.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/saveCaptchasSessionUpsert.integration.test.js.map +0 -1
- package/dist/tests/integration/serverCheckClaim.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/serverCheckClaim.integration.test.js.map +0 -1
- package/dist/tests/integration/sessionRecordProjection.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/sessionRecordProjection.integration.test.js.map +0 -1
- package/dist/tests/mongoGlobalSetup.d.ts.map +0 -1
- package/dist/tests/mongoGlobalSetup.js.map +0 -1
- package/dist/tests/mongooseOptions.unit.test.d.ts.map +0 -1
- package/dist/tests/mongooseOptions.unit.test.js.map +0 -1
- package/dist/tests/unit/base/mongo.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/base/mongo.unit.test.js.map +0 -1
- package/dist/tests/unit/captchaLabel.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/captchaLabel.unit.test.js.map +0 -1
- package/dist/tests/unit/databases/centralDbStreamer.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/databases/centralDbStreamer.unit.test.js.map +0 -1
- package/dist/tests/unit/detectorBundleTtl.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/detectorBundleTtl.unit.test.js.map +0 -1
- package/dist/tests/unit/inputMethods.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/inputMethods.unit.test.js.map +0 -1
- package/dist/tests/unit/redisCacheEscalation.unit.test.d.ts.map +0 -1
- package/dist/tests/unit/redisCacheEscalation.unit.test.js.map +0 -1
- /package/dist/{_virtual → esm/_virtual}/_rolldown/runtime.js +0 -0
- /package/dist/{base → esm/base}/index.js +0 -0
- /package/dist/{base → esm/base}/mongo.js +0 -0
- /package/dist/{base → esm/base}/mongoMemory.js +0 -0
- /package/dist/{databases → esm/databases}/captcha.js +0 -0
- /package/dist/{databases → esm/databases}/centralDbStreamer.js +0 -0
- /package/dist/{databases → esm/databases}/clientRecordCache.js +0 -0
- /package/dist/{databases → esm/databases}/index.js +0 -0
- /package/dist/{index.js → esm/index.js} +0 -0
- /package/dist/{mongooseOptions.js → esm/mongooseOptions.js} +0 -0
- /package/dist/{redisCache.js → esm/redisCache.js} +0 -0
- /package/dist/{base → tsc/base}/index.d.ts +0 -0
- /package/dist/{base → tsc/base}/mongo.d.ts +0 -0
- /package/dist/{base → tsc/base}/mongoMemory.d.ts +0 -0
- /package/dist/{databases → tsc/databases}/captcha.d.ts +0 -0
- /package/dist/{databases → tsc/databases}/centralDbStreamer.d.ts +0 -0
- /package/dist/{databases → tsc/databases}/clientRecordCache.d.ts +0 -0
- /package/dist/{databases → tsc/databases}/index.d.ts +0 -0
- /package/dist/{errorSites.d.ts → tsc/errorSites.d.ts} +0 -0
- /package/dist/{errorSites.js → tsc/errorSites.js} +0 -0
- /package/dist/{index.d.ts → tsc/index.d.ts} +0 -0
- /package/dist/{mongooseOptions.d.ts → tsc/mongooseOptions.d.ts} +0 -0
- /package/dist/{redisCache.d.ts → tsc/redisCache.d.ts} +0 -0
- /package/dist/{tests → tsc/tests}/integration/centralStreamingEnrichment.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/centralStreamingEnrichment.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/clientRecordCache.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/clientRecordCache.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/commitmentRecordProjection.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/commitmentRecordProjection.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/commitmentUpdateTimestamp.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/commitmentUpdateTimestamp.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/commitmentUpsertNoMutation.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/commitmentUpsertNoMutation.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/countCommitmentsByNormalisedEmail.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/countCommitmentsByNormalisedEmail.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/getUpdatedClients.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/ipInfoPersistence.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/ipInfoPersistence.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/projectionContract.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/projectionContract.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/projectionContracts.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/projectionContracts.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/providedIpPipelineCast.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/providedIpPipelineCast.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/puzzleCentralStreaming.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/puzzleCentralStreaming.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/redisCacheSessionPatch.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/redisCacheSessionPatch.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/saveCaptchasSessionUpsert.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/saveCaptchasSessionUpsert.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/serverCheckClaim.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/serverCheckClaim.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/integration/sessionRecordProjection.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/integration/sessionRecordProjection.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/mongoGlobalSetup.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/mongoGlobalSetup.js +0 -0
- /package/dist/{tests → tsc/tests}/mongooseOptions.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/mongooseOptions.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/unit/base/mongo.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/unit/base/mongo.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/unit/captchaLabel.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/unit/captchaLabel.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/unit/databases/centralDbStreamer.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/unit/databases/centralDbStreamer.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/unit/detectorBundleTtl.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/unit/detectorBundleTtl.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/unit/inputMethods.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/unit/inputMethods.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/unit/redisCacheEscalation.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/unit/redisCacheEscalation.unit.test.js +0 -0
|
@@ -43,12 +43,12 @@ dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
|
|
|
43
43
|
dist/cjs/databases/index.cjs 1.14 kB │ gzip: 0.32 kB
|
|
44
44
|
dist/cjs/databases/clientRecordCache.cjs 1.45 kB │ gzip: 0.69 kB
|
|
45
45
|
dist/cjs/index.cjs 1.66 kB │ gzip: 0.49 kB
|
|
46
|
-
dist/cjs/databases/client.cjs 1.
|
|
46
|
+
dist/cjs/databases/client.cjs 1.96 kB │ gzip: 0.82 kB
|
|
47
47
|
dist/cjs/mongooseOptions.cjs 3.74 kB │ gzip: 1.56 kB
|
|
48
48
|
dist/cjs/base/mongo.cjs 4.29 kB │ gzip: 1.42 kB
|
|
49
49
|
dist/cjs/databases/centralDbStreamer.cjs 6.40 kB │ gzip: 1.52 kB
|
|
50
50
|
dist/cjs/databases/captcha.cjs 8.23 kB │ gzip: 2.38 kB
|
|
51
51
|
dist/cjs/redisCache.cjs 14.30 kB │ gzip: 4.45 kB
|
|
52
|
-
dist/cjs/databases/provider.cjs 70.
|
|
52
|
+
dist/cjs/databases/provider.cjs 70.77 kB │ gzip: 13.53 kB
|
|
53
53
|
|
|
54
|
-
[32m✓ built in
|
|
54
|
+
[32m✓ built in 63ms[39m
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
$
|
|
2
|
-
$ vite build --config vite.esm.config.ts --mode production
|
|
1
|
+
$ vite build --config vite.esm.config.ts --mode ${NODE_ENV:-development}
|
|
3
2
|
ViteEsmConfig: .
|
|
4
3
|
{
|
|
5
4
|
tsConfigPaths: [
|
|
@@ -38,18 +37,18 @@ Bundle build started
|
|
|
38
37
|
✓ 13 modules transformed.
|
|
39
38
|
rendering chunks...
|
|
40
39
|
computing gzip size...
|
|
41
|
-
dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
42
|
-
dist/base/index.js 0.14 kB │ gzip: 0.08 kB
|
|
43
|
-
dist/base/mongoMemory.js 0.60 kB │ gzip: 0.30 kB
|
|
44
|
-
dist/databases/index.js 0.77 kB │ gzip: 0.27 kB
|
|
45
|
-
dist/index.js 1.07 kB │ gzip: 0.38 kB
|
|
46
|
-
dist/databases/clientRecordCache.js 1.40 kB │ gzip: 0.68 kB
|
|
47
|
-
dist/databases/client.js 1.
|
|
48
|
-
dist/mongooseOptions.js 3.58 kB │ gzip: 1.53 kB
|
|
49
|
-
dist/base/mongo.js 4.04 kB │ gzip: 1.33 kB
|
|
50
|
-
dist/databases/centralDbStreamer.js 6.33 kB │ gzip: 1.51 kB
|
|
51
|
-
dist/databases/captcha.js 8.17 kB │ gzip: 2.38 kB
|
|
52
|
-
dist/redisCache.js 14.25 kB │ gzip: 4.43 kB
|
|
53
|
-
dist/databases/provider.js
|
|
40
|
+
dist/esm/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
41
|
+
dist/esm/base/index.js 0.14 kB │ gzip: 0.08 kB
|
|
42
|
+
dist/esm/base/mongoMemory.js 0.60 kB │ gzip: 0.30 kB
|
|
43
|
+
dist/esm/databases/index.js 0.77 kB │ gzip: 0.27 kB
|
|
44
|
+
dist/esm/index.js 1.07 kB │ gzip: 0.38 kB
|
|
45
|
+
dist/esm/databases/clientRecordCache.js 1.40 kB │ gzip: 0.68 kB
|
|
46
|
+
dist/esm/databases/client.js 1.85 kB │ gzip: 0.80 kB
|
|
47
|
+
dist/esm/mongooseOptions.js 3.58 kB │ gzip: 1.53 kB
|
|
48
|
+
dist/esm/base/mongo.js 4.04 kB │ gzip: 1.33 kB
|
|
49
|
+
dist/esm/databases/centralDbStreamer.js 6.33 kB │ gzip: 1.51 kB
|
|
50
|
+
dist/esm/databases/captcha.js 8.17 kB │ gzip: 2.38 kB
|
|
51
|
+
dist/esm/redisCache.js 14.25 kB │ gzip: 4.43 kB
|
|
52
|
+
dist/esm/databases/provider.js 69.04 kB │ gzip: 13.53 kB
|
|
54
53
|
|
|
55
|
-
[32m✓ built in
|
|
54
|
+
[32m✓ built in 90ms[39m
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
$ tsc --build --verbose
|
|
2
|
-
|
|
2
|
+
12:57:25 PM - Projects in this build:
|
|
3
3
|
* ../../dev/config/tsconfig.json
|
|
4
4
|
* ../util/tsconfig.json
|
|
5
5
|
* ../locale/tsconfig.json
|
|
@@ -14,31 +14,31 @@ $ tsc --build --verbose
|
|
|
14
14
|
* ../types-database/tsconfig.json
|
|
15
15
|
* tsconfig.json
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
12:57:25 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/vite/vite.esm.config.ts' is older than output '../../dev/config/dist/tsc/tsconfig.tsbuildinfo'
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
12:57:25 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/dist/tsc/tsconfig.tsbuildinfo'
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
12:57:25 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translator.ts' is older than output '../locale/dist/tsc/tsconfig.tsbuildinfo'
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
12:57:25 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/dist/tsc/tsconfig.tsbuildinfo'
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
12:57:25 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/dist/tsc/tsconfig.tsbuildinfo'
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
12:57:25 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/dist/tsc/tsconfig.tsbuildinfo'
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
12:57:25 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/dist/tsc/tsconfig.tsbuildinfo'
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
12:57:25 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/dist/tsc/tsconfig.tsbuildinfo'
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
12:57:25 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/dist/tsc/tsconfig.tsbuildinfo'
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
12:57:25 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/dist/tsc/tsconfig.tsbuildinfo'
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
12:57:25 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/dist/tsc/tsconfig.tsbuildinfo'
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
12:57:25 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/provider.ts' is older than output '../types-database/dist/tsc/tsconfig.tsbuildinfo'
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
12:57:25 PM - Project 'tsconfig.json' is out of date because output file 'dist/tsc/tsconfig.tsbuildinfo' does not exist
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
12:57:25 PM - Building project '/home/runner/work/captcha/captcha/packages/database/tsconfig.json'...
|
|
44
44
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
$ tsc --project tsconfig.types.json
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,59 @@
|
|
|
1
1
|
# @prosopo/database
|
|
2
2
|
|
|
3
|
+
## 4.4.0
|
|
4
|
+
### Minor Changes
|
|
5
|
+
|
|
6
|
+
- 78107d9: Record the fingerprint summary, and with it the device bucket, for every captcha type rather than only PoW.
|
|
7
|
+
|
|
8
|
+
The proof of fingerprint was only built by the PoW widget and only read when a PoW solution was submitted, so sessions served a puzzle or an image never had a bucket. About half of puzzle drags could only be given one by finding a PoW the same account had solved.
|
|
9
|
+
|
|
10
|
+
The widget now sends the proof with the frictionless request, best-effort and capped at a second so it never delays the captcha. The provider verifies and summarises it once, stores the summary on the session, and the PoW, puzzle and image records copy it from there. Escalation sessions inherit it. A proof sent with a PoW solution still replaces the one from the frictionless request.
|
|
11
|
+
|
|
12
|
+
The summary is only recorded at the frictionless step, not passed to the routing machine there, so existing `deviceBucket` counter rules keep firing where they did before.
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Updated dependencies [1966fc1]
|
|
17
|
+
- Updated dependencies [c69b636]
|
|
18
|
+
- Updated dependencies [78107d9]
|
|
19
|
+
- Updated dependencies [d6cc6fe]
|
|
20
|
+
- Updated dependencies [f13677e]
|
|
21
|
+
- Updated dependencies [77bd891]
|
|
22
|
+
- Updated dependencies [76b6edd]
|
|
23
|
+
- @prosopo/common@3.3.2
|
|
24
|
+
- @prosopo/logger@2.1.7
|
|
25
|
+
- @prosopo/redis-client@1.0.44
|
|
26
|
+
- @prosopo/types@5.20.0
|
|
27
|
+
- @prosopo/types-database@5.13.0
|
|
28
|
+
- @prosopo/user-access-policy@3.15.9
|
|
29
|
+
- @prosopo/util@3.4.0
|
|
30
|
+
|
|
31
|
+
## 4.3.0
|
|
32
|
+
### Minor Changes
|
|
33
|
+
|
|
34
|
+
- 915f30b: Traffic filter categories can now have exceptions. An exception matches visitors by country, by whether their country is inside or outside the account's market, by a minimum abuser score, or any mix of these. It then replaces the category's block or challenge action. When several exceptions match, the harshest wins: a block beats any challenge, and a stricter captcha beats a milder one. So the order of the list does not matter. For example, block proxies, but challenge those from the account's market unless their abuser score is at least 0.5.
|
|
35
|
+
|
|
36
|
+
The account's market countries now travel to providers inside each site's traffic filter, including when a provider pulls updated sites from the portal database. An exception that depends on the market never matches while the account has no market set.
|
|
37
|
+
|
|
38
|
+
`@prosopo/captcha-severity` gains `policyHarshness` and `harshestPolicy`. They rank a policy that may block, and the access rules now use them too, with the same ordering as before.
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- 2086040: Each kind of build now writes to its own folder under dist: dist/esm (vite ESM), dist/cjs (vite CommonJS), dist/types (declarations), dist/tsc (plain tsc), dist/bundle and dist/bundle-webpack (bundles) and dist/native (the Rust addons). Turbo caches each folder separately, so building one variant no longer overwrites or invalidates another. Package exports point at the new folders; anything importing a file from dist by path has to add the variant folder.
|
|
43
|
+
|
|
44
|
+
The Rust addons are no longer committed. They are built into dist/native, in debug for development and tests and fully optimised when NODE_ENV=production, so building them now needs a Rust toolchain.
|
|
45
|
+
|
|
46
|
+
Code that found the repo root or its certificates by climbing a fixed number of folders up from its own file now starts from its package's folder instead (new `packageDir` in @prosopo/util/node). The fixed count stopped working once the build output moved one folder deeper.
|
|
47
|
+
- Updated dependencies [2086040]
|
|
48
|
+
- Updated dependencies [915f30b]
|
|
49
|
+
- @prosopo/common@3.3.1
|
|
50
|
+
- @prosopo/logger@2.1.6
|
|
51
|
+
- @prosopo/redis-client@1.0.43
|
|
52
|
+
- @prosopo/types-database@5.12.0
|
|
53
|
+
- @prosopo/types@5.19.0
|
|
54
|
+
- @prosopo/user-access-policy@3.15.8
|
|
55
|
+
- @prosopo/util@3.3.17
|
|
56
|
+
|
|
3
57
|
## 4.2.10
|
|
4
58
|
### Patch Changes
|
|
5
59
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const require_mongo = require("../base/mongo.cjs");
|
|
2
2
|
let _prosopo_common = require("@prosopo/common");
|
|
3
|
+
let _prosopo_types = require("@prosopo/types");
|
|
3
4
|
let _prosopo_types_database = require("@prosopo/types-database");
|
|
4
5
|
//#region src/databases/client.ts
|
|
5
6
|
var CLIENT_TABLES = [{
|
|
@@ -34,6 +35,7 @@ var ClientDatabase = class extends require_mongo.MongoDatabase {
|
|
|
34
35
|
"users.status": "active"
|
|
35
36
|
}, {
|
|
36
37
|
tier: 1,
|
|
38
|
+
marketCountries: 1,
|
|
37
39
|
"sites.siteKey": 1,
|
|
38
40
|
"sites.settings": 1,
|
|
39
41
|
"sites.updatedAt": 1
|
|
@@ -44,7 +46,7 @@ var ClientDatabase = class extends require_mongo.MongoDatabase {
|
|
|
44
46
|
if (!(site.updatedAt === void 0 || site.updatedAt > updatedAtTimestamp)) continue;
|
|
45
47
|
newClientRecords.push({
|
|
46
48
|
account: site.siteKey,
|
|
47
|
-
settings: site.settings,
|
|
49
|
+
settings: (0, _prosopo_types.withMarketCountries)(site.settings, account.marketCountries),
|
|
48
50
|
tier: account.tier
|
|
49
51
|
});
|
|
50
52
|
}
|
|
@@ -501,7 +501,7 @@ var ProviderDatabase = class ProviderDatabase extends require_mongo.MongoDatabas
|
|
|
501
501
|
* @param ipInfo full ipinfo payload from the ipInfoMiddleware
|
|
502
502
|
* @returns {Promise<void>} A promise that resolves when the record is added.
|
|
503
503
|
*/
|
|
504
|
-
async storePowCaptchaRecord(challenge, components, difficulty, providerSignature, ipAddress, headers, ja4, sessionId, serverChecked = false, userSubmitted = false, userSignature, ipInfo) {
|
|
504
|
+
async storePowCaptchaRecord(challenge, components, difficulty, providerSignature, ipAddress, headers, ja4, sessionId, serverChecked = false, userSubmitted = false, userSignature, ipInfo, fingerprintSummary) {
|
|
505
505
|
const tables = this.getTables();
|
|
506
506
|
const powCaptchaRecord = {
|
|
507
507
|
challenge,
|
|
@@ -520,7 +520,8 @@ var ProviderDatabase = class ProviderDatabase extends require_mongo.MongoDatabas
|
|
|
520
520
|
lastUpdatedTimestamp: /* @__PURE__ */ new Date(),
|
|
521
521
|
pendingStage: true,
|
|
522
522
|
sessionId,
|
|
523
|
-
ipInfo
|
|
523
|
+
ipInfo,
|
|
524
|
+
...fingerprintSummary && { fingerprintSummary }
|
|
524
525
|
};
|
|
525
526
|
try {
|
|
526
527
|
await tables.powcaptcha.create(powCaptchaRecord);
|
|
@@ -818,14 +819,15 @@ var ProviderDatabase = class ProviderDatabase extends require_mongo.MongoDatabas
|
|
|
818
819
|
ipInfo
|
|
819
820
|
};
|
|
820
821
|
}
|
|
821
|
-
async storePuzzleCaptchaRecord(challenge, components, targetX, targetY, originX, originY, tolerance, providerSignature, ipAddress, headers, ja4, sessionId, ipInfo) {
|
|
822
|
+
async storePuzzleCaptchaRecord(challenge, components, targetX, targetY, originX, originY, tolerance, providerSignature, ipAddress, headers, ja4, sessionId, ipInfo, fingerprintSummary) {
|
|
822
823
|
await this.storeInteractiveCaptchaRecord(this.interactiveCollection(_prosopo_types.CaptchaType.puzzle), {
|
|
823
824
|
...this.pendingInteractiveRecord(challenge, components, providerSignature, ipAddress, headers, ja4, sessionId, ipInfo),
|
|
824
825
|
tolerance,
|
|
825
826
|
targetX,
|
|
826
827
|
targetY,
|
|
827
828
|
originX,
|
|
828
|
-
originY
|
|
829
|
+
originY,
|
|
830
|
+
...fingerprintSummary && { fingerprintSummary }
|
|
829
831
|
});
|
|
830
832
|
}
|
|
831
833
|
async storeAudioCaptchaRecord(challenge, components, answer, providerSignature, ipAddress, headers, ja4, sessionId, ipInfo) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MongoDatabase } from "../base/mongo.js";
|
|
2
2
|
import { ProsopoError } from "@prosopo/common";
|
|
3
|
+
import { withMarketCountries } from "@prosopo/types";
|
|
3
4
|
import { AccountSchema, TableNames } from "@prosopo/types-database";
|
|
4
5
|
//#region src/databases/client.ts
|
|
5
6
|
var CLIENT_TABLES = [{
|
|
@@ -34,6 +35,7 @@ var ClientDatabase = class extends MongoDatabase {
|
|
|
34
35
|
"users.status": "active"
|
|
35
36
|
}, {
|
|
36
37
|
tier: 1,
|
|
38
|
+
marketCountries: 1,
|
|
37
39
|
"sites.siteKey": 1,
|
|
38
40
|
"sites.settings": 1,
|
|
39
41
|
"sites.updatedAt": 1
|
|
@@ -44,7 +46,7 @@ var ClientDatabase = class extends MongoDatabase {
|
|
|
44
46
|
if (!(site.updatedAt === void 0 || site.updatedAt > updatedAtTimestamp)) continue;
|
|
45
47
|
newClientRecords.push({
|
|
46
48
|
account: site.siteKey,
|
|
47
|
-
settings: site.settings,
|
|
49
|
+
settings: withMarketCountries(site.settings, account.marketCountries),
|
|
48
50
|
tier: account.tier
|
|
49
51
|
});
|
|
50
52
|
}
|
|
@@ -501,7 +501,7 @@ var ProviderDatabase = class ProviderDatabase extends MongoDatabase {
|
|
|
501
501
|
* @param ipInfo full ipinfo payload from the ipInfoMiddleware
|
|
502
502
|
* @returns {Promise<void>} A promise that resolves when the record is added.
|
|
503
503
|
*/
|
|
504
|
-
async storePowCaptchaRecord(challenge, components, difficulty, providerSignature, ipAddress, headers, ja4, sessionId, serverChecked = false, userSubmitted = false, userSignature, ipInfo) {
|
|
504
|
+
async storePowCaptchaRecord(challenge, components, difficulty, providerSignature, ipAddress, headers, ja4, sessionId, serverChecked = false, userSubmitted = false, userSignature, ipInfo, fingerprintSummary) {
|
|
505
505
|
const tables = this.getTables();
|
|
506
506
|
const powCaptchaRecord = {
|
|
507
507
|
challenge,
|
|
@@ -520,7 +520,8 @@ var ProviderDatabase = class ProviderDatabase extends MongoDatabase {
|
|
|
520
520
|
lastUpdatedTimestamp: /* @__PURE__ */ new Date(),
|
|
521
521
|
pendingStage: true,
|
|
522
522
|
sessionId,
|
|
523
|
-
ipInfo
|
|
523
|
+
ipInfo,
|
|
524
|
+
...fingerprintSummary && { fingerprintSummary }
|
|
524
525
|
};
|
|
525
526
|
try {
|
|
526
527
|
await tables.powcaptcha.create(powCaptchaRecord);
|
|
@@ -818,14 +819,15 @@ var ProviderDatabase = class ProviderDatabase extends MongoDatabase {
|
|
|
818
819
|
ipInfo
|
|
819
820
|
};
|
|
820
821
|
}
|
|
821
|
-
async storePuzzleCaptchaRecord(challenge, components, targetX, targetY, originX, originY, tolerance, providerSignature, ipAddress, headers, ja4, sessionId, ipInfo) {
|
|
822
|
+
async storePuzzleCaptchaRecord(challenge, components, targetX, targetY, originX, originY, tolerance, providerSignature, ipAddress, headers, ja4, sessionId, ipInfo, fingerprintSummary) {
|
|
822
823
|
await this.storeInteractiveCaptchaRecord(this.interactiveCollection(CaptchaType.puzzle), {
|
|
823
824
|
...this.pendingInteractiveRecord(challenge, components, providerSignature, ipAddress, headers, ja4, sessionId, ipInfo),
|
|
824
825
|
tolerance,
|
|
825
826
|
targetX,
|
|
826
827
|
targetY,
|
|
827
828
|
originX,
|
|
828
|
-
originY
|
|
829
|
+
originY,
|
|
830
|
+
...fingerprintSummary && { fingerprintSummary }
|
|
829
831
|
});
|
|
830
832
|
}
|
|
831
833
|
async storeAudioCaptchaRecord(challenge, components, answer, providerSignature, ipAddress, headers, ja4, sessionId, ipInfo) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/index.ts"],"names":[],"mappings":"AAaA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/index.ts"],"names":[],"mappings":"AAaA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../../src/base/mongo.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,QAAQ,EAAE,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAYrD,MAAM,WAAW,uBAAuB;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC;AAQD,qBAAa,aAAc,YAAW,SAAS;IAC9C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,UAAS;IAClB,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;gBAGpD,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,uBAAuB;IAoBnC,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,aAAa,IAAI,QAAQ,CAAC,UAAU;IAe9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyIxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM5B"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { ProsopoError } from "@prosopo/common";
|
|
3
|
+
import { getLogger } from "@prosopo/logger";
|
|
4
|
+
import mongoose from "mongoose";
|
|
5
|
+
import { getMongoConnectionOptions } from "../mongooseOptions.js";
|
|
6
|
+
mongoose.set("strictQuery", false);
|
|
7
|
+
const DEFAULT_ENDPOINT = "mongodb://127.0.0.1:27017";
|
|
8
|
+
export class MongoDatabase {
|
|
9
|
+
constructor(url, dbname, authSource, logger, timeouts) {
|
|
10
|
+
this.connected = false;
|
|
11
|
+
this.connectTimeoutMS = timeouts?.connectTimeoutMS;
|
|
12
|
+
this.serverSelectionTimeoutMS = timeouts?.serverSelectionTimeoutMS;
|
|
13
|
+
const baseEndpoint = url || DEFAULT_ENDPOINT;
|
|
14
|
+
const parsedUrl = new URL(baseEndpoint);
|
|
15
|
+
if (dbname) {
|
|
16
|
+
parsedUrl.pathname = dbname;
|
|
17
|
+
}
|
|
18
|
+
if (authSource) {
|
|
19
|
+
parsedUrl.searchParams.set("authSource", authSource);
|
|
20
|
+
}
|
|
21
|
+
this._url = parsedUrl.toString();
|
|
22
|
+
this.safeURL = this.url.replace(/\w+:\w+/, "<Credentials>");
|
|
23
|
+
this.dbname = dbname || parsedUrl.pathname.replace("/", "");
|
|
24
|
+
this.logger = (logger || getLogger("info", "database:mongo")).with({
|
|
25
|
+
mongoUrl: this.safeURL,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
get url() {
|
|
29
|
+
return this._url;
|
|
30
|
+
}
|
|
31
|
+
getConnection() {
|
|
32
|
+
if (!this.connection) {
|
|
33
|
+
throw new ProsopoError({
|
|
34
|
+
code: "DB_UNAVAILABLE",
|
|
35
|
+
errorSite: "DBSE-1",
|
|
36
|
+
message: "Connection undefined",
|
|
37
|
+
context: { failedFuncName: this.getConnection.name },
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return this.connection;
|
|
41
|
+
}
|
|
42
|
+
async connect() {
|
|
43
|
+
this.logger.debug(() => ({
|
|
44
|
+
msg: "Connecting to database",
|
|
45
|
+
}));
|
|
46
|
+
try {
|
|
47
|
+
if (this.connected) {
|
|
48
|
+
this.logger.debug(() => ({
|
|
49
|
+
msg: "Database connection already open",
|
|
50
|
+
}));
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (this.connecting) {
|
|
54
|
+
this.logger.debug(() => ({
|
|
55
|
+
msg: "Database connection in progress, waiting for it to finish",
|
|
56
|
+
}));
|
|
57
|
+
return this.connecting;
|
|
58
|
+
}
|
|
59
|
+
this.connecting = new Promise((resolve, reject) => {
|
|
60
|
+
const appName = fileURLToPath(import.meta.url);
|
|
61
|
+
const connection = mongoose.createConnection(this.url, getMongoConnectionOptions({
|
|
62
|
+
url: this.url,
|
|
63
|
+
appName,
|
|
64
|
+
dbName: this.dbname,
|
|
65
|
+
maxPoolSize: 50,
|
|
66
|
+
minPoolSize: 5,
|
|
67
|
+
connectTimeoutMS: this.connectTimeoutMS,
|
|
68
|
+
serverSelectionTimeoutMS: this.serverSelectionTimeoutMS,
|
|
69
|
+
}));
|
|
70
|
+
let opened = false;
|
|
71
|
+
const onConnected = () => {
|
|
72
|
+
opened = true;
|
|
73
|
+
this.logger.debug(() => ({
|
|
74
|
+
msg: "Database connection opened",
|
|
75
|
+
}));
|
|
76
|
+
this.connected = true;
|
|
77
|
+
this.connection = connection;
|
|
78
|
+
this.connecting = undefined;
|
|
79
|
+
resolve();
|
|
80
|
+
};
|
|
81
|
+
const onError = (err) => {
|
|
82
|
+
this.logger.error(() => ({
|
|
83
|
+
err,
|
|
84
|
+
msg: "Database error",
|
|
85
|
+
}));
|
|
86
|
+
this.connected = false;
|
|
87
|
+
this.connecting = undefined;
|
|
88
|
+
if (!opened) {
|
|
89
|
+
connection.destroy(true).catch((destroyErr) => {
|
|
90
|
+
this.logger.error(() => ({
|
|
91
|
+
err: destroyErr,
|
|
92
|
+
msg: "Failed to destroy unconnected database connection",
|
|
93
|
+
}));
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
reject(err);
|
|
97
|
+
};
|
|
98
|
+
connection.once("open", onConnected);
|
|
99
|
+
connection.once("error", onError);
|
|
100
|
+
connection.on("disconnected", () => {
|
|
101
|
+
this.connected = false;
|
|
102
|
+
this.logger.debug(() => ({
|
|
103
|
+
msg: "Database disconnected",
|
|
104
|
+
}));
|
|
105
|
+
});
|
|
106
|
+
connection.on("reconnected", () => {
|
|
107
|
+
this.connected = true;
|
|
108
|
+
this.logger.debug(() => ({
|
|
109
|
+
msg: "Database reconnected",
|
|
110
|
+
}));
|
|
111
|
+
});
|
|
112
|
+
connection.on("close", () => {
|
|
113
|
+
this.connected = false;
|
|
114
|
+
this.logger.debug(() => ({
|
|
115
|
+
msg: "Database connection closed",
|
|
116
|
+
}));
|
|
117
|
+
});
|
|
118
|
+
connection.on("fullsetup", () => {
|
|
119
|
+
this.connected = true;
|
|
120
|
+
this.logger.debug(() => ({
|
|
121
|
+
msg: "Database connection is fully setup",
|
|
122
|
+
}));
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
return this.connecting;
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
this.logger.error(() => ({
|
|
129
|
+
err: e,
|
|
130
|
+
msg: "Database connection error",
|
|
131
|
+
}));
|
|
132
|
+
throw e;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async close() {
|
|
136
|
+
this.logger.debug(() => ({
|
|
137
|
+
msg: "Closing connection",
|
|
138
|
+
}));
|
|
139
|
+
await this.connection?.close();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=mongo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../../src/base/mongo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongoMemory.d.ts","sourceRoot":"","sources":["../../../src/base/mongoMemory.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,mBAAoB,SAAQ,aAAa;IACrD,UAAmB,IAAI,SAAM;IAC7B,OAAO,CAAC,MAAM,CAAgC;gBAG7C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM;IAKL,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAKrC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MongoMemoryServer } from "mongodb-memory-server";
|
|
2
|
+
import { MongoDatabase } from "./mongo.js";
|
|
3
|
+
export class MongoMemoryDatabase extends MongoDatabase {
|
|
4
|
+
constructor(_url, dbname, logger, authSource) {
|
|
5
|
+
super("", dbname, authSource, logger);
|
|
6
|
+
this._url = "";
|
|
7
|
+
}
|
|
8
|
+
async connect() {
|
|
9
|
+
if (!this.mongod) {
|
|
10
|
+
this.mongod = await MongoMemoryServer.create();
|
|
11
|
+
this._url = this.mongod.getUri();
|
|
12
|
+
}
|
|
13
|
+
await super.connect();
|
|
14
|
+
}
|
|
15
|
+
async close() {
|
|
16
|
+
await super.close();
|
|
17
|
+
await this.mongod?.stop();
|
|
18
|
+
this.mongod = undefined;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=mongoMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongoMemory.js","sourceRoot":"","sources":["../../../src/base/mongoMemory.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAIrD,YACC,IAAY,EACZ,MAAc,EACd,MAAc,EACd,UAAmB;QAEnB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QATpB,SAAI,GAAG,EAAE,CAAC;IAU7B,CAAC;IAEQ,KAAK,CAAC,OAAO;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAEQ,KAAK,CAAC,KAAK;QACnB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../../src/databases/captcha.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAKxB,KAAK,aAAa,EAGlB,KAAK,MAAM,EACX,KAAK,oBAAoB,EACzB,MAAM,yBAAyB,CAAC;AAajC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,uBAAuB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI/E,aAAK,UAAU;IACd,iBAAiB,sBAAsB;IACvC,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;CACrC;AAmCD,qBAAa,eAAgB,SAAQ,aAAc,YAAW,gBAAgB;IAC7E,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,OAAO,CAAC,cAAc,CAAS;gBAG9B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,uBAAuB;IAMpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;IAYzB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAqDpC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAoBnC,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAajC,YAAY,CACjB,aAAa,EAAE,aAAa,EAAE,EAC9B,kBAAkB,EAAE,oBAAoB,EAAE,EAC1C,gBAAgB,EAAE,gBAAgB,EAAE,EACpC,mBAAmB,GAAE,mBAAmB,EAAO,EAC/C,sBAAsB,GAAE,sBAAsB,EAAO,EACrD,kBAAkB,GAAE,kBAAkB,EAAO;YA0HhC,sBAAsB;IAuC9B,WAAW,CAChB,MAAM,GAAE,WAAW,CAAC,iBAAiB,CAAM,EAC3C,KAAK,SAAM,GACT,OAAO,CAAC;QACV,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;QAC9C,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QACtC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;QAC5C,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;QAC1C,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;KAClD,CAAC;CA+CF"}
|