@salesforce/b2c-tooling-sdk 1.9.0 → 1.11.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/data/content-schemas/componenttype.json +37 -0
- package/dist/esm/config/dw-json.d.ts +9 -2
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +2 -2
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +7 -1
- package/dist/esm/config/mapping.js +10 -0
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.js +1 -0
- package/dist/esm/config/sources/package-json-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +23 -2
- package/dist/esm/operations/content/validate.js +46 -4
- package/dist/esm/operations/content/validate.js.map +1 -1
- package/dist/esm/operations/jobs/site-archive.d.ts +12 -0
- package/dist/esm/operations/jobs/site-archive.js +107 -3
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/package.json +73 -285
- package/dist/cjs/auth/api-key.d.ts +0 -28
- package/dist/cjs/auth/api-key.js +0 -45
- package/dist/cjs/auth/api-key.js.map +0 -1
- package/dist/cjs/auth/basic.d.ts +0 -7
- package/dist/cjs/auth/basic.js +0 -20
- package/dist/cjs/auth/basic.js.map +0 -1
- package/dist/cjs/auth/index.d.ts +0 -74
- package/dist/cjs/auth/index.js +0 -76
- package/dist/cjs/auth/index.js.map +0 -1
- package/dist/cjs/auth/jwt-utils.d.ts +0 -25
- package/dist/cjs/auth/jwt-utils.js +0 -66
- package/dist/cjs/auth/jwt-utils.js.map +0 -1
- package/dist/cjs/auth/middleware.d.ts +0 -196
- package/dist/cjs/auth/middleware.js +0 -190
- package/dist/cjs/auth/middleware.js.map +0 -1
- package/dist/cjs/auth/oauth-implicit.d.ts +0 -89
- package/dist/cjs/auth/oauth-implicit.js +0 -350
- package/dist/cjs/auth/oauth-implicit.js.map +0 -1
- package/dist/cjs/auth/oauth-jwt.d.ts +0 -99
- package/dist/cjs/auth/oauth-jwt.js +0 -343
- package/dist/cjs/auth/oauth-jwt.js.map +0 -1
- package/dist/cjs/auth/oauth.d.ts +0 -88
- package/dist/cjs/auth/oauth.js +0 -252
- package/dist/cjs/auth/oauth.js.map +0 -1
- package/dist/cjs/auth/resolve.d.ts +0 -100
- package/dist/cjs/auth/resolve.js +0 -175
- package/dist/cjs/auth/resolve.js.map +0 -1
- package/dist/cjs/auth/stateful-oauth-strategy.d.ts +0 -39
- package/dist/cjs/auth/stateful-oauth-strategy.js +0 -130
- package/dist/cjs/auth/stateful-oauth-strategy.js.map +0 -1
- package/dist/cjs/auth/stateful-store.d.ts +0 -49
- package/dist/cjs/auth/stateful-store.js +0 -166
- package/dist/cjs/auth/stateful-store.js.map +0 -1
- package/dist/cjs/auth/types.d.ts +0 -124
- package/dist/cjs/auth/types.js +0 -8
- package/dist/cjs/auth/types.js.map +0 -1
- package/dist/cjs/cli/am-command.d.ts +0 -74
- package/dist/cjs/cli/am-command.js +0 -199
- package/dist/cjs/cli/am-command.js.map +0 -1
- package/dist/cjs/cli/base-command.d.ts +0 -232
- package/dist/cjs/cli/base-command.js +0 -695
- package/dist/cjs/cli/base-command.js.map +0 -1
- package/dist/cjs/cli/cartridge-command.d.ts +0 -67
- package/dist/cjs/cli/cartridge-command.js +0 -146
- package/dist/cjs/cli/cartridge-command.js.map +0 -1
- package/dist/cjs/cli/cartridge-providers.d.ts +0 -149
- package/dist/cjs/cli/cartridge-providers.js +0 -103
- package/dist/cjs/cli/cartridge-providers.js.map +0 -1
- package/dist/cjs/cli/columns.d.ts +0 -128
- package/dist/cjs/cli/columns.js +0 -128
- package/dist/cjs/cli/columns.js.map +0 -1
- package/dist/cjs/cli/config.d.ts +0 -159
- package/dist/cjs/cli/config.js +0 -185
- package/dist/cjs/cli/config.js.map +0 -1
- package/dist/cjs/cli/details.d.ts +0 -69
- package/dist/cjs/cli/details.js +0 -72
- package/dist/cjs/cli/details.js.map +0 -1
- package/dist/cjs/cli/hooks.d.ts +0 -324
- package/dist/cjs/cli/hooks.js +0 -3
- package/dist/cjs/cli/hooks.js.map +0 -1
- package/dist/cjs/cli/index.d.ts +0 -108
- package/dist/cjs/cli/index.js +0 -111
- package/dist/cjs/cli/index.js.map +0 -1
- package/dist/cjs/cli/instance-command.d.ts +0 -131
- package/dist/cjs/cli/instance-command.js +0 -214
- package/dist/cjs/cli/instance-command.js.map +0 -1
- package/dist/cjs/cli/job-command.d.ts +0 -32
- package/dist/cjs/cli/job-command.js +0 -60
- package/dist/cjs/cli/job-command.js.map +0 -1
- package/dist/cjs/cli/lifecycle.d.ts +0 -189
- package/dist/cjs/cli/lifecycle.js +0 -130
- package/dist/cjs/cli/lifecycle.js.map +0 -1
- package/dist/cjs/cli/mrt-command.d.ts +0 -57
- package/dist/cjs/cli/mrt-command.js +0 -95
- package/dist/cjs/cli/mrt-command.js.map +0 -1
- package/dist/cjs/cli/oauth-command.d.ts +0 -122
- package/dist/cjs/cli/oauth-command.js +0 -311
- package/dist/cjs/cli/oauth-command.js.map +0 -1
- package/dist/cjs/cli/ods-command.d.ts +0 -97
- package/dist/cjs/cli/ods-command.js +0 -136
- package/dist/cjs/cli/ods-command.js.map +0 -1
- package/dist/cjs/cli/table.d.ts +0 -113
- package/dist/cjs/cli/table.js +0 -175
- package/dist/cjs/cli/table.js.map +0 -1
- package/dist/cjs/cli/webdav-command.d.ts +0 -110
- package/dist/cjs/cli/webdav-command.js +0 -106
- package/dist/cjs/cli/webdav-command.js.map +0 -1
- package/dist/cjs/clients/am-api.d.ts +0 -521
- package/dist/cjs/clients/am-api.js +0 -992
- package/dist/cjs/clients/am-api.js.map +0 -1
- package/dist/cjs/clients/am-apiclients-api.generated.d.ts +0 -803
- package/dist/cjs/clients/am-apiclients-api.generated.js +0 -6
- package/dist/cjs/clients/am-apiclients-api.generated.js.map +0 -1
- package/dist/cjs/clients/am-roles-api.generated.d.ts +0 -298
- package/dist/cjs/clients/am-roles-api.generated.js +0 -6
- package/dist/cjs/clients/am-roles-api.generated.js.map +0 -1
- package/dist/cjs/clients/am-users-api.generated.d.ts +0 -954
- package/dist/cjs/clients/am-users-api.generated.js +0 -6
- package/dist/cjs/clients/am-users-api.generated.js.map +0 -1
- package/dist/cjs/clients/cdn-zones.d.ts +0 -186
- package/dist/cjs/clients/cdn-zones.generated.d.ts +0 -8330
- package/dist/cjs/clients/cdn-zones.generated.js +0 -6
- package/dist/cjs/clients/cdn-zones.generated.js.map +0 -1
- package/dist/cjs/clients/cdn-zones.js +0 -103
- package/dist/cjs/clients/cdn-zones.js.map +0 -1
- package/dist/cjs/clients/cip.d.ts +0 -162
- package/dist/cjs/clients/cip.js +0 -572
- package/dist/cjs/clients/cip.js.map +0 -1
- package/dist/cjs/clients/custom-apis.d.ts +0 -174
- package/dist/cjs/clients/custom-apis.generated.d.ts +0 -202
- package/dist/cjs/clients/custom-apis.generated.js +0 -6
- package/dist/cjs/clients/custom-apis.generated.js.map +0 -1
- package/dist/cjs/clients/custom-apis.js +0 -140
- package/dist/cjs/clients/custom-apis.js.map +0 -1
- package/dist/cjs/clients/error-utils.d.ts +0 -35
- package/dist/cjs/clients/error-utils.js +0 -69
- package/dist/cjs/clients/error-utils.js.map +0 -1
- package/dist/cjs/clients/granular-replications.d.ts +0 -70
- package/dist/cjs/clients/granular-replications.generated.d.ts +0 -416
- package/dist/cjs/clients/granular-replications.generated.js +0 -6
- package/dist/cjs/clients/granular-replications.generated.js.map +0 -1
- package/dist/cjs/clients/granular-replications.js +0 -73
- package/dist/cjs/clients/granular-replications.js.map +0 -1
- package/dist/cjs/clients/index.d.ts +0 -145
- package/dist/cjs/clients/index.js +0 -137
- package/dist/cjs/clients/index.js.map +0 -1
- package/dist/cjs/clients/middleware-registry.d.ts +0 -184
- package/dist/cjs/clients/middleware-registry.js +0 -104
- package/dist/cjs/clients/middleware-registry.js.map +0 -1
- package/dist/cjs/clients/middleware.d.ts +0 -183
- package/dist/cjs/clients/middleware.js +0 -465
- package/dist/cjs/clients/middleware.js.map +0 -1
- package/dist/cjs/clients/mrt-b2c.d.ts +0 -138
- package/dist/cjs/clients/mrt-b2c.generated.d.ts +0 -176
- package/dist/cjs/clients/mrt-b2c.generated.js +0 -6
- package/dist/cjs/clients/mrt-b2c.generated.js.map +0 -1
- package/dist/cjs/clients/mrt-b2c.js +0 -86
- package/dist/cjs/clients/mrt-b2c.js.map +0 -1
- package/dist/cjs/clients/mrt.d.ts +0 -143
- package/dist/cjs/clients/mrt.generated.d.ts +0 -3806
- package/dist/cjs/clients/mrt.generated.js +0 -6
- package/dist/cjs/clients/mrt.generated.js.map +0 -1
- package/dist/cjs/clients/mrt.js +0 -93
- package/dist/cjs/clients/mrt.js.map +0 -1
- package/dist/cjs/clients/ocapi.d.ts +0 -128
- package/dist/cjs/clients/ocapi.generated.d.ts +0 -26052
- package/dist/cjs/clients/ocapi.generated.js +0 -6
- package/dist/cjs/clients/ocapi.generated.js.map +0 -1
- package/dist/cjs/clients/ocapi.js +0 -78
- package/dist/cjs/clients/ocapi.js.map +0 -1
- package/dist/cjs/clients/ods.d.ts +0 -160
- package/dist/cjs/clients/ods.generated.d.ts +0 -2860
- package/dist/cjs/clients/ods.generated.js +0 -6
- package/dist/cjs/clients/ods.generated.js.map +0 -1
- package/dist/cjs/clients/ods.js +0 -103
- package/dist/cjs/clients/ods.js.map +0 -1
- package/dist/cjs/clients/scapi-schemas.d.ts +0 -161
- package/dist/cjs/clients/scapi-schemas.generated.d.ts +0 -328
- package/dist/cjs/clients/scapi-schemas.generated.js +0 -6
- package/dist/cjs/clients/scapi-schemas.generated.js.map +0 -1
- package/dist/cjs/clients/scapi-schemas.js +0 -98
- package/dist/cjs/clients/scapi-schemas.js.map +0 -1
- package/dist/cjs/clients/slas-admin.d.ts +0 -132
- package/dist/cjs/clients/slas-admin.generated.d.ts +0 -1434
- package/dist/cjs/clients/slas-admin.generated.js +0 -6
- package/dist/cjs/clients/slas-admin.generated.js.map +0 -1
- package/dist/cjs/clients/slas-admin.js +0 -79
- package/dist/cjs/clients/slas-admin.js.map +0 -1
- package/dist/cjs/clients/tls-dispatcher.d.ts +0 -42
- package/dist/cjs/clients/tls-dispatcher.js +0 -107
- package/dist/cjs/clients/tls-dispatcher.js.map +0 -1
- package/dist/cjs/clients/user-agent.d.ts +0 -43
- package/dist/cjs/clients/user-agent.js +0 -87
- package/dist/cjs/clients/user-agent.js.map +0 -1
- package/dist/cjs/clients/webdav.d.ts +0 -186
- package/dist/cjs/clients/webdav.js +0 -395
- package/dist/cjs/clients/webdav.js.map +0 -1
- package/dist/cjs/config/config-source-registry.d.ts +0 -115
- package/dist/cjs/config/config-source-registry.js +0 -103
- package/dist/cjs/config/config-source-registry.js.map +0 -1
- package/dist/cjs/config/dw-json.d.ts +0 -267
- package/dist/cjs/config/dw-json.js +0 -333
- package/dist/cjs/config/dw-json.js.map +0 -1
- package/dist/cjs/config/index.d.ts +0 -100
- package/dist/cjs/config/index.js +0 -110
- package/dist/cjs/config/index.js.map +0 -1
- package/dist/cjs/config/instance-manager.d.ts +0 -97
- package/dist/cjs/config/instance-manager.js +0 -166
- package/dist/cjs/config/instance-manager.js.map +0 -1
- package/dist/cjs/config/mapping.d.ts +0 -193
- package/dist/cjs/config/mapping.js +0 -530
- package/dist/cjs/config/mapping.js.map +0 -1
- package/dist/cjs/config/resolved-config.d.ts +0 -29
- package/dist/cjs/config/resolved-config.js +0 -81
- package/dist/cjs/config/resolved-config.js.map +0 -1
- package/dist/cjs/config/resolver.d.ts +0 -191
- package/dist/cjs/config/resolver.js +0 -406
- package/dist/cjs/config/resolver.js.map +0 -1
- package/dist/cjs/config/sources/dw-json-source.d.ts +0 -27
- package/dist/cjs/config/sources/dw-json-source.js +0 -106
- package/dist/cjs/config/sources/dw-json-source.js.map +0 -1
- package/dist/cjs/config/sources/env-source.d.ts +0 -32
- package/dist/cjs/config/sources/env-source.js +0 -116
- package/dist/cjs/config/sources/env-source.js.map +0 -1
- package/dist/cjs/config/sources/index.d.ts +0 -9
- package/dist/cjs/config/sources/index.js +0 -15
- package/dist/cjs/config/sources/index.js.map +0 -1
- package/dist/cjs/config/sources/mobify-source.d.ts +0 -25
- package/dist/cjs/config/sources/mobify-source.js +0 -84
- package/dist/cjs/config/sources/mobify-source.js.map +0 -1
- package/dist/cjs/config/sources/package-json-source.d.ts +0 -14
- package/dist/cjs/config/sources/package-json-source.js +0 -96
- package/dist/cjs/config/sources/package-json-source.js.map +0 -1
- package/dist/cjs/config/types.d.ts +0 -407
- package/dist/cjs/config/types.js +0 -2
- package/dist/cjs/config/types.js.map +0 -1
- package/dist/cjs/defaults.d.ts +0 -36
- package/dist/cjs/defaults.js +0 -54
- package/dist/cjs/defaults.js.map +0 -1
- package/dist/cjs/discovery/detector.d.ts +0 -75
- package/dist/cjs/discovery/detector.js +0 -108
- package/dist/cjs/discovery/detector.js.map +0 -1
- package/dist/cjs/discovery/index.d.ts +0 -63
- package/dist/cjs/discovery/index.js +0 -70
- package/dist/cjs/discovery/index.js.map +0 -1
- package/dist/cjs/discovery/patterns/cartridges.d.ts +0 -16
- package/dist/cjs/discovery/patterns/cartridges.js +0 -16
- package/dist/cjs/discovery/patterns/cartridges.js.map +0 -1
- package/dist/cjs/discovery/patterns/index.d.ts +0 -21
- package/dist/cjs/discovery/patterns/index.js +0 -16
- package/dist/cjs/discovery/patterns/index.js.map +0 -1
- package/dist/cjs/discovery/patterns/pwa-kit.d.ts +0 -15
- package/dist/cjs/discovery/patterns/pwa-kit.js +0 -26
- package/dist/cjs/discovery/patterns/pwa-kit.js.map +0 -1
- package/dist/cjs/discovery/patterns/sfra.d.ts +0 -34
- package/dist/cjs/discovery/patterns/sfra.js +0 -50
- package/dist/cjs/discovery/patterns/sfra.js.map +0 -1
- package/dist/cjs/discovery/patterns/storefront-next.d.ts +0 -10
- package/dist/cjs/discovery/patterns/storefront-next.js +0 -65
- package/dist/cjs/discovery/patterns/storefront-next.js.map +0 -1
- package/dist/cjs/discovery/types.d.ts +0 -47
- package/dist/cjs/discovery/types.js +0 -12
- package/dist/cjs/discovery/types.js.map +0 -1
- package/dist/cjs/discovery/utils.d.ts +0 -44
- package/dist/cjs/discovery/utils.js +0 -82
- package/dist/cjs/discovery/utils.js.map +0 -1
- package/dist/cjs/docs/download.d.ts +0 -45
- package/dist/cjs/docs/download.js +0 -96
- package/dist/cjs/docs/download.js.map +0 -1
- package/dist/cjs/docs/index.d.ts +0 -44
- package/dist/cjs/docs/index.js +0 -12
- package/dist/cjs/docs/index.js.map +0 -1
- package/dist/cjs/docs/schema.d.ts +0 -26
- package/dist/cjs/docs/schema.js +0 -92
- package/dist/cjs/docs/schema.js.map +0 -1
- package/dist/cjs/docs/search.d.ts +0 -67
- package/dist/cjs/docs/search.js +0 -128
- package/dist/cjs/docs/search.js.map +0 -1
- package/dist/cjs/docs/types.d.ts +0 -64
- package/dist/cjs/docs/types.js +0 -15
- package/dist/cjs/docs/types.js.map +0 -1
- package/dist/cjs/errors/http-error.d.ts +0 -34
- package/dist/cjs/errors/http-error.js +0 -45
- package/dist/cjs/errors/http-error.js.map +0 -1
- package/dist/cjs/errors/index.d.ts +0 -12
- package/dist/cjs/errors/index.js +0 -18
- package/dist/cjs/errors/index.js.map +0 -1
- package/dist/cjs/i18n/index.d.ts +0 -144
- package/dist/cjs/i18n/index.js +0 -245
- package/dist/cjs/i18n/index.js.map +0 -1
- package/dist/cjs/i18n/locales/de.d.ts +0 -13
- package/dist/cjs/i18n/locales/de.js +0 -19
- package/dist/cjs/i18n/locales/de.js.map +0 -1
- package/dist/cjs/i18n/locales/index.d.ts +0 -28
- package/dist/cjs/i18n/locales/index.js +0 -25
- package/dist/cjs/i18n/locales/index.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -33
- package/dist/cjs/index.js +0 -41
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/instance/index.d.ts +0 -136
- package/dist/cjs/instance/index.js +0 -131
- package/dist/cjs/instance/index.js.map +0 -1
- package/dist/cjs/logging/index.d.ts +0 -116
- package/dist/cjs/logging/index.js +0 -121
- package/dist/cjs/logging/index.js.map +0 -1
- package/dist/cjs/logging/logger.d.ts +0 -9
- package/dist/cjs/logging/logger.js +0 -138
- package/dist/cjs/logging/logger.js.map +0 -1
- package/dist/cjs/logging/types.d.ts +0 -45
- package/dist/cjs/logging/types.js +0 -10
- package/dist/cjs/logging/types.js.map +0 -1
- package/dist/cjs/operations/bm-roles/index.d.ts +0 -52
- package/dist/cjs/operations/bm-roles/index.js +0 -57
- package/dist/cjs/operations/bm-roles/index.js.map +0 -1
- package/dist/cjs/operations/bm-roles/roles.d.ts +0 -155
- package/dist/cjs/operations/bm-roles/roles.js +0 -194
- package/dist/cjs/operations/bm-roles/roles.js.map +0 -1
- package/dist/cjs/operations/bm-users/index.d.ts +0 -50
- package/dist/cjs/operations/bm-users/index.js +0 -55
- package/dist/cjs/operations/bm-users/index.js.map +0 -1
- package/dist/cjs/operations/bm-users/users.d.ts +0 -189
- package/dist/cjs/operations/bm-users/users.js +0 -229
- package/dist/cjs/operations/bm-users/users.js.map +0 -1
- package/dist/cjs/operations/cap/index.d.ts +0 -56
- package/dist/cjs/operations/cap/index.js +0 -57
- package/dist/cjs/operations/cap/index.js.map +0 -1
- package/dist/cjs/operations/cap/install.d.ts +0 -53
- package/dist/cjs/operations/cap/install.js +0 -181
- package/dist/cjs/operations/cap/install.js.map +0 -1
- package/dist/cjs/operations/cap/list.d.ts +0 -92
- package/dist/cjs/operations/cap/list.js +0 -230
- package/dist/cjs/operations/cap/list.js.map +0 -1
- package/dist/cjs/operations/cap/package.d.ts +0 -39
- package/dist/cjs/operations/cap/package.js +0 -77
- package/dist/cjs/operations/cap/package.js.map +0 -1
- package/dist/cjs/operations/cap/pull.d.ts +0 -21
- package/dist/cjs/operations/cap/pull.js +0 -77
- package/dist/cjs/operations/cap/pull.js.map +0 -1
- package/dist/cjs/operations/cap/uninstall.d.ts +0 -46
- package/dist/cjs/operations/cap/uninstall.js +0 -87
- package/dist/cjs/operations/cap/uninstall.js.map +0 -1
- package/dist/cjs/operations/cap/validate.d.ts +0 -47
- package/dist/cjs/operations/cap/validate.js +0 -235
- package/dist/cjs/operations/cap/validate.js.map +0 -1
- package/dist/cjs/operations/cip/index.d.ts +0 -35
- package/dist/cjs/operations/cip/index.js +0 -128
- package/dist/cjs/operations/cip/index.js.map +0 -1
- package/dist/cjs/operations/cip/reports.d.ts +0 -2
- package/dist/cjs/operations/cip/reports.js +0 -210
- package/dist/cjs/operations/cip/reports.js.map +0 -1
- package/dist/cjs/operations/cip/types.d.ts +0 -97
- package/dist/cjs/operations/cip/types.js +0 -7
- package/dist/cjs/operations/cip/types.js.map +0 -1
- package/dist/cjs/operations/code/cartridges.d.ts +0 -46
- package/dist/cjs/operations/code/cartridges.js +0 -69
- package/dist/cjs/operations/code/cartridges.js.map +0 -1
- package/dist/cjs/operations/code/deploy.d.ts +0 -121
- package/dist/cjs/operations/code/deploy.js +0 -255
- package/dist/cjs/operations/code/deploy.js.map +0 -1
- package/dist/cjs/operations/code/download.d.ts +0 -77
- package/dist/cjs/operations/code/download.js +0 -300
- package/dist/cjs/operations/code/download.js.map +0 -1
- package/dist/cjs/operations/code/index.d.ts +0 -74
- package/dist/cjs/operations/code/index.js +0 -80
- package/dist/cjs/operations/code/index.js.map +0 -1
- package/dist/cjs/operations/code/upload-files.d.ts +0 -47
- package/dist/cjs/operations/code/upload-files.js +0 -116
- package/dist/cjs/operations/code/upload-files.js.map +0 -1
- package/dist/cjs/operations/code/versions.d.ts +0 -99
- package/dist/cjs/operations/code/versions.js +0 -156
- package/dist/cjs/operations/code/versions.js.map +0 -1
- package/dist/cjs/operations/code/watch.d.ts +0 -58
- package/dist/cjs/operations/code/watch.js +0 -175
- package/dist/cjs/operations/code/watch.js.map +0 -1
- package/dist/cjs/operations/content/asset-query.d.ts +0 -22
- package/dist/cjs/operations/content/asset-query.js +0 -77
- package/dist/cjs/operations/content/asset-query.js.map +0 -1
- package/dist/cjs/operations/content/export.d.ts +0 -57
- package/dist/cjs/operations/content/export.js +0 -221
- package/dist/cjs/operations/content/export.js.map +0 -1
- package/dist/cjs/operations/content/index.d.ts +0 -56
- package/dist/cjs/operations/content/index.js +0 -60
- package/dist/cjs/operations/content/index.js.map +0 -1
- package/dist/cjs/operations/content/library.d.ts +0 -137
- package/dist/cjs/operations/content/library.js +0 -396
- package/dist/cjs/operations/content/library.js.map +0 -1
- package/dist/cjs/operations/content/types.d.ts +0 -144
- package/dist/cjs/operations/content/types.js +0 -7
- package/dist/cjs/operations/content/types.js.map +0 -1
- package/dist/cjs/operations/content/validate.d.ts +0 -64
- package/dist/cjs/operations/content/validate.js +0 -170
- package/dist/cjs/operations/content/validate.js.map +0 -1
- package/dist/cjs/operations/debug/dap-adapter.d.ts +0 -72
- package/dist/cjs/operations/debug/dap-adapter.js +0 -505
- package/dist/cjs/operations/debug/dap-adapter.js.map +0 -1
- package/dist/cjs/operations/debug/debug-session.d.ts +0 -51
- package/dist/cjs/operations/debug/debug-session.js +0 -234
- package/dist/cjs/operations/debug/debug-session.js.map +0 -1
- package/dist/cjs/operations/debug/index.d.ts +0 -20
- package/dist/cjs/operations/debug/index.js +0 -21
- package/dist/cjs/operations/debug/index.js.map +0 -1
- package/dist/cjs/operations/debug/projections.d.ts +0 -72
- package/dist/cjs/operations/debug/projections.js +0 -84
- package/dist/cjs/operations/debug/projections.js.map +0 -1
- package/dist/cjs/operations/debug/resolve-path.d.ts +0 -15
- package/dist/cjs/operations/debug/resolve-path.js +0 -52
- package/dist/cjs/operations/debug/resolve-path.js.map +0 -1
- package/dist/cjs/operations/debug/sdapi-client.d.ts +0 -44
- package/dist/cjs/operations/debug/sdapi-client.js +0 -169
- package/dist/cjs/operations/debug/sdapi-client.js.map +0 -1
- package/dist/cjs/operations/debug/source-mapping.d.ts +0 -13
- package/dist/cjs/operations/debug/source-mapping.js +0 -57
- package/dist/cjs/operations/debug/source-mapping.js.map +0 -1
- package/dist/cjs/operations/debug/types.d.ts +0 -95
- package/dist/cjs/operations/debug/types.js +0 -2
- package/dist/cjs/operations/debug/types.js.map +0 -1
- package/dist/cjs/operations/debug/variable-store.d.ts +0 -35
- package/dist/cjs/operations/debug/variable-store.js +0 -52
- package/dist/cjs/operations/debug/variable-store.js.map +0 -1
- package/dist/cjs/operations/jobs/index.d.ts +0 -66
- package/dist/cjs/operations/jobs/index.js +0 -72
- package/dist/cjs/operations/jobs/index.js.map +0 -1
- package/dist/cjs/operations/jobs/run.d.ts +0 -239
- package/dist/cjs/operations/jobs/run.js +0 -324
- package/dist/cjs/operations/jobs/run.js.map +0 -1
- package/dist/cjs/operations/jobs/site-archive.d.ts +0 -267
- package/dist/cjs/operations/jobs/site-archive.js +0 -423
- package/dist/cjs/operations/jobs/site-archive.js.map +0 -1
- package/dist/cjs/operations/logs/index.d.ts +0 -65
- package/dist/cjs/operations/logs/index.js +0 -73
- package/dist/cjs/operations/logs/index.js.map +0 -1
- package/dist/cjs/operations/logs/list.d.ts +0 -35
- package/dist/cjs/operations/logs/list.js +0 -144
- package/dist/cjs/operations/logs/list.js.map +0 -1
- package/dist/cjs/operations/logs/path-normalizer.d.ts +0 -82
- package/dist/cjs/operations/logs/path-normalizer.js +0 -190
- package/dist/cjs/operations/logs/path-normalizer.js.map +0 -1
- package/dist/cjs/operations/logs/tail.d.ts +0 -92
- package/dist/cjs/operations/logs/tail.js +0 -525
- package/dist/cjs/operations/logs/tail.js.map +0 -1
- package/dist/cjs/operations/logs/types.d.ts +0 -132
- package/dist/cjs/operations/logs/types.js +0 -7
- package/dist/cjs/operations/logs/types.js.map +0 -1
- package/dist/cjs/operations/mrt/access-control.d.ts +0 -192
- package/dist/cjs/operations/mrt/access-control.js +0 -152
- package/dist/cjs/operations/mrt/access-control.js.map +0 -1
- package/dist/cjs/operations/mrt/b2c-config.d.ts +0 -201
- package/dist/cjs/operations/mrt/b2c-config.js +0 -210
- package/dist/cjs/operations/mrt/b2c-config.js.map +0 -1
- package/dist/cjs/operations/mrt/bundle.d.ts +0 -114
- package/dist/cjs/operations/mrt/bundle.js +0 -166
- package/dist/cjs/operations/mrt/bundle.js.map +0 -1
- package/dist/cjs/operations/mrt/cache.d.ts +0 -80
- package/dist/cjs/operations/mrt/cache.js +0 -65
- package/dist/cjs/operations/mrt/cache.js.map +0 -1
- package/dist/cjs/operations/mrt/certificate.d.ts +0 -60
- package/dist/cjs/operations/mrt/certificate.js +0 -76
- package/dist/cjs/operations/mrt/certificate.js.map +0 -1
- package/dist/cjs/operations/mrt/deployment.d.ts +0 -157
- package/dist/cjs/operations/mrt/deployment.js +0 -109
- package/dist/cjs/operations/mrt/deployment.js.map +0 -1
- package/dist/cjs/operations/mrt/env-var.d.ts +0 -176
- package/dist/cjs/operations/mrt/env-var.js +0 -231
- package/dist/cjs/operations/mrt/env-var.js.map +0 -1
- package/dist/cjs/operations/mrt/env.d.ts +0 -491
- package/dist/cjs/operations/mrt/env.js +0 -425
- package/dist/cjs/operations/mrt/env.js.map +0 -1
- package/dist/cjs/operations/mrt/index.d.ts +0 -75
- package/dist/cjs/operations/mrt/index.js +0 -81
- package/dist/cjs/operations/mrt/index.js.map +0 -1
- package/dist/cjs/operations/mrt/member.d.ts +0 -281
- package/dist/cjs/operations/mrt/member.js +0 -244
- package/dist/cjs/operations/mrt/member.js.map +0 -1
- package/dist/cjs/operations/mrt/notification.d.ts +0 -252
- package/dist/cjs/operations/mrt/notification.js +0 -206
- package/dist/cjs/operations/mrt/notification.js.map +0 -1
- package/dist/cjs/operations/mrt/organization-member.d.ts +0 -68
- package/dist/cjs/operations/mrt/organization-member.js +0 -88
- package/dist/cjs/operations/mrt/organization-member.js.map +0 -1
- package/dist/cjs/operations/mrt/organization.d.ts +0 -80
- package/dist/cjs/operations/mrt/organization.js +0 -53
- package/dist/cjs/operations/mrt/organization.js.map +0 -1
- package/dist/cjs/operations/mrt/project.d.ts +0 -261
- package/dist/cjs/operations/mrt/project.js +0 -232
- package/dist/cjs/operations/mrt/project.js.map +0 -1
- package/dist/cjs/operations/mrt/push.d.ts +0 -290
- package/dist/cjs/operations/mrt/push.js +0 -288
- package/dist/cjs/operations/mrt/push.js.map +0 -1
- package/dist/cjs/operations/mrt/redirect.d.ts +0 -337
- package/dist/cjs/operations/mrt/redirect.js +0 -256
- package/dist/cjs/operations/mrt/redirect.js.map +0 -1
- package/dist/cjs/operations/mrt/tail-logs.d.ts +0 -130
- package/dist/cjs/operations/mrt/tail-logs.js +0 -224
- package/dist/cjs/operations/mrt/tail-logs.js.map +0 -1
- package/dist/cjs/operations/mrt/user.d.ts +0 -135
- package/dist/cjs/operations/mrt/user.js +0 -153
- package/dist/cjs/operations/mrt/user.js.map +0 -1
- package/dist/cjs/operations/ods/index.d.ts +0 -10
- package/dist/cjs/operations/ods/index.js +0 -14
- package/dist/cjs/operations/ods/index.js.map +0 -1
- package/dist/cjs/operations/ods/sandbox-lookup.d.ts +0 -63
- package/dist/cjs/operations/ods/sandbox-lookup.js +0 -130
- package/dist/cjs/operations/ods/sandbox-lookup.js.map +0 -1
- package/dist/cjs/operations/ods/wait-for-clone.d.ts +0 -46
- package/dist/cjs/operations/ods/wait-for-clone.js +0 -100
- package/dist/cjs/operations/ods/wait-for-clone.js.map +0 -1
- package/dist/cjs/operations/ods/wait-for-sandbox.d.ts +0 -64
- package/dist/cjs/operations/ods/wait-for-sandbox.js +0 -114
- package/dist/cjs/operations/ods/wait-for-sandbox.js.map +0 -1
- package/dist/cjs/operations/orgs/index.d.ts +0 -74
- package/dist/cjs/operations/orgs/index.js +0 -33
- package/dist/cjs/operations/orgs/index.js.map +0 -1
- package/dist/cjs/operations/roles/index.d.ts +0 -43
- package/dist/cjs/operations/roles/index.js +0 -48
- package/dist/cjs/operations/roles/index.js.map +0 -1
- package/dist/cjs/operations/sites/cartridges.d.ts +0 -114
- package/dist/cjs/operations/sites/cartridges.js +0 -378
- package/dist/cjs/operations/sites/cartridges.js.map +0 -1
- package/dist/cjs/operations/sites/index.d.ts +0 -46
- package/dist/cjs/operations/sites/index.js +0 -51
- package/dist/cjs/operations/sites/index.js.map +0 -1
- package/dist/cjs/operations/users/index.d.ts +0 -153
- package/dist/cjs/operations/users/index.js +0 -139
- package/dist/cjs/operations/users/index.js.map +0 -1
- package/dist/cjs/operations/util/zip.d.ts +0 -5
- package/dist/cjs/operations/util/zip.js +0 -25
- package/dist/cjs/operations/util/zip.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/plugins/discovery.d.ts +0 -46
- package/dist/cjs/plugins/discovery.js +0 -122
- package/dist/cjs/plugins/discovery.js.map +0 -1
- package/dist/cjs/plugins/index.d.ts +0 -26
- package/dist/cjs/plugins/index.js +0 -32
- package/dist/cjs/plugins/index.js.map +0 -1
- package/dist/cjs/plugins/loader.d.ts +0 -34
- package/dist/cjs/plugins/loader.js +0 -59
- package/dist/cjs/plugins/loader.js.map +0 -1
- package/dist/cjs/plugins/manager.d.ts +0 -70
- package/dist/cjs/plugins/manager.js +0 -173
- package/dist/cjs/plugins/manager.js.map +0 -1
- package/dist/cjs/safety/index.d.ts +0 -12
- package/dist/cjs/safety/index.js +0 -11
- package/dist/cjs/safety/index.js.map +0 -1
- package/dist/cjs/safety/safety-guard.d.ts +0 -92
- package/dist/cjs/safety/safety-guard.js +0 -270
- package/dist/cjs/safety/safety-guard.js.map +0 -1
- package/dist/cjs/safety/safety-middleware.d.ts +0 -130
- package/dist/cjs/safety/safety-middleware.js +0 -248
- package/dist/cjs/safety/safety-middleware.js.map +0 -1
- package/dist/cjs/safety/types.d.ts +0 -81
- package/dist/cjs/safety/types.js +0 -16
- package/dist/cjs/safety/types.js.map +0 -1
- package/dist/cjs/safety/with-confirmation.d.ts +0 -58
- package/dist/cjs/safety/with-confirmation.js +0 -67
- package/dist/cjs/safety/with-confirmation.js.map +0 -1
- package/dist/cjs/scaffold/engine.d.ts +0 -68
- package/dist/cjs/scaffold/engine.js +0 -149
- package/dist/cjs/scaffold/engine.js.map +0 -1
- package/dist/cjs/scaffold/executor.d.ts +0 -36
- package/dist/cjs/scaffold/executor.js +0 -293
- package/dist/cjs/scaffold/executor.js.map +0 -1
- package/dist/cjs/scaffold/index.d.ts +0 -76
- package/dist/cjs/scaffold/index.js +0 -23
- package/dist/cjs/scaffold/index.js.map +0 -1
- package/dist/cjs/scaffold/merge.d.ts +0 -63
- package/dist/cjs/scaffold/merge.js +0 -192
- package/dist/cjs/scaffold/merge.js.map +0 -1
- package/dist/cjs/scaffold/parameter-resolver.d.ts +0 -86
- package/dist/cjs/scaffold/parameter-resolver.js +0 -191
- package/dist/cjs/scaffold/parameter-resolver.js.map +0 -1
- package/dist/cjs/scaffold/registry.d.ts +0 -60
- package/dist/cjs/scaffold/registry.js +0 -225
- package/dist/cjs/scaffold/registry.js.map +0 -1
- package/dist/cjs/scaffold/sources.d.ts +0 -83
- package/dist/cjs/scaffold/sources.js +0 -236
- package/dist/cjs/scaffold/sources.js.map +0 -1
- package/dist/cjs/scaffold/types.d.ts +0 -282
- package/dist/cjs/scaffold/types.js +0 -14
- package/dist/cjs/scaffold/types.js.map +0 -1
- package/dist/cjs/scaffold/validation.d.ts +0 -81
- package/dist/cjs/scaffold/validation.js +0 -250
- package/dist/cjs/scaffold/validation.js.map +0 -1
- package/dist/cjs/scaffold/validators.d.ts +0 -33
- package/dist/cjs/scaffold/validators.js +0 -340
- package/dist/cjs/scaffold/validators.js.map +0 -1
- package/dist/cjs/schemas/collapse.d.ts +0 -150
- package/dist/cjs/schemas/collapse.js +0 -180
- package/dist/cjs/schemas/collapse.js.map +0 -1
- package/dist/cjs/schemas/index.d.ts +0 -58
- package/dist/cjs/schemas/index.js +0 -65
- package/dist/cjs/schemas/index.js.map +0 -1
- package/dist/cjs/schemas/security-schemes.d.ts +0 -26
- package/dist/cjs/schemas/security-schemes.js +0 -44
- package/dist/cjs/schemas/security-schemes.js.map +0 -1
- package/dist/cjs/skills/agents.d.ts +0 -42
- package/dist/cjs/skills/agents.js +0 -200
- package/dist/cjs/skills/agents.js.map +0 -1
- package/dist/cjs/skills/github.d.ts +0 -31
- package/dist/cjs/skills/github.js +0 -450
- package/dist/cjs/skills/github.js.map +0 -1
- package/dist/cjs/skills/index.d.ts +0 -43
- package/dist/cjs/skills/index.js +0 -16
- package/dist/cjs/skills/index.js.map +0 -1
- package/dist/cjs/skills/installer.d.ts +0 -35
- package/dist/cjs/skills/installer.js +0 -182
- package/dist/cjs/skills/installer.js.map +0 -1
- package/dist/cjs/skills/parser.d.ts +0 -39
- package/dist/cjs/skills/parser.js +0 -126
- package/dist/cjs/skills/parser.js.map +0 -1
- package/dist/cjs/skills/sources.d.ts +0 -4
- package/dist/cjs/skills/sources.js +0 -52
- package/dist/cjs/skills/sources.js.map +0 -1
- package/dist/cjs/skills/types.d.ts +0 -153
- package/dist/cjs/skills/types.js +0 -7
- package/dist/cjs/skills/types.js.map +0 -1
- package/dist/cjs/slas/index.d.ts +0 -12
- package/dist/cjs/slas/index.js +0 -8
- package/dist/cjs/slas/index.js.map +0 -1
- package/dist/cjs/slas/pkce.d.ts +0 -13
- package/dist/cjs/slas/pkce.js +0 -35
- package/dist/cjs/slas/pkce.js.map +0 -1
- package/dist/cjs/slas/token.d.ts +0 -24
- package/dist/cjs/slas/token.js +0 -261
- package/dist/cjs/slas/token.js.map +0 -1
- package/dist/cjs/slas/types.d.ts +0 -43
- package/dist/cjs/slas/types.js +0 -7
- package/dist/cjs/slas/types.js.map +0 -1
- package/dist/cjs/telemetry/index.d.ts +0 -34
- package/dist/cjs/telemetry/index.js +0 -32
- package/dist/cjs/telemetry/index.js.map +0 -1
- package/dist/cjs/telemetry/telemetry.d.ts +0 -88
- package/dist/cjs/telemetry/telemetry.js +0 -298
- package/dist/cjs/telemetry/telemetry.js.map +0 -1
- package/dist/cjs/telemetry/types.d.ts +0 -62
- package/dist/cjs/telemetry/types.js +0 -7
- package/dist/cjs/telemetry/types.js.map +0 -1
- package/dist/cjs/test-utils/config-isolation.d.ts +0 -2
- package/dist/cjs/test-utils/config-isolation.js +0 -48
- package/dist/cjs/test-utils/config-isolation.js.map +0 -1
- package/dist/cjs/test-utils/index.d.ts +0 -1
- package/dist/cjs/test-utils/index.js +0 -7
- package/dist/cjs/test-utils/index.js.map +0 -1
- package/dist/cjs/ux/confirm.d.ts +0 -14
- package/dist/cjs/ux/confirm.js +0 -36
- package/dist/cjs/ux/confirm.js.map +0 -1
- package/dist/cjs/ux/index.d.ts +0 -1
- package/dist/cjs/ux/index.js +0 -7
- package/dist/cjs/ux/index.js.map +0 -1
- package/dist/cjs/version.d.ts +0 -14
- package/dist/cjs/version.js +0 -29
- package/dist/cjs/version.js.map +0 -1
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared middleware for openapi-fetch clients.
|
|
3
|
-
*
|
|
4
|
-
* Provides reusable authentication and logging middleware that can be
|
|
5
|
-
* used across all API clients (OCAPI, SLAS, SCAPI, etc.).
|
|
6
|
-
*
|
|
7
|
-
* @module clients/middleware
|
|
8
|
-
*/
|
|
9
|
-
import type { Middleware } from 'openapi-fetch';
|
|
10
|
-
import type { AuthStrategy } from '../auth/types.js';
|
|
11
|
-
/**
|
|
12
|
-
* Configuration for extra parameters middleware.
|
|
13
|
-
*/
|
|
14
|
-
export interface ExtraParamsConfig {
|
|
15
|
-
/** Extra query parameters to add to the URL */
|
|
16
|
-
query?: Record<string, string | number | boolean | undefined>;
|
|
17
|
-
/** Extra body fields to merge into JSON request bodies */
|
|
18
|
-
body?: Record<string, unknown>;
|
|
19
|
-
/** Extra HTTP headers to add to all requests */
|
|
20
|
-
headers?: Record<string, string>;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Creates authentication middleware for openapi-fetch.
|
|
24
|
-
*
|
|
25
|
-
* This middleware intercepts requests and adds OAuth authentication headers
|
|
26
|
-
* using the provided AuthStrategy. It also handles 401 responses by invalidating
|
|
27
|
-
* the token and retrying the request once with a fresh token.
|
|
28
|
-
*
|
|
29
|
-
* @param auth - The authentication strategy to use
|
|
30
|
-
* @returns Middleware that adds auth headers to requests and retries on 401
|
|
31
|
-
*/
|
|
32
|
-
export declare function createAuthMiddleware(auth: AuthStrategy): Middleware;
|
|
33
|
-
/**
|
|
34
|
-
* Configuration for rate limiting middleware.
|
|
35
|
-
*/
|
|
36
|
-
export interface RateLimitMiddlewareConfig {
|
|
37
|
-
/**
|
|
38
|
-
* Maximum number of retry attempts when a rate limit response is received.
|
|
39
|
-
* Defaults to 3.
|
|
40
|
-
*/
|
|
41
|
-
maxRetries?: number;
|
|
42
|
-
/**
|
|
43
|
-
* Base delay in milliseconds used for exponential backoff when no Retry-After
|
|
44
|
-
* header is present. Defaults to 1000ms.
|
|
45
|
-
*/
|
|
46
|
-
baseDelayMs?: number;
|
|
47
|
-
/**
|
|
48
|
-
* Maximum delay in milliseconds between retries. Defaults to 30000ms.
|
|
49
|
-
*/
|
|
50
|
-
maxDelayMs?: number;
|
|
51
|
-
/**
|
|
52
|
-
* HTTP status codes that should trigger rate limit handling.
|
|
53
|
-
* Defaults to [429]. 503 is often used for overload, but is not included
|
|
54
|
-
* by default to avoid surprising retries for maintenance windows.
|
|
55
|
-
*/
|
|
56
|
-
statusCodes?: number[];
|
|
57
|
-
/**
|
|
58
|
-
* Optional log prefix (e.g., 'MRT') used in log messages.
|
|
59
|
-
*/
|
|
60
|
-
prefix?: string;
|
|
61
|
-
/**
|
|
62
|
-
* Optional fetch implementation used for retries when the middleware context
|
|
63
|
-
* does not provide a re-dispatch helper.
|
|
64
|
-
*/
|
|
65
|
-
fetch?: (request: Request) => Promise<Response>;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Creates rate limiting middleware for openapi-fetch clients.
|
|
69
|
-
*
|
|
70
|
-
* This middleware inspects responses for rate-limit status codes (by default
|
|
71
|
-
* 429 Too Many Requests), uses the Retry-After header when present to
|
|
72
|
-
* determine a delay, and retries the request up to a configurable limit.
|
|
73
|
-
*
|
|
74
|
-
* The middleware is generic and can be used by MRT and other clients. It does
|
|
75
|
-
* not currently read CLI configuration directly; callers should pass
|
|
76
|
-
* configuration via the factory function.
|
|
77
|
-
*/
|
|
78
|
-
export declare function createRateLimitMiddleware(config?: RateLimitMiddlewareConfig): Middleware;
|
|
79
|
-
/**
|
|
80
|
-
* Configuration for logging middleware.
|
|
81
|
-
*/
|
|
82
|
-
export interface LoggingMiddlewareConfig {
|
|
83
|
-
/**
|
|
84
|
-
* Prefix for log messages (e.g., 'OCAPI', 'SLAS', 'MRT').
|
|
85
|
-
*/
|
|
86
|
-
prefix?: string;
|
|
87
|
-
/**
|
|
88
|
-
* Body keys to mask in logs (replaced with '...' placeholder).
|
|
89
|
-
* Useful for large payloads like base64-encoded file data.
|
|
90
|
-
* @example ['data', 'password', 'secret']
|
|
91
|
-
*/
|
|
92
|
-
maskBodyKeys?: string[];
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Creates logging middleware for openapi-fetch clients.
|
|
96
|
-
*
|
|
97
|
-
* Logs request/response details at debug and trace levels.
|
|
98
|
-
*
|
|
99
|
-
* @param config - Logging configuration or prefix string for backwards compatibility
|
|
100
|
-
* @returns Middleware that logs requests and responses
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* // Simple usage with just a prefix
|
|
104
|
-
* client.use(createLoggingMiddleware('OCAPI'));
|
|
105
|
-
*
|
|
106
|
-
* @example
|
|
107
|
-
* // With body masking for large payloads
|
|
108
|
-
* client.use(createLoggingMiddleware({
|
|
109
|
-
* prefix: 'MRT',
|
|
110
|
-
* maskBodyKeys: ['data'] // Masks base64-encoded bundle data
|
|
111
|
-
* }));
|
|
112
|
-
*/
|
|
113
|
-
export declare function createLoggingMiddleware(config?: string | LoggingMiddlewareConfig): Middleware;
|
|
114
|
-
/**
|
|
115
|
-
* Creates middleware that adds extra query parameters and/or body fields to requests.
|
|
116
|
-
*
|
|
117
|
-
* This is useful for internal/power-user scenarios where you need to pass
|
|
118
|
-
* parameters that aren't in the typed OpenAPI schema.
|
|
119
|
-
*
|
|
120
|
-
* @param config - Configuration with extra query and/or body params
|
|
121
|
-
* @returns Middleware that adds extra params to requests
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* ```typescript
|
|
125
|
-
* const client = createOdsClient(config, auth);
|
|
126
|
-
* client.use(createExtraParamsMiddleware({
|
|
127
|
-
* query: { debug: 'true', internal_flag: '1' },
|
|
128
|
-
* body: { _internal: { trace: true } }
|
|
129
|
-
* }));
|
|
130
|
-
* ```
|
|
131
|
-
*/
|
|
132
|
-
/**
|
|
133
|
-
* Safety middleware using SafetyGuard.
|
|
134
|
-
*/
|
|
135
|
-
import type { SafetyGuard } from '../safety/safety-guard.js';
|
|
136
|
-
/**
|
|
137
|
-
* Creates safety middleware that evaluates HTTP requests against a SafetyGuard.
|
|
138
|
-
*
|
|
139
|
-
* This middleware intercepts HTTP requests BEFORE they are sent. It evaluates
|
|
140
|
-
* each request against the guard's rules and level, throwing:
|
|
141
|
-
* - {@link SafetyBlockedError} for blocked operations
|
|
142
|
-
* - {@link SafetyConfirmationRequired} for operations needing confirmation
|
|
143
|
-
*
|
|
144
|
-
* Callers that want confirmation support should wrap their SDK calls with
|
|
145
|
-
* {@link withSafetyConfirmation}. Otherwise, both error types propagate as errors.
|
|
146
|
-
*
|
|
147
|
-
* @param guard - The SafetyGuard instance
|
|
148
|
-
* @returns Middleware that evaluates operations against safety rules
|
|
149
|
-
*
|
|
150
|
-
* @example
|
|
151
|
-
* ```typescript
|
|
152
|
-
* const guard = new SafetyGuard({ level: 'NO_DELETE' });
|
|
153
|
-
* const client = createOdsClient(config, auth);
|
|
154
|
-
* client.use(createSafetyMiddleware(guard));
|
|
155
|
-
* ```
|
|
156
|
-
*/
|
|
157
|
-
export declare function createSafetyMiddleware(guard: SafetyGuard): Middleware;
|
|
158
|
-
/**
|
|
159
|
-
* Configuration for User-Agent middleware.
|
|
160
|
-
*/
|
|
161
|
-
export interface UserAgentConfig {
|
|
162
|
-
/**
|
|
163
|
-
* The User-Agent string to set on requests.
|
|
164
|
-
*/
|
|
165
|
-
userAgent: string;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Creates middleware that sets the User-Agent header on requests.
|
|
169
|
-
*
|
|
170
|
-
* Sets both the standard `User-Agent` header and a custom `sfdc_user_agent` header
|
|
171
|
-
* with the same value.
|
|
172
|
-
*
|
|
173
|
-
* @param config - Configuration with the User-Agent string
|
|
174
|
-
* @returns Middleware that sets the User-Agent headers
|
|
175
|
-
*
|
|
176
|
-
* @example
|
|
177
|
-
* ```typescript
|
|
178
|
-
* const client = createOcapiClient(config, auth);
|
|
179
|
-
* client.use(createUserAgentMiddleware({ userAgent: 'b2c-cli/0.1.0' }));
|
|
180
|
-
* ```
|
|
181
|
-
*/
|
|
182
|
-
export declare function createUserAgentMiddleware(config: UserAgentConfig): Middleware;
|
|
183
|
-
export declare function createExtraParamsMiddleware(config: ExtraParamsConfig): Middleware;
|
|
@@ -1,465 +0,0 @@
|
|
|
1
|
-
import { getLogger } from '../logging/logger.js';
|
|
2
|
-
/**
|
|
3
|
-
* Converts Headers to a plain object for logging.
|
|
4
|
-
*/
|
|
5
|
-
function headersToObject(headers) {
|
|
6
|
-
const result = {};
|
|
7
|
-
headers.forEach((value, key) => {
|
|
8
|
-
result[key] = value;
|
|
9
|
-
});
|
|
10
|
-
return result;
|
|
11
|
-
}
|
|
12
|
-
// Track which requests have been retried to prevent infinite loops
|
|
13
|
-
const retriedRequests = new WeakSet();
|
|
14
|
-
// Store cloned request bodies for potential retry (body can only be read once)
|
|
15
|
-
const requestBodies = new WeakMap();
|
|
16
|
-
/**
|
|
17
|
-
* Creates authentication middleware for openapi-fetch.
|
|
18
|
-
*
|
|
19
|
-
* This middleware intercepts requests and adds OAuth authentication headers
|
|
20
|
-
* using the provided AuthStrategy. It also handles 401 responses by invalidating
|
|
21
|
-
* the token and retrying the request once with a fresh token.
|
|
22
|
-
*
|
|
23
|
-
* @param auth - The authentication strategy to use
|
|
24
|
-
* @returns Middleware that adds auth headers to requests and retries on 401
|
|
25
|
-
*/
|
|
26
|
-
export function createAuthMiddleware(auth) {
|
|
27
|
-
const logger = getLogger();
|
|
28
|
-
let hasHadSuccess = false;
|
|
29
|
-
return {
|
|
30
|
-
async onRequest({ request }) {
|
|
31
|
-
if (auth.getAuthorizationHeader) {
|
|
32
|
-
const authHeader = await auth.getAuthorizationHeader();
|
|
33
|
-
request.headers.set('Authorization', authHeader);
|
|
34
|
-
}
|
|
35
|
-
// Clone the request body before it gets consumed, so we can retry if needed
|
|
36
|
-
if (request.body && auth.invalidateToken && auth.getAuthorizationHeader) {
|
|
37
|
-
const clonedRequest = request.clone();
|
|
38
|
-
const bodyBuffer = await clonedRequest.arrayBuffer();
|
|
39
|
-
requestBodies.set(request, bodyBuffer);
|
|
40
|
-
}
|
|
41
|
-
return request;
|
|
42
|
-
},
|
|
43
|
-
async onResponse({ request, response }) {
|
|
44
|
-
if (response.status !== 401) {
|
|
45
|
-
hasHadSuccess = true;
|
|
46
|
-
}
|
|
47
|
-
// Only retry on 401 if we have had a prior successful response (indicating
|
|
48
|
-
// token expiry rather than bad credentials), haven't already retried this
|
|
49
|
-
// request, and the strategy supports token invalidation
|
|
50
|
-
if (response.status === 401 &&
|
|
51
|
-
hasHadSuccess &&
|
|
52
|
-
!retriedRequests.has(request) &&
|
|
53
|
-
auth.invalidateToken &&
|
|
54
|
-
auth.getAuthorizationHeader) {
|
|
55
|
-
logger.debug('[AuthMiddleware] Received 401, invalidating token and retrying');
|
|
56
|
-
// Mark this request as retried to prevent infinite loops
|
|
57
|
-
retriedRequests.add(request);
|
|
58
|
-
// Invalidate the cached token
|
|
59
|
-
auth.invalidateToken();
|
|
60
|
-
// Get a fresh token
|
|
61
|
-
const newAuthHeader = await auth.getAuthorizationHeader();
|
|
62
|
-
// Rebuild the request with the new auth header
|
|
63
|
-
const newHeaders = new Headers(request.headers);
|
|
64
|
-
newHeaders.set('Authorization', newAuthHeader);
|
|
65
|
-
// Get the saved body (if any)
|
|
66
|
-
const savedBody = requestBodies.get(request);
|
|
67
|
-
// Create a new request with the fresh token
|
|
68
|
-
const retryRequest = new Request(request.url, {
|
|
69
|
-
method: request.method,
|
|
70
|
-
headers: newHeaders,
|
|
71
|
-
body: savedBody,
|
|
72
|
-
// TypeScript doesn't know about duplex, but it's needed for streaming bodies
|
|
73
|
-
...(savedBody ? { duplex: 'half' } : {}),
|
|
74
|
-
});
|
|
75
|
-
// Retry the request
|
|
76
|
-
const retryResponse = await fetch(retryRequest);
|
|
77
|
-
logger.debug({ status: retryResponse.status }, `[AuthMiddleware] Retry response: ${retryResponse.status}`);
|
|
78
|
-
return retryResponse;
|
|
79
|
-
}
|
|
80
|
-
return response;
|
|
81
|
-
},
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
const DEFAULT_RATE_LIMIT_MAX_RETRIES = 3;
|
|
85
|
-
const DEFAULT_RATE_LIMIT_BASE_DELAY_MS = 1000;
|
|
86
|
-
const DEFAULT_RATE_LIMIT_MAX_DELAY_MS = 30000;
|
|
87
|
-
const DEFAULT_RATE_LIMIT_STATUS_CODES = [429];
|
|
88
|
-
const DEFAULT_RATE_LIMIT_JITTER_RATIO = 0.2;
|
|
89
|
-
async function sleepWithAbort(ms, signal) {
|
|
90
|
-
if (ms <= 0) {
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
if (signal?.aborted) {
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
await new Promise((resolve) => {
|
|
97
|
-
function onAbort() {
|
|
98
|
-
clearTimeout(timeout);
|
|
99
|
-
signal?.removeEventListener('abort', onAbort);
|
|
100
|
-
resolve();
|
|
101
|
-
}
|
|
102
|
-
const timeout = setTimeout(() => {
|
|
103
|
-
signal?.removeEventListener('abort', onAbort);
|
|
104
|
-
resolve();
|
|
105
|
-
}, ms);
|
|
106
|
-
signal?.addEventListener('abort', onAbort);
|
|
107
|
-
});
|
|
108
|
-
return !signal?.aborted;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Parses the Retry-After header into a delay in milliseconds.
|
|
112
|
-
* Supports both seconds and HTTP date formats. Returns undefined if
|
|
113
|
-
* the header is missing or invalid.
|
|
114
|
-
*/
|
|
115
|
-
function parseRetryAfter(headerValue) {
|
|
116
|
-
if (!headerValue) {
|
|
117
|
-
return undefined;
|
|
118
|
-
}
|
|
119
|
-
const seconds = Number(headerValue);
|
|
120
|
-
if (!Number.isNaN(seconds)) {
|
|
121
|
-
return Math.max(0, Math.round(seconds * 1000));
|
|
122
|
-
}
|
|
123
|
-
const dateMs = Date.parse(headerValue);
|
|
124
|
-
if (!Number.isNaN(dateMs)) {
|
|
125
|
-
const diff = dateMs - Date.now();
|
|
126
|
-
return diff > 0 ? diff : 0;
|
|
127
|
-
}
|
|
128
|
-
return undefined;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Returns the next backoff delay based on attempt count.
|
|
132
|
-
*/
|
|
133
|
-
function computeBackoffDelayMs(attempt, baseDelayMs, maxDelayMs) {
|
|
134
|
-
const delay = baseDelayMs * Math.pow(2, Math.max(0, attempt));
|
|
135
|
-
if (delay <= 0) {
|
|
136
|
-
return 0;
|
|
137
|
-
}
|
|
138
|
-
const jitter = Math.round(delay * DEFAULT_RATE_LIMIT_JITTER_RATIO * Math.random());
|
|
139
|
-
return Math.min(delay + jitter, maxDelayMs);
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Creates rate limiting middleware for openapi-fetch clients.
|
|
143
|
-
*
|
|
144
|
-
* This middleware inspects responses for rate-limit status codes (by default
|
|
145
|
-
* 429 Too Many Requests), uses the Retry-After header when present to
|
|
146
|
-
* determine a delay, and retries the request up to a configurable limit.
|
|
147
|
-
*
|
|
148
|
-
* The middleware is generic and can be used by MRT and other clients. It does
|
|
149
|
-
* not currently read CLI configuration directly; callers should pass
|
|
150
|
-
* configuration via the factory function.
|
|
151
|
-
*/
|
|
152
|
-
export function createRateLimitMiddleware(config = {}) {
|
|
153
|
-
const logger = getLogger();
|
|
154
|
-
const { maxRetries = DEFAULT_RATE_LIMIT_MAX_RETRIES, baseDelayMs = DEFAULT_RATE_LIMIT_BASE_DELAY_MS, maxDelayMs = DEFAULT_RATE_LIMIT_MAX_DELAY_MS, statusCodes = DEFAULT_RATE_LIMIT_STATUS_CODES, prefix, fetch: configFetch, } = config;
|
|
155
|
-
const tag = prefix ? `[${prefix} RATE]` : '[RATE]';
|
|
156
|
-
return {
|
|
157
|
-
async onResponse(ctx) {
|
|
158
|
-
const { request, response } = ctx;
|
|
159
|
-
const ctxFetch = ctx.fetch;
|
|
160
|
-
// Only handle configured status codes
|
|
161
|
-
if (!statusCodes.includes(response.status) || maxRetries <= 0) {
|
|
162
|
-
return response;
|
|
163
|
-
}
|
|
164
|
-
const fetchFn = ctxFetch ?? configFetch ?? (typeof fetch === 'function' ? fetch : undefined);
|
|
165
|
-
if (!fetchFn) {
|
|
166
|
-
return response;
|
|
167
|
-
}
|
|
168
|
-
const reqWithAttempt = request;
|
|
169
|
-
const startingAttempt = reqWithAttempt._rateLimitAttempt ?? 0;
|
|
170
|
-
// If openapi-fetch provides ctx.fetch, it typically re-enters the middleware chain.
|
|
171
|
-
// In that case, do a single retry and let subsequent attempts be handled by
|
|
172
|
-
// subsequent middleware invocations (guarded by _rateLimitAttempt).
|
|
173
|
-
if (ctxFetch) {
|
|
174
|
-
if (startingAttempt >= maxRetries) {
|
|
175
|
-
logger.debug({ status: response.status, attempt: startingAttempt, maxRetries }, `${tag} Max retries reached, not retrying request`);
|
|
176
|
-
return response;
|
|
177
|
-
}
|
|
178
|
-
const retryAfterHeader = response.headers.get('Retry-After');
|
|
179
|
-
let delayMs = parseRetryAfter(retryAfterHeader);
|
|
180
|
-
if (delayMs === undefined) {
|
|
181
|
-
delayMs = computeBackoffDelayMs(startingAttempt, baseDelayMs, maxDelayMs);
|
|
182
|
-
}
|
|
183
|
-
logger.warn({
|
|
184
|
-
status: response.status,
|
|
185
|
-
attempt: startingAttempt + 1,
|
|
186
|
-
maxRetries,
|
|
187
|
-
delayMs,
|
|
188
|
-
retryAfter: retryAfterHeader ?? undefined,
|
|
189
|
-
url: request.url,
|
|
190
|
-
}, `${tag} Rate limit encountered, retrying request after ${delayMs}ms (attempt ${startingAttempt + 1}/${maxRetries})`);
|
|
191
|
-
const canRetry = await sleepWithAbort(delayMs, request.signal);
|
|
192
|
-
if (!canRetry) {
|
|
193
|
-
return response;
|
|
194
|
-
}
|
|
195
|
-
reqWithAttempt._rateLimitAttempt = startingAttempt + 1;
|
|
196
|
-
let retryRequest = request;
|
|
197
|
-
try {
|
|
198
|
-
retryRequest = request.clone();
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
logger.debug({ url: request.url }, `${tag} Could not clone request for retry; retrying with original request`);
|
|
202
|
-
}
|
|
203
|
-
return fetchFn(retryRequest);
|
|
204
|
-
}
|
|
205
|
-
// Fallback path: if ctx.fetch is not provided, handle retries in this invocation.
|
|
206
|
-
let lastResponse = response;
|
|
207
|
-
let attempt = startingAttempt;
|
|
208
|
-
while (statusCodes.includes(lastResponse.status) && attempt < maxRetries) {
|
|
209
|
-
const retryAfterHeader = lastResponse.headers.get('Retry-After');
|
|
210
|
-
let delayMs = parseRetryAfter(retryAfterHeader);
|
|
211
|
-
if (delayMs === undefined) {
|
|
212
|
-
delayMs = computeBackoffDelayMs(attempt, baseDelayMs, maxDelayMs);
|
|
213
|
-
}
|
|
214
|
-
logger.warn({
|
|
215
|
-
status: lastResponse.status,
|
|
216
|
-
attempt: attempt + 1,
|
|
217
|
-
maxRetries,
|
|
218
|
-
delayMs,
|
|
219
|
-
retryAfter: retryAfterHeader ?? undefined,
|
|
220
|
-
url: request.url,
|
|
221
|
-
}, `${tag} Rate limit encountered, retrying request after ${delayMs}ms (attempt ${attempt + 1}/${maxRetries})`);
|
|
222
|
-
const canRetry = await sleepWithAbort(delayMs, request.signal);
|
|
223
|
-
if (!canRetry) {
|
|
224
|
-
return lastResponse;
|
|
225
|
-
}
|
|
226
|
-
attempt += 1;
|
|
227
|
-
reqWithAttempt._rateLimitAttempt = attempt;
|
|
228
|
-
let retryRequest = request;
|
|
229
|
-
try {
|
|
230
|
-
retryRequest = request.clone();
|
|
231
|
-
}
|
|
232
|
-
catch {
|
|
233
|
-
logger.debug({ url: request.url }, `${tag} Could not clone request for retry; retrying with original request`);
|
|
234
|
-
}
|
|
235
|
-
lastResponse = await fetchFn(retryRequest);
|
|
236
|
-
}
|
|
237
|
-
if (statusCodes.includes(lastResponse.status) && attempt >= maxRetries) {
|
|
238
|
-
logger.debug({ status: lastResponse.status, attempt, maxRetries }, `${tag} Max retries reached, not retrying request`);
|
|
239
|
-
}
|
|
240
|
-
return lastResponse;
|
|
241
|
-
},
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Masks specified keys in an object for logging.
|
|
246
|
-
* Only masks top-level keys, replaces values with '...' placeholder.
|
|
247
|
-
*/
|
|
248
|
-
function maskBody(body, keysToMask) {
|
|
249
|
-
if (!keysToMask || keysToMask.length === 0 || typeof body !== 'object' || body === null) {
|
|
250
|
-
return body;
|
|
251
|
-
}
|
|
252
|
-
const masked = { ...body };
|
|
253
|
-
for (const key of keysToMask) {
|
|
254
|
-
if (key in masked) {
|
|
255
|
-
masked[key] = '...';
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
return masked;
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Creates logging middleware for openapi-fetch clients.
|
|
262
|
-
*
|
|
263
|
-
* Logs request/response details at debug and trace levels.
|
|
264
|
-
*
|
|
265
|
-
* @param config - Logging configuration or prefix string for backwards compatibility
|
|
266
|
-
* @returns Middleware that logs requests and responses
|
|
267
|
-
*
|
|
268
|
-
* @example
|
|
269
|
-
* // Simple usage with just a prefix
|
|
270
|
-
* client.use(createLoggingMiddleware('OCAPI'));
|
|
271
|
-
*
|
|
272
|
-
* @example
|
|
273
|
-
* // With body masking for large payloads
|
|
274
|
-
* client.use(createLoggingMiddleware({
|
|
275
|
-
* prefix: 'MRT',
|
|
276
|
-
* maskBodyKeys: ['data'] // Masks base64-encoded bundle data
|
|
277
|
-
* }));
|
|
278
|
-
*/
|
|
279
|
-
export function createLoggingMiddleware(config) {
|
|
280
|
-
// Support both string (prefix) and config object for backwards compatibility
|
|
281
|
-
const { prefix, maskBodyKeys } = typeof config === 'string' ? { prefix: config, maskBodyKeys: undefined } : (config ?? {});
|
|
282
|
-
const reqTag = prefix ? `[${prefix} REQ]` : '';
|
|
283
|
-
const respTag = prefix ? `[${prefix} RESP]` : '';
|
|
284
|
-
return {
|
|
285
|
-
async onRequest({ request }) {
|
|
286
|
-
const logger = getLogger();
|
|
287
|
-
const url = request.url;
|
|
288
|
-
logger.debug({ method: request.method, url }, `${reqTag} ${request.method} ${url}`);
|
|
289
|
-
// Read body from the request (already serialized by openapi-fetch)
|
|
290
|
-
let body;
|
|
291
|
-
if (request.body) {
|
|
292
|
-
const clonedRequest = request.clone();
|
|
293
|
-
const text = await clonedRequest.text();
|
|
294
|
-
try {
|
|
295
|
-
body = JSON.parse(text);
|
|
296
|
-
}
|
|
297
|
-
catch {
|
|
298
|
-
body = text;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
// Mask sensitive/large body keys before logging
|
|
302
|
-
const maskedBody = maskBody(body, maskBodyKeys);
|
|
303
|
-
logger.trace({ method: request.method, url, headers: headersToObject(request.headers), body: maskedBody }, `${reqTag} ${request.method} ${url} body`);
|
|
304
|
-
request._startTime = Date.now();
|
|
305
|
-
return request;
|
|
306
|
-
},
|
|
307
|
-
async onResponse({ request, response }) {
|
|
308
|
-
const logger = getLogger();
|
|
309
|
-
const startTime = request._startTime ?? Date.now();
|
|
310
|
-
const duration = Date.now() - startTime;
|
|
311
|
-
const url = request.url;
|
|
312
|
-
logger.debug({ method: request.method, url, status: response.status, duration }, `${respTag} ${request.method} ${url} ${response.status} ${duration}ms`);
|
|
313
|
-
const clonedResponse = response.clone();
|
|
314
|
-
let responseBody;
|
|
315
|
-
// Read as text first, then try to parse as JSON.
|
|
316
|
-
// This avoids a bug where json() consumes the body stream even when parsing fails,
|
|
317
|
-
// making subsequent text() calls fail with "Body has already been read".
|
|
318
|
-
const text = await clonedResponse.text();
|
|
319
|
-
try {
|
|
320
|
-
responseBody = JSON.parse(text);
|
|
321
|
-
}
|
|
322
|
-
catch {
|
|
323
|
-
responseBody = text;
|
|
324
|
-
}
|
|
325
|
-
// Mask sensitive/large body keys before logging
|
|
326
|
-
const maskedResponseBody = maskBody(responseBody, maskBodyKeys);
|
|
327
|
-
logger.trace({ method: request.method, url, headers: headersToObject(response.headers), body: maskedResponseBody }, `${respTag} ${request.method} ${url} body`);
|
|
328
|
-
return response;
|
|
329
|
-
},
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
import { extractJobIdFromPath } from '../safety/safety-guard.js';
|
|
333
|
-
/**
|
|
334
|
-
* Creates safety middleware that evaluates HTTP requests against a SafetyGuard.
|
|
335
|
-
*
|
|
336
|
-
* This middleware intercepts HTTP requests BEFORE they are sent. It evaluates
|
|
337
|
-
* each request against the guard's rules and level, throwing:
|
|
338
|
-
* - {@link SafetyBlockedError} for blocked operations
|
|
339
|
-
* - {@link SafetyConfirmationRequired} for operations needing confirmation
|
|
340
|
-
*
|
|
341
|
-
* Callers that want confirmation support should wrap their SDK calls with
|
|
342
|
-
* {@link withSafetyConfirmation}. Otherwise, both error types propagate as errors.
|
|
343
|
-
*
|
|
344
|
-
* @param guard - The SafetyGuard instance
|
|
345
|
-
* @returns Middleware that evaluates operations against safety rules
|
|
346
|
-
*
|
|
347
|
-
* @example
|
|
348
|
-
* ```typescript
|
|
349
|
-
* const guard = new SafetyGuard({ level: 'NO_DELETE' });
|
|
350
|
-
* const client = createOdsClient(config, auth);
|
|
351
|
-
* client.use(createSafetyMiddleware(guard));
|
|
352
|
-
* ```
|
|
353
|
-
*/
|
|
354
|
-
export function createSafetyMiddleware(guard) {
|
|
355
|
-
return {
|
|
356
|
-
async onRequest({ request }) {
|
|
357
|
-
const path = new URL(request.url, 'http://dummy').pathname;
|
|
358
|
-
guard.assert({
|
|
359
|
-
type: 'http',
|
|
360
|
-
method: request.method,
|
|
361
|
-
url: request.url,
|
|
362
|
-
path,
|
|
363
|
-
jobId: extractJobIdFromPath(path),
|
|
364
|
-
});
|
|
365
|
-
return request;
|
|
366
|
-
},
|
|
367
|
-
};
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Creates middleware that sets the User-Agent header on requests.
|
|
371
|
-
*
|
|
372
|
-
* Sets both the standard `User-Agent` header and a custom `sfdc_user_agent` header
|
|
373
|
-
* with the same value.
|
|
374
|
-
*
|
|
375
|
-
* @param config - Configuration with the User-Agent string
|
|
376
|
-
* @returns Middleware that sets the User-Agent headers
|
|
377
|
-
*
|
|
378
|
-
* @example
|
|
379
|
-
* ```typescript
|
|
380
|
-
* const client = createOcapiClient(config, auth);
|
|
381
|
-
* client.use(createUserAgentMiddleware({ userAgent: 'b2c-cli/0.1.0' }));
|
|
382
|
-
* ```
|
|
383
|
-
*/
|
|
384
|
-
export function createUserAgentMiddleware(config) {
|
|
385
|
-
return {
|
|
386
|
-
async onRequest({ request }) {
|
|
387
|
-
request.headers.set('User-Agent', config.userAgent);
|
|
388
|
-
request.headers.set('sfdc_user_agent', config.userAgent);
|
|
389
|
-
return request;
|
|
390
|
-
},
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
export function createExtraParamsMiddleware(config) {
|
|
394
|
-
const logger = getLogger();
|
|
395
|
-
return {
|
|
396
|
-
async onRequest({ request }) {
|
|
397
|
-
let modifiedRequest = request;
|
|
398
|
-
// HTTP methods that don't allow a request body
|
|
399
|
-
const methodsWithoutBody = ['GET', 'HEAD'];
|
|
400
|
-
const canHaveBody = !methodsWithoutBody.includes(modifiedRequest.method.toUpperCase());
|
|
401
|
-
// Add extra headers first (before other modifications)
|
|
402
|
-
if (config.headers && Object.keys(config.headers).length > 0) {
|
|
403
|
-
const newHeaders = new Headers(modifiedRequest.headers);
|
|
404
|
-
for (const [key, value] of Object.entries(config.headers)) {
|
|
405
|
-
newHeaders.set(key, value);
|
|
406
|
-
}
|
|
407
|
-
logger.trace({ extraHeaders: config.headers }, '[ExtraParams] Adding extra headers to request');
|
|
408
|
-
modifiedRequest = new Request(modifiedRequest.url, {
|
|
409
|
-
method: modifiedRequest.method,
|
|
410
|
-
headers: newHeaders,
|
|
411
|
-
...(canHaveBody && modifiedRequest.body ? { body: modifiedRequest.body, duplex: 'half' } : {}),
|
|
412
|
-
});
|
|
413
|
-
}
|
|
414
|
-
// Add extra query parameters
|
|
415
|
-
if (config.query && Object.keys(config.query).length > 0) {
|
|
416
|
-
const url = new URL(modifiedRequest.url);
|
|
417
|
-
for (const [key, value] of Object.entries(config.query)) {
|
|
418
|
-
if (value !== undefined) {
|
|
419
|
-
url.searchParams.set(key, String(value));
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
logger.trace({ extraQuery: config.query, originalUrl: modifiedRequest.url, newUrl: url.toString() }, '[ExtraParams] Adding extra query params to URL');
|
|
423
|
-
modifiedRequest = new Request(url.toString(), {
|
|
424
|
-
method: modifiedRequest.method,
|
|
425
|
-
headers: modifiedRequest.headers,
|
|
426
|
-
...(canHaveBody && modifiedRequest.body ? { body: modifiedRequest.body, duplex: 'half' } : {}),
|
|
427
|
-
});
|
|
428
|
-
}
|
|
429
|
-
// Merge extra body fields for JSON requests
|
|
430
|
-
if (config.body && Object.keys(config.body).length > 0) {
|
|
431
|
-
const contentType = modifiedRequest.headers.get('content-type');
|
|
432
|
-
if (contentType?.includes('application/json') && modifiedRequest.body) {
|
|
433
|
-
const clonedRequest = modifiedRequest.clone();
|
|
434
|
-
const originalBody = await clonedRequest.text();
|
|
435
|
-
try {
|
|
436
|
-
const parsedBody = JSON.parse(originalBody);
|
|
437
|
-
const mergedBody = { ...parsedBody, ...config.body };
|
|
438
|
-
logger.trace({ originalBody: parsedBody, extraBody: config.body, mergedBody }, '[ExtraParams] Merging extra body fields into request');
|
|
439
|
-
modifiedRequest = new Request(modifiedRequest.url, {
|
|
440
|
-
method: modifiedRequest.method,
|
|
441
|
-
headers: modifiedRequest.headers,
|
|
442
|
-
body: JSON.stringify(mergedBody),
|
|
443
|
-
});
|
|
444
|
-
}
|
|
445
|
-
catch {
|
|
446
|
-
logger.warn('[ExtraParams] Could not parse request body as JSON, skipping body merge');
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
else if (!modifiedRequest.body && canHaveBody) {
|
|
450
|
-
// No existing body, create one with extra fields (only for methods that allow a body)
|
|
451
|
-
logger.trace({ body: config.body }, '[ExtraParams] Creating new body with extra fields');
|
|
452
|
-
const headers = new Headers(modifiedRequest.headers);
|
|
453
|
-
headers.set('content-type', 'application/json');
|
|
454
|
-
modifiedRequest = new Request(modifiedRequest.url, {
|
|
455
|
-
method: modifiedRequest.method,
|
|
456
|
-
headers,
|
|
457
|
-
body: JSON.stringify(config.body),
|
|
458
|
-
});
|
|
459
|
-
}
|
|
460
|
-
}
|
|
461
|
-
return modifiedRequest;
|
|
462
|
-
},
|
|
463
|
-
};
|
|
464
|
-
}
|
|
465
|
-
//# sourceMappingURL=middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/clients/middleware.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAc/C;;GAEG;AACH,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mEAAmE;AACnE,MAAM,eAAe,GAAG,IAAI,OAAO,EAAW,CAAC;AAE/C,+EAA+E;AAC/E,MAAM,aAAa,GAAG,IAAI,OAAO,EAA+B,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAkB;IACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC;YACvB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACvD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YACnD,CAAC;YAED,4EAA4E;YAC5E,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACxE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;gBACrD,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACzC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC;YAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YAED,2EAA2E;YAC3E,0EAA0E;YAC1E,wDAAwD;YACxD,IACE,QAAQ,CAAC,MAAM,KAAK,GAAG;gBACvB,aAAa;gBACb,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,sBAAsB,EAC3B,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBAE/E,yDAAyD;gBACzD,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE7B,8BAA8B;gBAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;gBAEvB,oBAAoB;gBACpB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAE1D,+CAA+C;gBAC/C,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAChD,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;gBAE/C,8BAA8B;gBAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE7C,4CAA4C;gBAC5C,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;oBAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,UAAU;oBACnB,IAAI,EAAE,SAAS;oBACf,6EAA6E;oBAC7E,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxB,CAAC,CAAC;gBAElB,oBAAoB;gBACpB,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;gBAEhD,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAC,EAAE,oCAAoC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEzG,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AA0CD,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAC9C,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAC9C,MAAM,+BAA+B,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAE5C,KAAK,UAAU,cAAc,CAAC,EAAU,EAAE,MAAoB;IAC5D,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,SAAS,OAAO;YACd,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,WAA0B;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,OAAe,EAAE,WAAmB,EAAE,UAAkB;IACrF,MAAM,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,+BAA+B,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnF,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAoC,EAAE;IAC9E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EACJ,UAAU,GAAG,8BAA8B,EAC3C,WAAW,GAAG,gCAAgC,EAC9C,UAAU,GAAG,+BAA+B,EAC5C,WAAW,GAAG,+BAA+B,EAC7C,MAAM,EACN,KAAK,EAAE,WAAW,GACnB,GAAG,MAAM,CAAC;IAEX,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEnD,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,GAAG;YAClB,MAAM,EAAC,OAAO,EAAE,QAAQ,EAAC,GAAG,GAAG,CAAC;YAChC,MAAM,QAAQ,GAAI,GAAyD,CAAC,KAAK,CAAC;YAClF,sCAAsC;YACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBAC9D,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,OAAO,GACX,QAAQ,IAAI,WAAW,IAAI,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE/E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,cAAc,GAAG,OAAiD,CAAC;YACzE,MAAM,eAAe,GAAG,cAAc,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAE9D,oFAAoF;YACpF,4EAA4E;YAC5E,oEAAoE;YACpE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;oBAClC,MAAM,CAAC,KAAK,CACV,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAC,EAC/D,GAAG,GAAG,4CAA4C,CACnD,CAAC;oBACF,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC7D,IAAI,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;gBAEhD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,GAAG,qBAAqB,CAAC,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gBAC5E,CAAC;gBAED,MAAM,CAAC,IAAI,CACT;oBACE,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,eAAe,GAAG,CAAC;oBAC5B,UAAU;oBACV,OAAO;oBACP,UAAU,EAAE,gBAAgB,IAAI,SAAS;oBACzC,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,EACD,GAAG,GAAG,mDAAmD,OAAO,eAC9D,eAAe,GAAG,CACpB,IAAI,UAAU,GAAG,CAClB,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,cAAc,CAAC,iBAAiB,GAAG,eAAe,GAAG,CAAC,CAAC;gBAEvD,IAAI,YAAY,GAAG,OAAO,CAAC;gBAC3B,IAAI,CAAC;oBACH,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAC,EAAE,GAAG,GAAG,oEAAoE,CAAC,CAAC;gBAC/G,CAAC;gBAED,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;YAED,kFAAkF;YAClF,IAAI,YAAY,GAAG,QAAQ,CAAC;YAC5B,IAAI,OAAO,GAAG,eAAe,CAAC;YAE9B,OAAO,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzE,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACjE,IAAI,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;gBAEhD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,CAAC,IAAI,CACT;oBACE,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,OAAO,GAAG,CAAC;oBACpB,UAAU;oBACV,OAAO;oBACP,UAAU,EAAE,gBAAgB,IAAI,SAAS;oBACzC,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,EACD,GAAG,GAAG,mDAAmD,OAAO,eAAe,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAC5G,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,YAAY,CAAC;gBACtB,CAAC;gBAED,OAAO,IAAI,CAAC,CAAC;gBACb,cAAc,CAAC,iBAAiB,GAAG,OAAO,CAAC;gBAE3C,IAAI,YAAY,GAAG,OAAO,CAAC;gBAC3B,IAAI,CAAC;oBACH,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAC,EAAE,GAAG,GAAG,oEAAoE,CAAC,CAAC;gBAC/G,CAAC;gBAED,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBACvE,MAAM,CAAC,KAAK,CACV,EAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAC,EAClD,GAAG,GAAG,4CAA4C,CACnD,CAAC;YACJ,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC;AAmBD;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAa,EAAE,UAAqB;IACpD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,EAAC,GAAI,IAAgC,EAAC,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAyC;IAC/E,6EAA6E;IAC7E,MAAM,EAAC,MAAM,EAAE,YAAY,EAAC,GAC1B,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAE1F,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjD,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC;YACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAExB,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAC,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;YAElF,mEAAmE;YACnE,IAAI,IAAa,CAAC;YAClB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CACV,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAC,EAC1F,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,OAAO,CAC1C,CAAC;YAED,OAA2C,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAErE,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC;YAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAI,OAA2C,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAExB,MAAM,CAAC,KAAK,CACV,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAC,EAChE,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,IAAI,CACvE,CAAC;YAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,YAAqB,CAAC;YAC1B,iDAAiD;YACjD,mFAAmF;YACnF,yEAAyE;YACzE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAED,gDAAgD;YAChD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CACV,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAC,EACnG,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,OAAO,CAC3C,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAwBD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAkB;IACvD,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC;YACvB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC;YAC3D,KAAK,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI;gBACJ,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAYD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAuB;IAC/D,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC;YACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAyB;IACnE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,EAAC,OAAO,EAAC;YACvB,IAAI,eAAe,GAAG,OAAO,CAAC;YAE9B,+CAA+C;YAC/C,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAEvF,uDAAuD;YACvD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7D,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1D,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,EAAC,YAAY,EAAE,MAAM,CAAC,OAAO,EAAC,EAAE,+CAA+C,CAAC,CAAC;gBAC9F,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE;oBACjD,MAAM,EAAE,eAAe,CAAC,MAAM;oBAC9B,OAAO,EAAE,UAAU;oBACnB,GAAG,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9E,CAAC,CAAC;YACpB,CAAC;YAED,6BAA6B;YAC7B,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,KAAK,CACV,EAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAC,EACpF,gDAAgD,CACjD,CAAC;gBACF,eAAe,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;oBAC5C,MAAM,EAAE,eAAe,CAAC,MAAM;oBAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,GAAG,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9E,CAAC,CAAC;YACpB,CAAC;YAED,4CAA4C;YAC5C,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAChE,IAAI,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;oBACtE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;oBAChD,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAA4B,CAAC;wBACvE,MAAM,UAAU,GAAG,EAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,EAAC,CAAC;wBACnD,MAAM,CAAC,KAAK,CACV,EAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAC,EAC9D,sDAAsD,CACvD,CAAC;wBACF,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE;4BACjD,MAAM,EAAE,eAAe,CAAC,MAAM;4BAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;4BAChC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;yBACjC,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;oBACzF,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;oBAChD,sFAAsF;oBACtF,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAC,EAAE,mDAAmD,CAAC,CAAC;oBACvF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;oBAChD,eAAe,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE;wBACjD,MAAM,EAAE,eAAe,CAAC,MAAM;wBAC9B,OAAO;wBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;qBAClC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC"}
|