devflare 1.0.0-next.3 → 1.0.0-next.31
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/LLM.md +15964 -1751
- package/README.md +392 -605
- package/bin/devflare.js +24 -14
- package/dist/account-g99mzrqp.js +475 -0
- package/dist/api-2n6dd2ws.js +33 -0
- package/dist/bridge/client.d.ts +48 -6
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/gateway-runtime.d.ts +8 -0
- package/dist/bridge/gateway-runtime.d.ts.map +1 -0
- package/dist/bridge/index.d.ts +3 -3
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/log.d.ts +5 -0
- package/dist/bridge/log.d.ts.map +1 -0
- package/dist/bridge/miniflare.d.ts +74 -1
- package/dist/bridge/miniflare.d.ts.map +1 -1
- package/dist/bridge/proxy.d.ts +11 -10
- package/dist/bridge/proxy.d.ts.map +1 -1
- package/dist/bridge/server.d.ts +2 -1
- package/dist/bridge/server.d.ts.map +1 -1
- package/dist/bridge/v2/body-streams.d.ts +53 -0
- package/dist/bridge/v2/body-streams.d.ts.map +1 -0
- package/dist/bridge/v2/codec.d.ts +106 -0
- package/dist/bridge/v2/codec.d.ts.map +1 -0
- package/dist/bridge/v2/control-messages.d.ts +51 -0
- package/dist/bridge/v2/control-messages.d.ts.map +1 -0
- package/dist/bridge/v2/frames.d.ts +109 -0
- package/dist/bridge/v2/frames.d.ts.map +1 -0
- package/dist/bridge/v2/index.d.ts +11 -0
- package/dist/bridge/v2/index.d.ts.map +1 -0
- package/dist/bridge/v2/serialization.d.ts +48 -0
- package/dist/bridge/v2/serialization.d.ts.map +1 -0
- package/dist/bridge/v2/transport.d.ts +31 -0
- package/dist/bridge/v2/transport.d.ts.map +1 -0
- package/dist/bridge/v2/value-codec.d.ts +61 -0
- package/dist/bridge/v2/value-codec.d.ts.map +1 -0
- package/dist/bridge/{serialization.d.ts → v2/value-serialization.d.ts} +40 -18
- package/dist/bridge/v2/value-serialization.d.ts.map +1 -0
- package/dist/bridge/{protocol.d.ts → v2/wire.d.ts} +28 -4
- package/dist/bridge/v2/wire.d.ts.map +1 -0
- package/dist/bridge/v2/ws-relay.d.ts +53 -0
- package/dist/bridge/v2/ws-relay.d.ts.map +1 -0
- package/dist/browser-shim/handler.d.ts +1 -1
- package/dist/browser-shim/handler.d.ts.map +1 -1
- package/dist/browser-shim/server.d.ts +63 -0
- package/dist/browser-shim/server.d.ts.map +1 -1
- package/dist/browser.d.ts +4621 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +147 -0
- package/dist/build-4tyjywn9.js +54 -0
- package/dist/bundler/defaults.d.ts +23 -0
- package/dist/bundler/defaults.d.ts.map +1 -0
- package/dist/bundler/do-bundler.d.ts +7 -0
- package/dist/bundler/do-bundler.d.ts.map +1 -1
- package/dist/bundler/index.d.ts +2 -0
- package/dist/bundler/index.d.ts.map +1 -1
- package/dist/bundler/rolldown-shared.d.ts +53 -0
- package/dist/bundler/rolldown-shared.d.ts.map +1 -0
- package/dist/bundler/worker-bundler.d.ts +13 -0
- package/dist/bundler/worker-bundler.d.ts.map +1 -0
- package/dist/bundler/worker-compat.d.ts +4 -0
- package/dist/bundler/worker-compat.d.ts.map +1 -0
- package/dist/cli/build-manifest.d.ts +66 -0
- package/dist/cli/build-manifest.d.ts.map +1 -0
- package/dist/cli/command-utils.d.ts +18 -0
- package/dist/cli/command-utils.d.ts.map +1 -0
- package/dist/cli/commands/account.d.ts +1 -1
- package/dist/cli/commands/account.d.ts.map +1 -1
- package/dist/cli/commands/build-artifacts.d.ts +40 -0
- package/dist/cli/commands/build-artifacts.d.ts.map +1 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/config.d.ts +4 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/deploy/metadata.d.ts +18 -0
- package/dist/cli/commands/deploy/metadata.d.ts.map +1 -0
- package/dist/cli/commands/deploy/prepare.d.ts +23 -0
- package/dist/cli/commands/deploy/prepare.d.ts.map +1 -0
- package/dist/cli/commands/deploy/runtime.d.ts +4 -0
- package/dist/cli/commands/deploy/runtime.d.ts.map +1 -0
- package/dist/cli/commands/deploy/verification.d.ts +36 -0
- package/dist/cli/commands/deploy/verification.d.ts.map +1 -0
- package/dist/cli/commands/deploy.d.ts +2 -2
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/dev.d.ts +8 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/login.d.ts +4 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/cleanup.d.ts +9 -0
- package/dist/cli/commands/previews-support/cleanup.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/family.d.ts +10 -0
- package/dist/cli/commands/previews-support/family.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/render.d.ts +8 -0
- package/dist/cli/commands/previews-support/render.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/theme.d.ts +10 -0
- package/dist/cli/commands/previews-support/theme.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/types.d.ts +70 -0
- package/dist/cli/commands/previews-support/types.d.ts.map +1 -0
- package/dist/cli/commands/previews.d.ts +4 -0
- package/dist/cli/commands/previews.d.ts.map +1 -0
- package/dist/cli/commands/productions.d.ts +4 -0
- package/dist/cli/commands/productions.d.ts.map +1 -0
- package/dist/cli/commands/secrets.d.ts +4 -0
- package/dist/cli/commands/secrets.d.ts.map +1 -0
- package/dist/cli/commands/token.d.ts +4 -0
- package/dist/cli/commands/token.d.ts.map +1 -0
- package/dist/cli/commands/type-generation/discovery.d.ts +7 -0
- package/dist/cli/commands/type-generation/discovery.d.ts.map +1 -0
- package/dist/cli/commands/type-generation/generator.d.ts +112 -0
- package/dist/cli/commands/type-generation/generator.d.ts.map +1 -0
- package/dist/cli/commands/type-generation/models.d.ts +27 -0
- package/dist/cli/commands/type-generation/models.d.ts.map +1 -0
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/worker.d.ts +4 -0
- package/dist/cli/commands/worker.d.ts.map +1 -0
- package/dist/cli/config-path.d.ts +6 -0
- package/dist/cli/config-path.d.ts.map +1 -0
- package/dist/cli/dependencies.d.ts +1 -0
- package/dist/cli/dependencies.d.ts.map +1 -1
- package/dist/cli/deploy-strategy.d.ts +17 -0
- package/dist/cli/deploy-strategy.d.ts.map +1 -0
- package/dist/cli/deploy-target.d.ts +17 -0
- package/dist/cli/deploy-target.d.ts.map +1 -0
- package/dist/cli/generated-artifacts.d.ts +12 -0
- package/dist/cli/generated-artifacts.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/account.d.ts +3 -0
- package/dist/cli/help-pages/pages/account.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/core.d.ts +4 -0
- package/dist/cli/help-pages/pages/core.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/index.d.ts +3 -0
- package/dist/cli/help-pages/pages/index.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/misc.d.ts +3 -0
- package/dist/cli/help-pages/pages/misc.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/previews.d.ts +3 -0
- package/dist/cli/help-pages/pages/previews.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/productions.d.ts +3 -0
- package/dist/cli/help-pages/pages/productions.d.ts.map +1 -0
- package/dist/cli/help-pages/render.d.ts +12 -0
- package/dist/cli/help-pages/render.d.ts.map +1 -0
- package/dist/cli/help-pages/shared.d.ts +15 -0
- package/dist/cli/help-pages/shared.d.ts.map +1 -0
- package/dist/cli/help-pages/types.d.ts +23 -0
- package/dist/cli/help-pages/types.d.ts.map +1 -0
- package/dist/cli/help.d.ts +6 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +12 -0
- package/dist/cli/package-metadata.d.ts +16 -0
- package/dist/cli/package-metadata.d.ts.map +1 -0
- package/dist/cli/preview-bindings.d.ts +49 -0
- package/dist/cli/preview-bindings.d.ts.map +1 -0
- package/dist/cli/preview.d.ts +10 -0
- package/dist/cli/preview.d.ts.map +1 -0
- package/dist/cli/ui.d.ts +37 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/workspace-build-guard.d.ts +14 -0
- package/dist/cli/workspace-build-guard.d.ts.map +1 -0
- package/dist/cloudflare/account-core.d.ts +6 -0
- package/dist/cloudflare/account-core.d.ts.map +1 -0
- package/dist/cloudflare/account-resources.d.ts +40 -0
- package/dist/cloudflare/account-resources.d.ts.map +1 -0
- package/dist/cloudflare/account-status.d.ts +11 -0
- package/dist/cloudflare/account-status.d.ts.map +1 -0
- package/dist/cloudflare/account-workers.d.ts +14 -0
- package/dist/cloudflare/account-workers.d.ts.map +1 -0
- package/dist/cloudflare/account.d.ts +7 -64
- package/dist/cloudflare/account.d.ts.map +1 -1
- package/dist/cloudflare/api.d.ts +71 -3
- package/dist/cloudflare/api.d.ts.map +1 -1
- package/dist/cloudflare/auth.d.ts.map +1 -1
- package/dist/cloudflare/index.d.ts +57 -2
- package/dist/cloudflare/index.d.ts.map +1 -1
- package/dist/cloudflare/index.js +49 -2
- package/dist/cloudflare/known-permission-group-ids.generated.d.ts +10 -0
- package/dist/cloudflare/known-permission-group-ids.generated.d.ts.map +1 -0
- package/dist/cloudflare/kv-namespace.d.ts +4 -0
- package/dist/cloudflare/kv-namespace.d.ts.map +1 -0
- package/dist/cloudflare/preferences.d.ts +7 -0
- package/dist/cloudflare/preferences.d.ts.map +1 -1
- package/dist/cloudflare/preview-registry-cache.d.ts +6 -0
- package/dist/cloudflare/preview-registry-cache.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-inference.d.ts +14 -0
- package/dist/cloudflare/preview-registry-inference.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-records.d.ts +4 -0
- package/dist/cloudflare/preview-registry-records.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-shape.d.ts +47 -0
- package/dist/cloudflare/preview-registry-shape.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-store.d.ts +14 -0
- package/dist/cloudflare/preview-registry-store.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-transport.d.ts +4 -0
- package/dist/cloudflare/preview-registry-transport.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-types.d.ts +103 -0
- package/dist/cloudflare/preview-registry-types.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry.d.ts +42 -0
- package/dist/cloudflare/preview-registry.d.ts.map +1 -0
- package/dist/cloudflare/preview-urls.d.ts +3 -0
- package/dist/cloudflare/preview-urls.d.ts.map +1 -0
- package/dist/cloudflare/registry-schema.d.ts +253 -0
- package/dist/cloudflare/registry-schema.d.ts.map +1 -0
- package/dist/cloudflare/tokens.d.ts +44 -0
- package/dist/cloudflare/tokens.d.ts.map +1 -0
- package/dist/cloudflare/types.d.ts +124 -7
- package/dist/cloudflare/types.d.ts.map +1 -1
- package/dist/cloudflare/usage.d.ts +30 -2
- package/dist/cloudflare/usage.d.ts.map +1 -1
- package/dist/config/binding-resolution-helpers.d.ts +41 -0
- package/dist/config/binding-resolution-helpers.d.ts.map +1 -0
- package/dist/config/compatibility.d.ts +3 -0
- package/dist/config/compatibility.d.ts.map +1 -0
- package/dist/config/compiler/bindings.d.ts +14 -0
- package/dist/config/compiler/bindings.d.ts.map +1 -0
- package/dist/config/compiler/core-helpers.d.ts +6 -0
- package/dist/config/compiler/core-helpers.d.ts.map +1 -0
- package/dist/config/compiler/do-workers.d.ts +34 -0
- package/dist/config/compiler/do-workers.d.ts.map +1 -0
- package/dist/config/compiler/paths.d.ts +18 -0
- package/dist/config/compiler/paths.d.ts.map +1 -0
- package/dist/config/compiler/types.d.ts +270 -0
- package/dist/config/compiler/types.d.ts.map +1 -0
- package/dist/config/compiler.d.ts +22 -134
- package/dist/config/compiler.d.ts.map +1 -1
- package/dist/config/define.d.ts +7 -4
- package/dist/config/define.d.ts.map +1 -1
- package/dist/config/deploy-resources.d.ts +58 -0
- package/dist/config/deploy-resources.d.ts.map +1 -0
- package/dist/config/env-vars.d.ts +309 -0
- package/dist/config/env-vars.d.ts.map +1 -0
- package/dist/config/framework-providers.d.ts +9 -0
- package/dist/config/framework-providers.d.ts.map +1 -0
- package/dist/config/index.d.ts +12 -5
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/loader.d.ts +1 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/local-dev-vars.d.ts +15 -0
- package/dist/config/local-dev-vars.d.ts.map +1 -0
- package/dist/config/preview-resources.d.ts +83 -0
- package/dist/config/preview-resources.d.ts.map +1 -0
- package/dist/config/preview.d.ts +31 -0
- package/dist/config/preview.d.ts.map +1 -0
- package/dist/config/ref.d.ts +14 -23
- package/dist/config/ref.d.ts.map +1 -1
- package/dist/config/resolve-phased.d.ts +72 -0
- package/dist/config/resolve-phased.d.ts.map +1 -0
- package/dist/config/resolve.d.ts +11 -0
- package/dist/config/resolve.d.ts.map +1 -0
- package/dist/config/resource-resolution.d.ts +80 -0
- package/dist/config/resource-resolution.d.ts.map +1 -0
- package/dist/config/schema-bindings.d.ts +1495 -0
- package/dist/config/schema-bindings.d.ts.map +1 -0
- package/dist/config/schema-build.d.ts +67 -0
- package/dist/config/schema-build.d.ts.map +1 -0
- package/dist/config/schema-env.d.ts +3023 -0
- package/dist/config/schema-env.d.ts.map +1 -0
- package/dist/config/schema-normalization.d.ts +184 -0
- package/dist/config/schema-normalization.d.ts.map +1 -0
- package/dist/config/schema-runtime.d.ts +500 -0
- package/dist/config/schema-runtime.d.ts.map +1 -0
- package/dist/config/schema-types-bindings-platform.d.ts +378 -0
- package/dist/config/schema-types-bindings-platform.d.ts.map +1 -0
- package/dist/config/schema-types-bindings-resources.d.ts +551 -0
- package/dist/config/schema-types-bindings-resources.d.ts.map +1 -0
- package/dist/config/schema-types-bindings.d.ts +254 -0
- package/dist/config/schema-types-bindings.d.ts.map +1 -0
- package/dist/config/schema-types-build.d.ts +86 -0
- package/dist/config/schema-types-build.d.ts.map +1 -0
- package/dist/config/schema-types-runtime.d.ts +917 -0
- package/dist/config/schema-types-runtime.d.ts.map +1 -0
- package/dist/config/schema-types.d.ts +424 -0
- package/dist/config/schema-types.d.ts.map +1 -0
- package/dist/config/schema.d.ts +4537 -2214
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/service-bindings-validation.d.ts +36 -0
- package/dist/config/service-bindings-validation.d.ts.map +1 -0
- package/dist/config-88sdhx3w.js +105 -0
- package/dist/config-entry.d.ts +7 -0
- package/dist/config-entry.d.ts.map +1 -0
- package/dist/config-entry.js +16 -0
- package/dist/decorators/durable-object.d.ts.map +1 -1
- package/dist/deploy-8fpav2cw.js +1066 -0
- package/dist/dev-nxevkfdv.js +2609 -0
- package/dist/dev-server/d1-migrations.d.ts +36 -0
- package/dist/dev-server/d1-migrations.d.ts.map +1 -0
- package/dist/dev-server/dev-server-state.d.ts +59 -0
- package/dist/dev-server/dev-server-state.d.ts.map +1 -0
- package/dist/dev-server/gateway-script.d.ts +21 -0
- package/dist/dev-server/gateway-script.d.ts.map +1 -0
- package/dist/dev-server/miniflare-bindings.d.ts +59 -0
- package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
- package/dist/dev-server/miniflare-dev-config.d.ts +36 -0
- package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
- package/dist/dev-server/miniflare-log.d.ts +20 -0
- package/dist/dev-server/miniflare-log.d.ts.map +1 -0
- package/dist/dev-server/miniflare-worker-config.d.ts +74 -0
- package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
- package/dist/dev-server/reload-queue.d.ts +13 -0
- package/dist/dev-server/reload-queue.d.ts.map +1 -0
- package/dist/dev-server/runtime-stdio.d.ts +8 -0
- package/dist/dev-server/runtime-stdio.d.ts.map +1 -0
- package/dist/dev-server/server-startup-helpers.d.ts +84 -0
- package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
- package/dist/dev-server/server.d.ts +2 -0
- package/dist/dev-server/server.d.ts.map +1 -1
- package/dist/dev-server/vite-process.d.ts +15 -0
- package/dist/dev-server/vite-process.d.ts.map +1 -0
- package/dist/dev-server/vite-utils.d.ts +19 -1
- package/dist/dev-server/vite-utils.d.ts.map +1 -1
- package/dist/dev-server/worker-source-watcher.d.ts +17 -0
- package/dist/dev-server/worker-source-watcher.d.ts.map +1 -0
- package/dist/dev-server/worker-surface-paths.d.ts +6 -0
- package/dist/dev-server/worker-surface-paths.d.ts.map +1 -0
- package/dist/{doctor-fmgb3d28.js → doctor-ztwx1y95.js} +104 -35
- package/dist/{durable-object-t4kbb0yt.js → durable-object-v3gsnybk.js} +1 -1
- package/dist/env.d.ts +10 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/index-11p28kxx.js +256 -0
- package/dist/index-15fpa5tx.js +232 -0
- package/dist/index-1d4jg11n.js +542 -0
- package/dist/index-3edvz3hs.js +124 -0
- package/dist/index-3jme4hgw.js +1234 -0
- package/dist/index-627srx16.js +45 -0
- package/dist/index-62b3gt2g.js +12 -0
- package/dist/index-67gr49zr.js +109 -0
- package/dist/index-69c0ed4a.js +895 -0
- package/dist/index-6sj0v0dk.js +2284 -0
- package/dist/index-7qd7nmdd.js +74 -0
- package/dist/index-85yjb686.js +413 -0
- package/dist/index-aabgympv.js +39 -0
- package/dist/{index-z14anrqp.js → index-aqrwyy57.js} +93 -31
- package/dist/index-c8p4njqy.js +479 -0
- package/dist/index-dfcp9hsd.js +1581 -0
- package/dist/index-dm9q84c7.js +360 -0
- package/dist/index-fcmj6641.js +147 -0
- package/dist/index-ft3trvra.js +476 -0
- package/dist/{index-18hvb6gb.js → index-gn5wy09x.js} +13 -2
- package/dist/index-hjjfxv02.js +708 -0
- package/dist/index-hpwa6vsw.js +239 -0
- package/dist/index-k9x5v335.js +1033 -0
- package/dist/index-mg8vwqxf.js +514 -0
- package/dist/index-ptwem1nt.js +1428 -0
- package/dist/{index-07q6yxyc.js → index-q8f4kawk.js} +68 -32
- package/dist/index-qmmqww7h.js +133 -0
- package/dist/{index-rbht7m9r.js → index-qwgr4q7s.js} +2 -1
- package/dist/index-qz6nbwpw.js +111 -0
- package/dist/index-rzp9ejrh.js +185 -0
- package/dist/index-s3km3y34.js +1205 -0
- package/dist/index-stgn34cr.js +148 -0
- package/dist/index-t9y0sve5.js +155 -0
- package/dist/index-vez803pp.js +52 -0
- package/dist/index-vhqww6tt.js +307 -0
- package/dist/index-xz18tstn.js +581 -0
- package/dist/{index-1xpj0m4r.js → index-z9gy8w6b.js} +1 -1
- package/dist/index-za0r01bx.js +588 -0
- package/dist/index.d.ts +3 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -269
- package/dist/{init-f9mgmew3.js → init-cwpergap.js} +63 -69
- package/dist/login-r5ve73kf.js +77 -0
- package/dist/previews-qjj98rpp.js +1337 -0
- package/dist/productions-gzdtge0e.js +505 -0
- package/dist/runtime/context-events.d.ts +13 -0
- package/dist/runtime/context-events.d.ts.map +1 -0
- package/dist/runtime/context-types.d.ts +82 -0
- package/dist/runtime/context-types.d.ts.map +1 -0
- package/dist/runtime/context.d.ts +20 -44
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/exports.d.ts +70 -55
- package/dist/runtime/exports.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +8 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +108 -99
- package/dist/runtime/middleware.d.ts +102 -60
- package/dist/runtime/middleware.d.ts.map +1 -1
- package/dist/runtime/router/index.d.ts +7 -0
- package/dist/runtime/router/index.d.ts.map +1 -0
- package/dist/runtime/router/types.d.ts +24 -0
- package/dist/runtime/router/types.d.ts.map +1 -0
- package/dist/runtime/validation.d.ts +17 -3
- package/dist/runtime/validation.d.ts.map +1 -1
- package/dist/secrets/local-secrets.d.ts +46 -0
- package/dist/secrets/local-secrets.d.ts.map +1 -0
- package/dist/secrets-4w5166km.js +91 -0
- package/dist/shims/local-hyperdrive.d.ts +12 -0
- package/dist/shims/local-hyperdrive.d.ts.map +1 -0
- package/dist/shims/local-media-bindings.d.ts +19 -0
- package/dist/shims/local-media-bindings.d.ts.map +1 -0
- package/dist/shims/local-worker-loader.d.ts +3 -0
- package/dist/shims/local-worker-loader.d.ts.map +1 -0
- package/dist/sveltekit/index.js +169 -75
- package/dist/sveltekit/local-bindings.d.ts +4 -0
- package/dist/sveltekit/local-bindings.d.ts.map +1 -0
- package/dist/sveltekit/platform.d.ts +19 -1
- package/dist/sveltekit/platform.d.ts.map +1 -1
- package/dist/test/ai-search.d.ts +39 -0
- package/dist/test/ai-search.d.ts.map +1 -0
- package/dist/test/binding-hints.d.ts +11 -0
- package/dist/test/binding-hints.d.ts.map +1 -0
- package/dist/test/cf.d.ts +35 -21
- package/dist/test/cf.d.ts.map +1 -1
- package/dist/test/containers.d.ts +87 -0
- package/dist/test/containers.d.ts.map +1 -0
- package/dist/test/email.d.ts +16 -7
- package/dist/test/email.d.ts.map +1 -1
- package/dist/test/index.d.ts +5 -8
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +4641 -43
- package/dist/test/offline-bindings.d.ts +65 -0
- package/dist/test/offline-bindings.d.ts.map +1 -0
- package/dist/test/queue.d.ts.map +1 -1
- package/dist/test/remote-ai.d.ts.map +1 -1
- package/dist/test/remote-cloudflare.d.ts +13 -0
- package/dist/test/remote-cloudflare.d.ts.map +1 -0
- package/dist/test/remote-vectorize.d.ts.map +1 -1
- package/dist/test/resolve-service-bindings.d.ts +63 -3
- package/dist/test/resolve-service-bindings.d.ts.map +1 -1
- package/dist/test/scheduled.d.ts.map +1 -1
- package/dist/test/should-skip.d.ts +14 -18
- package/dist/test/should-skip.d.ts.map +1 -1
- package/dist/test/simple-context-bindings.d.ts +13 -0
- package/dist/test/simple-context-bindings.d.ts.map +1 -0
- package/dist/test/simple-context-durable-objects.d.ts +6 -0
- package/dist/test/simple-context-durable-objects.d.ts.map +1 -0
- package/dist/test/simple-context-env.d.ts +35 -0
- package/dist/test/simple-context-env.d.ts.map +1 -0
- package/dist/test/simple-context-gateway-script.d.ts +2 -0
- package/dist/test/simple-context-gateway-script.d.ts.map +1 -0
- package/dist/test/simple-context-handlers.d.ts +12 -0
- package/dist/test/simple-context-handlers.d.ts.map +1 -0
- package/dist/test/simple-context-lifecycle.d.ts +32 -0
- package/dist/test/simple-context-lifecycle.d.ts.map +1 -0
- package/dist/test/simple-context-mfconfig.d.ts +10 -0
- package/dist/test/simple-context-mfconfig.d.ts.map +1 -0
- package/dist/test/simple-context-multi-worker.d.ts +16 -0
- package/dist/test/simple-context-multi-worker.d.ts.map +1 -0
- package/dist/test/simple-context-paths.d.ts +40 -0
- package/dist/test/simple-context-paths.d.ts.map +1 -0
- package/dist/test/simple-context-runtime.d.ts +19 -0
- package/dist/test/simple-context-runtime.d.ts.map +1 -0
- package/dist/test/simple-context-startup.d.ts +11 -0
- package/dist/test/simple-context-startup.d.ts.map +1 -0
- package/dist/test/simple-context-transport.d.ts +14 -0
- package/dist/test/simple-context-transport.d.ts.map +1 -0
- package/dist/test/simple-context.d.ts +7 -26
- package/dist/test/simple-context.d.ts.map +1 -1
- package/dist/test/tail.d.ts +2 -1
- package/dist/test/tail.d.ts.map +1 -1
- package/dist/test/utilities/artifacts.d.ts +11 -0
- package/dist/test/utilities/artifacts.d.ts.map +1 -0
- package/dist/test/utilities/context.d.ts +39 -0
- package/dist/test/utilities/context.d.ts.map +1 -0
- package/dist/test/utilities/d1.d.ts +21 -0
- package/dist/test/utilities/d1.d.ts.map +1 -0
- package/dist/test/utilities/env.d.ts +40 -0
- package/dist/test/utilities/env.d.ts.map +1 -0
- package/dist/test/utilities/kv.d.ts +11 -0
- package/dist/test/utilities/kv.d.ts.map +1 -0
- package/dist/test/utilities/media.d.ts +16 -0
- package/dist/test/utilities/media.d.ts.map +1 -0
- package/dist/test/utilities/platform.d.ts +41 -0
- package/dist/test/utilities/platform.d.ts.map +1 -0
- package/dist/test/utilities/queue.d.ts +5 -0
- package/dist/test/utilities/queue.d.ts.map +1 -0
- package/dist/test/utilities/r2.d.ts +2 -0
- package/dist/test/utilities/r2.d.ts.map +1 -0
- package/dist/test/utilities/workflows.d.ts +26 -0
- package/dist/test/utilities/workflows.d.ts.map +1 -0
- package/dist/test/utilities.d.ts +10 -98
- package/dist/test/utilities.d.ts.map +1 -1
- package/dist/test/worker.d.ts +6 -0
- package/dist/test/worker.d.ts.map +1 -1
- package/dist/token-35jcdqq8.js +419 -0
- package/dist/transform/durable-object.d.ts.map +1 -1
- package/dist/transform/worker-entrypoint.d.ts +5 -0
- package/dist/transform/worker-entrypoint.d.ts.map +1 -1
- package/dist/types-6vc02evc.js +705 -0
- package/dist/utils/entrypoint-discovery.d.ts +6 -3
- package/dist/utils/entrypoint-discovery.d.ts.map +1 -1
- package/dist/utils/resolve-package.d.ts.map +1 -1
- package/dist/utils/send-email.d.ts +15 -0
- package/dist/utils/send-email.d.ts.map +1 -0
- package/dist/utils/send-email.js +19 -0
- package/dist/vite/config-file.d.ts +25 -0
- package/dist/vite/config-file.d.ts.map +1 -0
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +25 -331
- package/dist/vite/plugin-config-hook.d.ts +28 -0
- package/dist/vite/plugin-config-hook.d.ts.map +1 -0
- package/dist/vite/plugin-context.d.ts +27 -0
- package/dist/vite/plugin-context.d.ts.map +1 -0
- package/dist/vite/plugin-durable-objects.d.ts +18 -0
- package/dist/vite/plugin-durable-objects.d.ts.map +1 -0
- package/dist/vite/plugin-programmatic.d.ts +44 -0
- package/dist/vite/plugin-programmatic.d.ts.map +1 -0
- package/dist/vite/plugin-service-bindings.d.ts +13 -0
- package/dist/vite/plugin-service-bindings.d.ts.map +1 -0
- package/dist/vite/plugin-transform.d.ts +41 -0
- package/dist/vite/plugin-transform.d.ts.map +1 -0
- package/dist/vite/plugin.d.ts +10 -41
- package/dist/vite/plugin.d.ts.map +1 -1
- package/dist/worker-entry/composed-worker.d.ts +7 -0
- package/dist/worker-entry/composed-worker.d.ts.map +1 -0
- package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
- package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
- package/dist/worker-entry/extensions.d.ts +5 -0
- package/dist/worker-entry/extensions.d.ts.map +1 -0
- package/dist/worker-entry/routes.d.ts +22 -0
- package/dist/worker-entry/routes.d.ts.map +1 -0
- package/dist/worker-entry/surface-paths.d.ts +26 -0
- package/dist/worker-entry/surface-paths.d.ts.map +1 -0
- package/dist/{worker-entrypoint-m9th0rg0.js → worker-entrypoint-3rmzd4c1.js} +3 -1
- package/dist/worker-f2v85f7d.js +513 -0
- package/dist/workflows/local-workflow-entrypoints.d.ts +7 -0
- package/dist/workflows/local-workflow-entrypoints.d.ts.map +1 -0
- package/package.json +154 -115
- package/dist/account-rvrj687w.js +0 -397
- package/dist/bridge/protocol.d.ts.map +0 -1
- package/dist/bridge/serialization.d.ts.map +0 -1
- package/dist/browser-shim/worker.d.ts +0 -14
- package/dist/browser-shim/worker.d.ts.map +0 -1
- package/dist/build-mnf6v8gd.js +0 -53
- package/dist/deploy-nhceck39.js +0 -70
- package/dist/dev-pa8dhm20.js +0 -2162
- package/dist/index-67qcae0f.js +0 -183
- package/dist/index-ep3445yc.js +0 -2225
- package/dist/index-gz1gndna.js +0 -307
- package/dist/index-hcex3rgh.js +0 -266
- package/dist/index-m2q41jwa.js +0 -462
- package/dist/index-n7rs26ft.js +0 -77
- package/dist/index-pf5s73n9.js +0 -1413
- package/dist/index-tfyxa77h.js +0 -850
- package/dist/index-tk6ej9dj.js +0 -94
- package/dist/test/bridge-context.d.ts +0 -76
- package/dist/test/bridge-context.d.ts.map +0 -1
- package/dist/test/multi-worker-context.d.ts +0 -114
- package/dist/test/multi-worker-context.d.ts.map +0 -1
- package/dist/types-5nyrz1sz.js +0 -454
|
@@ -1,33 +1,69 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./index-
|
|
2
|
+
getGeneratedArtifactPaths
|
|
3
|
+
} from "./index-aabgympv.js";
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from "./index-
|
|
5
|
+
formatSupportedConfigFilenames,
|
|
6
|
+
resolveConfigCandidatePath
|
|
7
|
+
} from "./index-vez803pp.js";
|
|
8
8
|
import {
|
|
9
9
|
getDependencies
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-z9gy8w6b.js";
|
|
11
|
+
import {
|
|
12
|
+
detectViteProject
|
|
13
|
+
} from "./index-gn5wy09x.js";
|
|
14
|
+
import {
|
|
15
|
+
getPackageVersion
|
|
16
|
+
} from "./index-627srx16.js";
|
|
17
|
+
import {
|
|
18
|
+
bold,
|
|
19
|
+
createCliTheme,
|
|
20
|
+
dim,
|
|
21
|
+
green,
|
|
22
|
+
logLine,
|
|
23
|
+
red,
|
|
24
|
+
yellow
|
|
25
|
+
} from "./index-stgn34cr.js";
|
|
26
|
+
import"./index-3t6rypgc.js";
|
|
27
|
+
import"./index-qwgr4q7s.js";
|
|
28
|
+
import {
|
|
29
|
+
loadConfig
|
|
30
|
+
} from "./index-dfcp9hsd.js";
|
|
31
|
+
import"./index-1d4jg11n.js";
|
|
32
|
+
import"./index-mg8vwqxf.js";
|
|
33
|
+
import"./index-c8p4njqy.js";
|
|
11
34
|
import"./index-37x76zdn.js";
|
|
12
35
|
|
|
13
36
|
// src/cli/commands/doctor.ts
|
|
14
|
-
import { resolve } from "pathe";
|
|
37
|
+
import { basename, dirname, relative, resolve } from "pathe";
|
|
15
38
|
async function runDoctorCommand(parsed, logger, options) {
|
|
16
39
|
const cwd = options.cwd || process.cwd();
|
|
40
|
+
const theme = createCliTheme(parsed.options);
|
|
41
|
+
const requestedConfigOption = parsed.options.config;
|
|
42
|
+
const scope = parsed.options.scope ?? "all";
|
|
43
|
+
if (!["all", "local", "deploy"].includes(scope)) {
|
|
44
|
+
logger.error(`Unsupported doctor scope: ${scope}`);
|
|
45
|
+
logger.info("Supported scopes: all, local, deploy");
|
|
46
|
+
return { exitCode: 1 };
|
|
47
|
+
}
|
|
48
|
+
const requestedConfigPath = requestedConfigOption ? resolve(cwd, requestedConfigOption) : cwd;
|
|
17
49
|
const checks = [];
|
|
18
50
|
const { fs } = await getDependencies();
|
|
19
51
|
const viteProject = await detectViteProject(cwd, fs);
|
|
20
|
-
logger
|
|
21
|
-
`);
|
|
22
|
-
|
|
23
|
-
|
|
52
|
+
logLine(logger);
|
|
53
|
+
logLine(logger, `${bold("doctor", theme)} ${dim("Running diagnostics", theme)}`);
|
|
54
|
+
logLine(logger);
|
|
55
|
+
const configPath = await resolveConfigCandidatePath(requestedConfigPath);
|
|
56
|
+
if (configPath) {
|
|
24
57
|
checks.push({
|
|
25
58
|
name: "Config File",
|
|
26
59
|
status: "pass",
|
|
27
60
|
message: `Found: ${configPath}`
|
|
28
61
|
});
|
|
29
62
|
try {
|
|
30
|
-
const config = await loadConfig({
|
|
63
|
+
const config = requestedConfigOption ? await loadConfig({
|
|
64
|
+
cwd: dirname(configPath),
|
|
65
|
+
configFile: basename(configPath)
|
|
66
|
+
}) : await loadConfig({ cwd });
|
|
31
67
|
checks.push({
|
|
32
68
|
name: "Config Valid",
|
|
33
69
|
status: "pass",
|
|
@@ -40,11 +76,11 @@ async function runDoctorCommand(parsed, logger, options) {
|
|
|
40
76
|
message: error instanceof Error ? error.message : "Unknown error"
|
|
41
77
|
});
|
|
42
78
|
}
|
|
43
|
-
}
|
|
79
|
+
} else {
|
|
44
80
|
checks.push({
|
|
45
81
|
name: "Config File",
|
|
46
82
|
status: "fail",
|
|
47
|
-
message:
|
|
83
|
+
message: `${formatSupportedConfigFilenames()} not found. Run \`devflare init\` to create one.`
|
|
48
84
|
});
|
|
49
85
|
}
|
|
50
86
|
const packageJsonPath = resolve(cwd, "package.json");
|
|
@@ -59,10 +95,11 @@ async function runDoctorCommand(parsed, logger, options) {
|
|
|
59
95
|
});
|
|
60
96
|
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
61
97
|
if (deps.devflare) {
|
|
98
|
+
const resolvedVersion = await getPackageVersion();
|
|
62
99
|
checks.push({
|
|
63
100
|
name: "devflare dep",
|
|
64
101
|
status: "pass",
|
|
65
|
-
message: `
|
|
102
|
+
message: `package.json: ${deps.devflare}, resolved: ${resolvedVersion}`
|
|
66
103
|
});
|
|
67
104
|
} else {
|
|
68
105
|
checks.push({
|
|
@@ -106,8 +143,8 @@ async function runDoctorCommand(parsed, logger, options) {
|
|
|
106
143
|
} else {
|
|
107
144
|
checks.push({
|
|
108
145
|
name: "@cloudflare/vite-plugin",
|
|
109
|
-
status: "
|
|
110
|
-
message: "
|
|
146
|
+
status: "pass",
|
|
147
|
+
message: "Optional: not declared in this package.json. Install it only when your Vite config calls the Cloudflare Vite plugin directly."
|
|
111
148
|
});
|
|
112
149
|
}
|
|
113
150
|
if (viteProject.viteConfigPath) {
|
|
@@ -144,36 +181,68 @@ async function runDoctorCommand(parsed, logger, options) {
|
|
|
144
181
|
message: "tsconfig.json not found"
|
|
145
182
|
});
|
|
146
183
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
184
|
+
const artifactPaths = getGeneratedArtifactPaths(cwd);
|
|
185
|
+
if (scope === "all" || scope === "local") {
|
|
186
|
+
try {
|
|
187
|
+
await fs.access(artifactPaths.devWranglerConfigPath);
|
|
188
|
+
checks.push({
|
|
189
|
+
name: "Generated dev config",
|
|
190
|
+
status: "pass",
|
|
191
|
+
message: `Found: ${relative(cwd, artifactPaths.devWranglerConfigPath)}`
|
|
192
|
+
});
|
|
193
|
+
} catch {
|
|
194
|
+
checks.push({
|
|
195
|
+
name: "Generated dev config",
|
|
196
|
+
status: "warn",
|
|
197
|
+
message: "Local readiness: not found. Run `devflare dev` or start `devflare/vite` to populate `.devflare/wrangler.jsonc`."
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (scope === "all" || scope === "deploy") {
|
|
202
|
+
try {
|
|
203
|
+
await fs.access(artifactPaths.buildWranglerConfigPath);
|
|
204
|
+
checks.push({
|
|
205
|
+
name: "Generated deploy config",
|
|
206
|
+
status: "pass",
|
|
207
|
+
message: `Found: ${relative(cwd, artifactPaths.buildWranglerConfigPath)}`
|
|
208
|
+
});
|
|
209
|
+
} catch {
|
|
210
|
+
checks.push({
|
|
211
|
+
name: "Generated deploy config",
|
|
212
|
+
status: "warn",
|
|
213
|
+
message: "Deploy readiness: not found. Run `devflare build` or `devflare deploy` to generate `.devflare/build/wrangler.jsonc`."
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
try {
|
|
217
|
+
await fs.access(artifactPaths.deployRedirectPath);
|
|
218
|
+
checks.push({
|
|
219
|
+
name: "Wrangler deploy redirect",
|
|
220
|
+
status: "pass",
|
|
221
|
+
message: `Found: ${relative(cwd, artifactPaths.deployRedirectPath)}`
|
|
222
|
+
});
|
|
223
|
+
} catch {
|
|
224
|
+
checks.push({
|
|
225
|
+
name: "Wrangler deploy redirect",
|
|
226
|
+
status: "warn",
|
|
227
|
+
message: "Deploy readiness: not found. Run `devflare build` or `devflare deploy` to generate `.wrangler/deploy/config.json`."
|
|
228
|
+
});
|
|
229
|
+
}
|
|
160
230
|
}
|
|
161
231
|
let hasFailures = false;
|
|
162
232
|
let hasWarnings = false;
|
|
163
233
|
for (const check of checks) {
|
|
164
234
|
const icon = check.status === "pass" ? "✓" : check.status === "warn" ? "⚠" : "✗";
|
|
165
|
-
const color = check.status === "pass" ? "green" : check.status === "warn" ? "yellow" : "red";
|
|
166
235
|
if (check.status === "pass") {
|
|
167
|
-
logger
|
|
236
|
+
logLine(logger, `${green(icon, theme)} ${bold(check.name, theme)}${dim(" — ", theme)}${check.message}`);
|
|
168
237
|
} else if (check.status === "warn") {
|
|
169
|
-
logger
|
|
238
|
+
logLine(logger, `${yellow(icon, theme)} ${bold(check.name, theme)}${dim(" — ", theme)}${check.message}`);
|
|
170
239
|
hasWarnings = true;
|
|
171
240
|
} else {
|
|
172
|
-
logger
|
|
241
|
+
logLine(logger, `${red(icon, theme)} ${bold(check.name, theme)}${dim(" — ", theme)}${check.message}`);
|
|
173
242
|
hasFailures = true;
|
|
174
243
|
}
|
|
175
244
|
}
|
|
176
|
-
logger
|
|
245
|
+
logLine(logger);
|
|
177
246
|
if (hasFailures) {
|
|
178
247
|
logger.error("Some checks failed. Please fix the issues above.");
|
|
179
248
|
return { exitCode: 1 };
|
package/dist/env.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
declare global {
|
|
2
2
|
interface DevflareEnv {
|
|
3
3
|
}
|
|
4
|
+
interface DevflareVars {
|
|
5
|
+
}
|
|
4
6
|
}
|
|
5
7
|
/**
|
|
6
8
|
* Called by createTestContext to set up the unified env
|
|
@@ -45,4 +47,12 @@ export declare function __clearTestContext(): void;
|
|
|
45
47
|
export declare const env: DevflareEnv & {
|
|
46
48
|
dispose(): Promise<void>;
|
|
47
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Unified runtime variables proxy.
|
|
52
|
+
*
|
|
53
|
+
* This reads from the same active environment object as {@link env}, but is
|
|
54
|
+
* typed from config `vars` via generated `env.d.ts` declarations. It is useful
|
|
55
|
+
* for nested typed values authored with `defineConfig({ vars })`.
|
|
56
|
+
*/
|
|
57
|
+
export declare const vars: Readonly<DevflareVars>;
|
|
48
58
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAqBA,OAAO,CAAC,MAAM,CAAC,CAAC;IAGf,UAAU,WAAW;KAAG;IAGxB,UAAU,YAAY;KAAG;CACzB;AASD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC1B,IAAI,CAGN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,GAAG,EAAE,WAAW,GAAG;IAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CA8DzD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,YAAY,CAoDvC,CAAA"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import {
|
|
2
|
+
apiDelete,
|
|
3
|
+
apiGetAll,
|
|
4
|
+
apiPost,
|
|
5
|
+
apiPut
|
|
6
|
+
} from "./index-mg8vwqxf.js";
|
|
7
|
+
|
|
8
|
+
// src/cloudflare/known-permission-group-ids.generated.ts
|
|
9
|
+
var KNOWN_PERMISSION_GROUP_IDS_DATA = {
|
|
10
|
+
WORKERS_SCRIPTS_WRITE: null,
|
|
11
|
+
WORKERS_SCRIPTS_READ: null,
|
|
12
|
+
ACCOUNT_SETTINGS_READ: null,
|
|
13
|
+
WORKERS_KV_STORAGE_WRITE: null,
|
|
14
|
+
WORKERS_KV_STORAGE_READ: null,
|
|
15
|
+
ACCOUNT_API_TOKENS_WRITE: null,
|
|
16
|
+
ACCOUNT_API_TOKENS_READ: null
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// src/cloudflare/tokens.ts
|
|
20
|
+
var MAX_ACCOUNT_OWNED_TOKEN_PERMISSION_GROUPS = 300;
|
|
21
|
+
var DEVFLARE_MANAGED_TOKEN_PREFIX = "devflare-";
|
|
22
|
+
var ACCOUNT_OWNED_TOKEN_SCOPE = "com.cloudflare.api.account";
|
|
23
|
+
var ACCOUNT_ZONE_OWNED_TOKEN_SCOPE = "com.cloudflare.api.account.zone";
|
|
24
|
+
var ACCOUNT_API_TOKENS_PERMISSION_GROUP_NAME_PATTERN = /^Account API Tokens\b/i;
|
|
25
|
+
var DEVFLARE_MANAGED_TOKEN_NAME_PATTERN = /^devflare-/i;
|
|
26
|
+
var DEVFLARE_PERMISSION_GROUP_NAME_PATTERNS = [
|
|
27
|
+
/^Account Analytics /i,
|
|
28
|
+
/^Account Settings /i,
|
|
29
|
+
/^Account Filter Lists /i,
|
|
30
|
+
/^AI /i,
|
|
31
|
+
/^Analytics /i,
|
|
32
|
+
/^Browser Rendering /i,
|
|
33
|
+
/^Cache Purge\b/i,
|
|
34
|
+
/^D1 /i,
|
|
35
|
+
/^DNS /i,
|
|
36
|
+
/^Email /i,
|
|
37
|
+
/^Hyperdrive /i,
|
|
38
|
+
/^Images /i,
|
|
39
|
+
/^Logs /i,
|
|
40
|
+
/^Logpush /i,
|
|
41
|
+
/^Pages /i,
|
|
42
|
+
/^Queues /i,
|
|
43
|
+
/^R2 /i,
|
|
44
|
+
/^SSL and Certificates /i,
|
|
45
|
+
/^Stream /i,
|
|
46
|
+
/^Vectorize /i,
|
|
47
|
+
/^Workers /i,
|
|
48
|
+
/^Zone Settings /i,
|
|
49
|
+
/^Zone /i
|
|
50
|
+
];
|
|
51
|
+
function deriveKnownPermissionGroupIds(data) {
|
|
52
|
+
const result = {};
|
|
53
|
+
for (const key of Object.keys(data)) {
|
|
54
|
+
const value = data[key];
|
|
55
|
+
result[key] = value === null ? undefined : value;
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
var KNOWN_PERMISSION_GROUP_IDS = deriveKnownPermissionGroupIds(KNOWN_PERMISSION_GROUP_IDS_DATA);
|
|
60
|
+
function dedupePermissionGroups(permissionGroups) {
|
|
61
|
+
const seenIds = new Set;
|
|
62
|
+
return permissionGroups.filter((permissionGroup) => {
|
|
63
|
+
if (seenIds.has(permissionGroup.id)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
seenIds.add(permissionGroup.id);
|
|
67
|
+
return true;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function dedupePermissionGroupIds(permissionGroupIds) {
|
|
71
|
+
return Array.from(new Set(permissionGroupIds.map((id) => id.trim()).filter(Boolean)));
|
|
72
|
+
}
|
|
73
|
+
function dedupeScopedPermissionGroups(permissionGroups) {
|
|
74
|
+
const seenIds = new Set;
|
|
75
|
+
return permissionGroups.filter((permissionGroup) => {
|
|
76
|
+
const id = permissionGroup.id.trim();
|
|
77
|
+
if (!id || seenIds.has(id)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
seenIds.add(id);
|
|
81
|
+
return true;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function permissionGroupHasScope(permissionGroup, scope) {
|
|
85
|
+
return permissionGroup.scopes.some((value) => value.trim() === scope);
|
|
86
|
+
}
|
|
87
|
+
function buildCreateTokenPoliciesFromPermissionGroups(accountId, permissionGroups) {
|
|
88
|
+
const dedupedPermissionGroups = dedupeScopedPermissionGroups(permissionGroups);
|
|
89
|
+
const accountPermissionGroupIds = dedupePermissionGroupIds(dedupedPermissionGroups.filter((permissionGroup) => permissionGroupHasScope(permissionGroup, ACCOUNT_OWNED_TOKEN_SCOPE)).map((permissionGroup) => permissionGroup.id));
|
|
90
|
+
const zonePermissionGroupIds = dedupePermissionGroupIds(dedupedPermissionGroups.filter((permissionGroup) => permissionGroupHasScope(permissionGroup, ACCOUNT_ZONE_OWNED_TOKEN_SCOPE)).map((permissionGroup) => permissionGroup.id));
|
|
91
|
+
const policies = [];
|
|
92
|
+
if (accountPermissionGroupIds.length > 0) {
|
|
93
|
+
policies.push({
|
|
94
|
+
effect: "allow",
|
|
95
|
+
resources: {
|
|
96
|
+
[`com.cloudflare.api.account.${accountId}`]: "*"
|
|
97
|
+
},
|
|
98
|
+
permission_groups: accountPermissionGroupIds.map((id) => ({ id }))
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (zonePermissionGroupIds.length > 0) {
|
|
102
|
+
policies.push({
|
|
103
|
+
effect: "allow",
|
|
104
|
+
resources: {
|
|
105
|
+
[`com.cloudflare.api.account.${accountId}`]: {
|
|
106
|
+
[`${ACCOUNT_ZONE_OWNED_TOKEN_SCOPE}.*`]: "*"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
permission_groups: zonePermissionGroupIds.map((id) => ({ id }))
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
return policies;
|
|
113
|
+
}
|
|
114
|
+
function buildCreateTokenPoliciesFromPermissionGroupIds(accountId, permissionGroupIds) {
|
|
115
|
+
const dedupedPermissionGroupIds = dedupePermissionGroupIds(permissionGroupIds);
|
|
116
|
+
if (dedupedPermissionGroupIds.length === 0) {
|
|
117
|
+
return [];
|
|
118
|
+
}
|
|
119
|
+
return [
|
|
120
|
+
{
|
|
121
|
+
effect: "allow",
|
|
122
|
+
resources: {
|
|
123
|
+
[`com.cloudflare.api.account.${accountId}`]: "*"
|
|
124
|
+
},
|
|
125
|
+
permission_groups: dedupedPermissionGroupIds.map((id) => ({ id }))
|
|
126
|
+
}
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
function excludeAccountApiTokensPermissionGroups(permissionGroups) {
|
|
130
|
+
return permissionGroups.filter((permissionGroup) => {
|
|
131
|
+
return !ACCOUNT_API_TOKENS_PERMISSION_GROUP_NAME_PATTERN.test(permissionGroup.name);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
function keepAccountOwnedTokenCompatiblePermissionGroups(permissionGroups) {
|
|
135
|
+
return permissionGroups.filter((permissionGroup) => {
|
|
136
|
+
return permissionGroup.scopes.some((scope) => {
|
|
137
|
+
const normalizedScope = scope.trim();
|
|
138
|
+
return normalizedScope === ACCOUNT_OWNED_TOKEN_SCOPE || normalizedScope === ACCOUNT_ZONE_OWNED_TOKEN_SCOPE;
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
function selectReusableAccountOwnedTokenPermissionGroups(permissionGroups) {
|
|
143
|
+
return dedupePermissionGroups(excludeAccountApiTokensPermissionGroups(keepAccountOwnedTokenCompatiblePermissionGroups(permissionGroups)));
|
|
144
|
+
}
|
|
145
|
+
function parseOptionalDate(value) {
|
|
146
|
+
if (!value) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const parsed = new Date(value);
|
|
150
|
+
return Number.isNaN(parsed.getTime()) ? undefined : parsed;
|
|
151
|
+
}
|
|
152
|
+
function mapAccountOwnedAPITokenPolicy(policy) {
|
|
153
|
+
return {
|
|
154
|
+
id: policy.id,
|
|
155
|
+
effect: policy.effect,
|
|
156
|
+
permissionGroups: policy.permission_groups?.map((permissionGroup) => ({
|
|
157
|
+
id: permissionGroup.id,
|
|
158
|
+
name: permissionGroup.name
|
|
159
|
+
}))
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function mapAccountOwnedAPIToken(token) {
|
|
163
|
+
return {
|
|
164
|
+
id: token.id,
|
|
165
|
+
name: token.name ?? token.id,
|
|
166
|
+
status: token.status,
|
|
167
|
+
value: token.value,
|
|
168
|
+
issuedOn: parseOptionalDate(token.issued_on),
|
|
169
|
+
modifiedOn: parseOptionalDate(token.modified_on),
|
|
170
|
+
lastUsedOn: parseOptionalDate(token.last_used_on),
|
|
171
|
+
policies: token.policies?.map(mapAccountOwnedAPITokenPolicy)
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
function isDevflareManagedTokenName(name) {
|
|
175
|
+
return DEVFLARE_MANAGED_TOKEN_NAME_PATTERN.test(name.trim());
|
|
176
|
+
}
|
|
177
|
+
function normalizeDevflareTokenName(name) {
|
|
178
|
+
const trimmedName = name.trim();
|
|
179
|
+
if (!trimmedName) {
|
|
180
|
+
throw new Error("Devflare token name cannot be empty");
|
|
181
|
+
}
|
|
182
|
+
const suffix = isDevflareManagedTokenName(trimmedName) ? trimmedName.replace(DEVFLARE_MANAGED_TOKEN_NAME_PATTERN, "") : trimmedName;
|
|
183
|
+
if (!suffix) {
|
|
184
|
+
throw new Error("Devflare token name cannot be empty");
|
|
185
|
+
}
|
|
186
|
+
return `${DEVFLARE_MANAGED_TOKEN_PREFIX}${suffix}`;
|
|
187
|
+
}
|
|
188
|
+
function stripDevflareTokenNamePrefix(name) {
|
|
189
|
+
const trimmedName = name.trim();
|
|
190
|
+
if (!trimmedName) {
|
|
191
|
+
return trimmedName;
|
|
192
|
+
}
|
|
193
|
+
const strippedName = trimmedName.replace(DEVFLARE_MANAGED_TOKEN_NAME_PATTERN, "");
|
|
194
|
+
return strippedName || trimmedName;
|
|
195
|
+
}
|
|
196
|
+
function filterDevflareManagedTokens(tokens) {
|
|
197
|
+
return tokens.filter((token) => isDevflareManagedTokenName(token.name));
|
|
198
|
+
}
|
|
199
|
+
function selectDevflarePermissionGroups(permissionGroups) {
|
|
200
|
+
const selectedPermissionGroups = dedupePermissionGroups(selectReusableAccountOwnedTokenPermissionGroups(permissionGroups).filter((permissionGroup) => {
|
|
201
|
+
return DEVFLARE_PERMISSION_GROUP_NAME_PATTERNS.some((pattern) => {
|
|
202
|
+
return pattern.test(permissionGroup.name);
|
|
203
|
+
});
|
|
204
|
+
}));
|
|
205
|
+
if (selectedPermissionGroups.length === 0) {
|
|
206
|
+
throw new Error("Could not map the available Cloudflare permission groups to a Devflare token policy.");
|
|
207
|
+
}
|
|
208
|
+
if (selectedPermissionGroups.length > MAX_ACCOUNT_OWNED_TOKEN_PERMISSION_GROUPS) {
|
|
209
|
+
throw new Error(`Devflare selected ${selectedPermissionGroups.length} permission groups, which exceeds Cloudflare's ${MAX_ACCOUNT_OWNED_TOKEN_PERMISSION_GROUPS}-group limit for account-owned tokens.`);
|
|
210
|
+
}
|
|
211
|
+
return selectedPermissionGroups;
|
|
212
|
+
}
|
|
213
|
+
function selectAllReusablePermissionGroups(permissionGroups) {
|
|
214
|
+
const selectedPermissionGroups = selectReusableAccountOwnedTokenPermissionGroups(permissionGroups);
|
|
215
|
+
if (selectedPermissionGroups.length === 0) {
|
|
216
|
+
throw new Error("Could not find any reusable account/zone-scoped Cloudflare permission groups for this Devflare token.");
|
|
217
|
+
}
|
|
218
|
+
if (selectedPermissionGroups.length > MAX_ACCOUNT_OWNED_TOKEN_PERMISSION_GROUPS) {
|
|
219
|
+
throw new Error(`Devflare selected ${selectedPermissionGroups.length} permission groups, which exceeds Cloudflare's ${MAX_ACCOUNT_OWNED_TOKEN_PERMISSION_GROUPS}-group limit for account-owned tokens.`);
|
|
220
|
+
}
|
|
221
|
+
return selectedPermissionGroups;
|
|
222
|
+
}
|
|
223
|
+
async function listAccountTokenPermissionGroups(accountId, options) {
|
|
224
|
+
const permissionGroups = await apiGetAll(`/accounts/${accountId}/tokens/permission_groups`, options);
|
|
225
|
+
return dedupePermissionGroups(permissionGroups);
|
|
226
|
+
}
|
|
227
|
+
async function listAccountOwnedAPITokens(accountId, options) {
|
|
228
|
+
const tokens = await apiGetAll(`/accounts/${accountId}/tokens`, options);
|
|
229
|
+
return tokens.map(mapAccountOwnedAPIToken);
|
|
230
|
+
}
|
|
231
|
+
async function deleteAccountOwnedAPIToken(accountId, tokenId, options) {
|
|
232
|
+
return apiDelete(`/accounts/${accountId}/tokens/${tokenId}`, options);
|
|
233
|
+
}
|
|
234
|
+
async function rollAccountOwnedAPITokenValue(accountId, tokenId, options) {
|
|
235
|
+
return apiPut(`/accounts/${accountId}/tokens/${tokenId}/value`, {}, options);
|
|
236
|
+
}
|
|
237
|
+
async function createAccountOwnedAPIToken(accountId, options, clientOptions) {
|
|
238
|
+
const permissionGroupIds = dedupePermissionGroupIds(options.permissionGroups?.map((permissionGroup) => permissionGroup.id) ?? options.permissionGroupIds ?? []);
|
|
239
|
+
if (permissionGroupIds.length === 0) {
|
|
240
|
+
throw new Error("Cannot create a Devflare token without any permission groups");
|
|
241
|
+
}
|
|
242
|
+
if (permissionGroupIds.length > MAX_ACCOUNT_OWNED_TOKEN_PERMISSION_GROUPS) {
|
|
243
|
+
throw new Error(`Cannot create a Devflare token with more than ${MAX_ACCOUNT_OWNED_TOKEN_PERMISSION_GROUPS} permission groups.`);
|
|
244
|
+
}
|
|
245
|
+
const policies = options.permissionGroups ? buildCreateTokenPoliciesFromPermissionGroups(accountId, options.permissionGroups) : buildCreateTokenPoliciesFromPermissionGroupIds(accountId, permissionGroupIds);
|
|
246
|
+
if (policies.length === 0) {
|
|
247
|
+
throw new Error("Cannot create a Devflare token without any account- or zone-scoped permission groups");
|
|
248
|
+
}
|
|
249
|
+
const createdToken = await apiPost(`/accounts/${accountId}/tokens`, {
|
|
250
|
+
name: options.name,
|
|
251
|
+
policies
|
|
252
|
+
}, clientOptions);
|
|
253
|
+
return mapAccountOwnedAPIToken(createdToken);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export { normalizeDevflareTokenName, stripDevflareTokenNamePrefix, filterDevflareManagedTokens, selectDevflarePermissionGroups, selectAllReusablePermissionGroups, listAccountTokenPermissionGroups, listAccountOwnedAPITokens, deleteAccountOwnedAPIToken, rollAccountOwnedAPITokenValue, createAccountOwnedAPIToken };
|