@castleio/sdk 2.3.3 → 3.0.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/README.md +352 -31
- package/dist/index.d.mts +966 -0
- package/dist/index.d.ts +966 -8
- package/dist/index.js +1562 -25
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1499 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +43 -37
- package/CHANGELOG.md +0 -199
- package/dist/Castle.d.ts +0 -36
- package/dist/Castle.js +0 -194
- package/dist/Castle.js.map +0 -1
- package/dist/api/api.module.d.ts +0 -1
- package/dist/api/api.module.js +0 -18
- package/dist/api/api.module.js.map +0 -1
- package/dist/api/services/api-approve-device.service.d.ts +0 -5
- package/dist/api/services/api-approve-device.service.js +0 -26
- package/dist/api/services/api-approve-device.service.js.map +0 -1
- package/dist/api/services/api-archive-list-item.service.d.ts +0 -5
- package/dist/api/services/api-archive-list-item.service.js +0 -26
- package/dist/api/services/api-archive-list-item.service.js.map +0 -1
- package/dist/api/services/api-authenticate.service.d.ts +0 -6
- package/dist/api/services/api-authenticate.service.js +0 -58
- package/dist/api/services/api-authenticate.service.js.map +0 -1
- package/dist/api/services/api-batch-upsert-list-items.service.d.ts +0 -5
- package/dist/api/services/api-batch-upsert-list-items.service.js +0 -26
- package/dist/api/services/api-batch-upsert-list-items.service.js.map +0 -1
- package/dist/api/services/api-count-list-items.service.d.ts +0 -5
- package/dist/api/services/api-count-list-items.service.js +0 -26
- package/dist/api/services/api-count-list-items.service.js.map +0 -1
- package/dist/api/services/api-create-list-item.service.d.ts +0 -5
- package/dist/api/services/api-create-list-item.service.js +0 -26
- package/dist/api/services/api-create-list-item.service.js.map +0 -1
- package/dist/api/services/api-create-list.service.d.ts +0 -5
- package/dist/api/services/api-create-list.service.js +0 -26
- package/dist/api/services/api-create-list.service.js.map +0 -1
- package/dist/api/services/api-delete-list.service.d.ts +0 -5
- package/dist/api/services/api-delete-list.service.js +0 -26
- package/dist/api/services/api-delete-list.service.js.map +0 -1
- package/dist/api/services/api-delete-user-data.service.d.ts +0 -5
- package/dist/api/services/api-delete-user-data.service.js +0 -26
- package/dist/api/services/api-delete-user-data.service.js.map +0 -1
- package/dist/api/services/api-fetch-all-lists.service.d.ts +0 -4
- package/dist/api/services/api-fetch-all-lists.service.js +0 -26
- package/dist/api/services/api-fetch-all-lists.service.js.map +0 -1
- package/dist/api/services/api-fetch-list-item.service.d.ts +0 -5
- package/dist/api/services/api-fetch-list-item.service.js +0 -26
- package/dist/api/services/api-fetch-list-item.service.js.map +0 -1
- package/dist/api/services/api-fetch-list.service.d.ts +0 -5
- package/dist/api/services/api-fetch-list.service.js +0 -26
- package/dist/api/services/api-fetch-list.service.js.map +0 -1
- package/dist/api/services/api-filter.service.d.ts +0 -5
- package/dist/api/services/api-filter.service.js +0 -57
- package/dist/api/services/api-filter.service.js.map +0 -1
- package/dist/api/services/api-get-device.service.d.ts +0 -5
- package/dist/api/services/api-get-device.service.js +0 -26
- package/dist/api/services/api-get-device.service.js.map +0 -1
- package/dist/api/services/api-get-devices-for-user.service.d.ts +0 -5
- package/dist/api/services/api-get-devices-for-user.service.js +0 -26
- package/dist/api/services/api-get-devices-for-user.service.js.map +0 -1
- package/dist/api/services/api-get-events-schema.service.d.ts +0 -5
- package/dist/api/services/api-get-events-schema.service.js +0 -26
- package/dist/api/services/api-get-events-schema.service.js.map +0 -1
- package/dist/api/services/api-group-events.service.d.ts +0 -5
- package/dist/api/services/api-group-events.service.js +0 -26
- package/dist/api/services/api-group-events.service.js.map +0 -1
- package/dist/api/services/api-log.service.d.ts +0 -5
- package/dist/api/services/api-log.service.js +0 -26
- package/dist/api/services/api-log.service.js.map +0 -1
- package/dist/api/services/api-report-device.service.d.ts +0 -5
- package/dist/api/services/api-report-device.service.js +0 -26
- package/dist/api/services/api-report-device.service.js.map +0 -1
- package/dist/api/services/api-request-user-data.service.d.ts +0 -5
- package/dist/api/services/api-request-user-data.service.js +0 -26
- package/dist/api/services/api-request-user-data.service.js.map +0 -1
- package/dist/api/services/api-risk.service.d.ts +0 -5
- package/dist/api/services/api-risk.service.js +0 -57
- package/dist/api/services/api-risk.service.js.map +0 -1
- package/dist/api/services/api-search-events.service.d.ts +0 -5
- package/dist/api/services/api-search-events.service.js +0 -26
- package/dist/api/services/api-search-events.service.js.map +0 -1
- package/dist/api/services/api-search-list-items.service.d.ts +0 -5
- package/dist/api/services/api-search-list-items.service.js +0 -26
- package/dist/api/services/api-search-list-items.service.js.map +0 -1
- package/dist/api/services/api-search-lists.service.d.ts +0 -5
- package/dist/api/services/api-search-lists.service.js +0 -26
- package/dist/api/services/api-search-lists.service.js.map +0 -1
- package/dist/api/services/api-track.service.d.ts +0 -5
- package/dist/api/services/api-track.service.js +0 -26
- package/dist/api/services/api-track.service.js.map +0 -1
- package/dist/api/services/api-unarchive-list-item.service.d.ts +0 -5
- package/dist/api/services/api-unarchive-list-item.service.js +0 -26
- package/dist/api/services/api-unarchive-list-item.service.js.map +0 -1
- package/dist/api/services/api-update-list-item.service.d.ts +0 -5
- package/dist/api/services/api-update-list-item.service.js +0 -26
- package/dist/api/services/api-update-list-item.service.js.map +0 -1
- package/dist/api/services/api-update-list.service.d.ts +0 -5
- package/dist/api/services/api-update-list.service.js +0 -26
- package/dist/api/services/api-update-list.service.js.map +0 -1
- package/dist/api/services/api.service.d.ts +0 -8
- package/dist/api/services/api.service.js +0 -40
- package/dist/api/services/api.service.js.map +0 -1
- package/dist/api/services/index.d.ts +0 -29
- package/dist/api/services/index.js +0 -46
- package/dist/api/services/index.js.map +0 -1
- package/dist/client-id/client-id.module.d.ts +0 -1
- package/dist/client-id/client-id.module.js +0 -18
- package/dist/client-id/client-id.module.js.map +0 -1
- package/dist/client-id/services/client-id-extract.service.d.ts +0 -4
- package/dist/client-id/services/client-id-extract.service.js +0 -12
- package/dist/client-id/services/client-id-extract.service.js.map +0 -1
- package/dist/client-id/services/index.d.ts +0 -1
- package/dist/client-id/services/index.js +0 -18
- package/dist/client-id/services/index.js.map +0 -1
- package/dist/command/command.module.d.ts +0 -1
- package/dist/command/command.module.js +0 -18
- package/dist/command/command.module.js.map +0 -1
- package/dist/command/services/command-approve-device.service.d.ts +0 -16
- package/dist/command/services/command-approve-device.service.js +0 -12
- package/dist/command/services/command-approve-device.service.js.map +0 -1
- package/dist/command/services/command-archive-list-item.service.d.ts +0 -16
- package/dist/command/services/command-archive-list-item.service.js +0 -12
- package/dist/command/services/command-archive-list-item.service.js.map +0 -1
- package/dist/command/services/command-authenticate.service.d.ts +0 -16
- package/dist/command/services/command-authenticate.service.js +0 -12
- package/dist/command/services/command-authenticate.service.js.map +0 -1
- package/dist/command/services/command-batch-upsert-list-items.service.d.ts +0 -16
- package/dist/command/services/command-batch-upsert-list-items.service.js +0 -12
- package/dist/command/services/command-batch-upsert-list-items.service.js.map +0 -1
- package/dist/command/services/command-count-list-items.service.d.ts +0 -16
- package/dist/command/services/command-count-list-items.service.js +0 -12
- package/dist/command/services/command-count-list-items.service.js.map +0 -1
- package/dist/command/services/command-create-list-item.service.d.ts +0 -16
- package/dist/command/services/command-create-list-item.service.js +0 -12
- package/dist/command/services/command-create-list-item.service.js.map +0 -1
- package/dist/command/services/command-create-list.service.d.ts +0 -16
- package/dist/command/services/command-create-list.service.js +0 -10
- package/dist/command/services/command-create-list.service.js.map +0 -1
- package/dist/command/services/command-delete-list.service.d.ts +0 -16
- package/dist/command/services/command-delete-list.service.js +0 -12
- package/dist/command/services/command-delete-list.service.js.map +0 -1
- package/dist/command/services/command-delete-user-data.service.d.ts +0 -16
- package/dist/command/services/command-delete-user-data.service.js +0 -10
- package/dist/command/services/command-delete-user-data.service.js.map +0 -1
- package/dist/command/services/command-fetch-all-lists.service.d.ts +0 -15
- package/dist/command/services/command-fetch-all-lists.service.js +0 -10
- package/dist/command/services/command-fetch-all-lists.service.js.map +0 -1
- package/dist/command/services/command-fetch-list-item.service.d.ts +0 -16
- package/dist/command/services/command-fetch-list-item.service.js +0 -12
- package/dist/command/services/command-fetch-list-item.service.js.map +0 -1
- package/dist/command/services/command-fetch-list.service.d.ts +0 -16
- package/dist/command/services/command-fetch-list.service.js +0 -12
- package/dist/command/services/command-fetch-list.service.js.map +0 -1
- package/dist/command/services/command-filter.service.d.ts +0 -16
- package/dist/command/services/command-filter.service.js +0 -12
- package/dist/command/services/command-filter.service.js.map +0 -1
- package/dist/command/services/command-generate.service.d.ts +0 -17
- package/dist/command/services/command-generate.service.js +0 -18
- package/dist/command/services/command-generate.service.js.map +0 -1
- package/dist/command/services/command-get-device.service.d.ts +0 -16
- package/dist/command/services/command-get-device.service.js +0 -12
- package/dist/command/services/command-get-device.service.js.map +0 -1
- package/dist/command/services/command-get-devices-for-user.service.d.ts +0 -16
- package/dist/command/services/command-get-devices-for-user.service.js +0 -12
- package/dist/command/services/command-get-devices-for-user.service.js.map +0 -1
- package/dist/command/services/command-get-events-schema.service.d.ts +0 -15
- package/dist/command/services/command-get-events-schema.service.js +0 -10
- package/dist/command/services/command-get-events-schema.service.js.map +0 -1
- package/dist/command/services/command-group-events.service.d.ts +0 -16
- package/dist/command/services/command-group-events.service.js +0 -10
- package/dist/command/services/command-group-events.service.js.map +0 -1
- package/dist/command/services/command-log.service.d.ts +0 -16
- package/dist/command/services/command-log.service.js +0 -12
- package/dist/command/services/command-log.service.js.map +0 -1
- package/dist/command/services/command-report-device.service.d.ts +0 -16
- package/dist/command/services/command-report-device.service.js +0 -12
- package/dist/command/services/command-report-device.service.js.map +0 -1
- package/dist/command/services/command-request-user-data.service.d.ts +0 -16
- package/dist/command/services/command-request-user-data.service.js +0 -10
- package/dist/command/services/command-request-user-data.service.js.map +0 -1
- package/dist/command/services/command-risk.service.d.ts +0 -16
- package/dist/command/services/command-risk.service.js +0 -12
- package/dist/command/services/command-risk.service.js.map +0 -1
- package/dist/command/services/command-search-events.service.d.ts +0 -16
- package/dist/command/services/command-search-events.service.js +0 -10
- package/dist/command/services/command-search-events.service.js.map +0 -1
- package/dist/command/services/command-search-list-items.service.d.ts +0 -16
- package/dist/command/services/command-search-list-items.service.js +0 -12
- package/dist/command/services/command-search-list-items.service.js.map +0 -1
- package/dist/command/services/command-search-lists.service.d.ts +0 -16
- package/dist/command/services/command-search-lists.service.js +0 -10
- package/dist/command/services/command-search-lists.service.js.map +0 -1
- package/dist/command/services/command-track.service.d.ts +0 -16
- package/dist/command/services/command-track.service.js +0 -12
- package/dist/command/services/command-track.service.js.map +0 -1
- package/dist/command/services/command-unarchive-list-item.service.d.ts +0 -16
- package/dist/command/services/command-unarchive-list-item.service.js +0 -12
- package/dist/command/services/command-unarchive-list-item.service.js.map +0 -1
- package/dist/command/services/command-update-list-item.service.d.ts +0 -16
- package/dist/command/services/command-update-list-item.service.js +0 -12
- package/dist/command/services/command-update-list-item.service.js.map +0 -1
- package/dist/command/services/command-update-list.service.d.ts +0 -16
- package/dist/command/services/command-update-list.service.js +0 -12
- package/dist/command/services/command-update-list.service.js.map +0 -1
- package/dist/command/services/index.d.ts +0 -29
- package/dist/command/services/index.js +0 -46
- package/dist/command/services/index.js.map +0 -1
- package/dist/configuration.d.ts +0 -32
- package/dist/configuration.js +0 -34
- package/dist/configuration.js.map +0 -1
- package/dist/constants.d.ts +0 -4
- package/dist/constants.js +0 -42
- package/dist/constants.js.map +0 -1
- package/dist/context/context.module.d.ts +0 -1
- package/dist/context/context.module.js +0 -18
- package/dist/context/context.module.js.map +0 -1
- package/dist/context/services/context-get-default.service.d.ts +0 -9
- package/dist/context/services/context-get-default.service.js +0 -34
- package/dist/context/services/context-get-default.service.js.map +0 -1
- package/dist/context/services/context-prepare.service.d.ts +0 -9
- package/dist/context/services/context-prepare.service.js +0 -15
- package/dist/context/services/context-prepare.service.js.map +0 -1
- package/dist/context/services/context-sanitize.service.d.ts +0 -7
- package/dist/context/services/context-sanitize.service.js +0 -19
- package/dist/context/services/context-sanitize.service.js.map +0 -1
- package/dist/context/services/index.d.ts +0 -3
- package/dist/context/services/index.js +0 -20
- package/dist/context/services/index.js.map +0 -1
- package/dist/core/core.module.d.ts +0 -1
- package/dist/core/core.module.js +0 -18
- package/dist/core/core.module.js.map +0 -1
- package/dist/core/services/core-generate-default-headers.service.d.ts +0 -7
- package/dist/core/services/core-generate-default-headers.service.js +0 -12
- package/dist/core/services/core-generate-default-headers.service.js.map +0 -1
- package/dist/core/services/core-generate-request-body.service.d.ts +0 -5
- package/dist/core/services/core-generate-request-body.service.js +0 -9
- package/dist/core/services/core-generate-request-body.service.js.map +0 -1
- package/dist/core/services/core-process-response.service.d.ts +0 -3
- package/dist/core/services/core-process-response.service.js +0 -61
- package/dist/core/services/core-process-response.service.js.map +0 -1
- package/dist/core/services/index.d.ts +0 -3
- package/dist/core/services/index.js +0 -20
- package/dist/core/services/index.js.map +0 -1
- package/dist/errors.d.ts +0 -36
- package/dist/errors.js +0 -88
- package/dist/errors.js.map +0 -1
- package/dist/failover/failover.module.d.ts +0 -1
- package/dist/failover/failover.module.js +0 -18
- package/dist/failover/failover.module.js.map +0 -1
- package/dist/failover/models/failover-strategy.d.ts +0 -6
- package/dist/failover/models/failover-strategy.js +0 -11
- package/dist/failover/models/failover-strategy.js.map +0 -1
- package/dist/failover/models/index.d.ts +0 -1
- package/dist/failover/models/index.js +0 -18
- package/dist/failover/models/index.js.map +0 -1
- package/dist/headers/headers.module.d.ts +0 -1
- package/dist/headers/headers.module.js +0 -18
- package/dist/headers/headers.module.js.map +0 -1
- package/dist/headers/services/headers-extract.service.d.ts +0 -9
- package/dist/headers/services/headers-extract.service.js +0 -30
- package/dist/headers/services/headers-extract.service.js.map +0 -1
- package/dist/headers/services/headers-get-cookie.service.d.ts +0 -3
- package/dist/headers/services/headers-get-cookie.service.js +0 -17
- package/dist/headers/services/headers-get-cookie.service.js.map +0 -1
- package/dist/headers/services/index.d.ts +0 -2
- package/dist/headers/services/index.js +0 -19
- package/dist/headers/services/index.js.map +0 -1
- package/dist/ips/ips.module.d.ts +0 -1
- package/dist/ips/ips.module.js +0 -18
- package/dist/ips/ips.module.js.map +0 -1
- package/dist/ips/services/index.d.ts +0 -1
- package/dist/ips/services/index.js +0 -18
- package/dist/ips/services/index.js.map +0 -1
- package/dist/ips/services/ips-extract.service.d.ts +0 -5
- package/dist/ips/services/ips-extract.service.js +0 -50
- package/dist/ips/services/ips-extract.service.js.map +0 -1
- package/dist/logger/logger.module.d.ts +0 -2
- package/dist/logger/logger.module.js +0 -19
- package/dist/logger/logger.module.js.map +0 -1
- package/dist/logger/models/index.d.ts +0 -1
- package/dist/logger/models/index.js +0 -18
- package/dist/logger/models/index.js.map +0 -1
- package/dist/logger/models/logging-parameters.d.ts +0 -7
- package/dist/logger/models/logging-parameters.js +0 -3
- package/dist/logger/models/logging-parameters.js.map +0 -1
- package/dist/logger/services/index.d.ts +0 -4
- package/dist/logger/services/index.js +0 -21
- package/dist/logger/services/index.js.map +0 -1
- package/dist/logger/services/logger-error-formatter.service.d.ts +0 -3
- package/dist/logger/services/logger-error-formatter.service.js +0 -10
- package/dist/logger/services/logger-error-formatter.service.js.map +0 -1
- package/dist/logger/services/logger-request-formatter.service.d.ts +0 -4
- package/dist/logger/services/logger-request-formatter.service.js +0 -16
- package/dist/logger/services/logger-request-formatter.service.js.map +0 -1
- package/dist/logger/services/logger-response-formatter.service.d.ts +0 -3
- package/dist/logger/services/logger-response-formatter.service.js +0 -10
- package/dist/logger/services/logger-response-formatter.service.js.map +0 -1
- package/dist/logger/services/logger.service.d.ts +0 -4
- package/dist/logger/services/logger.service.js +0 -25
- package/dist/logger/services/logger.service.js.map +0 -1
- package/dist/models/action.d.ts +0 -5
- package/dist/models/action.js +0 -10
- package/dist/models/action.js.map +0 -1
- package/dist/models/authenticate-result.d.ts +0 -18
- package/dist/models/authenticate-result.js +0 -3
- package/dist/models/authenticate-result.js.map +0 -1
- package/dist/models/device.d.ts +0 -3
- package/dist/models/device.js +0 -3
- package/dist/models/device.js.map +0 -1
- package/dist/models/events.d.ts +0 -17
- package/dist/models/events.js +0 -23
- package/dist/models/events.js.map +0 -1
- package/dist/models/index.d.ts +0 -8
- package/dist/models/index.js +0 -25
- package/dist/models/index.js.map +0 -1
- package/dist/models/list-item.d.ts +0 -15
- package/dist/models/list-item.js +0 -3
- package/dist/models/list-item.js.map +0 -1
- package/dist/models/list.d.ts +0 -11
- package/dist/models/list.js +0 -3
- package/dist/models/list.js.map +0 -1
- package/dist/models/risk-policy.d.ts +0 -9
- package/dist/models/risk-policy.js +0 -3
- package/dist/models/risk-policy.js.map +0 -1
- package/dist/models/signals.d.ts +0 -3
- package/dist/models/signals.js +0 -3
- package/dist/models/signals.js.map +0 -1
- package/dist/payload/models/address_payload.d.ts +0 -8
- package/dist/payload/models/address_payload.js +0 -3
- package/dist/payload/models/address_payload.js.map +0 -1
- package/dist/payload/models/device_payload.d.ts +0 -7
- package/dist/payload/models/device_payload.js +0 -3
- package/dist/payload/models/device_payload.js.map +0 -1
- package/dist/payload/models/event_payload.d.ts +0 -89
- package/dist/payload/models/event_payload.js +0 -29
- package/dist/payload/models/event_payload.js.map +0 -1
- package/dist/payload/models/event_response.d.ts +0 -346
- package/dist/payload/models/event_response.js +0 -51
- package/dist/payload/models/event_response.js.map +0 -1
- package/dist/payload/models/filter_payload.d.ts +0 -68
- package/dist/payload/models/filter_payload.js +0 -3
- package/dist/payload/models/filter_payload.js.map +0 -1
- package/dist/payload/models/index.d.ts +0 -11
- package/dist/payload/models/index.js +0 -28
- package/dist/payload/models/index.js.map +0 -1
- package/dist/payload/models/list-payload.d.ts +0 -26
- package/dist/payload/models/list-payload.js +0 -3
- package/dist/payload/models/list-payload.js.map +0 -1
- package/dist/payload/models/list_item_payload.d.ts +0 -45
- package/dist/payload/models/list_item_payload.js +0 -3
- package/dist/payload/models/list_item_payload.js.map +0 -1
- package/dist/payload/models/log_payload.d.ts +0 -42
- package/dist/payload/models/log_payload.js +0 -3
- package/dist/payload/models/log_payload.js.map +0 -1
- package/dist/payload/models/payload.d.ts +0 -15
- package/dist/payload/models/payload.js +0 -3
- package/dist/payload/models/payload.js.map +0 -1
- package/dist/payload/models/privacy_payload.d.ts +0 -8
- package/dist/payload/models/privacy_payload.js +0 -3
- package/dist/payload/models/privacy_payload.js.map +0 -1
- package/dist/payload/models/risk_payload.d.ts +0 -75
- package/dist/payload/models/risk_payload.js +0 -3
- package/dist/payload/models/risk_payload.js.map +0 -1
- package/dist/payload/payload.module.d.ts +0 -2
- package/dist/payload/payload.module.js +0 -19
- package/dist/payload/payload.module.js.map +0 -1
- package/dist/payload/services/index.d.ts +0 -1
- package/dist/payload/services/index.js +0 -18
- package/dist/payload/services/index.js.map +0 -1
- package/dist/payload/services/payload-prepare-service.d.ts +0 -13
- package/dist/payload/services/payload-prepare-service.js +0 -15
- package/dist/payload/services/payload-prepare-service.js.map +0 -1
- package/dist/validator/services/index.d.ts +0 -1
- package/dist/validator/services/index.js +0 -18
- package/dist/validator/services/index.js.map +0 -1
- package/dist/validator/services/validator-present.service.d.ts +0 -3
- package/dist/validator/services/validator-present.service.js +0 -15
- package/dist/validator/services/validator-present.service.js.map +0 -1
- package/dist/validator/validator.module.d.ts +0 -1
- package/dist/validator/validator.module.js +0 -18
- package/dist/validator/validator.module.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,8CAA4B;AAC5B,2CAAyB;AACzB,2CAAyB;AACzB,6DAA2C;AAC3C,2DAAyC;AACzC,2DAAiE;AAAxD,uHAAA,qBAAqB,OAAA"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/core/services/core-generate-default-headers.service.ts","../src/core/services/core-generate-request-body.service.ts","../src/errors.ts","../src/logger/services/logger-error-formatter.service.ts","../src/logger/services/logger-request-formatter.service.ts","../src/logger/services/logger-response-formatter.service.ts","../src/logger/services/logger.service.ts","../src/core/services/core-process-response.service.ts","../src/api/services/api.service.ts","../src/command/services/command-generate.service.ts","../src/utils/object.ts","../src/headers/services/headers-extract.service.ts","../src/headers/services/headers-get-cookie.service.ts","../src/client-id/services/client-id-extract.service.ts","../src/constants.ts","../src/ips/services/ips-extract.service.ts","../package.json","../src/context/services/context-get-default.service.ts","../src/context/services/context-prepare.service.ts","../src/context/services/context-sanitize.service.ts","../src/command/services/command-filter.service.ts","../src/command/services/command-log.service.ts","../src/command/services/command-risk.service.ts","../src/validator/services/validator-present.service.ts","../src/command/services/command-create-list-item.service.ts","../src/command/services/command-search-list-items.service.ts","../src/command/services/command-update-list-item.service.ts","../src/command/services/command-archive-list-item.service.ts","../src/command/services/command-unarchive-list-item.service.ts","../src/command/services/command-fetch-list-item.service.ts","../src/command/services/command-fetch-list.service.ts","../src/command/services/command-delete-list.service.ts","../src/command/services/command-fetch-all-lists.service.ts","../src/command/services/command-search-lists.service.ts","../src/command/services/command-update-list.service.ts","../src/command/services/command-create-list.service.ts","../src/command/services/command-get-events-schema.service.ts","../src/command/services/command-group-events.service.ts","../src/command/services/command-search-events.service.ts","../src/command/services/command-count-list-items.service.ts","../src/command/services/command-batch-upsert-list-items.service.ts","../src/command/services/command-request-user-data.service.ts","../src/command/services/command-delete-user-data.service.ts","../src/failover/models/failover-strategy.ts","../src/api/services/api-risk.service.ts","../src/api/services/api-log.service.ts","../src/api/services/api-filter.service.ts","../src/api/services/api-create-list-item.service.ts","../src/api/services/api-create-list.service.ts","../src/api/services/api-archive-list-item.service.ts","../src/api/services/api-delete-list.service.ts","../src/api/services/api-unarchive-list-item.service.ts","../src/api/services/api-fetch-list-item.service.ts","../src/api/services/api-fetch-list.service.ts","../src/api/services/api-search-list-items.service.ts","../src/api/services/api-search-lists.service.ts","../src/api/services/api-update-list-item.service.ts","../src/api/services/api-update-list.service.ts","../src/api/services/api-fetch-all-lists.service.ts","../src/api/services/api-get-events-schema.service.ts","../src/api/services/api-group-events.service.ts","../src/api/services/api-search-events.service.ts","../src/api/services/api-count-list-items.service.ts","../src/api/services/api-batch-upsert-list-items.service.ts","../src/api/services/api-request-user-data.service.ts","../src/api/services/api-delete-user-data.service.ts","../src/webhook/services/webhook-verify.service.ts","../src/secure-mode/services/secure-mode.service.ts","../src/configuration.ts","../src/Castle.ts","../src/models/events.ts","../src/models/action.ts","../src/payload/models/event_payload.ts","../src/payload/models/event_response.ts","../src/payload/services/payload-prepare-service.ts"],"sourcesContent":["export { Castle } from './Castle';\nexport { ConfigurationProperties as CastleConfiguration } from './configuration';\nexport * from './constants';\nexport * from './models';\nexport * from './errors';\nexport * from './failover/failover.module';\nexport * from './payload/payload.module';\nexport { ContextPrepareService } from './context/context.module';\nexport { WebhookVerifyService } from './webhook/webhook.module';\nexport { SecureModeService } from './secure-mode/secure-mode.module';\n","import { Configuration } from '../../configuration';\n\nexport const CoreGenerateDefaultHeadersService = {\n call: (configuration: Configuration) => {\n return {\n Authorization: `Basic ${Buffer.from(\n `:${configuration.apiSecret}`\n ).toString('base64')}`,\n 'Content-Type': 'application/json',\n };\n },\n};\n","export const CoreGenerateRequestBody = {\n call: (payload: { [key: string]: any }): string => {\n return JSON.stringify({\n sent_at: new Date().toISOString(),\n ...payload,\n });\n },\n};\n","export class ConfigurationError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'ConfigurationError';\n }\n}\n\nexport class APIError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'APIError';\n }\n}\n\n// api error bad request 400\nexport class BadRequestError extends APIError {\n constructor(message: string) {\n super(message);\n this.name = 'BadRequestError';\n }\n}\n\n// api error unauthorized 401\nexport class UnauthorizedError extends APIError {\n constructor(message: string) {\n super(message);\n this.name = 'UnauthorizedError';\n }\n}\n\n// api error forbidden 403\nexport class ForbiddenError extends APIError {\n constructor(message: string) {\n super(message);\n this.name = 'ForbiddenError';\n }\n}\n\n// api error not found 404\nexport class NotFoundError extends APIError {\n constructor(message: string) {\n super(message);\n this.name = 'NotFoundError';\n }\n}\n\n// api error user unauthorized 419\nexport class UserUnauthorizedError extends APIError {\n constructor(message: string) {\n super(message);\n this.name = 'UserUnauthorizedError';\n }\n}\n\n// api error invalid param 422\nexport class InvalidParametersError extends APIError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidParametersError';\n }\n}\n\n// api error invalid param 422, subtype\nexport class InvalidRequestTokenError extends InvalidParametersError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidRequestTokenError';\n }\n}\n\n// api error rate limited 429\nexport class RateLimitError extends APIError {\n constructor(message: string) {\n super(message);\n this.name = 'RateLimitError';\n }\n}\n\n// all internal server errors\nexport class InternalServerError extends APIError {\n constructor(message: string) {\n super(message);\n this.name = 'InternalServerError';\n }\n}\n\n// webhook signature did not match\nexport class WebhookVerificationError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'WebhookVerificationError';\n }\n}\n","export const LoggerErrorFormatterService = {\n call: (err?: Error) =>\n err\n ? `\nError name: ${err.name}\nError message: ${err.message}\n`.trim()\n : '',\n};\n","import { LoggingParameters } from '../models';\nimport {\n LoggerResponseFormatterService,\n LoggerErrorFormatterService,\n} from '../services';\n\nexport const LoggerRequestFormatterService = {\n call: ({\n requestUrl,\n requestOptions,\n response,\n err,\n body,\n }: LoggingParameters) => `\n-- Castle request\nURL: ${requestUrl}\nRequest: ${JSON.stringify(requestOptions)}\n-- Castle response\n${\n response\n ? LoggerResponseFormatterService.call(response, body)\n : LoggerErrorFormatterService.call(err)\n}\n`,\n};\n","export const LoggerResponseFormatterService = {\n call: (response: Response, body: any) =>\n `\nResponse status: ${response.status}\nResponse body: ${JSON.stringify(body)}\n`.trim(),\n};\n","import { LoggingParameters } from '../models';\nimport { LoggerRequestFormatterService } from '../services';\n\nexport const LoggerService = {\n call: async (\n { requestUrl, requestOptions, response, body, err }: LoggingParameters,\n logger: any\n ) => {\n return logger.info(\n LoggerRequestFormatterService.call({\n requestUrl,\n requestOptions,\n response,\n err,\n body,\n })\n );\n },\n};\n","import {\n BadRequestError,\n UnauthorizedError,\n ForbiddenError,\n NotFoundError,\n UserUnauthorizedError,\n InvalidParametersError,\n InvalidRequestTokenError,\n InternalServerError,\n APIError,\n RateLimitError,\n} from '../../errors';\nimport { LoggerService } from '../../logger/logger.module';\n\nconst RESPONSE_ERRORS = {\n '400': BadRequestError,\n '401': UnauthorizedError,\n '403': ForbiddenError,\n '404': NotFoundError,\n '419': UserUnauthorizedError,\n '422': InvalidParametersError,\n '429': RateLimitError,\n};\n\nconst RESPONSE_SUB_ERRORS = {\n invalid_request_token: InvalidRequestTokenError,\n};\n\n// The body on the request is a stream and can only be\n// read once, by default. This is a workaround so that the\n// logging functions can read the body independently\n// of the handlers.\nconst getBody = async (response: any) => {\n if (response.cachedBody) {\n return response.cachedBody;\n }\n\n try {\n const preparsedResponse = await response.text();\n if (preparsedResponse) {\n response.cachedBody = await JSON.parse(preparsedResponse);\n } else {\n response.cachedBody = {};\n }\n } catch (e) {\n throw new APIError('Castle: Malformed JSON response');\n }\n\n return response.cachedBody;\n};\n\nexport const CoreProcessResponseService = {\n call: async (requestUrl, requestOptions, response, logger) => {\n const body = await getBody(response);\n\n LoggerService.call({ requestUrl, requestOptions, response, body }, logger);\n\n if (response.status >= 200 && response.status <= 299) {\n return body;\n }\n\n if (response.status >= 500 && response.status <= 599) {\n throw new InternalServerError(\n `Castle: Responded with ${response.status} code`\n );\n }\n\n // Throw a special exception for subtype errors if defined. Eg. for\n // invalid request token, which is a subtype of InvalidParametersError.\n // Otherwise, throw exception as defined per status code or a general\n // API error\n const err =\n RESPONSE_SUB_ERRORS[body.type] ||\n RESPONSE_ERRORS[response.status.toString()] ||\n APIError;\n\n throw new err(`Castle: Responded with ${response.status} code`);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CoreProcessResponseService } from '../../core/core.module';\nimport { LoggerService } from '../../logger/logger.module';\n\nexport const APIService = {\n call: async (\n controller: AbortController,\n { requestUrl, requestOptions },\n configuration: Configuration\n ): Promise<any> => {\n const fetcher = configuration.overrideFetch || fetch;\n\n let response: Response;\n const timeout = setTimeout(() => {\n controller.abort();\n }, configuration.timeout);\n\n try {\n response = await fetcher(requestUrl, requestOptions);\n } catch (err: any) {\n LoggerService.call(\n { requestUrl, requestOptions, err },\n configuration.logger\n );\n throw err;\n } finally {\n clearTimeout(timeout);\n }\n\n const processedResponse = await CoreProcessResponseService.call(\n requestUrl,\n requestOptions,\n response,\n configuration.logger\n );\n\n return processedResponse;\n },\n};\n","import { Configuration } from '../../configuration';\nimport {\n CoreGenerateDefaultHeadersService,\n CoreGenerateRequestBody,\n} from '../../core/core.module';\nimport {\n DeleteUserDataPayload,\n RequestUserDataPayload,\n} from '../../payload/models/privacy_payload';\nimport {\n LogPayload,\n RiskPayload,\n FilterPayload,\n CreateListItemPayload,\n UpdateListItemPayload,\n ListItemPayload,\n SearchListItemsPayload,\n ListPayload,\n CreateListPayload,\n SearchListsPayload,\n UpdateListPayload,\n GroupEventsPayload,\n SearchEventsPayload,\n} from '../../payload/payload.module';\n\nconst combineURLs = (baseURL, relativeURL) => {\n return baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '');\n};\n\nexport const CommandGenerateService = {\n call: (\n controller,\n path: string,\n options:\n | LogPayload\n | RiskPayload\n | FilterPayload\n | CreateListItemPayload\n | ListItemPayload\n | ListPayload\n | UpdateListItemPayload\n | CreateListPayload\n | UpdateListPayload\n | SearchListsPayload\n | SearchListItemsPayload\n | GroupEventsPayload\n | SearchEventsPayload\n | RequestUserDataPayload\n | DeleteUserDataPayload,\n method: string,\n configuration: Configuration\n ) => {\n return {\n requestUrl: new URL(combineURLs(configuration.baseUrl.toString(), path)),\n requestOptions: {\n signal: controller.signal,\n method,\n headers: CoreGenerateDefaultHeadersService.call(configuration),\n ...(method !== 'GET' && {\n body: CoreGenerateRequestBody.call(options),\n }),\n },\n };\n },\n};\n","const isPlainObject = (value: unknown): value is Record<string, any> =>\n Object.prototype.toString.call(value) === '[object Object]';\n\n/**\n * Recursively merges own enumerable properties of the source objects into the\n * target, mutating and returning the target. Mirrors the subset of\n * `lodash.merge` semantics this SDK relies on: deep merge of plain objects and\n * arrays (by index), with `undefined` source values skipped.\n */\nexport const deepMerge = (target: any, ...sources: any[]): any => {\n for (const source of sources) {\n if (source === null || source === undefined) {\n continue;\n }\n\n for (const key of Object.keys(source)) {\n const sourceValue = source[key];\n const targetValue = target[key];\n\n if (sourceValue === undefined) {\n continue;\n }\n\n if (isPlainObject(sourceValue) && isPlainObject(targetValue)) {\n deepMerge(targetValue, sourceValue);\n } else if (Array.isArray(sourceValue) && Array.isArray(targetValue)) {\n deepMerge(targetValue, sourceValue);\n } else if (isPlainObject(sourceValue)) {\n target[key] = deepMerge({}, sourceValue);\n } else if (Array.isArray(sourceValue)) {\n target[key] = deepMerge([], sourceValue);\n } else {\n target[key] = sourceValue;\n }\n }\n }\n\n return target;\n};\n\n/**\n * Returns `true` for `null`/`undefined`, empty strings/arrays, empty\n * `Map`/`Set`, and objects with no own enumerable keys. Matches the\n * `lodash.isempty` behavior used by the context builder.\n */\nexport const isEmpty = (value: unknown): boolean => {\n if (value === null || value === undefined) {\n return true;\n }\n\n if (Array.isArray(value) || typeof value === 'string') {\n return value.length === 0;\n }\n\n if (value instanceof Map || value instanceof Set) {\n return value.size === 0;\n }\n\n if (typeof value === 'object') {\n return Object.keys(value).length === 0;\n }\n\n return true;\n};\n\n/**\n * Returns a shallow copy of `object` keeping only the entries whose values are\n * truthy. Equivalent to `lodash.pickby(object)` with the default identity\n * predicate.\n */\nexport const pickByTruthy = <T extends Record<string, any>>(\n object: T\n): Partial<T> =>\n Object.entries(object).reduce<Partial<T>>((accumulator, [key, value]) => {\n if (value) {\n (accumulator as Record<string, any>)[key] = value;\n }\n return accumulator;\n }, {});\n","import type { IncomingHttpHeaders } from 'http2';\nimport type { Configuration } from '../../configuration';\n\nconst ALWAYS_ALLOWLISTED = ['user-agent'];\nconst ALWAYS_DENYLISTED = ['cookie', 'authorization'];\n\nexport const HeadersExtractService = {\n call: (\n headers: IncomingHttpHeaders | { [key: string]: string },\n configuration: Configuration\n ): { [key: string]: boolean | string } => {\n return Object.entries(headers).reduce(\n (accumulator: object, [key, value]: [string, any]) => {\n if (ALWAYS_DENYLISTED.includes(key.toLowerCase())) {\n return {\n ...accumulator,\n [key]: true,\n };\n }\n\n if (ALWAYS_ALLOWLISTED.includes(key.toLowerCase())) {\n return {\n ...accumulator,\n [key]: value,\n };\n }\n\n if (configuration.denylisted.includes(key.toLowerCase())) {\n return {\n ...accumulator,\n [key]: true,\n };\n }\n\n if (\n configuration.allowlisted.length === 0 ||\n configuration.allowlisted.includes(key.toLowerCase())\n ) {\n return {\n ...accumulator,\n [key]: value,\n };\n }\n\n return {\n ...accumulator,\n [key]: true,\n };\n },\n {}\n );\n },\n};\n","export const HeadersGetCookieService = {\n call: (\n cookies: string | string[] | undefined,\n name: string\n ): string | undefined => {\n if (!cookies) {\n return;\n }\n\n const pattern = new RegExp(`(?:^|\\\\s+)\\\\s?${name}=(.*?)(?:;|$)`);\n const results = cookies.toString().match(pattern);\n\n if (results && results.length === 2) {\n // return the last match\n return results[1];\n }\n\n return;\n },\n};\n","import type { IncomingHttpHeaders } from 'http2';\nimport { HeadersGetCookieService } from '../../headers/headers.module';\n\nexport const ClientIdExtractService = {\n call: (headers: IncomingHttpHeaders = {}, cookies?: string | string[]) => {\n return (\n headers['x-castle-client-id'] ||\n HeadersGetCookieService.call(cookies, '__cid') ||\n ''\n );\n },\n};\n","export const DEFAULT_API_URL = 'https://api.castle.io/v1';\nexport const DEFAULT_TIMEOUT = 1500;\nexport const DEFAULT_ALLOWLIST = [\n 'accept',\n 'accept-charset',\n 'accept-datetime',\n 'accept-encoding',\n 'accept-language',\n 'cache-control',\n 'connection',\n 'content-length',\n 'content-type',\n 'dnt',\n 'host',\n 'origin',\n 'pragma',\n 'referer',\n 'sec-fetch-dest',\n 'sec-fetch-mode',\n 'sec-fetch-site',\n 'sec-fetch-user',\n 'te',\n 'upgrade-insecure-requests',\n 'user-agent',\n 'x-requested-with',\n];\nexport const TRUSTED_PROXIES = [\n new RegExp(\n [\n /^127\\.0\\.0\\.1$|/,\n /^(10|172\\.(1[6-9]|2[0-9]|30|31)|192\\.168)\\.|/,\n /^::1\\Z|\\Afd[0-9a-f]{2}:.+|/,\n /^localhost$|/,\n /^unix$|/,\n /^unix:/,\n ]\n .map((r) => r.source)\n .join('')\n ),\n];\n","import type { IncomingHttpHeaders } from 'http2';\nimport { Configuration } from '../../configuration';\nimport { TRUSTED_PROXIES } from '../../constants';\n\n// ordered list of ip headers for ip extraction\nconst DEFAULT = ['x-forwarded-for', 'remote-addr'];\n// list of header which are used with proxy depth setting\nconst DEPTH_RELATED = ['x-forwarded-for'];\n\nconst checkInternal = (ipAddress: string, proxies: any[]) => {\n return proxies.some((proxyRegexp) => proxyRegexp.test(ipAddress));\n};\n\nconst limitProxyDepth = (ips, ipHeader, trustedProxyDepth) => {\n if (DEPTH_RELATED.includes(ipHeader)) {\n ips.splice(ips.length - 1, trustedProxyDepth);\n }\n return ips;\n};\n\nconst IPsFrom = (ipHeader, headers, trustedProxyDepth) => {\n if (!headers) {\n return [];\n }\n const headerValue = headers[ipHeader];\n\n if (!headerValue) {\n return [];\n }\n const ips = headerValue.trim().split(/[,\\s]+/);\n return limitProxyDepth(ips, ipHeader, trustedProxyDepth);\n};\n\nconst removeProxies = (ips, trustProxyChain, proxiesList) => {\n if (trustProxyChain) {\n return ips[0];\n }\n const filteredIps = ips.filter((ip) => !checkInternal(ip, proxiesList));\n return filteredIps[filteredIps.length - 1];\n};\n\nexport const IPsExtractService = {\n call: (\n headers: IncomingHttpHeaders,\n {\n ipHeaders = [],\n trustedProxies = [],\n trustProxyChain = false,\n trustedProxyDepth = 0,\n }: Configuration\n ) => {\n const ipHeadersList = ipHeaders.length ? ipHeaders : DEFAULT;\n const proxiesList = trustedProxies.concat(TRUSTED_PROXIES);\n let allIPs: any[] = [];\n for (const ipHeader of ipHeadersList) {\n const IPs = IPsFrom(ipHeader, headers, trustedProxyDepth);\n const IPValue = removeProxies(IPs, trustProxyChain, proxiesList);\n if (IPValue) {\n return IPValue;\n }\n allIPs = [...allIPs, ...IPs];\n }\n\n // fallback to first listed ip\n return allIPs[0];\n },\n};\n","{\n \"$schema\": \"http://json.schemastore.org/package\",\n \"name\": \"@castleio/sdk\",\n \"description\": \"Castle SDK for Node\",\n \"version\": \"3.0.0\",\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"import\": {\n \"types\": \"./dist/index.d.mts\",\n \"default\": \"./dist/index.mjs\"\n },\n \"require\": {\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"./package.json\": \"./package.json\"\n },\n \"repository\": \"git@github.com:castle/castle-node.git\",\n \"author\": {\n \"name\": \"castle.io\",\n \"url\": \"https://castle.io\"\n },\n \"homepage\": \"https://github.com/castle/castle-node\",\n \"license\": \"MIT\",\n \"private\": false,\n \"engines\": {\n \"node\": \">=20\"\n },\n \"scripts\": {\n \"clean\": \"rimraf dist\",\n \"build\": \"tsup\",\n \"start\": \"tsup --watch\",\n \"typecheck\": \"tsc --noEmit\",\n \"test\": \"jest\",\n \"lint-fix\": \"eslint --fix --quiet '{src,test}/**/*.{js,ts,tsx}' '*.{js,ts,tsx,mjs}'\",\n \"lint-verify\": \"eslint '{src,test}/**/*.{js,ts,tsx}' '*.{js,ts,tsx,mjs}'\",\n \"format\": \"prettier --write '{src,test}/**/*.{js,ts,tsx,yml,yaml,json,md}' '*.{js,ts,tsx,mjs,yml,yaml,json,md}'\",\n \"format:check\": \"prettier --check '{src,test}/**/*.{js,ts,tsx,yml,yaml,json,md}' '*.{js,ts,tsx,mjs,yml,yaml,json,md}'\",\n \"prepush\": \"npm run build && npm run lint-fix\",\n \"prepublishOnly\": \"npm run build\"\n },\n \"files\": [\n \"dist\"\n ],\n \"husky\": {\n \"hooks\": {\n \"pre-push\": \"yarn prepush\"\n }\n },\n \"devDependencies\": {\n \"@eslint/eslintrc\": \"3.3.5\",\n \"@types/jest\": \"30.0.0\",\n \"@types/node\": \"24.0.14\",\n \"@typescript-eslint/eslint-plugin\": \"8.60.1\",\n \"@typescript-eslint/parser\": \"8.60.1\",\n \"eslint\": \"9.31.0\",\n \"eslint-config-prettier\": \"10.1.8\",\n \"eslint-plugin-import\": \"2.32.0\",\n \"eslint-plugin-prefer-arrow\": \"1.2.3\",\n \"eslint-plugin-prettier\": \"5.5.6\",\n \"express\": \"5.2.1\",\n \"fetch-mock\": \"11.1.5\",\n \"husky\": \"9.1.7\",\n \"jest\": \"30.4.2\",\n \"mockdate\": \"3.0.5\",\n \"prettier\": \"3.8.3\",\n \"rimraf\": \"6.1.3\",\n \"source-map-support\": \"0.5.21\",\n \"ts-jest\": \"29.4.11\",\n \"ts-node\": \"10.9.2\",\n \"tsup\": \"8.5.1\",\n \"typescript\": \"5.8.3\"\n },\n \"dependencies\": {\n \"pino\": \"^9.7.0\",\n \"pino-pretty\": \"^13.0.0\"\n }\n}\n","import { isEmpty, pickByTruthy } from '../../utils/object';\nimport { Configuration } from '../../configuration';\nimport { ClientIdExtractService } from '../../client-id/client-id.module';\nimport { HeadersExtractService } from '../../headers/headers.module';\nimport { IPsExtractService } from '../../ips/ips.module';\nimport { version } from '../../../package.json';\nimport type { IncomingHttpHeaders } from 'http2';\n\nconst requestContextData = (\n request: { headers: IncomingHttpHeaders },\n cookies: string | undefined,\n configuration: Configuration\n): { [key: string]: any } => {\n if (isEmpty(request)) {\n return {};\n }\n\n const cookiesForClientId =\n cookies || (request.headers as { [key: string]: any })?.cookies;\n return {\n client_id:\n ClientIdExtractService.call(request.headers, cookiesForClientId) || false,\n active: true,\n headers: HeadersExtractService.call(request.headers, configuration),\n ip: IPsExtractService.call(request.headers, configuration),\n };\n};\n\nexport const ContextGetDefaultService = {\n call: (\n request: { headers: IncomingHttpHeaders },\n cookies: string | undefined,\n configuration: Configuration\n ): { [key: string]: any } => {\n return {\n ...pickByTruthy(requestContextData(request, cookies, configuration)),\n library: {\n name: 'castle-node',\n version,\n },\n };\n },\n};\n","import { deepMerge } from '../../utils/object';\nimport { Configuration } from '../../configuration';\nimport { ContextGetDefaultService } from './context-get-default.service';\nimport type { IncomingHttpHeaders } from 'http2';\n\nexport const ContextPrepareService = {\n call: (\n request: { headers: IncomingHttpHeaders },\n options: undefined | { [key: string]: any },\n configuration: Configuration\n ) => {\n const defaultContext = ContextGetDefaultService.call(\n request,\n options?.cookies,\n configuration\n );\n return deepMerge(defaultContext, options?.context);\n },\n};\n","export const ContextSanitizeService = {\n call: (context: undefined | { [key: string]: any }) => {\n if (!context) {\n return {};\n }\n\n if (!('active' in context)) {\n return context;\n }\n\n if (typeof context.active === 'boolean') {\n return context;\n }\n\n delete context.active;\n\n return context;\n },\n};\n","import { Configuration } from '../../configuration';\nimport { ContextSanitizeService } from '../../context/context.module';\nimport { FilterPayload } from '../../payload/payload.module';\nimport { CommandGenerateService } from './command-generate.service';\n\nexport const CommandFilterService = {\n call: (controller, options: FilterPayload, configuration: Configuration) => {\n const context = ContextSanitizeService.call(options.context);\n return CommandGenerateService.call(\n controller,\n 'filter',\n { ...options, ...{ context } } as FilterPayload,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { ContextSanitizeService } from '../../context/context.module';\nimport { LogPayload } from '../../payload/payload.module';\nimport { CommandGenerateService } from './command-generate.service';\n\nexport const CommandLogService = {\n call: (controller, options: LogPayload, configuration: Configuration) => {\n const context = ContextSanitizeService.call(options.context);\n return CommandGenerateService.call(\n controller,\n 'log',\n { ...options, ...{ context } } as LogPayload,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { ContextSanitizeService } from '../../context/context.module';\nimport { CommandGenerateService } from './command-generate.service';\nimport { RiskPayload } from '../../payload/payload.module';\n\nexport const CommandRiskService = {\n call: (controller, options: RiskPayload, configuration: Configuration) => {\n const context = ContextSanitizeService.call(options.context);\n return CommandGenerateService.call(\n controller,\n 'risk',\n { ...options, ...{ context } } as RiskPayload,\n 'POST',\n configuration\n );\n },\n};\n","import { InvalidParametersError } from '../../errors';\n\nexport const ValidatorPresentService = {\n call: (options: object, keys: string[]) => {\n for (const key of keys) {\n if (options[key]) {\n continue;\n }\n\n throw new InvalidParametersError(`Castle: ${key} is missing or empty`);\n }\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { CreateListItemPayload } from '../../payload/models';\n\nexport const CommandCreateListItemService = {\n call: (\n controller,\n options: CreateListItemPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['list_id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.list_id}/items`,\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { SearchListItemsPayload } from '../../payload/models';\n\nexport const CommandSearchListItemsService = {\n call: (\n controller,\n options: SearchListItemsPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['list_id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.list_id}/items/query`,\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { UpdateListItemPayload } from '../../payload/models';\n\nexport const CommandUpdateListItemService = {\n call: (\n controller,\n options: UpdateListItemPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['id', 'list_id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.list_id}/items/${options.id}`,\n options,\n 'PUT',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { ListItemPayload } from '../../payload/models';\n\nexport const CommandArchiveListItemService = {\n call: (\n controller,\n options: ListItemPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['id', 'list_id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.list_id}/items/${options.id}/archive`,\n {},\n 'DELETE',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { ListItemPayload } from '../../payload/models';\n\nexport const CommandUnarchiveListItemService = {\n call: (\n controller,\n options: ListItemPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['id', 'list_id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.list_id}/items/${options.id}/unarchive`,\n {},\n 'PUT',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { ListItemPayload } from '../../payload/models';\n\nexport const CommandFetchListItemService = {\n call: (\n controller,\n options: ListItemPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['id', 'list_id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.list_id}/items/${options.id}`,\n {},\n 'GET',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { ListPayload } from '../../payload/models';\n\nexport const CommandFetchListService = {\n call: (controller, options: ListPayload, configuration: Configuration) => {\n ValidatorPresentService.call(options, ['id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.id}`,\n {},\n 'GET',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { ListPayload } from '../../payload/models';\n\nexport const CommandDeleteListService = {\n call: (controller, options: ListPayload, configuration: Configuration) => {\n ValidatorPresentService.call(options, ['id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.id}`,\n {},\n 'DELETE',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\n\nexport const CommandFetchAllListsService = {\n call: (controller, configuration: Configuration) => {\n return CommandGenerateService.call(\n controller,\n `lists`,\n {},\n 'GET',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport type { SearchListsPayload } from '../../payload/models';\n\nexport const CommandSearchListsService = {\n call: (\n controller,\n options: SearchListsPayload,\n configuration: Configuration\n ) => {\n return CommandGenerateService.call(\n controller,\n `lists/query`,\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { UpdateListPayload } from '../../payload/models';\n\nexport const CommandUpdateListService = {\n call: (\n controller,\n options: UpdateListPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.id}`,\n options,\n 'PUT',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport type { CreateListPayload } from '../../payload/models';\n\nexport const CommandCreateListService = {\n call: (\n controller,\n options: CreateListPayload,\n configuration: Configuration\n ) => {\n return CommandGenerateService.call(\n controller,\n `lists`,\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\n\nexport const CommandGetEventsSchemaService = {\n call: (controller, configuration: Configuration) => {\n return CommandGenerateService.call(\n controller,\n 'events/schema',\n {},\n 'GET',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport type { GroupEventsPayload } from '../../payload/models';\n\nexport const CommandGroupEventsService = {\n call: (\n controller,\n options: GroupEventsPayload,\n configuration: Configuration\n ) => {\n return CommandGenerateService.call(\n controller,\n 'events/group',\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport type { SearchEventsPayload } from '../../payload/models';\n\nexport const CommandSearchEventsService = {\n call: (\n controller,\n options: SearchEventsPayload,\n configuration: Configuration\n ) => {\n return CommandGenerateService.call(\n controller,\n 'events/query',\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { CountListItemsPayload } from '../../payload/models';\n\nexport const CommandCountListItemsService = {\n call: (\n controller,\n options: CountListItemsPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['list_id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.list_id}/items/count`,\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { ValidatorPresentService } from '../../validator/validator.module';\nimport type { BatchUpsertListItemsPayload } from '../../payload/models';\n\nexport const CommandBatchUpsertListItemsService = {\n call: (\n controller,\n options: BatchUpsertListItemsPayload,\n configuration: Configuration\n ) => {\n ValidatorPresentService.call(options, ['list_id']);\n\n return CommandGenerateService.call(\n controller,\n `lists/${options.list_id}/items/batch`,\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { RequestUserDataPayload } from '../../payload/models/privacy_payload';\n\nexport const CommandRequestUserDataService = {\n call: (\n controller,\n options: RequestUserDataPayload,\n configuration: Configuration\n ) => {\n return CommandGenerateService.call(\n controller,\n 'privacy/users',\n options,\n 'POST',\n configuration\n );\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGenerateService } from './command-generate.service';\nimport { DeleteUserDataPayload } from '../../payload/models/privacy_payload';\n\nexport const CommandDeleteUserDataService = {\n call: (\n controller,\n options: DeleteUserDataPayload,\n configuration: Configuration\n ) => {\n return CommandGenerateService.call(\n controller,\n 'privacy/users',\n options,\n 'DELETE',\n configuration\n );\n },\n};\n","export enum FailoverStrategy {\n allow = 'allow',\n deny = 'deny',\n challenge = 'challenge',\n throw = 'throw',\n}\n","import { Configuration } from '../../configuration';\nimport { InternalServerError } from '../../errors';\nimport { CommandRiskService } from '../../command/command.module';\nimport { FailoverStrategy } from '../../failover/failover.module';\nimport type { RiskPayload } from '../../payload/payload.module';\nimport { APIService } from './api.service';\n\nconst handleFailover = (\n reason: string,\n configuration: Configuration,\n err?: Error\n): object => {\n // Have to check it this way to make sure TS understands\n // that this.failoverStrategy is of type Verdict,\n // not FailoverStrategyType.\n if (configuration.failoverStrategy === FailoverStrategy.throw) {\n throw err;\n }\n\n return {\n policy: {\n action: configuration.failoverStrategy,\n },\n action: configuration.failoverStrategy,\n failover: true,\n failover_reason: reason,\n };\n};\n\nconst isTimeoutError = (e: Error) => e.name === 'AbortError';\n\nexport const APIRiskService = {\n call: async (\n options: RiskPayload,\n configuration: Configuration\n ): Promise<object> => {\n const controller = new AbortController();\n const command = CommandRiskService.call(controller, options, configuration);\n\n let processedResponse;\n try {\n processedResponse = await APIService.call(\n controller,\n command,\n configuration\n );\n } catch (e: any) {\n if (isTimeoutError(e)) {\n return handleFailover('timeout', configuration, e);\n } else if (e instanceof InternalServerError) {\n return handleFailover('server error', configuration);\n } else {\n throw e;\n }\n }\n\n return processedResponse;\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandLogService } from '../../command/command.module';\nimport type { LogPayload } from '../../payload/payload.module';\nimport { APIService } from './api.service';\n\nexport const APILogService = {\n call: async (\n options: LogPayload,\n configuration: Configuration\n ): Promise<void> => {\n const controller = new AbortController();\n const command = CommandLogService.call(controller, options, configuration);\n\n APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { InternalServerError } from '../../errors';\nimport { CommandFilterService } from '../../command/command.module';\nimport { FailoverStrategy } from '../../failover/failover.module';\nimport type { FilterPayload } from '../../payload/payload.module';\nimport { APIService } from './api.service';\n\nconst handleFailover = (\n reason: string,\n configuration: Configuration,\n err?: Error\n): object => {\n // Have to check it this way to make sure TS understands\n // that this.failoverStrategy is of type Verdict,\n // not FailoverStrategyType.\n if (configuration.failoverStrategy === FailoverStrategy.throw) {\n throw err;\n }\n return {\n policy: {\n action: configuration.failoverStrategy,\n },\n action: configuration.failoverStrategy,\n failover: true,\n failover_reason: reason,\n };\n};\n\nconst isTimeoutError = (e: Error) => e.name === 'AbortError';\n\nexport const APIFilterService = {\n call: async (\n options: FilterPayload,\n configuration: Configuration\n ): Promise<object> => {\n const controller = new AbortController();\n const command = CommandFilterService.call(\n controller,\n options,\n configuration\n );\n\n let processedResponse;\n try {\n processedResponse = await APIService.call(\n controller,\n command,\n configuration\n );\n } catch (e: any) {\n if (isTimeoutError(e)) {\n return handleFailover('timeout', configuration, e);\n } else if (e instanceof InternalServerError) {\n return handleFailover('server error', configuration, e);\n } else {\n throw e;\n }\n }\n\n return processedResponse;\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandCreateListItemService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { CreateListItemPayload } from '../../payload/models';\n\nexport const APICreateListItemService = {\n call: async (\n options: CreateListItemPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandCreateListItemService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandCreateListService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { CreateListPayload } from '../../payload/models';\n\nexport const APICreateListService = {\n call: async (\n options: CreateListPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandCreateListService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandArchiveListItemService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { ListItemPayload } from '../../payload/models';\n\nexport const APIArchiveListItemService = {\n call: async (\n options: ListItemPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandArchiveListItemService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandDeleteListService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { ListPayload } from '../../payload/models';\n\nexport const APIDeleteListService = {\n call: async (\n options: ListPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandDeleteListService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandUnarchiveListItemService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { ListItemPayload } from '../../payload/models';\n\nexport const APIUnarchiveListItemService = {\n call: async (\n options: ListItemPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandUnarchiveListItemService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandFetchListItemService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { ListItemPayload } from '../../payload/models';\n\nexport const APIFetchListItemService = {\n call: async (\n options: ListItemPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandFetchListItemService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandFetchListService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { ListPayload } from '../../payload/models';\n\nexport const APIFetchListService = {\n call: async (\n options: ListPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandFetchListService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandSearchListItemsService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { SearchListItemsPayload } from '../../payload/models';\n\nexport const APISearchListItemsService = {\n call: async (\n options: SearchListItemsPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandSearchListItemsService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandSearchListsService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { SearchListsPayload } from '../../payload/models';\n\nexport const APISearchListsService = {\n call: async (\n options: SearchListsPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandSearchListsService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandUpdateListItemService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { UpdateListItemPayload } from '../../payload/models';\n\nexport const APIUpdateListItemService = {\n call: async (\n options: UpdateListItemPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandUpdateListItemService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandUpdateListService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { UpdateListPayload } from '../../payload/models';\n\nexport const APIUpdateListService = {\n call: async (\n options: UpdateListPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandUpdateListService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandFetchAllListsService } from '../../command/command.module';\nimport { APIService } from './api.service';\n\nexport const APIFetchAllListsService = {\n call: async (configuration: Configuration): Promise<any> => {\n const controller = new AbortController();\n const command = CommandFetchAllListsService.call(controller, configuration);\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGetEventsSchemaService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { GetEventsSchemaResponse } from '../../payload/models';\n\nexport const APIGetEventsSchemaService = {\n call: async (\n configuration: Configuration\n ): Promise<GetEventsSchemaResponse> => {\n const controller = new AbortController();\n const command = CommandGetEventsSchemaService.call(\n controller,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandGroupEventsService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type {\n GroupEventsPayload,\n GroupEventsResponse,\n} from '../../payload/models';\n\nexport const APIGroupEventsService = {\n call: async (\n options: GroupEventsPayload,\n configuration: Configuration\n ): Promise<GroupEventsResponse> => {\n const controller = new AbortController();\n const command = CommandGroupEventsService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandSearchEventsService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type {\n SearchEventsPayload,\n SearchEventsResponse,\n} from '../../payload/models';\n\nexport const APISearchEventsService = {\n call: async (\n options: SearchEventsPayload,\n configuration: Configuration\n ): Promise<SearchEventsResponse> => {\n const controller = new AbortController();\n const command = CommandSearchEventsService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandCountListItemsService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { CountListItemsPayload } from '../../payload/models';\n\nexport const APICountListItemsService = {\n call: async (\n options: CountListItemsPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandCountListItemsService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { CommandBatchUpsertListItemsService } from '../../command/command.module';\nimport { APIService } from './api.service';\nimport type { BatchUpsertListItemsPayload } from '../../payload/models';\n\nexport const APIBatchUpsertListItemsService = {\n call: async (\n options: BatchUpsertListItemsPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandBatchUpsertListItemsService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { APIService } from './api.service';\nimport { RequestUserDataPayload } from '../../payload/models/privacy_payload';\nimport { CommandRequestUserDataService } from '../../command/services/command-request-user-data.service';\n\nexport const APIRequestUserDataService = {\n call: async (\n options: RequestUserDataPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandRequestUserDataService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { Configuration } from '../../configuration';\nimport { APIService } from './api.service';\nimport { DeleteUserDataPayload } from '../../payload/models/privacy_payload';\nimport { CommandDeleteUserDataService } from '../../command/services/command-delete-user-data.service';\n\nexport const APIDeleteUserDataService = {\n call: async (\n options: DeleteUserDataPayload,\n configuration: Configuration\n ): Promise<any> => {\n const controller = new AbortController();\n const command = CommandDeleteUserDataService.call(\n controller,\n options,\n configuration\n );\n\n return APIService.call(controller, command, configuration);\n },\n};\n","import { createHmac, timingSafeEqual } from 'crypto';\nimport { Configuration } from '../../configuration';\nimport { WebhookVerificationError } from '../../errors';\n\nconst secureCompare = (a: string, b: string): boolean => {\n const bufferA = Buffer.from(a);\n const bufferB = Buffer.from(b);\n\n if (bufferA.length !== bufferB.length) {\n return false;\n }\n\n return timingSafeEqual(bufferA, bufferB);\n};\n\nexport const WebhookVerifyService = {\n // Verifies the `X-Castle-Signature` of an incoming webhook against the raw\n // request body. Throws `WebhookVerificationError` when it does not match.\n call: (\n payload: string | Buffer,\n signature: string | undefined,\n configuration: Configuration\n ): void => {\n if (!payload || payload.length === 0) {\n throw new WebhookVerificationError('Invalid webhook from Castle API');\n }\n\n const expectedSignature = createHmac('sha256', configuration.apiSecret)\n .update(payload)\n .digest('base64');\n\n if (!signature || !secureCompare(signature, expectedSignature)) {\n throw new WebhookVerificationError(\n 'Signature not matching the expected signature'\n );\n }\n },\n};\n","import { createHmac } from 'crypto';\nimport { Configuration } from '../../configuration';\n\nexport const SecureModeService = {\n // Computes the secure-mode signature for a user id: a hex HMAC-SHA256 of the\n // user id keyed with the API secret. Use it to authenticate the user id sent\n // to Castle from the browser.\n call: (userId: string, configuration: Configuration): string =>\n createHmac('sha256', configuration.apiSecret).update(userId).digest('hex'),\n};\n","import pino from 'pino';\nimport pretty from 'pino-pretty';\n\nimport { DEFAULT_API_URL, DEFAULT_TIMEOUT } from './constants';\nimport { ConfigurationError } from './errors';\nimport { FailoverStrategy } from './failover/models/failover-strategy';\n\nexport interface ConfigurationProperties {\n apiSecret: string;\n baseUrl?: string;\n timeout?: number;\n allowlisted?: string[];\n denylisted?: string[];\n overrideFetch?: any;\n failoverStrategy?: FailoverStrategy;\n doNotTrack?: boolean;\n ipHeaders?: string[];\n trustedProxies?: (string | RegExp)[];\n trustProxyChain?: boolean;\n trustedProxyDepth?: number;\n logger?: any;\n}\n\nexport class Configuration {\n apiSecret: string;\n baseUrl: URL;\n timeout: number;\n allowlisted: string[];\n denylisted: string[];\n overrideFetch: any;\n failoverStrategy: FailoverStrategy;\n doNotTrack: boolean;\n ipHeaders: string[];\n trustedProxies: RegExp[];\n trustProxyChain: boolean;\n trustedProxyDepth: number;\n logger: any;\n\n constructor({\n apiSecret,\n baseUrl = DEFAULT_API_URL,\n timeout = DEFAULT_TIMEOUT,\n allowlisted = [],\n denylisted = [],\n overrideFetch = fetch,\n failoverStrategy = FailoverStrategy.allow,\n doNotTrack = false,\n ipHeaders = [],\n trustedProxies = [],\n trustProxyChain = false,\n trustedProxyDepth = 0,\n logger = pino(pretty({ levelFirst: true })),\n }: ConfigurationProperties) {\n if (!apiSecret) {\n throw new ConfigurationError(\n 'Castle: Unable to instantiate Castle client, API secret is missing.'\n );\n }\n\n this.apiSecret = apiSecret;\n this.baseUrl = new URL(baseUrl);\n this.timeout = timeout;\n this.allowlisted = allowlisted.map((x) => x.toLowerCase());\n this.denylisted = denylisted.map((x) => x.toLowerCase());\n this.overrideFetch = overrideFetch;\n this.failoverStrategy = failoverStrategy;\n this.doNotTrack = doNotTrack;\n this.ipHeaders = ipHeaders;\n this.trustedProxies = trustedProxies.map((proxy) => new RegExp(proxy));\n this.trustProxyChain = trustProxyChain;\n this.trustedProxyDepth = trustedProxyDepth;\n this.logger = logger;\n }\n}\n","import {\n APILogService,\n APIFilterService,\n APIRiskService,\n APICreateListItemService,\n APICreateListService,\n APIUpdateListItemService,\n APIUpdateListService,\n APIArchiveListItemService,\n APIUnarchiveListItemService,\n APIDeleteListService,\n APISearchListItemsService,\n APISearchListsService,\n APIFetchListItemService,\n APIFetchListService,\n APIFetchAllListsService,\n APISearchEventsService,\n APIGetEventsSchemaService,\n APIGroupEventsService,\n APIRequestUserDataService,\n APIDeleteUserDataService,\n APIBatchUpsertListItemsService,\n APICountListItemsService,\n} from './api/api.module';\nimport { FailoverStrategy } from './failover/failover.module';\nimport { WebhookVerifyService } from './webhook/webhook.module';\nimport { SecureModeService } from './secure-mode/secure-mode.module';\nimport type {\n LogPayload,\n FilterPayload,\n RiskPayload,\n CreateListItemPayload,\n CreateListPayload,\n UpdateListItemPayload,\n UpdateListPayload,\n ListItemPayload,\n ListPayload,\n SearchListItemsPayload,\n SearchListsPayload,\n SearchEventsPayload,\n SearchEventsResponse,\n GetEventsSchemaResponse,\n GroupEventsPayload,\n GroupEventsResponse,\n BatchUpsertListItemsPayload,\n CountListItemsPayload,\n DeleteUserDataPayload,\n RequestUserDataPayload,\n} from './payload/payload.module';\nimport { Configuration, ConfigurationProperties } from './configuration';\n\nexport class Castle {\n public configuration: Configuration;\n\n constructor(configAttributes: ConfigurationProperties) {\n this.configuration = new Configuration(configAttributes);\n }\n\n public async risk(params: RiskPayload): Promise<object> {\n if (this.configuration.doNotTrack) {\n return this.generateDoNotTrackResponse(params.user?.id);\n }\n\n return APIRiskService.call(params, this.configuration);\n }\n\n public async filter(params: FilterPayload): Promise<object> {\n if (this.configuration.doNotTrack) {\n return this.generateDoNotTrackResponse(params.matching_user_id);\n }\n\n return APIFilterService.call(params, this.configuration);\n }\n\n public async log(params: LogPayload): Promise<void> {\n if (this.configuration.doNotTrack) {\n return;\n }\n\n APILogService.call(params, this.configuration);\n }\n\n public async createListItem(params: CreateListItemPayload): Promise<any> {\n return APICreateListItemService.call(params, this.configuration);\n }\n\n public async createList(params: CreateListPayload): Promise<any> {\n return APICreateListService.call(params, this.configuration);\n }\n\n public async updateListItem(params: UpdateListItemPayload): Promise<any> {\n return APIUpdateListItemService.call(params, this.configuration);\n }\n\n public async updateList(params: UpdateListPayload): Promise<any> {\n return APIUpdateListService.call(params, this.configuration);\n }\n\n public async archiveListItem(params: ListItemPayload): Promise<any> {\n return APIArchiveListItemService.call(params, this.configuration);\n }\n\n public async unarchiveListItem(params: ListItemPayload): Promise<any> {\n return APIUnarchiveListItemService.call(params, this.configuration);\n }\n\n public async deleteList(params: ListPayload): Promise<any> {\n return APIDeleteListService.call(params, this.configuration);\n }\n\n public async fetchListItem(params: ListItemPayload): Promise<any> {\n return APIFetchListItemService.call(params, this.configuration);\n }\n\n public async fetchList(params: ListPayload): Promise<any> {\n return APIFetchListService.call(params, this.configuration);\n }\n\n public async fetchAllLists(): Promise<any> {\n return APIFetchAllListsService.call(this.configuration);\n }\n\n public async searchListItems(params: SearchListItemsPayload): Promise<any> {\n return APISearchListItemsService.call(params, this.configuration);\n }\n\n public async searchLists(params: SearchListsPayload): Promise<any> {\n return APISearchListsService.call(params, this.configuration);\n }\n\n public async batchUpdateListItems(\n params: BatchUpsertListItemsPayload\n ): Promise<any> {\n return APIBatchUpsertListItemsService.call(params, this.configuration);\n }\n\n public async countListItems(params: CountListItemsPayload): Promise<any> {\n return APICountListItemsService.call(params, this.configuration);\n }\n\n public async queryEvents(\n params: SearchEventsPayload\n ): Promise<SearchEventsResponse> {\n return APISearchEventsService.call(params, this.configuration);\n }\n\n public async eventsSchema(): Promise<GetEventsSchemaResponse> {\n return APIGetEventsSchemaService.call(this.configuration);\n }\n\n public async groupEvents(\n params: GroupEventsPayload\n ): Promise<GroupEventsResponse> {\n return APIGroupEventsService.call(params, this.configuration);\n }\n\n /** Alias of {@link Castle.queryEvents}. */\n public async searchEvents(\n params: SearchEventsPayload\n ): Promise<SearchEventsResponse> {\n return this.queryEvents(params);\n }\n\n /** Alias of {@link Castle.eventsSchema}. */\n public async getEventsSchema(): Promise<GetEventsSchemaResponse> {\n return this.eventsSchema();\n }\n\n public async requestUserData(params: RequestUserDataPayload): Promise<any> {\n return APIRequestUserDataService.call(params, this.configuration);\n }\n\n public async deleteUserData(params: DeleteUserDataPayload): Promise<any> {\n return APIDeleteUserDataService.call(params, this.configuration);\n }\n\n public verifyWebhookSignature(\n payload: string | Buffer,\n signature: string | undefined\n ): void {\n WebhookVerifyService.call(payload, signature, this.configuration);\n }\n\n public secureModeSignature(userId: string): string {\n return SecureModeService.call(userId, this.configuration);\n }\n\n private generateDoNotTrackResponse(userId?: string): {\n [key: string]: any;\n } {\n return {\n policy: {\n action: FailoverStrategy.allow,\n },\n action: FailoverStrategy.allow,\n user_id: userId,\n failover: true,\n failover_reason: 'do not track',\n };\n }\n}\n","export enum EventType {\n CHALLENGE = '$challenge',\n CUSTOM = '$custom',\n LOGIN = '$login',\n LOGOUT = '$logout',\n PASSWORD_RESET_REQUEST = '$password_reset_request',\n PROFILE_RESET = '$profile_reset',\n PROFILE_UPDATE = '$profile_update',\n REGISTRATION = '$registration',\n TRANSACTION = '$transaction',\n}\n\nexport enum EventStatus {\n ATTEMPTED = '$attempted',\n FAILED = '$failed',\n REQUESTED = '$requested',\n SUCCEEDED = '$succeeded',\n}\n","export enum Action {\n allow = 'allow',\n deny = 'deny',\n challenge = 'challenge',\n}\n","export type SearchEventsPayload = {\n filters: Array<\n | SearchEventsQueryFilter\n | SearchEventsRelativeRangeQueryFilter\n | SearchEventsRangeQueryFilter\n | SearchEventsExistsQueryFilter\n | SearchEventsOrQueryFilter\n >;\n query_type?: SearchEventsQueryType;\n page?: number;\n columns?: Array<string>;\n results_size?: number;\n};\n\nexport enum SearchEventsQueryType {\n COUNT = '$count',\n RECORDS = '$records',\n RECORDS_WITH_COUNT = '$records_with_count',\n}\n\nexport type SearchEventsQueryFilter = {\n field: string;\n op: SearchEventsQueryFilterOperator;\n value:\n | string\n | number\n | boolean\n | Array<string>\n | Array<number>\n | { reference: string };\n};\n\nexport enum SearchEventsQueryFilterOperator {\n IN = '$in',\n NIN = '$nin',\n EQ = '$eq',\n NEQ = '$neq',\n LIKE = '$like',\n NLIKE = '$nlike',\n CONTAINS = '$contains',\n NCONTAINS = '$ncontains',\n STARTS_WITH = '$starts_with',\n NSTARTS_WITH = '$nstarts_with',\n ENDS_WITH = '$ends_with',\n NENDS_WITH = '$nends_with',\n MATCHES = '$matches',\n NMATCHES = '$nmatches',\n IP_RANGE = '$ip_range',\n NIP_RANGE = '$nip_range',\n}\n\nexport type SearchEventsRelativeRangeQueryFilter = {\n field: string;\n op: '$relative_range';\n value: {\n gteq?: number;\n gt?: number;\n lteq?: number;\n lt?: number;\n };\n};\n\nexport type SearchEventsRangeQueryFilter = {\n field: string;\n op: '$range';\n value: {\n gteq?: string | number;\n gt?: string | number;\n lteq?: string | number;\n lt?: string | number;\n };\n};\n\nexport type SearchEventsExistsQueryFilter = {\n field: string;\n op: '$exists' | '$nexists';\n};\n\nexport type SearchEventsOrQueryFilter = {\n value: Array<\n | SearchEventsQueryFilter\n | SearchEventsRelativeRangeQueryFilter\n | SearchEventsRangeQueryFilter\n | SearchEventsExistsQueryFilter\n >;\n op: '$or';\n};\n\nexport type GroupEventsPayload = {\n filters: any[];\n group_by: {\n fields: any[];\n filters?: any[];\n };\n columns: any[];\n query_type?: string;\n page?: number;\n aggregations?: any[];\n formulas?: any[];\n having?: any[];\n sort?: {\n field: string;\n func: string;\n transform?: {\n transform: string;\n options: object;\n };\n options?: object;\n order?: 'asc' | 'desc';\n };\n results_size?: number;\n};\n","export type SearchEventsResponse = {\n data: Event[];\n total_count: number;\n};\n\nexport type Event = {\n id: string;\n type: string;\n status: string;\n risk: number | null;\n signals: Array<EventSignal>;\n properties: Record<\n string,\n | string\n | number\n | boolean\n | object\n | Array<string>\n | Array<string | number | boolean>\n >;\n product: {\n id: string;\n };\n device: {\n fingerprint: string;\n user_agent?: string;\n hardware?: {\n type: string;\n name: string | null;\n brand: string | null;\n display: {\n width: number;\n height: number;\n };\n model?: {\n name: string | null;\n code: string | null;\n };\n };\n os?: {\n name: string;\n version: {\n major: string;\n full: string | null;\n };\n };\n software?: {\n type: string;\n name: string;\n languages: Array<string>;\n version: {\n major: string;\n full: string;\n };\n fingerprint: string;\n };\n timezone?: {\n offset?: number;\n name?: string;\n };\n screen?: {\n screen?: number;\n orientation?: string;\n };\n };\n ip: {\n asn: number;\n location: {\n city: string;\n continent_code: string;\n country_code: string;\n postal_code: string;\n region_code: string;\n latitude: number;\n longitude: number;\n };\n address: string;\n isp: {\n name?: string;\n organization?: string;\n };\n type: string;\n privacy?: {\n anonymous?: boolean;\n datacenter?: boolean;\n proxy?: boolean;\n tor?: boolean;\n };\n };\n policy: {\n name: string;\n id: string;\n revision_id: string | null; // @Deprecated\n action: string | null;\n response?: {\n status_code: number;\n body: string;\n headers: Array<{\n name?: string;\n value?: string;\n }>;\n } | null;\n };\n user: {\n id: string;\n registered_at: string;\n last_seen_at: string;\n risk: number | null;\n devices_count: number | null;\n name: string | null;\n email: string | null;\n phone: string | null;\n traits?: Record<string, string | number | boolean | object>;\n address?: {\n country_code: string;\n line1?: string;\n line2?: string;\n city?: string;\n region_code?: string;\n postal_code?: string;\n fingerprint?: string;\n };\n };\n created_at: string;\n params?: {\n email?: string;\n phone?: string;\n username?: string;\n };\n transaction?: {\n type: string;\n id: string;\n base_amount?: string;\n amount?: {\n type: string;\n value: string;\n currency: string;\n };\n payment_method?: {\n type: string;\n fingerprint?: string;\n holder_name?: string;\n bank_name?: string;\n country_code?: string;\n billing_address?: {\n line1?: string;\n line2?: string;\n city?: string;\n country_code?: string;\n region_code?: string;\n postal_code?: string;\n fingerprint?: string;\n };\n card?: {\n bin?: string;\n last4?: string;\n exp_month?: number;\n exp_year?: number;\n network?: string;\n funding?: string;\n };\n };\n shipping_address?: {\n country_code: string;\n line1?: string;\n line2?: string;\n city?: string;\n region_code?: string;\n postal_code?: string;\n fingerprint?: string;\n };\n merchant?: {\n id?: string;\n name?: string;\n category?: {\n code?: string;\n description?: string;\n };\n address?: {\n country_code: string;\n line1?: string;\n line2?: string;\n city?: string;\n region_code?: string;\n postal_code?: string;\n fingerprint?: string;\n };\n };\n };\n authentication_method?: {\n type: EventAuthenticationMethod;\n variant?: string;\n email?: string;\n phone?: string;\n };\n page?: {\n name: string;\n url: string;\n referrer?: string;\n };\n screen?: {\n name: string;\n };\n scores?: {\n account_sharing?: {\n score: number;\n };\n account_takeover?: {\n score: number;\n };\n bot?: {\n score: number;\n };\n multi_accounting?: {\n score: number;\n };\n spoofed_device?: {\n score: number;\n };\n spoofed_location?: {\n score: number;\n };\n unified?: {\n score: number;\n };\n };\n changeset?:\n | {\n [key: string]: {\n changed: boolean;\n };\n }\n | {\n from: string | null;\n to: string | null;\n };\n};\n\nexport enum EventSignal {\n ABUSE_IP = 'abuse_ip',\n BOT_BEHAVIOR = 'bot_behavior',\n CREDENTIAL_STUFFING = 'credential_stuffing',\n DISPOSABLE_EMAIL_DOMAIN = 'disposable_email_domain',\n GENERATED_EMAIL = 'generated_email',\n HEADLESS_BROWSER = 'headless_browser',\n HTTP_CLIENT_LIBRARY = 'http_client_library',\n IMPOSSIBLE_TRAVEL = 'impossible_travel',\n INVALID_EMAIL = 'invalid_email',\n INVALID_DEVICE_DATA = 'invalid_device_data',\n MISSING_DEVICE_DATA = 'missing_device_data',\n MISSING_HEADERS = 'missing_headers',\n MULTIPLE_ACCOUNTS_PER_DEVICE = 'multiple_accounts_per_device',\n MULTIPLE_ALIASES_PER_EMAIL = 'multiple_aliases_per_email',\n NEW_COUNTRY = 'new_country',\n NEW_DEVICE = 'new_device',\n NEW_DEVICE_TYPE = 'new_device_type',\n NEW_ISP = 'new_isp',\n NEW_LANGUAGE = 'new_language',\n NEW_OS = 'new_os',\n HIGH_ACTIVITY_DEVICE = 'high_activity_device',\n HIGH_ACTIVITY_IP = 'high_activity_ip',\n HIGH_ACTIVITY_ACCOUNT = 'high_activity_account',\n SPOOFED_DEVICE = 'spoofed_device',\n WEB_CRAWLER = 'web_crawler',\n}\n\nexport enum EventAuthenticationMethod {\n AUTHENTICATOR = '$authenticator',\n BIOMETRICS = '$biometrics',\n EMAIL = '$email',\n PASSWORD = '$password',\n PHONE = '$phone',\n PUSH = '$push',\n SECURITY_KEY = '$security_key',\n SOCIAL = '$social',\n SSO = '$sso',\n KBA = '$kba',\n ELECTRONIC_ID = '$electronic_id',\n PHYSICAL_ID = '$physical_id',\n DOCUMENT = '$document',\n VIDEO = '$video',\n PASSKEY = '$passkey',\n OTHER = '$other',\n}\n\nexport type Op =\n | '$eq'\n | '$neq'\n | '$in'\n | '$nin'\n | '$range'\n | '$exists'\n | '$nexists'\n | '$geo'\n | '$like'\n | '$nlike'\n | '$contains'\n | '$ncontains'\n | '$starts_with'\n | '$nstarts_with'\n | '$ends_with'\n | '$nends_with'\n | '$ip_range'\n | '$nip_range';\n\nexport type Func =\n | '$sum'\n | '$last'\n | '$avg'\n | '$min'\n | '$max'\n | '$count'\n | '$top_k'\n | '$date_histogram'\n | '$count_unique';\n\nexport type DataType =\n | 'array'\n | 'boolean'\n | 'datetime'\n | 'decimal'\n | 'integer'\n | 'ip'\n | 'map'\n | 'number'\n | 'string'\n | 'uuid';\nexport type Transform = '$to_end_of_interval';\n\nexport type NumberLike = number | string;\n\nexport type Source = 'ios' | 'android' | 'web';\n\nexport type SearchField = {\n field: string;\n op: Op[];\n func: Func[];\n type: DataType[];\n nice_name: string;\n description: string;\n transform?: Transform[];\n min?: NumberLike;\n max?: NumberLike;\n source?: Source[];\n example?: string;\n unit?: string;\n};\n\nexport type CountBucket = {\n name: string;\n field: string;\n type: '$count';\n options?: {\n size?: {\n data_type: string;\n };\n };\n};\n\nexport type DateHistogramBucket = {\n name: string;\n field: string;\n type: '$date_histogram';\n options: {\n interval: {\n required: boolean;\n data_type: string;\n enum: string;\n };\n time_zone: string;\n min?: {\n data_type: string;\n format?: string[];\n };\n max?: {\n data_type: string;\n format?: string[];\n };\n size: {\n data_type: string;\n };\n };\n};\n\nexport type RangeBucket = {\n name: string;\n field: string;\n type: '$range';\n options: {\n ranges: {\n required: boolean;\n data_type: 'string' | 'number';\n };\n };\n};\n\nexport type Bucket = CountBucket | DateHistogramBucket | RangeBucket;\n\nexport type GetEventsSchemaResponse = {\n fields: SearchField[];\n buckets: Bucket[];\n};\n\nexport type GroupEventsResponse = {\n data: GroupEvent[];\n total_count: number;\n};\n\nexport type GroupEvent = object;\n","import { deepMerge } from '../../utils/object';\nimport { Configuration } from '../../configuration';\nimport { ContextPrepareService } from '../../context/context.module';\nimport type { Request } from 'express';\n\nexport const PayloadPrepareService = {\n call: (\n payloadParams: { [key: string]: any },\n request: Request,\n configuration: Configuration,\n options: { [key: string]: any } = {}\n ) => {\n const context = ContextPrepareService.call(\n request,\n deepMerge(payloadParams, options),\n configuration\n );\n return deepMerge(payloadParams, { context });\n },\n};\n"],"mappings":"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","names":["FailoverStrategy","handleFailover","isTimeoutError","import_crypto","pino","pretty","EventType","EventStatus","Action","SearchEventsQueryType","SearchEventsQueryFilterOperator","EventSignal","EventAuthenticationMethod"]}
|