wrangler 4.77.0 → 4.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -510,7 +510,8 @@
510
510
  },
511
511
  "type": {
512
512
  "type": "string",
513
- "description": "The consumer type, e.g., worker, http-pull, r2-bucket, etc. Default is worker."
513
+ "const": "worker",
514
+ "description": "The consumer type. Only \"worker\" is supported in wrangler config. Default is \"worker\"."
514
515
  },
515
516
  "max_batch_size": {
516
517
  "type": "number",
@@ -666,6 +667,60 @@
666
667
  "description": "Specifies Vectorize indexes that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#vectorize-indexes",
667
668
  "default": []
668
669
  },
670
+ "ai_search_namespaces": {
671
+ "type": "array",
672
+ "items": {
673
+ "type": "object",
674
+ "properties": {
675
+ "binding": {
676
+ "type": "string",
677
+ "description": "The binding name used to refer to the AI Search namespace in the Worker."
678
+ },
679
+ "namespace": {
680
+ "type": "string",
681
+ "description": "The user-chosen namespace name. Must exist in Cloudflare at deploy time."
682
+ },
683
+ "remote": {
684
+ "type": "boolean",
685
+ "description": "Whether the AI Search namespace binding should be remote in local development"
686
+ }
687
+ },
688
+ "required": [
689
+ "binding",
690
+ "namespace"
691
+ ],
692
+ "additionalProperties": false
693
+ },
694
+ "description": "Specifies AI Search namespace bindings that are bound to this Worker environment. Each binding is scoped to a namespace and allows dynamic instance CRUD within it.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
695
+ "default": []
696
+ },
697
+ "ai_search": {
698
+ "type": "array",
699
+ "items": {
700
+ "type": "object",
701
+ "properties": {
702
+ "binding": {
703
+ "type": "string",
704
+ "description": "The binding name used to refer to the AI Search instance in the Worker."
705
+ },
706
+ "instance_name": {
707
+ "type": "string",
708
+ "description": "The user-chosen instance name. Must exist in Cloudflare at deploy time."
709
+ },
710
+ "remote": {
711
+ "type": "boolean",
712
+ "description": "Whether the AI Search instance binding should be remote in local development"
713
+ }
714
+ },
715
+ "required": [
716
+ "binding",
717
+ "instance_name"
718
+ ],
719
+ "additionalProperties": false
720
+ },
721
+ "description": "Specifies AI Search instance bindings that are bound to this Worker environment. Each binding is bound directly to a single pre-existing instance within the \"default\" namespace.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
722
+ "default": []
723
+ },
669
724
  "hyperdrive": {
670
725
  "type": "array",
671
726
  "items": {
@@ -1791,7 +1846,8 @@
1791
1846
  },
1792
1847
  "type": {
1793
1848
  "type": "string",
1794
- "description": "The consumer type, e.g., worker, http-pull, r2-bucket, etc. Default is worker."
1849
+ "const": "worker",
1850
+ "description": "The consumer type. Only \"worker\" is supported in wrangler config. Default is \"worker\"."
1795
1851
  },
1796
1852
  "max_batch_size": {
1797
1853
  "type": "number",
@@ -1947,6 +2003,60 @@
1947
2003
  "description": "Specifies Vectorize indexes that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#vectorize-indexes",
1948
2004
  "default": []
1949
2005
  },
2006
+ "ai_search_namespaces": {
2007
+ "type": "array",
2008
+ "items": {
2009
+ "type": "object",
2010
+ "properties": {
2011
+ "binding": {
2012
+ "type": "string",
2013
+ "description": "The binding name used to refer to the AI Search namespace in the Worker."
2014
+ },
2015
+ "namespace": {
2016
+ "type": "string",
2017
+ "description": "The user-chosen namespace name. Must exist in Cloudflare at deploy time."
2018
+ },
2019
+ "remote": {
2020
+ "type": "boolean",
2021
+ "description": "Whether the AI Search namespace binding should be remote in local development"
2022
+ }
2023
+ },
2024
+ "required": [
2025
+ "binding",
2026
+ "namespace"
2027
+ ],
2028
+ "additionalProperties": false
2029
+ },
2030
+ "description": "Specifies AI Search namespace bindings that are bound to this Worker environment. Each binding is scoped to a namespace and allows dynamic instance CRUD within it.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2031
+ "default": []
2032
+ },
2033
+ "ai_search": {
2034
+ "type": "array",
2035
+ "items": {
2036
+ "type": "object",
2037
+ "properties": {
2038
+ "binding": {
2039
+ "type": "string",
2040
+ "description": "The binding name used to refer to the AI Search instance in the Worker."
2041
+ },
2042
+ "instance_name": {
2043
+ "type": "string",
2044
+ "description": "The user-chosen instance name. Must exist in Cloudflare at deploy time."
2045
+ },
2046
+ "remote": {
2047
+ "type": "boolean",
2048
+ "description": "Whether the AI Search instance binding should be remote in local development"
2049
+ }
2050
+ },
2051
+ "required": [
2052
+ "binding",
2053
+ "instance_name"
2054
+ ],
2055
+ "additionalProperties": false
2056
+ },
2057
+ "description": "Specifies AI Search instance bindings that are bound to this Worker environment. Each binding is bound directly to a single pre-existing instance within the \"default\" namespace.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2058
+ "default": []
2059
+ },
1950
2060
  "hyperdrive": {
1951
2061
  "type": "array",
1952
2062
  "items": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wrangler",
3
- "version": "4.77.0",
3
+ "version": "4.79.0",
4
4
  "description": "Command-line interface for all things Cloudflare Workers",
5
5
  "keywords": [
6
6
  "assembly",
@@ -54,23 +54,22 @@
54
54
  "esbuild": "0.27.3",
55
55
  "path-to-regexp": "6.3.0",
56
56
  "unenv": "2.0.0-rc.24",
57
- "workerd": "1.20260317.1",
57
+ "workerd": "1.20260329.1",
58
58
  "@cloudflare/kv-asset-handler": "0.4.2",
59
59
  "@cloudflare/unenv-preset": "2.16.0",
60
- "miniflare": "4.20260317.2"
60
+ "miniflare": "4.20260329.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@aws-sdk/client-s3": "^3.721.0",
64
64
  "@bomb.sh/tab": "^0.0.12",
65
65
  "@cloudflare/types": "6.18.4",
66
- "@cloudflare/workers-types": "^4.20260317.1",
66
+ "@cloudflare/workers-types": "^4.20260329.1",
67
67
  "@cspotcode/source-map-support": "0.8.1",
68
68
  "@netlify/build-info": "^10.2.0",
69
69
  "@sentry/node": "^7.86.0",
70
70
  "@sentry/types": "^7.86.0",
71
71
  "@sentry/utils": "^7.86.0",
72
72
  "@types/command-exists": "^1.2.0",
73
- "@types/cross-spawn": "^6.0.2",
74
73
  "@types/esprima": "^4.0.3",
75
74
  "@types/glob-to-regexp": "^0.4.1",
76
75
  "@types/javascript-time-ago": "^2.0.3",
@@ -98,7 +97,6 @@
98
97
  "cmd-shim": "^4.1.0",
99
98
  "command-exists": "^1.2.9",
100
99
  "concurrently": "^8.2.2",
101
- "cross-spawn": "^7.0.3",
102
100
  "date-fns": "^4.1.0",
103
101
  "devtools-protocol": "^0.0.1182435",
104
102
  "dotenv": "^16.3.1",
@@ -146,16 +144,17 @@
146
144
  "xxhash-wasm": "^1.0.1",
147
145
  "yaml": "^2.8.1",
148
146
  "yargs": "^17.7.2",
149
- "@cloudflare/containers-shared": "0.13.0",
150
- "@cloudflare/cli": "1.2.1",
151
- "@cloudflare/pages-shared": "^0.13.118",
147
+ "@cloudflare/cli": "1.3.0",
148
+ "@cloudflare/codemod": "1.1.0",
149
+ "@cloudflare/containers-shared": "0.13.1",
150
+ "@cloudflare/pages-shared": "^0.13.120",
152
151
  "@cloudflare/workers-shared": "0.19.1",
153
152
  "@cloudflare/workers-tsconfig": "0.0.0",
154
- "@cloudflare/workers-utils": "0.13.0",
155
- "@cloudflare/workflows-shared": "0.7.1"
153
+ "@cloudflare/workers-utils": "0.14.0",
154
+ "@cloudflare/workflows-shared": "0.7.2"
156
155
  },
157
156
  "peerDependencies": {
158
- "@cloudflare/workers-types": "^4.20260317.1"
157
+ "@cloudflare/workers-types": "^4.20260329.1"
159
158
  },
160
159
  "peerDependenciesMeta": {
161
160
  "@cloudflare/workers-types": {
@@ -1589,8 +1589,8 @@ interface EnvironmentNonInheritable {
1589
1589
  consumers?: {
1590
1590
  /** The name of the queue from which this consumer should consume. */
1591
1591
  queue: string;
1592
- /** The consumer type, e.g., worker, http-pull, r2-bucket, etc. Default is worker. */
1593
- type?: string;
1592
+ /** The consumer type. Only "worker" is supported in wrangler config. Default is "worker". */
1593
+ type?: "worker";
1594
1594
  /** The maximum number of messages per batch */
1595
1595
  max_batch_size?: number;
1596
1596
  /** The maximum number of seconds to wait to fill a batch with messages. */
@@ -1678,6 +1678,42 @@ interface EnvironmentNonInheritable {
1678
1678
  /** Whether the Vectorize index should be remote or not in local development */
1679
1679
  remote?: boolean;
1680
1680
  }[];
1681
+ /**
1682
+ * Specifies AI Search namespace bindings that are bound to this Worker environment.
1683
+ * Each binding is scoped to a namespace and allows dynamic instance CRUD within it.
1684
+ *
1685
+ * NOTE: This field is not automatically inherited from the top level environment,
1686
+ * and so must be specified in every named environment.
1687
+ *
1688
+ * @default []
1689
+ * @nonInheritable
1690
+ */
1691
+ ai_search_namespaces: {
1692
+ /** The binding name used to refer to the AI Search namespace in the Worker. */
1693
+ binding: string;
1694
+ /** The user-chosen namespace name. Must exist in Cloudflare at deploy time. */
1695
+ namespace: string;
1696
+ /** Whether the AI Search namespace binding should be remote in local development */
1697
+ remote?: boolean;
1698
+ }[];
1699
+ /**
1700
+ * Specifies AI Search instance bindings that are bound to this Worker environment.
1701
+ * Each binding is bound directly to a single pre-existing instance within the "default" namespace.
1702
+ *
1703
+ * NOTE: This field is not automatically inherited from the top level environment,
1704
+ * and so must be specified in every named environment.
1705
+ *
1706
+ * @default []
1707
+ * @nonInheritable
1708
+ */
1709
+ ai_search: {
1710
+ /** The binding name used to refer to the AI Search instance in the Worker. */
1711
+ binding: string;
1712
+ /** The user-chosen instance name. Must exist in Cloudflare at deploy time. */
1713
+ instance_name: string;
1714
+ /** Whether the AI Search instance binding should be remote in local development */
1715
+ remote?: boolean;
1716
+ }[];
1681
1717
  /**
1682
1718
  * Specifies Hyperdrive configs that are bound to this Worker environment.
1683
1719
  *
@@ -2449,8 +2485,45 @@ type FrameworkInfo = {
2449
2485
  id: string;
2450
2486
  name: string;
2451
2487
  class: typeof Framework;
2488
+ } & ({
2489
+ supported: false;
2490
+ } | {
2491
+ supported: true;
2492
+ frameworkPackageInfo: AutoConfigFrameworkPackageInfo;
2493
+ });
2494
+ /**
2495
+ * AutoConfig information for a package that defines a framework.
2496
+ */
2497
+ type AutoConfigFrameworkPackageInfo = {
2498
+ /** The package name (e.g. "astro" for the Astro framework and "@solidjs/start" for the SolidStart framework) */
2499
+ name: string;
2500
+ /** The minimum version (if any) of the package/framework that autoconfig supports */
2501
+ minimumVersion: string;
2502
+ /** The latest major version of the package/framework that autoconfig supports */
2503
+ maximumKnownMajorVersion: string;
2452
2504
  };
2453
2505
 
2506
+ declare abstract class Framework {
2507
+ #private;
2508
+ readonly id: FrameworkInfo["id"];
2509
+ readonly name: FrameworkInfo["name"];
2510
+ get frameworkVersion(): string;
2511
+ constructor(frameworkInfo: Pick<FrameworkInfo, "id" | "name">);
2512
+ isConfigured(_projectPath: string): boolean;
2513
+ abstract configure(options: ConfigurationOptions): Promise<ConfigurationResults> | ConfigurationResults;
2514
+ configurationDescription?: string;
2515
+ /**
2516
+ * Validates the installed framework version against the supported range and
2517
+ * stores it for later access via the `frameworkVersion` getter.
2518
+ * Warns via `logger` if the version exceeds `maximumKnownMajorVersion`.
2519
+ *
2520
+ * @param projectPath - Path to the project root used to resolve the installed version.
2521
+ * @param frameworkPackageInfo - Package metadata including name and version bounds.
2522
+ * @throws {AssertionError} If the installed version cannot be determined.
2523
+ * @throws {AutoConfigFrameworkConfigurationError} If the version is below `minimumVersion`.
2524
+ */
2525
+ validateFrameworkVersion(projectPath: string, frameworkPackageInfo: AutoConfigFrameworkPackageInfo): void;
2526
+ }
2454
2527
  type ConfigurationOptions = {
2455
2528
  outputDir: string;
2456
2529
  projectPath: string;
@@ -2472,15 +2545,6 @@ type ConfigurationResults = {
2472
2545
  deployCommandOverride?: string;
2473
2546
  versionCommandOverride?: string;
2474
2547
  };
2475
- declare abstract class Framework {
2476
- readonly id: string;
2477
- readonly name: string;
2478
- constructor(frameworkInfo: Pick<FrameworkInfo, "id" | "name">);
2479
- isConfigured(_projectPath: string): boolean;
2480
- abstract configure(options: ConfigurationOptions): Promise<ConfigurationResults> | ConfigurationResults;
2481
- configurationDescription?: string;
2482
- autoConfigSupported: boolean;
2483
- }
2484
2548
 
2485
2549
  type AutoConfigDetailsBase = {
2486
2550
  /** The name of the worker */
@@ -2836,6 +2900,7 @@ type Teams =
2836
2900
  | "Product: D1"
2837
2901
  | "Product: Queues"
2838
2902
  | "Product: AI"
2903
+ | "Product: AI Search"
2839
2904
  | "Product: Hyperdrive"
2840
2905
  | "Product: Pipelines"
2841
2906
  | "Product: Vectorize"