@samebase/convex-hosting 0.3.2 → 0.4.1
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/CHANGELOG.md +17 -132
- package/README.md +188 -406
- package/dist/cli/convex.d.ts +63 -0
- package/dist/cli/convex.js +108 -0
- package/dist/cli/convex.js.map +1 -0
- package/dist/cli/files.d.ts +18 -0
- package/dist/cli/files.js +106 -0
- package/dist/cli/files.js.map +1 -0
- package/dist/cli/index.d.ts +1 -11
- package/dist/cli/index.js +3 -58
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/main.d.ts +5 -0
- package/dist/cli/main.js +377 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/client/index.d.ts +8 -115
- package/dist/client/index.js +65 -242
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.d.ts +5 -0
- package/dist/client/version-module.d.ts +6 -0
- package/dist/component/_generated/api.d.ts +0 -5
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +20 -18
- package/dist/component/_generated/dataModel.d.ts +0 -1
- package/dist/component/_generated/server.d.ts +12 -1
- package/dist/component/_generated/server.js +2 -0
- package/dist/component/_generated/server.js.map +1 -1
- package/dist/component/convex.config.d.ts +0 -1
- package/dist/component/lib.d.ts +175 -156
- package/dist/component/lib.js +396 -710
- package/dist/component/lib.js.map +1 -1
- package/dist/component/schema.d.ts +76 -72
- package/dist/component/schema.js +35 -59
- package/dist/component/schema.js.map +1 -1
- package/dist/workers-shared/asset-worker/src/analytics.d.ts +39 -0
- package/dist/workers-shared/asset-worker/src/analytics.js +86 -0
- package/dist/workers-shared/asset-worker/src/analytics.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/compatibility-flags.d.ts +19 -0
- package/dist/workers-shared/asset-worker/src/compatibility-flags.js +29 -0
- package/dist/workers-shared/asset-worker/src/compatibility-flags.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/configuration.d.ts +3 -0
- package/dist/workers-shared/asset-worker/src/configuration.js +30 -0
- package/dist/workers-shared/asset-worker/src/configuration.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/constants.d.ts +1 -0
- package/dist/workers-shared/asset-worker/src/constants.js +3 -0
- package/dist/workers-shared/asset-worker/src/constants.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/handler.d.ts +28 -0
- package/dist/workers-shared/asset-worker/src/handler.js +717 -0
- package/dist/workers-shared/asset-worker/src/handler.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/types.d.ts +13 -0
- package/dist/workers-shared/asset-worker/src/types.js +2 -0
- package/dist/workers-shared/asset-worker/src/types.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/utils/base-path.d.ts +29 -0
- package/dist/workers-shared/asset-worker/src/utils/base-path.js +56 -0
- package/dist/workers-shared/asset-worker/src/utils/base-path.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/utils/headers.d.ts +11 -0
- package/dist/workers-shared/asset-worker/src/utils/headers.js +77 -0
- package/dist/workers-shared/asset-worker/src/utils/headers.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/utils/rules-engine.d.ts +23 -0
- package/dist/workers-shared/asset-worker/src/utils/rules-engine.js +133 -0
- package/dist/workers-shared/asset-worker/src/utils/rules-engine.js.map +1 -0
- package/dist/workers-shared/asset-worker/src/worker.d.ts +14 -0
- package/dist/workers-shared/asset-worker/src/worker.js +12 -0
- package/dist/workers-shared/asset-worker/src/worker.js.map +1 -0
- package/dist/workers-shared/utils/base-path.d.ts +32 -0
- package/dist/workers-shared/utils/base-path.js +94 -0
- package/dist/workers-shared/utils/base-path.js.map +1 -0
- package/dist/workers-shared/utils/configuration/constants.d.ts +15 -0
- package/dist/workers-shared/utils/configuration/constants.js +16 -0
- package/dist/workers-shared/utils/configuration/constants.js.map +1 -0
- package/dist/workers-shared/utils/configuration/constructConfiguration.d.ts +12 -0
- package/dist/workers-shared/utils/configuration/constructConfiguration.js +103 -0
- package/dist/workers-shared/utils/configuration/constructConfiguration.js.map +1 -0
- package/dist/workers-shared/utils/configuration/parseHeaders.d.ts +5 -0
- package/dist/workers-shared/utils/configuration/parseHeaders.js +181 -0
- package/dist/workers-shared/utils/configuration/parseHeaders.js.map +1 -0
- package/dist/workers-shared/utils/configuration/parseRedirects.d.ts +8 -0
- package/dist/workers-shared/utils/configuration/parseRedirects.js +129 -0
- package/dist/workers-shared/utils/configuration/parseRedirects.js.map +1 -0
- package/dist/workers-shared/utils/configuration/parseStaticRouting.d.ts +2 -0
- package/dist/workers-shared/utils/configuration/parseStaticRouting.js +94 -0
- package/dist/workers-shared/utils/configuration/parseStaticRouting.js.map +1 -0
- package/dist/workers-shared/utils/configuration/types.d.ts +38 -0
- package/dist/workers-shared/utils/configuration/types.js +2 -0
- package/dist/workers-shared/utils/configuration/types.js.map +1 -0
- package/dist/workers-shared/utils/configuration/validateURL.d.ts +3 -0
- package/dist/workers-shared/utils/configuration/validateURL.js +56 -0
- package/dist/workers-shared/utils/configuration/validateURL.js.map +1 -0
- package/dist/workers-shared/utils/constants.d.ts +28 -0
- package/dist/workers-shared/utils/constants.js +34 -0
- package/dist/workers-shared/utils/constants.js.map +1 -0
- package/dist/workers-shared/utils/helpers.d.ts +22 -0
- package/dist/workers-shared/utils/helpers.js +73 -0
- package/dist/workers-shared/utils/helpers.js.map +1 -0
- package/dist/workers-shared/utils/responses.d.ts +43 -0
- package/dist/workers-shared/utils/responses.js +125 -0
- package/dist/workers-shared/utils/responses.js.map +1 -0
- package/dist/workers-shared/utils/tracing.d.ts +3 -0
- package/dist/workers-shared/utils/tracing.js +29 -0
- package/dist/workers-shared/utils/tracing.js.map +1 -0
- package/dist/workers-shared/utils/types.d.ts +131 -0
- package/dist/workers-shared/utils/types.js +72 -0
- package/dist/workers-shared/utils/types.js.map +1 -0
- package/package.json +21 -37
- package/INTEGRATION.md +0 -399
- package/dist/cli/args.d.ts +0 -28
- package/dist/cli/args.d.ts.map +0 -1
- package/dist/cli/args.js +0 -148
- package/dist/cli/args.js.map +0 -1
- package/dist/cli/argumentChunks.d.ts +0 -3
- package/dist/cli/argumentChunks.d.ts.map +0 -1
- package/dist/cli/argumentChunks.js +0 -29
- package/dist/cli/argumentChunks.js.map +0 -1
- package/dist/cli/collectFiles.d.ts +0 -10
- package/dist/cli/collectFiles.d.ts.map +0 -1
- package/dist/cli/collectFiles.js +0 -53
- package/dist/cli/collectFiles.js.map +0 -1
- package/dist/cli/commands.d.ts +0 -8
- package/dist/cli/commands.d.ts.map +0 -1
- package/dist/cli/commands.js +0 -56
- package/dist/cli/commands.js.map +0 -1
- package/dist/cli/componentName.d.ts +0 -32
- package/dist/cli/componentName.d.ts.map +0 -1
- package/dist/cli/componentName.js +0 -43
- package/dist/cli/componentName.js.map +0 -1
- package/dist/cli/deploy.d.ts +0 -16
- package/dist/cli/deploy.d.ts.map +0 -1
- package/dist/cli/deploy.js +0 -283
- package/dist/cli/deploy.js.map +0 -1
- package/dist/cli/deployEnvironment.d.ts +0 -10
- package/dist/cli/deployEnvironment.d.ts.map +0 -1
- package/dist/cli/deployEnvironment.js +0 -12
- package/dist/cli/deployEnvironment.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/upload.d.ts +0 -22
- package/dist/cli/upload.d.ts.map +0 -1
- package/dist/cli/upload.js +0 -630
- package/dist/cli/upload.js.map +0 -1
- package/dist/client/_generated/_ignore.d.ts +0 -1
- package/dist/client/_generated/_ignore.d.ts.map +0 -1
- package/dist/client/_generated/_ignore.js +0 -3
- package/dist/client/_generated/_ignore.js.map +0 -1
- package/dist/client/index.d.ts.map +0 -1
- package/dist/component/_generated/api.d.ts.map +0 -1
- package/dist/component/_generated/component.d.ts.map +0 -1
- package/dist/component/_generated/dataModel.d.ts.map +0 -1
- package/dist/component/_generated/server.d.ts.map +0 -1
- package/dist/component/convex.config.d.ts.map +0 -1
- package/dist/component/http.d.ts +0 -4
- package/dist/component/http.d.ts.map +0 -1
- package/dist/component/http.js +0 -113
- package/dist/component/http.js.map +0 -1
- package/dist/component/lib.d.ts.map +0 -1
- package/dist/component/schema.d.ts.map +0 -1
- package/dist/component/serving.d.ts +0 -23
- package/dist/component/serving.d.ts.map +0 -1
- package/dist/component/serving.js +0 -161
- package/dist/component/serving.js.map +0 -1
- package/dist/react/index.d.ts +0 -59
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/index.js +0 -137
- package/dist/react/index.js.map +0 -1
- package/src/cli/args.test.ts +0 -79
- package/src/cli/args.ts +0 -153
- package/src/cli/argumentChunks.test.ts +0 -27
- package/src/cli/argumentChunks.ts +0 -40
- package/src/cli/collectFiles.test.ts +0 -26
- package/src/cli/collectFiles.ts +0 -59
- package/src/cli/commands.ts +0 -68
- package/src/cli/componentName.test.ts +0 -41
- package/src/cli/componentName.ts +0 -46
- package/src/cli/deploy.ts +0 -336
- package/src/cli/deployEnvironment.test.ts +0 -27
- package/src/cli/deployEnvironment.ts +0 -17
- package/src/cli/index.ts +0 -65
- package/src/cli/upload.ts +0 -837
- package/src/client/_generated/_ignore.ts +0 -1
- package/src/client/index.test.ts +0 -549
- package/src/client/index.ts +0 -344
- package/src/client/setup.test.ts +0 -22
- package/src/component/_generated/api.ts +0 -54
- package/src/component/_generated/component.ts +0 -55
- package/src/component/_generated/dataModel.ts +0 -60
- package/src/component/_generated/server.ts +0 -156
- package/src/component/convex.config.ts +0 -3
- package/src/component/http.test.ts +0 -254
- package/src/component/http.ts +0 -133
- package/src/component/lib.test.ts +0 -1007
- package/src/component/lib.ts +0 -862
- package/src/component/schema.ts +0 -75
- package/src/component/serving.ts +0 -170
- package/src/component/setup.test.ts +0 -11
- package/src/react/index.tsx +0 -197
- package/src/test.ts +0 -23
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/workers-shared/asset-worker/src/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACN,aAAa,EACb,oDAAoD,GACpD,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACN,wBAAwB,EACxB,sBAAsB,GACtB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AASjC,MAAM,wBAAwB,GAAG,KAAK,EACrC,OAAgB,EAChB,GAAQ,EACR,aAAoC,EACpC,MAAuD,EACvD,uBAA+B,EAC/B,SAAqB,EACyB,EAAE;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC;IAErC,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,iDAAiD;IACjD,MAAM,cAAc,GAAG,eAAe,CACrC,GAAG,EACH,OAAO,EACP,aAAa,EACb,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,QAAQ,EACZ,MAAM,CACN,CAAC;IACF,IAAI,cAAc,YAAY,QAAQ,EAAE,CAAC;QACxC,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7C,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAE7C,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,wBAAwB,GAAG,OAAO;QACvC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;QACtB,CAAC,CAAC,uBAAuB,CAAC;IAC3B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,QAAQ,CACd,GAAG,EACH,SAAS,EACT,aAAa,EACb,wBAAwB,EACxB,OAAO,CACP,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,OAAO;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,iBAAiB,CACvB,wBAAwB,EACxB,IAAI,EACJ,OAAO,EACP,aAAa,EACb,MAAM,CACN,CAAC;IACJ,MAAM,MAAM,GACX,cAAc;QACd,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,QAAQ,CACd,GAAG,EACH,SAAS,EACT,aAAa,EACb,wBAAwB,EACxB,OAAO,CACP,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACvD,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC;gBACZ,MAAM;gBACN,MAAM,EAAE,wBAAwB,CAAC,MAAM;aACvC,CAAC,CAAC;YAEH,OAAO,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,kBAAkB,GACvB,MAAM,CAAC,QAAQ,KAAK,IAAI;QACvB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;QACpC,CAAC,CAAC,wBAAwB,CAAC;IAC7B,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE1D;;;;OAIG;IACH,IACC,CAAC,kBAAkB,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC;QACjD,MAAM,CAAC,QAAQ,KAAK,IAAI,EACvB,CAAC;QACF,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC;gBACZ,YAAY,EAAE,QAAQ;gBACtB,QAAQ,EACP,kBAAkB,KAAK,QAAQ;oBAC9B,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;gBACpC,MAAM,EAAE,yBAAyB,CAAC,MAAM;aACxC,CAAC,CAAC;YAEH,OAAO,IAAI,yBAAyB,CAAC,kBAAkB,GAAG,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC;gBACZ,QAAQ;gBACR,MAAM,EAAE,2BAA2B,CAAC,MAAM;aAC1C,CAAC,CAAC;YAEH,OAAO,IAAI,2BAA2B,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC,CAAC;AAEF;;;;GAIG;AACH,SAAS,QAAQ,CAChB,GAAQ,EACR,SAAgC,EAChC,aAAoC,EACpC,eAAuB,EACvB,OAAgB,EAChB,mBAAmB,GAAG,IAAI;IAE1B,MAAM,QAAQ,GACb,OAAO,IAAI,mBAAmB;QAC7B,CAAC,CAAC,IAAI,gBAAgB,EAAE;QACxB,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;IAE3B,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;QACjD,IAAI,CAAC,OAAO,CAAC;YACZ,eAAe;YACf,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;YAC5C,OAAO;YACP,MAAM,EAAE,QAAQ,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,4BAA4B,GAAG,KAAK,EACzC,WAAoC,EACpC,OAAgB,EAChB,GAAQ,EACR,aAAoC,EACpC,SAA6D,EAC7D,SAAoB,EACnB,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAE5C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACpE,IAAI,CAAC,OAAO,CAAC;YACZ,QAAQ;YACR,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,MAAM,EAAE,WAAW,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,OAAO,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,eAAe,CAC9B,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,WAAW,EACjB,OAAO,EACP,aAAa,CACb,CAAC;IACF,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,UAAU,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClD,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;YACpD,IAAI,CAAC,OAAO,CAAC;gBACZ,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,mBAAmB,CAAC,MAAM;aAClC,CAAC,CAAC;YAEH,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,OAAO,CAAC;QACjB,QAAQ,EAAE,mBAAmB,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC;KAClE,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QAChD,IAAI,CAAC,OAAO,CAAC;YACZ,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,IAAI,EAAE,MAAM,KAAK,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;QAC7D,QAAQ,WAAW,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAChD,KAAK,UAAU,CAAC,MAAM;gBACrB,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,SAAS,kBAAkB,CAC1B,OAAgB,EAChB,IAAY;IAEZ,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,OAAO;QACN,eAAe;QACf,GAAG,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC;KACvC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC5B,OAAgB,EAChB,GAAQ,EACR,aAAoC,EACpC,MAAuD,EACpC,EAAE;IACrB,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,0BAA0B,GAC/B,aAAa,CAAC,kBAAkB;QAChC,CAAC,aAAa,CACb,aAAa,EACb,oDAAoD,CACpD;YACA,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACjC,aAAa,GAAG;YACf,GAAG,aAAa;YAChB,kBAAkB,EAAE,MAAM;SAC1B,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAC3D,OAAO,EACP,GAAG,EACH,aAAa,EACb,MAAM,EACN,WAAW,CAAC,eAAe,CAC3B,CAAC;IAEF,IAAI,qBAAqB,YAAY,gBAAgB,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EACjC,OAAgB,EAChB,GAAQ,EACR,aAAoC,EACpC,MAAuD,EACvD,SAA6D,EAC7D,SAAoB,EACnB,EAAE;IACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,QAAQ,CACd,GAAG,EACH,SAAS,EACT,aAAa,EACb,WAAW,CAAC,eAAe,EAC3B,KAAK,CACL,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAC3D,OAAO,EACP,GAAG,EACH,aAAa,EACb,MAAM,EACN,WAAW,CAAC,eAAe,EAC3B,SAAS,CACT,CAAC;IAEF,MAAM,QAAQ,GACb,qBAAqB,YAAY,QAAQ;QACxC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,MAAM,4BAA4B,CAClC,qBAAqB,EACrB,OAAO,EACP,GAAG,EACH,aAAa,EACb,SAAS,EACT,SAAS,CACT,CAAC;IAEL,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC,CAAC;AAIF,SAAS,mBAAmB,CAC3B,QAAkB,EAClB,aAAoC;IAEpC,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,QAAQ,aAAa,CAAC,kBAAkB,EAAE,CAAC;QAC1C,KAAK,yBAAyB;YAC7B,OAAO,KAAK,CAAC;QACd,KAAK,UAAU;YACd,OAAO,UAAU,CAAC;QACnB,KAAK,MAAM;YACV,OAAO,MAAM,CAAC;QACf;YACC,aAAa,CAAC,kBAAkC,CAAC;YACjD,OAAO,OAAO,CAAC;IACjB,CAAC;AACF,CAAC;AAWD,mBAAmB;AACnB,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC7B,QAAgB,EAChB,OAAgB,EAChB,aAAoC,EACpC,MAAuD,EACvD,aAAa,GAAG,KAAK,EACH,EAAE;IACpB,QAAQ,aAAa,CAAC,aAAa,EAAE,CAAC;QACrC,KAAK,qBAAqB,EAAE,CAAC;YAC5B,OAAO,6BAA6B,CACnC,QAAQ,EACR,OAAO,EACP,aAAa,EACb,MAAM,EACN,aAAa,CACb,CAAC;QACH,CAAC;QACD,KAAK,sBAAsB,EAAE,CAAC;YAC7B,OAAO,8BAA8B,CACpC,QAAQ,EACR,OAAO,EACP,aAAa,EACb,MAAM,EACN,aAAa,CACb,CAAC;QACH,CAAC;QACD,KAAK,qBAAqB,EAAE,CAAC;YAC5B,OAAO,6BAA6B,CACnC,QAAQ,EACR,OAAO,EACP,aAAa,EACb,MAAM,EACN,aAAa,CACb,CAAC;QACH,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACb,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAC/B,iBAAyB,EACzB,IAAY,EACZ,OAAgB,EAChB,aAAoC,EACpC,MAAuD;IAEvD,IAAI,QAAuB,CAAC;IAC5B,QAAQ,aAAa,CAAC,aAAa,EAAE,CAAC;QACrC,KAAK,sBAAsB,CAAC;QAC5B,KAAK,qBAAqB;YACzB,QAAQ;gBACP,IAAI,KAAK,GAAG,IAAI,iBAAiB,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,MAAM;QACP,KAAK,qBAAqB;YACzB,QAAQ,GAAG,IAAI,KAAK,GAAG,IAAI,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM;QACP,KAAK,MAAM;YACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,eAAe;KACzB,CAAC;AACH,CAAC;AAED,MAAM,6BAA6B,GAAG,KAAK,EAC1C,QAAgB,EAChB,OAAgB,EAChB,aAAoC,EACpC,MAAuD,EACvD,aAAsB,EACJ,EAAE;IACpB,IAAI,cAAc,GAAW,IAAI,CAAC;IAClC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YACf,+BAA+B;YAC/B,OAAO;gBACN,KAAK,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,UAAU,CAAC,MAAM;iBACzB;gBACD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,eAAe;aACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,OAAO,EAClB,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAClC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;gBACF,8CAA8C;gBAC9C,OAAO,cAAc,CAAC;YACvB,CAAC;iBAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAC7C,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EACnC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;gBACF,uCAAuC;gBACvC,OAAO,cAAc,CAAC;YACvB,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,QAAQ,EACR,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EACvC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,8CAA8C;YAC9C,OAAO,cAAc,CAAC;QACvB,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAClD,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EACxC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,uCAAuC;YACvC,OAAO,cAAc,CAAC;QACvB,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,QAAQ,YAAY,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACnE,2CAA2C;YAC3C,OAAO;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;gBACtD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,eAAe;aACzB,CAAC;QACH,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EACxC,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAC9B,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,uCAAuC;YACvC,OAAO,cAAc,CAAC;QACvB,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,QAAQ,EACR,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAClC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,uCAAuC;YACvC,OAAO,cAAc,CAAC;QACvB,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAClD,OAAO,EACP,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EACxC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,wEAAwE;YACxE,OAAO,cAAc,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACf,6BAA6B;QAC7B,OAAO;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;YACrD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,eAAe;SACzB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,QAAQ,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QACrE,mCAAmC;QACnC,OAAO;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;YACtD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,eAAe;SACzB,CAAC;IACH,CAAC;SAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,aAAa,EACxB,OAAO,EACP,GAAG,QAAQ,GAAG,EACd,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;QACF,8CAA8C;QAC9C,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,KAAK,EAC3C,QAAgB,EAChB,OAAgB,EAChB,aAAoC,EACpC,MAAuD,EACvD,aAAsB,EACJ,EAAE;IACpB,IAAI,cAAc,GAAW,IAAI,CAAC;IAClC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YACf,+BAA+B;YAC/B,OAAO;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;gBACrD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,eAAe;aACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,OAAO,EAClB,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAClC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;gBACF,8CAA8C;gBAC9C,OAAO,cAAc,CAAC;YACvB,CAAC;iBAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAC7C,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAClC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;gBACF,wCAAwC;gBACxC,OAAO,cAAc,CAAC;YACvB,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,QAAQ,EACR,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EACvC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,8CAA8C;YAC9C,OAAO,cAAc,CAAC;QACvB,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAClD,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EACvC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,wCAAwC;YACxC,OAAO,cAAc,CAAC;QACvB,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,QAAQ,YAAY,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACnE,2CAA2C;YAC3C,OAAO;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;gBACtD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,eAAe;aACzB,CAAC;QACH,CAAC;aAAM,IACN,CAAC,UAAU,GAAG,MAAM,MAAM,CACzB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EACxC,OAAO,CACP,CAAC,EACD,CAAC;YACF,qCAAqC;YACrC,OAAO;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;gBACtD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,eAAe;aACzB,CAAC;QACH,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,QAAQ,EACR,OAAO,EACP,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EACxC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,wCAAwC;YACxC,OAAO,cAAc,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACtB,qFAAqF;YACrF,OAAO;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;gBACrD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,eAAe;aACzB,CAAC;QACH,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAClD,OAAO,EACP,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EACxC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,8CAA8C;YAC9C,OAAO,cAAc,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACf,6BAA6B;QAC7B,OAAO;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;YACrD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,eAAe;SACzB,CAAC;IACH,CAAC;SAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,OAAO,EAClB,OAAO,EACP,GAAG,QAAQ,GAAG,EACd,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;QACF,wCAAwC;QACxC,OAAO,cAAc,CAAC;IACvB,CAAC;SAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,aAAa,EACxB,OAAO,EACP,GAAG,QAAQ,GAAG,EACd,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;QACF,8CAA8C;QAC9C,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAC1C,QAAgB,EAChB,OAAgB,EAChB,aAAoC,EACpC,MAAuD,EACvD,aAAsB,EACJ,EAAE;IACpB,IAAI,cAAc,GAAW,IAAI,CAAC;IAClC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YACf,+BAA+B;YAC/B,OAAO;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;gBACrD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,eAAe;aACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,aAAa,EACb,OAAO,EACP,GAAG,EACH,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;oBACF,OAAO,cAAc,CAAC;gBACvB,CAAC;YACF,CAAC;iBAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAC7C,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EACnC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;gBACF,uCAAuC;gBACvC,OAAO,cAAc,CAAC;YACvB,CAAC;iBAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,OAAO,EAClB,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EACnC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;gBACF,6CAA6C;gBAC7C,OAAO,cAAc,CAAC;YACvB,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,6DAA6D;QAC7D,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAChC,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,aAAa,EACb,OAAO,EACP,GAAG,EACH,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;gBACF,OAAO,cAAc,CAAC;YACvB,CAAC;QACF,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,QAAQ,EACR,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EACxC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,6CAA6C;YAC7C,OAAO,cAAc,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACtB,iGAAiG;YACjG,OAAO;gBACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;gBACrD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,eAAe;aACzB,CAAC;QACH,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAClD,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EACxC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,uCAAuC;YACvC,OAAO,cAAc,CAAC;QACvB,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;gBACzD,mCAAmC;gBACnC,OAAO;oBACN,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;oBACtD,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,eAAe;iBACzB,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EACxC,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAC9B,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,uCAAuC;YACvC,OAAO,cAAc,CAAC;QACvB,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAC9C,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAC9B,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,6CAA6C;YAC7C,OAAO,cAAc,CAAC;QACvB,CAAC;IACF,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IACC,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,QAAQ,EACR,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAClC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,uCAAuC;YACvC,OAAO,cAAc,CAAC;QACvB,CAAC;aAAM,IACN,CAAC,cAAc,GAAG,MAAM,YAAY,CACnC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAClD,OAAO,EACP,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAClC,aAAa,EACb,MAAM,EACN,aAAa,EACb,eAAe,CACf,CAAC,EACD,CAAC;YACF,6CAA6C;YAC7C,OAAO,cAAc,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACf,6BAA6B;QAC7B,OAAO;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;YACrD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,eAAe;SACzB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,QAAQ,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QACrE,oCAAoC;QACpC,OAAO;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;YACtD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,eAAe;SACzB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,QAAQ,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QAC3E,0CAA0C;QAC1C,OAAO;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;YACtD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,eAAe;SACzB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC7B,QAAgB,EAChB,OAAgB,EAChB,aAAoC,EACpC,MAAuD,EACrC,EAAE;IACpB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,SAAS,EAAE,CAAC;QACf,OAAO;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;YACrD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,eAAe;SACzB,CAAC;IACH,CAAC;SAAM,CAAC;QACP,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EACrB,QAAgB,EAChB,OAAgB,EAChB,aAAoC,EACpC,MAAuD,EACrC,EAAE;IACpB,QAAQ,aAAa,CAAC,kBAAkB,EAAE,CAAC;QAC1C,KAAK,yBAAyB,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,IAAI,EAAE,CAAC;gBACV,OAAO;oBACN,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;oBAC1C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,WAAW;iBACrB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,KAAK,UAAU,EAAE,CAAC;YACjB,IAAI,GAAG,GAAG,QAAQ,CAAC;YACnB,OAAO,GAAG,EAAE,CAAC;gBACZ,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;gBACtD,IAAI,IAAI,EAAE,CAAC;oBACV,OAAO;wBACN,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE;wBAChD,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,WAAW;qBACrB,CAAC;gBACH,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,SAAS,CAAC;YACT,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EACzB,IAAY,EACZ,OAAgB,EAChB,WAAmB,EACnB,aAAoC,EACpC,MAAuD,EACvD,IAAa,EACb,QAAkB,EACA,EAAE;IACpB,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,SAAS,CAC7B,WAAW,EACX,OAAO,EACP,aAAa,EACb,MAAM,EACN,IAAI,CACJ,CAAC;QACF,0DAA0D;QAC1D,IAAI,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO;gBACN,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,WAAW;gBACrB,QAAQ;aACR,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;KAoBK;AAEL;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvC,OAAO,CACN,QAAQ;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC;QACV,wFAAwF;SACvF,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACtB,CAAC;AACH,CAAC,CAAC;AACF;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvC,OAAO,QAAQ;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACvB,GAAQ,EACR,OAAgB,EAChB,aAAoC,EACpC,IAAY,EACZ,QAAgB,EAChB,MAAc,EACsC,EAAE;IACtD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;QACpD,MAAM,aAAa,GAClB,sBAAsB,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrD,wBAAwB,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClC,yFAAyF;gBACzF,kFAAkF;gBAClF,kFAAkF;gBAClF,mFAAmF;gBACnF,2BAA2B;gBAC3B,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAC3D,OAAO,GAAG,IAAI,CAAC;gBAEf,IAAI,CAAC,OAAO,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,aAAa,CAAC,MAAM;iBAC5B,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC;gBACrC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,QAAQ,GACb,WAAW,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;oBACjD,CAAC,CAAC,GAAG,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,IAAI,MAAM,GACtD,WAAW,CAAC,IACb,EAAE;oBACH,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAC7G,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAC3C,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;gBAEzB,IAAI,CAAC,OAAO,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,QAAQ;oBACrB,MAAM;iBACN,CAAC,CAAC;gBAEH,QAAQ,MAAM,EAAE,CAAC;oBAChB,KAAK,wBAAwB,CAAC,MAAM;wBACnC,OAAO,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;oBAC/C,KAAK,gBAAgB,CAAC,MAAM;wBAC3B,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBACvC,KAAK,yBAAyB,CAAC,MAAM;wBACpC,OAAO,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;oBAChD,KAAK,yBAAyB,CAAC,MAAM;wBACpC,OAAO,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;oBAChD,KAAK,aAAa,CAAC,MAAM,CAAC;oBAC1B;wBACC,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC;YACF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,CAAC;gBACZ,OAAO,EAAE,KAAK;aACd,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AssetConfig } from "../../utils/types.js";
|
|
2
|
+
export type NormalizedAssetConfig = Required<AssetConfig>;
|
|
3
|
+
export type Environment = "production" | "staging" | "fed-prod";
|
|
4
|
+
export interface ReadyAnalytics {
|
|
5
|
+
logEvent: (e: ReadyAnalyticsEvent) => void;
|
|
6
|
+
}
|
|
7
|
+
export interface ReadyAnalyticsEvent {
|
|
8
|
+
accountId?: number;
|
|
9
|
+
indexId?: string;
|
|
10
|
+
version?: number;
|
|
11
|
+
doubles?: (number | undefined)[];
|
|
12
|
+
blobs?: (string | undefined)[];
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/workers-shared/asset-worker/src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset-worker-local helpers for converting between public request pathnames
|
|
3
|
+
* and asset-directory-relative pathnames using the configured `base_path`.
|
|
4
|
+
*
|
|
5
|
+
* `base` is always the canonical stored form: either `"/"` or an absolute
|
|
6
|
+
* pathname with a trailing slash such as `"/subpath/"`.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Strip the configured base from a decoded public pathname, returning the
|
|
10
|
+
* asset-directory-relative path.
|
|
11
|
+
*
|
|
12
|
+
* - When `base` is `"/"` this is the identity mapping (`inPrefix: true`).
|
|
13
|
+
* - The base root itself maps to `assetPath: "/"`.
|
|
14
|
+
* - A leading `/` is always preserved on the returned asset path.
|
|
15
|
+
* - When the path is off-prefix, `inPrefix` is `false` and the caller returns
|
|
16
|
+
* `NoIntentResponse`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function stripBasePath(publicDecodedPath: string, base: string): {
|
|
19
|
+
inPrefix: boolean;
|
|
20
|
+
assetPath: string;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Re-append the configured base to an asset-directory-relative location,
|
|
24
|
+
* producing a public path. Only ever call this with an explicitly
|
|
25
|
+
* asset-relative location (e.g. an asset-worker-generated redirect); never with
|
|
26
|
+
* a value that might already be public. The empty string represents the base
|
|
27
|
+
* root without its canonical trailing slash.
|
|
28
|
+
*/
|
|
29
|
+
export declare function addBasePath(assetRelativePath: string, base: string): string;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset-worker-local helpers for converting between public request pathnames
|
|
3
|
+
* and asset-directory-relative pathnames using the configured `base_path`.
|
|
4
|
+
*
|
|
5
|
+
* `base` is always the canonical stored form: either `"/"` or an absolute
|
|
6
|
+
* pathname with a trailing slash such as `"/subpath/"`.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Segment-aware check that a decoded public path is at, or nested under, the
|
|
10
|
+
* base. `/subpath` matches `/subpath` and `/subpath/...`, but not
|
|
11
|
+
* `/subpath-other`. The root base `"/"` matches everything.
|
|
12
|
+
*/
|
|
13
|
+
function isWithinBase(publicDecodedPath, base) {
|
|
14
|
+
if (base === "/") {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return (publicDecodedPath === base.slice(0, -1) ||
|
|
18
|
+
publicDecodedPath.startsWith(base));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Strip the configured base from a decoded public pathname, returning the
|
|
22
|
+
* asset-directory-relative path.
|
|
23
|
+
*
|
|
24
|
+
* - When `base` is `"/"` this is the identity mapping (`inPrefix: true`).
|
|
25
|
+
* - The base root itself maps to `assetPath: "/"`.
|
|
26
|
+
* - A leading `/` is always preserved on the returned asset path.
|
|
27
|
+
* - When the path is off-prefix, `inPrefix` is `false` and the caller returns
|
|
28
|
+
* `NoIntentResponse`.
|
|
29
|
+
*/
|
|
30
|
+
export function stripBasePath(publicDecodedPath, base) {
|
|
31
|
+
if (base === "/") {
|
|
32
|
+
return { inPrefix: true, assetPath: publicDecodedPath };
|
|
33
|
+
}
|
|
34
|
+
if (!isWithinBase(publicDecodedPath, base)) {
|
|
35
|
+
return { inPrefix: false, assetPath: publicDecodedPath };
|
|
36
|
+
}
|
|
37
|
+
const stripped = publicDecodedPath.slice(base.length - 1);
|
|
38
|
+
return { inPrefix: true, assetPath: stripped === "" ? "/" : stripped };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Re-append the configured base to an asset-directory-relative location,
|
|
42
|
+
* producing a public path. Only ever call this with an explicitly
|
|
43
|
+
* asset-relative location (e.g. an asset-worker-generated redirect); never with
|
|
44
|
+
* a value that might already be public. The empty string represents the base
|
|
45
|
+
* root without its canonical trailing slash.
|
|
46
|
+
*/
|
|
47
|
+
export function addBasePath(assetRelativePath, base) {
|
|
48
|
+
if (base === "/") {
|
|
49
|
+
return assetRelativePath;
|
|
50
|
+
}
|
|
51
|
+
if (assetRelativePath === "/") {
|
|
52
|
+
return base;
|
|
53
|
+
}
|
|
54
|
+
return base.slice(0, -1) + assetRelativePath;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=base-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-path.js","sourceRoot":"","sources":["../../../../../src/workers-shared/asset-worker/src/utils/base-path.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,SAAS,YAAY,CAAC,iBAAyB,EAAE,IAAY;IAC5D,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CACN,iBAAiB,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAClC,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC5B,iBAAyB,EACzB,IAAY;IAEZ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,iBAAyB,EAAE,IAAY;IAClE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IACD,IAAI,iBAAiB,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AssetIntentWithResolver } from "../handler.js";
|
|
2
|
+
import type { NormalizedAssetConfig } from "../types.js";
|
|
3
|
+
import type { Env } from "../worker.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns a Headers object that contains additional headers (to those
|
|
6
|
+
* present in the original request) that the Assets Server Worker
|
|
7
|
+
* should attach to its response.
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAssetHeaders({ eTag, resolver }: AssetIntentWithResolver, contentType: string | undefined, cacheStatus: string, request: Request, configuration: NormalizedAssetConfig): Headers;
|
|
11
|
+
export declare function attachCustomHeaders(request: Request, response: Response, configuration: NormalizedAssetConfig, env: Env): Response;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { mockJaegerBinding } from "../../../utils/tracing.js";
|
|
2
|
+
import { flagIsEnabled, SEC_FETCH_MODE_NAVIGATE_HEADER_PREFERS_ASSET_SERVING, } from "../compatibility-flags.js";
|
|
3
|
+
import { CACHE_CONTROL_BROWSER } from "../constants.js";
|
|
4
|
+
import { HEADERS_VERSION } from "../handler.js";
|
|
5
|
+
import { generateRulesMatcher, replacer } from "./rules-engine.js";
|
|
6
|
+
/**
|
|
7
|
+
* Returns a Headers object that contains additional headers (to those
|
|
8
|
+
* present in the original request) that the Assets Server Worker
|
|
9
|
+
* should attach to its response.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export function getAssetHeaders({ eTag, resolver }, contentType, cacheStatus, request, configuration) {
|
|
13
|
+
const headers = new Headers({
|
|
14
|
+
ETag: `"${eTag}"`,
|
|
15
|
+
});
|
|
16
|
+
if (contentType !== undefined) {
|
|
17
|
+
headers.append("Content-Type", contentType);
|
|
18
|
+
}
|
|
19
|
+
if (isCacheable(request)) {
|
|
20
|
+
headers.append("Cache-Control", CACHE_CONTROL_BROWSER);
|
|
21
|
+
}
|
|
22
|
+
// Attach CF-Cache-Status, this will show to users that we are caching assets
|
|
23
|
+
// and it will also populate the cache fields through the logging pipeline.
|
|
24
|
+
headers.append("CF-Cache-Status", cacheStatus);
|
|
25
|
+
if (configuration.debug &&
|
|
26
|
+
resolver === "not-found" &&
|
|
27
|
+
flagIsEnabled(configuration, SEC_FETCH_MODE_NAVIGATE_HEADER_PREFERS_ASSET_SERVING)) {
|
|
28
|
+
headers.append("X-Mf-Additional-Response-Log", "`Sec-Fetch-Mode: navigate` header present - using `not_found_handling` behavior");
|
|
29
|
+
}
|
|
30
|
+
return headers;
|
|
31
|
+
}
|
|
32
|
+
function isCacheable(request) {
|
|
33
|
+
return !request.headers.has("Authorization") && !request.headers.has("Range");
|
|
34
|
+
}
|
|
35
|
+
export function attachCustomHeaders(request, response, configuration, env) {
|
|
36
|
+
const jaeger = env.JAEGER ?? mockJaegerBinding();
|
|
37
|
+
return jaeger.enterSpan("add_headers", (span) => {
|
|
38
|
+
// Iterate through rules and find rules that match the path
|
|
39
|
+
const headersMatcher = generateRulesMatcher(configuration.headers?.version === HEADERS_VERSION
|
|
40
|
+
? configuration.headers.rules
|
|
41
|
+
: {}, ({ set = {}, unset = [] }, replacements) => {
|
|
42
|
+
const replacedSet = {};
|
|
43
|
+
Object.entries(set).forEach(([key, value]) => {
|
|
44
|
+
replacedSet[key] = replacer(value, replacements);
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
set: replacedSet,
|
|
48
|
+
unset,
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
const matches = headersMatcher({ request });
|
|
52
|
+
// This keeps track of every header that we've set from _headers
|
|
53
|
+
// because we want to combine user declared headers but overwrite
|
|
54
|
+
// existing and extra ones
|
|
55
|
+
const setMap = new Set();
|
|
56
|
+
// Apply every matched rule in order
|
|
57
|
+
matches.forEach(({ set = {}, unset = [] }) => {
|
|
58
|
+
unset.forEach((key) => {
|
|
59
|
+
response.headers.delete(key);
|
|
60
|
+
span.addLogs({ remove_header: key });
|
|
61
|
+
});
|
|
62
|
+
Object.entries(set).forEach(([key, value]) => {
|
|
63
|
+
if (setMap.has(key.toLowerCase())) {
|
|
64
|
+
response.headers.append(key, value);
|
|
65
|
+
span.addLogs({ append_header: key });
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
response.headers.set(key, value);
|
|
69
|
+
setMap.add(key.toLowerCase());
|
|
70
|
+
span.addLogs({ add_header: key });
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
return response;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../../../src/workers-shared/asset-worker/src/utils/headers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { NormalizedAssetConfig } from "../types.js";
|
|
2
|
+
export type Replacements = Record<string, string>;
|
|
3
|
+
export type Removals = string[];
|
|
4
|
+
export declare const replacer: (str: string, replacements: Replacements) => string;
|
|
5
|
+
export declare const generateGlobOnlyRuleRegExp: (rule: string) => RegExp;
|
|
6
|
+
export declare const generateRuleRegExp: (rule: string) => RegExp;
|
|
7
|
+
export declare const generateRulesMatcher: <T>(rules?: Record<string, T>, replacerFn?: (match: T, replacements: Replacements) => T) => ({ request }: {
|
|
8
|
+
request: Request;
|
|
9
|
+
}) => T[];
|
|
10
|
+
export declare const staticRedirectsMatcher: (configuration: NormalizedAssetConfig, host: string, pathname: string) => {
|
|
11
|
+
status: number;
|
|
12
|
+
to: string;
|
|
13
|
+
lineNumber: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const generateRedirectsMatcher: (configuration: NormalizedAssetConfig) => ({ request }: {
|
|
16
|
+
request: Request;
|
|
17
|
+
}) => {
|
|
18
|
+
status: number;
|
|
19
|
+
to: string;
|
|
20
|
+
}[];
|
|
21
|
+
export declare const generateStaticRoutingRuleMatcher: (rules: string[]) => ({ request }: {
|
|
22
|
+
request: Request;
|
|
23
|
+
}) => boolean;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// Taken from https://stackoverflow.com/a/3561711
|
|
2
|
+
// which is everything from the tc39 proposal, plus the following two characters: ^/
|
|
3
|
+
// It's also everything included in the URLPattern escape (https://wicg.github.io/urlpattern/#escape-a-regexp-string), plus the following: -
|
|
4
|
+
import { REDIRECTS_VERSION } from "../handler.js";
|
|
5
|
+
// As the answer says, there's no downside to escaping these extra characters, so better safe than sorry
|
|
6
|
+
const ESCAPE_REGEX_CHARACTERS = /[-/\\^$*+?.()|[\]{}]/g;
|
|
7
|
+
const escapeRegex = (str) => {
|
|
8
|
+
return str.replace(ESCAPE_REGEX_CHARACTERS, "\\$&");
|
|
9
|
+
};
|
|
10
|
+
// Placeholder names must begin with a colon then a letter, be alphanumeric and optionally contain underscores.
|
|
11
|
+
// e.g. :place_123_holder
|
|
12
|
+
const HOST_PLACEHOLDER_REGEX = /(?<=^https:\\\/\\\/[^/]*?):([A-Za-z]\w*)(?=\\)/g;
|
|
13
|
+
const PLACEHOLDER_REGEX = /:([A-Za-z]\w*)/g;
|
|
14
|
+
export const replacer = (str, replacements) => {
|
|
15
|
+
for (const [replacement, value] of Object.entries(replacements)) {
|
|
16
|
+
str = str.replaceAll(`:${replacement}`, value);
|
|
17
|
+
}
|
|
18
|
+
return str;
|
|
19
|
+
};
|
|
20
|
+
export const generateGlobOnlyRuleRegExp = (rule) => {
|
|
21
|
+
// Escape all regex characters other than globs (the "*" character) since that's all that's supported.
|
|
22
|
+
rule = rule.split("*").map(escapeRegex).join(".*");
|
|
23
|
+
// Wrap in line terminators to be safe.
|
|
24
|
+
rule = "^" + rule + "$";
|
|
25
|
+
return RegExp(rule);
|
|
26
|
+
};
|
|
27
|
+
export const generateRuleRegExp = (rule) => {
|
|
28
|
+
// Create :splat capturer then escape.
|
|
29
|
+
rule = rule.split("*").map(escapeRegex).join("(?<splat>.*)");
|
|
30
|
+
// Create :placeholder capturers (already escaped).
|
|
31
|
+
// For placeholders in the host, we separate at forward slashes and periods.
|
|
32
|
+
// For placeholders in the path, we separate at forward slashes.
|
|
33
|
+
// This matches the behavior of URLPattern.
|
|
34
|
+
// e.g. https://:subdomain.domain/ -> https://(here).domain/
|
|
35
|
+
// e.g. /static/:file -> /static/(image.jpg)
|
|
36
|
+
// e.g. /blog/:post -> /blog/(an-exciting-post)
|
|
37
|
+
const host_matches = rule.matchAll(HOST_PLACEHOLDER_REGEX);
|
|
38
|
+
for (const host_match of host_matches) {
|
|
39
|
+
rule = rule.split(host_match[0]).join(`(?<${host_match[1]}>[^/.]+)`);
|
|
40
|
+
}
|
|
41
|
+
const path_matches = rule.matchAll(PLACEHOLDER_REGEX);
|
|
42
|
+
for (const path_match of path_matches) {
|
|
43
|
+
rule = rule.split(path_match[0]).join(`(?<${path_match[1]}>[^/]+)`);
|
|
44
|
+
}
|
|
45
|
+
// Wrap in line terminators to be safe.
|
|
46
|
+
rule = "^" + rule + "$";
|
|
47
|
+
return RegExp(rule);
|
|
48
|
+
};
|
|
49
|
+
export const generateRulesMatcher = (rules, replacerFn = (match) => match) => {
|
|
50
|
+
if (!rules) {
|
|
51
|
+
return () => [];
|
|
52
|
+
}
|
|
53
|
+
const compiledRules = Object.entries(rules)
|
|
54
|
+
.map(([rule, match]) => {
|
|
55
|
+
const crossHost = rule.startsWith("https://");
|
|
56
|
+
try {
|
|
57
|
+
const regExp = generateRuleRegExp(rule);
|
|
58
|
+
return [{ crossHost, regExp }, match];
|
|
59
|
+
}
|
|
60
|
+
catch { }
|
|
61
|
+
})
|
|
62
|
+
.filter((value) => value !== undefined);
|
|
63
|
+
return ({ request }) => {
|
|
64
|
+
const { pathname, hostname } = new URL(request.url);
|
|
65
|
+
return compiledRules
|
|
66
|
+
.map(([{ crossHost, regExp }, match]) => {
|
|
67
|
+
// This, rather confusingly, means that although we enforce `https://` protocols in
|
|
68
|
+
// the rules of `_headers`/`_redirects`, we don't actually respect that at all at runtime.
|
|
69
|
+
// When processing a request against an absolute URL rule, we rewrite the protocol to `https://`.
|
|
70
|
+
// This has the benefit of ensuring attackers can't specify a different protocol
|
|
71
|
+
// to circumvent a developer's security rules (e.g. CORS), but it isn't obvious behavior.
|
|
72
|
+
// We should consider different syntax in the future for developers when they specify rules.
|
|
73
|
+
// For example, `*://example.com/path`, `://example.com/path` or `//example.com/`.
|
|
74
|
+
// Though we'd need to be careful with that last one
|
|
75
|
+
// as that would currently be read as a relative URL.
|
|
76
|
+
// Perhaps, if we ever move the `_headers`/`_redirects` files to acting ahead of Functions,
|
|
77
|
+
// this might be a good time for this change.
|
|
78
|
+
const test = crossHost ? `https://${hostname}${pathname}` : pathname;
|
|
79
|
+
const result = regExp.exec(test);
|
|
80
|
+
if (result) {
|
|
81
|
+
return replacerFn(match, result.groups || {});
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
.filter((value) => value !== undefined);
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
export const staticRedirectsMatcher = (configuration, host, pathname) => {
|
|
88
|
+
const withHostMatch = configuration.redirects.staticRules[`https://${host}${pathname}`];
|
|
89
|
+
const withoutHostMatch = configuration.redirects.staticRules[pathname];
|
|
90
|
+
if (withHostMatch && withoutHostMatch) {
|
|
91
|
+
if (withHostMatch.lineNumber < withoutHostMatch.lineNumber) {
|
|
92
|
+
return withHostMatch;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return withoutHostMatch;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return withHostMatch || withoutHostMatch;
|
|
99
|
+
};
|
|
100
|
+
export const generateRedirectsMatcher = (configuration) => generateRulesMatcher(configuration.redirects.version === REDIRECTS_VERSION
|
|
101
|
+
? configuration.redirects.rules
|
|
102
|
+
: {}, ({ status, to }, replacements) => {
|
|
103
|
+
const target = replacer(to, replacements).trim();
|
|
104
|
+
const protoPattern = /^(\w+:\/\/)/;
|
|
105
|
+
if (protoPattern.test(target)) {
|
|
106
|
+
// External redirects are not modified.
|
|
107
|
+
return {
|
|
108
|
+
status,
|
|
109
|
+
to: target,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// Relative redirects are modified to remove multiple slashes.
|
|
114
|
+
return {
|
|
115
|
+
status,
|
|
116
|
+
to: target.replace(/\/+/g, "/"),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
export const generateStaticRoutingRuleMatcher = (rules) => ({ request }) => {
|
|
121
|
+
const { pathname } = new URL(request.url);
|
|
122
|
+
for (const rule of rules) {
|
|
123
|
+
try {
|
|
124
|
+
const regExp = generateGlobOnlyRuleRegExp(rule);
|
|
125
|
+
if (regExp.test(pathname)) {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
catch { }
|
|
130
|
+
}
|
|
131
|
+
return false;
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=rules-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-engine.js","sourceRoot":"","sources":["../../../../../src/workers-shared/asset-worker/src/utils/rules-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { JaegerTracing } from "../../utils/types";
|
|
2
|
+
export type Env = {
|
|
3
|
+
JAEGER: JaegerTracing;
|
|
4
|
+
};
|
|
5
|
+
export type GetByETagResult = {
|
|
6
|
+
readableStream: ReadableStream;
|
|
7
|
+
contentType: string | undefined;
|
|
8
|
+
cacheStatus: "HIT" | "MISS";
|
|
9
|
+
};
|
|
10
|
+
/** The two callbacks that `handleRequest` and `canFetch` take, as upstream declares them. */
|
|
11
|
+
export default class AssetWorkerEntrypoint {
|
|
12
|
+
unstable_exists(_pathname: string, _request?: Request): Promise<string | null>;
|
|
13
|
+
unstable_getByETag(_eTag: string, _request?: Request): Promise<GetByETagResult>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Ours, not synced. Upstream's worker.ts is the Cloudflare Worker entrypoint (KV, analytics,
|
|
2
|
+
// Sentry). handler.ts and utils/headers.ts import only these types from it.
|
|
3
|
+
/** The two callbacks that `handleRequest` and `canFetch` take, as upstream declares them. */
|
|
4
|
+
export default class AssetWorkerEntrypoint {
|
|
5
|
+
unstable_exists(_pathname, _request) {
|
|
6
|
+
throw new Error("Type-only declaration.");
|
|
7
|
+
}
|
|
8
|
+
unstable_getByETag(_eTag, _request) {
|
|
9
|
+
throw new Error("Type-only declaration.");
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/workers-shared/asset-worker/src/worker.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,4EAA4E;AAc5E,6FAA6F;AAC7F,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,eAAe,CAAC,SAAiB,EAAE,QAAkB;QACnD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,QAAkB;QAClD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical normalization for the `assets.base_path` configuration field.
|
|
3
|
+
*
|
|
4
|
+
* This implements the shared canonical path contract applied by the Asset
|
|
5
|
+
* Worker when it receives its final configuration.
|
|
6
|
+
*
|
|
7
|
+
* The stored canonical form is either the root `"/"` or an absolute pathname
|
|
8
|
+
* with both leading and trailing slashes, such as `"/subpath/"`.
|
|
9
|
+
*/
|
|
10
|
+
export type BasePathValidationResult = {
|
|
11
|
+
valid: true;
|
|
12
|
+
value: string;
|
|
13
|
+
} | {
|
|
14
|
+
valid: false;
|
|
15
|
+
error: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Validate and normalize a raw `base_path` value into its canonical stored form.
|
|
19
|
+
*
|
|
20
|
+
* Relative and absolute pathname inputs are accepted and interpreted as a fixed
|
|
21
|
+
* root-relative request prefix. Empty and dot segments are resolved before a
|
|
22
|
+
* leading and trailing slash are applied. URL-shaped values, query or fragment
|
|
23
|
+
* delimiters, backslashes, control characters, and percent-encoded sequences
|
|
24
|
+
* are rejected. Unicode pathname characters are allowed.
|
|
25
|
+
*/
|
|
26
|
+
export declare function normalizeBasePath(value: unknown): BasePathValidationResult;
|
|
27
|
+
/**
|
|
28
|
+
* Decode and normalize a URI-encoded `base_path` without decoding reserved URI
|
|
29
|
+
* delimiters. In particular, `decodeURI` leaves encoded path separators such
|
|
30
|
+
* as `%2F` intact so that `normalizeBasePath` rejects them as ambiguous.
|
|
31
|
+
*/
|
|
32
|
+
export declare function normalizeUriEncodedBasePath(value: unknown): BasePathValidationResult;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical normalization for the `assets.base_path` configuration field.
|
|
3
|
+
*
|
|
4
|
+
* This implements the shared canonical path contract applied by the Asset
|
|
5
|
+
* Worker when it receives its final configuration.
|
|
6
|
+
*
|
|
7
|
+
* The stored canonical form is either the root `"/"` or an absolute pathname
|
|
8
|
+
* with both leading and trailing slashes, such as `"/subpath/"`.
|
|
9
|
+
*/
|
|
10
|
+
// eslint-disable-next-line no-control-regex -- control characters are matched intentionally so they can be rejected in `base_path`
|
|
11
|
+
const CONTROL_CHARACTER = /[\u0000-\u001f\u007f]/;
|
|
12
|
+
/**
|
|
13
|
+
* Validate and normalize a raw `base_path` value into its canonical stored form.
|
|
14
|
+
*
|
|
15
|
+
* Relative and absolute pathname inputs are accepted and interpreted as a fixed
|
|
16
|
+
* root-relative request prefix. Empty and dot segments are resolved before a
|
|
17
|
+
* leading and trailing slash are applied. URL-shaped values, query or fragment
|
|
18
|
+
* delimiters, backslashes, control characters, and percent-encoded sequences
|
|
19
|
+
* are rejected. Unicode pathname characters are allowed.
|
|
20
|
+
*/
|
|
21
|
+
export function normalizeBasePath(value) {
|
|
22
|
+
if (value === "/") {
|
|
23
|
+
return { valid: true, value: "/" };
|
|
24
|
+
}
|
|
25
|
+
if (typeof value !== "string") {
|
|
26
|
+
return {
|
|
27
|
+
valid: false,
|
|
28
|
+
error: `Expected a string but got ${typeof value}.`,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (value.length === 0) {
|
|
32
|
+
return { valid: false, error: `The value must not be empty.` };
|
|
33
|
+
}
|
|
34
|
+
if (value.startsWith("//") || /^[a-zA-Z][a-zA-Z\d+.-]*:/.test(value)) {
|
|
35
|
+
return {
|
|
36
|
+
valid: false,
|
|
37
|
+
error: `The value must be a pathname, not a URL.`,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (value.includes("\\")) {
|
|
41
|
+
return { valid: false, error: `The value must not contain backslashes.` };
|
|
42
|
+
}
|
|
43
|
+
if (CONTROL_CHARACTER.test(value)) {
|
|
44
|
+
return {
|
|
45
|
+
valid: false,
|
|
46
|
+
error: `The value must not contain control characters.`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (value.includes("?") || value.includes("#")) {
|
|
50
|
+
return {
|
|
51
|
+
valid: false,
|
|
52
|
+
error: `The value must not contain query strings or fragments.`,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
if (value.includes("%")) {
|
|
56
|
+
return {
|
|
57
|
+
valid: false,
|
|
58
|
+
error: `The value must not contain percent-encoded sequences.`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const normalizedSegments = [];
|
|
62
|
+
for (const segment of value.split("/")) {
|
|
63
|
+
if (segment === "" || segment === ".") {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (segment === "..") {
|
|
67
|
+
normalizedSegments.pop();
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
normalizedSegments.push(segment);
|
|
71
|
+
}
|
|
72
|
+
const canonical = normalizedSegments.length === 0 ? "/" : `/${normalizedSegments.join("/")}/`;
|
|
73
|
+
return { valid: true, value: canonical };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Decode and normalize a URI-encoded `base_path` without decoding reserved URI
|
|
77
|
+
* delimiters. In particular, `decodeURI` leaves encoded path separators such
|
|
78
|
+
* as `%2F` intact so that `normalizeBasePath` rejects them as ambiguous.
|
|
79
|
+
*/
|
|
80
|
+
export function normalizeUriEncodedBasePath(value) {
|
|
81
|
+
if (typeof value !== "string") {
|
|
82
|
+
return normalizeBasePath(value);
|
|
83
|
+
}
|
|
84
|
+
try {
|
|
85
|
+
return normalizeBasePath(decodeURI(value));
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return {
|
|
89
|
+
valid: false,
|
|
90
|
+
error: `The value contains malformed URI encoding.`,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=base-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-path.js","sourceRoot":"","sources":["../../../src/workers-shared/utils/base-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,mIAAmI;AACnI,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC/C,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,6BAA6B,OAAO,KAAK,GAAG;SACnD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,0CAA0C;SACjD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;IAC3E,CAAC;IAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,gDAAgD;SACvD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,wDAAwD;SAC/D,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,uDAAuD;SAC9D,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACvC,SAAS;QACV,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,kBAAkB,CAAC,GAAG,EAAE,CAAC;YACzB,SAAS;QACV,CAAC;QACD,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,SAAS,GACd,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAC1C,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,4CAA4C;SACnD,CAAC;IACH,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const REDIRECTS_VERSION = 1;
|
|
2
|
+
export declare const HEADERS_VERSION = 2;
|
|
3
|
+
export declare const PERMITTED_STATUS_CODES: Set<number>;
|
|
4
|
+
export declare const HEADER_SEPARATOR = ":";
|
|
5
|
+
export declare const MAX_LINE_LENGTH = 2000;
|
|
6
|
+
export declare const MAX_HEADER_RULES = 100;
|
|
7
|
+
export declare const MAX_DYNAMIC_REDIRECT_RULES = 100;
|
|
8
|
+
export declare const MAX_STATIC_REDIRECT_RULES = 2000;
|
|
9
|
+
export declare const UNSET_OPERATOR = "! ";
|
|
10
|
+
export declare const SPLAT_REGEX: RegExp;
|
|
11
|
+
export declare const PLACEHOLDER_REGEX: RegExp;
|
|
12
|
+
/** Max number of rules in `run_worker_first` */
|
|
13
|
+
export declare const MAX_ROUTES_RULES = 100;
|
|
14
|
+
/** Max char length of each rule in `run_worker_first` */
|
|
15
|
+
export declare const MAX_ROUTES_RULE_LENGTH = 100;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const REDIRECTS_VERSION = 1;
|
|
2
|
+
export const HEADERS_VERSION = 2;
|
|
3
|
+
export const PERMITTED_STATUS_CODES = new Set([200, 301, 302, 303, 307, 308]);
|
|
4
|
+
export const HEADER_SEPARATOR = ":";
|
|
5
|
+
export const MAX_LINE_LENGTH = 2000;
|
|
6
|
+
export const MAX_HEADER_RULES = 100;
|
|
7
|
+
export const MAX_DYNAMIC_REDIRECT_RULES = 100;
|
|
8
|
+
export const MAX_STATIC_REDIRECT_RULES = 2000;
|
|
9
|
+
export const UNSET_OPERATOR = "! ";
|
|
10
|
+
export const SPLAT_REGEX = /\*/g;
|
|
11
|
+
export const PLACEHOLDER_REGEX = /:[A-Za-z]\w*/g;
|
|
12
|
+
/** Max number of rules in `run_worker_first` */
|
|
13
|
+
export const MAX_ROUTES_RULES = 100;
|
|
14
|
+
/** Max char length of each rule in `run_worker_first` */
|
|
15
|
+
export const MAX_ROUTES_RULE_LENGTH = 100;
|
|
16
|
+
//# sourceMappingURL=constants.js.map
|