@cloudflare/deploy-helpers 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,35 +1,421 @@
1
1
  import { __commonJS, __name, __require, __toESM, fetchListResult, logger, fetchResult, confirm, fetchPagedListResult, prompt, isNonInteractiveOrCI } from './chunk-NAAB7FBS.mjs';
2
2
  export { initDeployHelpersContext } from './chunk-NAAB7FBS.mjs';
3
+ import * as z from 'zod';
4
+ import { z as z$1 } from 'zod';
5
+ import { AsyncLocalStorage } from 'node:async_hooks';
3
6
  import assert6 from 'node:assert';
4
- import fs, { readFileSync, mkdirSync, writeFileSync } from 'node:fs';
5
- import * as path5 from 'node:path';
6
- import path5__default, { resolve, extname } from 'node:path';
7
+ import { readFileSync, mkdirSync, writeFileSync } from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import path__default, { resolve, extname, isAbsolute, sep } from 'node:path';
7
10
  import url, { URLSearchParams as URLSearchParams$1 } from 'node:url';
8
11
  import * as cli from '@cloudflare/cli-shared-helpers';
9
12
  import { cancel } from '@cloudflare/cli-shared-helpers';
10
- import { verifyDockerInstalled } from '@cloudflare/containers-shared';
11
13
  import { getEnvironmentVariableFactory, getHostFromRoute, retryOnAPIFailure, UserError, ParseError, getComplianceRegionSubdomain, configFileName, formatTime, getSubdomainMixedStateCheckDisabled, LOGGER_LEVELS, APIError, INHERIT_SYMBOL, COMPLIANCE_REGION_CONFIG_UNKNOWN, constructWranglerConfig, SERVICE_TAG_PREFIX, ENVIRONMENT_TAG_PREFIX, getWranglerTmpDir, getCIMatchTag, FatalError, formatConfigSnippet, readFileSync as readFileSync$1, parseJSON, getBindingTypeFriendlyName, getBindingLocalSupport, assertNever as assertNever$1, experimental_patchConfig, getTodaysCompatDate, getDockerPath, parseNonHyphenedUuid, getWorkersCIBranchName } from '@cloudflare/workers-utils';
14
+ import { spawnSync, execSync, spawn } from 'node:child_process';
12
15
  import { FormData, Response } from 'undici';
13
16
  import chalk5 from 'chalk';
14
17
  import PQueue from 'p-queue';
15
18
  import { writeFile, readdir, stat, readFile } from 'node:fs/promises';
16
- import { CF_ASSETS_IGNORE_FILENAME, MAX_ASSET_SIZE } from '@cloudflare/workers-shared/utils/constants';
17
- import { createAssetsIgnoreFunction, normalizeFilePath, getContentType } from '@cloudflare/workers-shared/utils/helpers';
18
19
  import prettyBytes from 'pretty-bytes';
19
20
  import { hash } from 'blake3-wasm';
20
21
  import { Blob } from 'node:buffer';
21
22
  import { gzipSync } from 'node:zlib';
22
23
  import { brandColor, white, gray, dim, blue } from '@cloudflare/cli-shared-helpers/colors';
23
24
  import { inputPrompt, leftT } from '@cloudflare/cli-shared-helpers/interactive';
24
- import { spawnSync, execSync } from 'node:child_process';
25
25
  import { sync } from 'command-exists';
26
26
  import readline from 'node:readline';
27
27
  import { parse } from 'dotenv';
28
28
  import { stripVTControlCharacters } from 'node:util';
29
- import { maybeGetFile } from '@cloudflare/workers-shared';
30
29
  import { getFreshSourceMapSupport, getNodeCompat } from 'miniflare';
31
30
  import { createHash } from 'node:crypto';
32
31
 
32
+ // ../../node_modules/.pnpm/ignore@5.3.1/node_modules/ignore/index.js
33
+ var require_ignore = __commonJS({
34
+ "../../node_modules/.pnpm/ignore@5.3.1/node_modules/ignore/index.js"(exports, module) {
35
+ function makeArray(subject) {
36
+ return Array.isArray(subject) ? subject : [subject];
37
+ }
38
+ __name(makeArray, "makeArray");
39
+ var EMPTY = "";
40
+ var SPACE = " ";
41
+ var ESCAPE = "\\";
42
+ var REGEX_TEST_BLANK_LINE = /^\s+$/;
43
+ var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
44
+ var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
45
+ var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
46
+ var REGEX_SPLITALL_CRLF = /\r?\n/g;
47
+ var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
48
+ var SLASH = "/";
49
+ var TMP_KEY_IGNORE = "node-ignore";
50
+ if (typeof Symbol !== "undefined") {
51
+ TMP_KEY_IGNORE = Symbol.for("node-ignore");
52
+ }
53
+ var KEY_IGNORE = TMP_KEY_IGNORE;
54
+ var define2 = /* @__PURE__ */ __name((object, key, value) => Object.defineProperty(object, key, { value }), "define");
55
+ var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
56
+ var RETURN_FALSE = /* @__PURE__ */ __name(() => false, "RETURN_FALSE");
57
+ var sanitizeRange = /* @__PURE__ */ __name((range) => range.replace(
58
+ REGEX_REGEXP_RANGE,
59
+ (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY
60
+ ), "sanitizeRange");
61
+ var cleanRangeBackSlash = /* @__PURE__ */ __name((slashes) => {
62
+ const { length } = slashes;
63
+ return slashes.slice(0, length - length % 2);
64
+ }, "cleanRangeBackSlash");
65
+ var REPLACERS = [
66
+ [
67
+ // remove BOM
68
+ // TODO:
69
+ // Other similar zero-width characters?
70
+ /^\uFEFF/,
71
+ () => EMPTY
72
+ ],
73
+ // > Trailing spaces are ignored unless they are quoted with backslash ("\")
74
+ [
75
+ // (a\ ) -> (a )
76
+ // (a ) -> (a)
77
+ // (a \ ) -> (a )
78
+ /\\?\s+$/,
79
+ (match) => match.indexOf("\\") === 0 ? SPACE : EMPTY
80
+ ],
81
+ // replace (\ ) with ' '
82
+ [
83
+ /\\\s/g,
84
+ () => SPACE
85
+ ],
86
+ // Escape metacharacters
87
+ // which is written down by users but means special for regular expressions.
88
+ // > There are 12 characters with special meanings:
89
+ // > - the backslash \,
90
+ // > - the caret ^,
91
+ // > - the dollar sign $,
92
+ // > - the period or dot .,
93
+ // > - the vertical bar or pipe symbol |,
94
+ // > - the question mark ?,
95
+ // > - the asterisk or star *,
96
+ // > - the plus sign +,
97
+ // > - the opening parenthesis (,
98
+ // > - the closing parenthesis ),
99
+ // > - and the opening square bracket [,
100
+ // > - the opening curly brace {,
101
+ // > These special characters are often called "metacharacters".
102
+ [
103
+ /[\\$.|*+(){^]/g,
104
+ (match) => `\\${match}`
105
+ ],
106
+ [
107
+ // > a question mark (?) matches a single character
108
+ /(?!\\)\?/g,
109
+ () => "[^/]"
110
+ ],
111
+ // leading slash
112
+ [
113
+ // > A leading slash matches the beginning of the pathname.
114
+ // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
115
+ // A leading slash matches the beginning of the pathname
116
+ /^\//,
117
+ () => "^"
118
+ ],
119
+ // replace special metacharacter slash after the leading slash
120
+ [
121
+ /\//g,
122
+ () => "\\/"
123
+ ],
124
+ [
125
+ // > A leading "**" followed by a slash means match in all directories.
126
+ // > For example, "**/foo" matches file or directory "foo" anywhere,
127
+ // > the same as pattern "foo".
128
+ // > "**/foo/bar" matches file or directory "bar" anywhere that is directly
129
+ // > under directory "foo".
130
+ // Notice that the '*'s have been replaced as '\\*'
131
+ /^\^*\\\*\\\*\\\//,
132
+ // '**/foo' <-> 'foo'
133
+ () => "^(?:.*\\/)?"
134
+ ],
135
+ // starting
136
+ [
137
+ // there will be no leading '/'
138
+ // (which has been replaced by section "leading slash")
139
+ // If starts with '**', adding a '^' to the regular expression also works
140
+ /^(?=[^^])/,
141
+ /* @__PURE__ */ __name(function startingReplacer() {
142
+ return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^";
143
+ }, "startingReplacer")
144
+ ],
145
+ // two globstars
146
+ [
147
+ // Use lookahead assertions so that we could match more than one `'/**'`
148
+ /\\\/\\\*\\\*(?=\\\/|$)/g,
149
+ // Zero, one or several directories
150
+ // should not use '*', or it will be replaced by the next replacer
151
+ // Check if it is not the last `'/**'`
152
+ (_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
153
+ ],
154
+ // normal intermediate wildcards
155
+ [
156
+ // Never replace escaped '*'
157
+ // ignore rule '\*' will match the path '*'
158
+ // 'abc.*/' -> go
159
+ // 'abc.*' -> skip this rule,
160
+ // coz trailing single wildcard will be handed by [trailing wildcard]
161
+ /(^|[^\\]+)(\\\*)+(?=.+)/g,
162
+ // '*.js' matches '.js'
163
+ // '*.js' doesn't match 'abc'
164
+ (_, p1, p2) => {
165
+ const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
166
+ return p1 + unescaped;
167
+ }
168
+ ],
169
+ [
170
+ // unescape, revert step 3 except for back slash
171
+ // For example, if a user escape a '\\*',
172
+ // after step 3, the result will be '\\\\\\*'
173
+ /\\\\\\(?=[$.|*+(){^])/g,
174
+ () => ESCAPE
175
+ ],
176
+ [
177
+ // '\\\\' -> '\\'
178
+ /\\\\/g,
179
+ () => ESCAPE
180
+ ],
181
+ [
182
+ // > The range notation, e.g. [a-zA-Z],
183
+ // > can be used to match one of the characters in a range.
184
+ // `\` is escaped by step 3
185
+ /(\\)?\[([^\]/]*?)(\\*)($|\])/g,
186
+ (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]"
187
+ ],
188
+ // ending
189
+ [
190
+ // 'js' will not match 'js.'
191
+ // 'ab' will not match 'abc'
192
+ /(?:[^*])$/,
193
+ // WTF!
194
+ // https://git-scm.com/docs/gitignore
195
+ // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
196
+ // which re-fixes #24, #38
197
+ // > If there is a separator at the end of the pattern then the pattern
198
+ // > will only match directories, otherwise the pattern can match both
199
+ // > files and directories.
200
+ // 'js*' will not match 'a.js'
201
+ // 'js/' will not match 'a.js'
202
+ // 'js' will match 'a.js' and 'a.js/'
203
+ (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)`
204
+ ],
205
+ // trailing wildcard
206
+ [
207
+ /(\^|\\\/)?\\\*$/,
208
+ (_, p1) => {
209
+ const prefix = p1 ? `${p1}[^/]+` : "[^/]*";
210
+ return `${prefix}(?=$|\\/$)`;
211
+ }
212
+ ]
213
+ ];
214
+ var regexCache = /* @__PURE__ */ Object.create(null);
215
+ var makeRegex = /* @__PURE__ */ __name((pattern, ignoreCase) => {
216
+ let source = regexCache[pattern];
217
+ if (!source) {
218
+ source = REPLACERS.reduce(
219
+ (prev, current) => prev.replace(current[0], current[1].bind(pattern)),
220
+ pattern
221
+ );
222
+ regexCache[pattern] = source;
223
+ }
224
+ return ignoreCase ? new RegExp(source, "i") : new RegExp(source);
225
+ }, "makeRegex");
226
+ var isString = /* @__PURE__ */ __name((subject) => typeof subject === "string", "isString");
227
+ var checkPattern = /* @__PURE__ */ __name((pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0, "checkPattern");
228
+ var splitPattern = /* @__PURE__ */ __name((pattern) => pattern.split(REGEX_SPLITALL_CRLF), "splitPattern");
229
+ var IgnoreRule = class {
230
+ static {
231
+ __name(this, "IgnoreRule");
232
+ }
233
+ constructor(origin, pattern, negative, regex) {
234
+ this.origin = origin;
235
+ this.pattern = pattern;
236
+ this.negative = negative;
237
+ this.regex = regex;
238
+ }
239
+ };
240
+ var createRule = /* @__PURE__ */ __name((pattern, ignoreCase) => {
241
+ const origin = pattern;
242
+ let negative = false;
243
+ if (pattern.indexOf("!") === 0) {
244
+ negative = true;
245
+ pattern = pattern.substr(1);
246
+ }
247
+ pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
248
+ const regex = makeRegex(pattern, ignoreCase);
249
+ return new IgnoreRule(
250
+ origin,
251
+ pattern,
252
+ negative,
253
+ regex
254
+ );
255
+ }, "createRule");
256
+ var throwError = /* @__PURE__ */ __name((message, Ctor) => {
257
+ throw new Ctor(message);
258
+ }, "throwError");
259
+ var checkPath = /* @__PURE__ */ __name((path8, originalPath, doThrow) => {
260
+ if (!isString(path8)) {
261
+ return doThrow(
262
+ `path must be a string, but got \`${originalPath}\``,
263
+ TypeError
264
+ );
265
+ }
266
+ if (!path8) {
267
+ return doThrow(`path must not be empty`, TypeError);
268
+ }
269
+ if (checkPath.isNotRelative(path8)) {
270
+ const r = "`path.relative()`d";
271
+ return doThrow(
272
+ `path should be a ${r} string, but got "${originalPath}"`,
273
+ RangeError
274
+ );
275
+ }
276
+ return true;
277
+ }, "checkPath");
278
+ var isNotRelative = /* @__PURE__ */ __name((path8) => REGEX_TEST_INVALID_PATH.test(path8), "isNotRelative");
279
+ checkPath.isNotRelative = isNotRelative;
280
+ checkPath.convert = (p) => p;
281
+ var Ignore = class {
282
+ static {
283
+ __name(this, "Ignore");
284
+ }
285
+ constructor({
286
+ ignorecase = true,
287
+ ignoreCase = ignorecase,
288
+ allowRelativePaths = false
289
+ } = {}) {
290
+ define2(this, KEY_IGNORE, true);
291
+ this._rules = [];
292
+ this._ignoreCase = ignoreCase;
293
+ this._allowRelativePaths = allowRelativePaths;
294
+ this._initCache();
295
+ }
296
+ _initCache() {
297
+ this._ignoreCache = /* @__PURE__ */ Object.create(null);
298
+ this._testCache = /* @__PURE__ */ Object.create(null);
299
+ }
300
+ _addPattern(pattern) {
301
+ if (pattern && pattern[KEY_IGNORE]) {
302
+ this._rules = this._rules.concat(pattern._rules);
303
+ this._added = true;
304
+ return;
305
+ }
306
+ if (checkPattern(pattern)) {
307
+ const rule = createRule(pattern, this._ignoreCase);
308
+ this._added = true;
309
+ this._rules.push(rule);
310
+ }
311
+ }
312
+ // @param {Array<string> | string | Ignore} pattern
313
+ add(pattern) {
314
+ this._added = false;
315
+ makeArray(
316
+ isString(pattern) ? splitPattern(pattern) : pattern
317
+ ).forEach(this._addPattern, this);
318
+ if (this._added) {
319
+ this._initCache();
320
+ }
321
+ return this;
322
+ }
323
+ // legacy
324
+ addPattern(pattern) {
325
+ return this.add(pattern);
326
+ }
327
+ // | ignored : unignored
328
+ // negative | 0:0 | 0:1 | 1:0 | 1:1
329
+ // -------- | ------- | ------- | ------- | --------
330
+ // 0 | TEST | TEST | SKIP | X
331
+ // 1 | TESTIF | SKIP | TEST | X
332
+ // - SKIP: always skip
333
+ // - TEST: always test
334
+ // - TESTIF: only test if checkUnignored
335
+ // - X: that never happen
336
+ // @param {boolean} whether should check if the path is unignored,
337
+ // setting `checkUnignored` to `false` could reduce additional
338
+ // path matching.
339
+ // @returns {TestResult} true if a file is ignored
340
+ _testOne(path8, checkUnignored) {
341
+ let ignored = false;
342
+ let unignored = false;
343
+ this._rules.forEach((rule) => {
344
+ const { negative } = rule;
345
+ if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
346
+ return;
347
+ }
348
+ const matched = rule.regex.test(path8);
349
+ if (matched) {
350
+ ignored = !negative;
351
+ unignored = negative;
352
+ }
353
+ });
354
+ return {
355
+ ignored,
356
+ unignored
357
+ };
358
+ }
359
+ // @returns {TestResult}
360
+ _test(originalPath, cache, checkUnignored, slices) {
361
+ const path8 = originalPath && checkPath.convert(originalPath);
362
+ checkPath(
363
+ path8,
364
+ originalPath,
365
+ this._allowRelativePaths ? RETURN_FALSE : throwError
366
+ );
367
+ return this._t(path8, cache, checkUnignored, slices);
368
+ }
369
+ _t(path8, cache, checkUnignored, slices) {
370
+ if (path8 in cache) {
371
+ return cache[path8];
372
+ }
373
+ if (!slices) {
374
+ slices = path8.split(SLASH);
375
+ }
376
+ slices.pop();
377
+ if (!slices.length) {
378
+ return cache[path8] = this._testOne(path8, checkUnignored);
379
+ }
380
+ const parent = this._t(
381
+ slices.join(SLASH) + SLASH,
382
+ cache,
383
+ checkUnignored,
384
+ slices
385
+ );
386
+ return cache[path8] = parent.ignored ? parent : this._testOne(path8, checkUnignored);
387
+ }
388
+ ignores(path8) {
389
+ return this._test(path8, this._ignoreCache, false).ignored;
390
+ }
391
+ createFilter() {
392
+ return (path8) => !this.ignores(path8);
393
+ }
394
+ filter(paths) {
395
+ return makeArray(paths).filter(this.createFilter());
396
+ }
397
+ // @returns {TestResult}
398
+ test(path8) {
399
+ return this._test(path8, this._testCache, true);
400
+ }
401
+ };
402
+ var factory = /* @__PURE__ */ __name((options) => new Ignore(options), "factory");
403
+ var isPathValid = /* @__PURE__ */ __name((path8) => checkPath(path8 && checkPath.convert(path8), path8, RETURN_FALSE), "isPathValid");
404
+ factory.isPathValid = isPathValid;
405
+ factory.default = factory;
406
+ module.exports = factory;
407
+ if (
408
+ // Detect `process` so that it can run in browsers.
409
+ typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")
410
+ ) {
411
+ const makePosix = /* @__PURE__ */ __name((str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/"), "makePosix");
412
+ checkPath.convert = makePosix;
413
+ const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
414
+ checkPath.isNotRelative = (path8) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path8) || isNotRelative(path8);
415
+ }
416
+ }
417
+ });
418
+
33
419
  // ../../node_modules/.pnpm/heap@0.2.7/node_modules/heap/lib/heap.js
34
420
  var require_heap = __commonJS({
35
421
  "../../node_modules/.pnpm/heap@0.2.7/node_modules/heap/lib/heap.js"(exports, module) {
@@ -69,57 +455,57 @@ var require_heap = __commonJS({
69
455
  }
70
456
  return [].splice.apply(a, [lo, lo - lo].concat(x)), x;
71
457
  }, "insort");
72
- heappush = /* @__PURE__ */ __name(function(array, item, cmp) {
458
+ heappush = /* @__PURE__ */ __name(function(array2, item, cmp) {
73
459
  if (cmp == null) {
74
460
  cmp = defaultCmp;
75
461
  }
76
- array.push(item);
77
- return _siftdown(array, 0, array.length - 1, cmp);
462
+ array2.push(item);
463
+ return _siftdown(array2, 0, array2.length - 1, cmp);
78
464
  }, "heappush");
79
- heappop = /* @__PURE__ */ __name(function(array, cmp) {
465
+ heappop = /* @__PURE__ */ __name(function(array2, cmp) {
80
466
  var lastelt, returnitem;
81
467
  if (cmp == null) {
82
468
  cmp = defaultCmp;
83
469
  }
84
- lastelt = array.pop();
85
- if (array.length) {
86
- returnitem = array[0];
87
- array[0] = lastelt;
88
- _siftup(array, 0, cmp);
470
+ lastelt = array2.pop();
471
+ if (array2.length) {
472
+ returnitem = array2[0];
473
+ array2[0] = lastelt;
474
+ _siftup(array2, 0, cmp);
89
475
  } else {
90
476
  returnitem = lastelt;
91
477
  }
92
478
  return returnitem;
93
479
  }, "heappop");
94
- heapreplace = /* @__PURE__ */ __name(function(array, item, cmp) {
480
+ heapreplace = /* @__PURE__ */ __name(function(array2, item, cmp) {
95
481
  var returnitem;
96
482
  if (cmp == null) {
97
483
  cmp = defaultCmp;
98
484
  }
99
- returnitem = array[0];
100
- array[0] = item;
101
- _siftup(array, 0, cmp);
485
+ returnitem = array2[0];
486
+ array2[0] = item;
487
+ _siftup(array2, 0, cmp);
102
488
  return returnitem;
103
489
  }, "heapreplace");
104
- heappushpop = /* @__PURE__ */ __name(function(array, item, cmp) {
490
+ heappushpop = /* @__PURE__ */ __name(function(array2, item, cmp) {
105
491
  var _ref;
106
492
  if (cmp == null) {
107
493
  cmp = defaultCmp;
108
494
  }
109
- if (array.length && cmp(array[0], item) < 0) {
110
- _ref = [array[0], item], item = _ref[0], array[0] = _ref[1];
111
- _siftup(array, 0, cmp);
495
+ if (array2.length && cmp(array2[0], item) < 0) {
496
+ _ref = [array2[0], item], item = _ref[0], array2[0] = _ref[1];
497
+ _siftup(array2, 0, cmp);
112
498
  }
113
499
  return item;
114
500
  }, "heappushpop");
115
- heapify = /* @__PURE__ */ __name(function(array, cmp) {
501
+ heapify = /* @__PURE__ */ __name(function(array2, cmp) {
116
502
  var i, _i, _len, _ref1, _results, _results1;
117
503
  if (cmp == null) {
118
504
  cmp = defaultCmp;
119
505
  }
120
506
  _ref1 = function() {
121
507
  _results1 = [];
122
- for (var _j2 = 0, _ref2 = floor(array.length / 2); 0 <= _ref2 ? _j2 < _ref2 : _j2 > _ref2; 0 <= _ref2 ? _j2++ : _j2--) {
508
+ for (var _j2 = 0, _ref2 = floor(array2.length / 2); 0 <= _ref2 ? _j2 < _ref2 : _j2 > _ref2; 0 <= _ref2 ? _j2++ : _j2--) {
123
509
  _results1.push(_j2);
124
510
  }
125
511
  return _results1;
@@ -127,51 +513,51 @@ var require_heap = __commonJS({
127
513
  _results = [];
128
514
  for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
129
515
  i = _ref1[_i];
130
- _results.push(_siftup(array, i, cmp));
516
+ _results.push(_siftup(array2, i, cmp));
131
517
  }
132
518
  return _results;
133
519
  }, "heapify");
134
- updateItem = /* @__PURE__ */ __name(function(array, item, cmp) {
520
+ updateItem = /* @__PURE__ */ __name(function(array2, item, cmp) {
135
521
  var pos;
136
522
  if (cmp == null) {
137
523
  cmp = defaultCmp;
138
524
  }
139
- pos = array.indexOf(item);
525
+ pos = array2.indexOf(item);
140
526
  if (pos === -1) {
141
527
  return;
142
528
  }
143
- _siftdown(array, 0, pos, cmp);
144
- return _siftup(array, pos, cmp);
529
+ _siftdown(array2, 0, pos, cmp);
530
+ return _siftup(array2, pos, cmp);
145
531
  }, "updateItem");
146
- nlargest = /* @__PURE__ */ __name(function(array, n, cmp) {
532
+ nlargest = /* @__PURE__ */ __name(function(array2, n, cmp) {
147
533
  var elem, result, _i, _len, _ref;
148
534
  if (cmp == null) {
149
535
  cmp = defaultCmp;
150
536
  }
151
- result = array.slice(0, n);
537
+ result = array2.slice(0, n);
152
538
  if (!result.length) {
153
539
  return result;
154
540
  }
155
541
  heapify(result, cmp);
156
- _ref = array.slice(n);
542
+ _ref = array2.slice(n);
157
543
  for (_i = 0, _len = _ref.length; _i < _len; _i++) {
158
544
  elem = _ref[_i];
159
545
  heappushpop(result, elem, cmp);
160
546
  }
161
547
  return result.sort(cmp).reverse();
162
548
  }, "nlargest");
163
- nsmallest = /* @__PURE__ */ __name(function(array, n, cmp) {
549
+ nsmallest = /* @__PURE__ */ __name(function(array2, n, cmp) {
164
550
  var elem, los, result, _i, _j, _len, _ref, _ref1, _results;
165
551
  if (cmp == null) {
166
552
  cmp = defaultCmp;
167
553
  }
168
- if (n * 10 <= array.length) {
169
- result = array.slice(0, n).sort(cmp);
554
+ if (n * 10 <= array2.length) {
555
+ result = array2.slice(0, n).sort(cmp);
170
556
  if (!result.length) {
171
557
  return result;
172
558
  }
173
559
  los = result[result.length - 1];
174
- _ref = array.slice(n);
560
+ _ref = array2.slice(n);
175
561
  for (_i = 0, _len = _ref.length; _i < _len; _i++) {
176
562
  elem = _ref[_i];
177
563
  if (cmp(elem, los) < 0) {
@@ -182,51 +568,51 @@ var require_heap = __commonJS({
182
568
  }
183
569
  return result;
184
570
  }
185
- heapify(array, cmp);
571
+ heapify(array2, cmp);
186
572
  _results = [];
187
- for (_j = 0, _ref1 = min(n, array.length); 0 <= _ref1 ? _j < _ref1 : _j > _ref1; 0 <= _ref1 ? ++_j : --_j) {
188
- _results.push(heappop(array, cmp));
573
+ for (_j = 0, _ref1 = min(n, array2.length); 0 <= _ref1 ? _j < _ref1 : _j > _ref1; 0 <= _ref1 ? ++_j : --_j) {
574
+ _results.push(heappop(array2, cmp));
189
575
  }
190
576
  return _results;
191
577
  }, "nsmallest");
192
- _siftdown = /* @__PURE__ */ __name(function(array, startpos, pos, cmp) {
578
+ _siftdown = /* @__PURE__ */ __name(function(array2, startpos, pos, cmp) {
193
579
  var newitem, parent, parentpos;
194
580
  if (cmp == null) {
195
581
  cmp = defaultCmp;
196
582
  }
197
- newitem = array[pos];
583
+ newitem = array2[pos];
198
584
  while (pos > startpos) {
199
585
  parentpos = pos - 1 >> 1;
200
- parent = array[parentpos];
586
+ parent = array2[parentpos];
201
587
  if (cmp(newitem, parent) < 0) {
202
- array[pos] = parent;
588
+ array2[pos] = parent;
203
589
  pos = parentpos;
204
590
  continue;
205
591
  }
206
592
  break;
207
593
  }
208
- return array[pos] = newitem;
594
+ return array2[pos] = newitem;
209
595
  }, "_siftdown");
210
- _siftup = /* @__PURE__ */ __name(function(array, pos, cmp) {
596
+ _siftup = /* @__PURE__ */ __name(function(array2, pos, cmp) {
211
597
  var childpos, endpos, newitem, rightpos, startpos;
212
598
  if (cmp == null) {
213
599
  cmp = defaultCmp;
214
600
  }
215
- endpos = array.length;
601
+ endpos = array2.length;
216
602
  startpos = pos;
217
- newitem = array[pos];
603
+ newitem = array2[pos];
218
604
  childpos = 2 * pos + 1;
219
605
  while (childpos < endpos) {
220
606
  rightpos = childpos + 1;
221
- if (rightpos < endpos && !(cmp(array[childpos], array[rightpos]) < 0)) {
607
+ if (rightpos < endpos && !(cmp(array2[childpos], array2[rightpos]) < 0)) {
222
608
  childpos = rightpos;
223
609
  }
224
- array[pos] = array[childpos];
610
+ array2[pos] = array2[childpos];
225
611
  pos = childpos;
226
612
  childpos = 2 * pos + 1;
227
613
  }
228
- array[pos] = newitem;
229
- return _siftdown(array, startpos, pos, cmp);
614
+ array2[pos] = newitem;
615
+ return _siftdown(array2, startpos, pos, cmp);
230
616
  }, "_siftup");
231
617
  Heap = function() {
232
618
  Heap2.push = heappush;
@@ -2155,12 +2541,12 @@ var require_lib = __commonJS({
2155
2541
  }
2156
2542
  return bestMatch;
2157
2543
  }
2158
- scalarize(array, originals, fuzzyOriginals) {
2544
+ scalarize(array2, originals, fuzzyOriginals) {
2159
2545
  const fuzzyMatches = [];
2160
2546
  if (fuzzyOriginals) {
2161
2547
  const keyScores = {};
2162
- for (let index = 0; index < array.length; index++) {
2163
- const item = array[index];
2548
+ for (let index = 0; index < array2.length; index++) {
2549
+ const item = array2[index];
2164
2550
  if (this.isScalar(item)) {
2165
2551
  continue;
2166
2552
  }
@@ -2174,8 +2560,8 @@ var require_lib = __commonJS({
2174
2560
  }
2175
2561
  }
2176
2562
  const result = [];
2177
- for (let index = 0; index < array.length; index++) {
2178
- const item = array[index];
2563
+ for (let index = 0; index < array2.length; index++) {
2564
+ const item = array2[index];
2179
2565
  if (this.isScalar(item)) {
2180
2566
  result.push(item);
2181
2567
  } else {
@@ -2358,6 +2744,1158 @@ var require_lib = __commonJS({
2358
2744
  module.exports = { diff, diffString, colorize, colorizeToCallback };
2359
2745
  }
2360
2746
  });
2747
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2748
+ var __commonJS2 = /* @__PURE__ */ __name((cb, mod) => function() {
2749
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
2750
+ }, "__commonJS");
2751
+ var AssetsSchema = z.strictObject({
2752
+ htmlHandling: z.enum([
2753
+ "auto-trailing-slash",
2754
+ "drop-trailing-slash",
2755
+ "force-trailing-slash",
2756
+ "none"
2757
+ ]).optional(),
2758
+ notFoundHandling: z.enum([
2759
+ "single-page-application",
2760
+ "404-page",
2761
+ "none"
2762
+ ]).optional(),
2763
+ runWorkerFirst: z.union([z.array(z.string()), z.boolean()]).optional()
2764
+ });
2765
+ var KnownBindingSchema = z.discriminatedUnion("type", [
2766
+ z.strictObject({
2767
+ type: z.literal("agent-memory"),
2768
+ namespace: z.string(),
2769
+ remote: z.boolean().optional()
2770
+ }),
2771
+ z.strictObject({
2772
+ type: z.literal("ai"),
2773
+ remote: z.boolean().optional()
2774
+ }),
2775
+ z.strictObject({
2776
+ type: z.literal("ai-search"),
2777
+ name: z.string(),
2778
+ remote: z.boolean().optional()
2779
+ }),
2780
+ z.strictObject({
2781
+ type: z.literal("ai-search-namespace"),
2782
+ namespace: z.string(),
2783
+ remote: z.boolean().optional()
2784
+ }),
2785
+ z.strictObject({
2786
+ type: z.literal("analytics-engine-dataset"),
2787
+ name: z.string().optional()
2788
+ }),
2789
+ z.strictObject({
2790
+ type: z.literal("artifacts"),
2791
+ namespace: z.string(),
2792
+ remote: z.boolean().optional()
2793
+ }),
2794
+ z.strictObject({ type: z.literal("assets") }),
2795
+ z.strictObject({
2796
+ type: z.literal("browser"),
2797
+ remote: z.boolean().optional()
2798
+ }),
2799
+ z.strictObject({
2800
+ type: z.literal("d1"),
2801
+ name: z.string().optional(),
2802
+ id: z.string().optional(),
2803
+ remote: z.boolean().optional()
2804
+ }),
2805
+ z.strictObject({
2806
+ type: z.literal("dispatch-namespace"),
2807
+ namespace: z.string(),
2808
+ outbound: z.strictObject({
2809
+ workerName: z.string(),
2810
+ parameters: z.array(z.string()).optional()
2811
+ }).optional(),
2812
+ remote: z.boolean().optional()
2813
+ }),
2814
+ z.strictObject({
2815
+ type: z.literal("durable-object"),
2816
+ workerName: z.string(),
2817
+ exportName: z.string()
2818
+ }),
2819
+ z.strictObject({
2820
+ type: z.literal("flagship"),
2821
+ id: z.string(),
2822
+ remote: z.boolean().optional()
2823
+ }),
2824
+ z.strictObject({
2825
+ type: z.literal("hyperdrive"),
2826
+ id: z.string(),
2827
+ localConnectionString: z.string().optional()
2828
+ }),
2829
+ z.strictObject({
2830
+ type: z.literal("images"),
2831
+ remote: z.boolean().optional()
2832
+ }),
2833
+ z.strictObject({
2834
+ type: z.literal("json"),
2835
+ value: z.json()
2836
+ }),
2837
+ z.strictObject({
2838
+ type: z.literal("kv"),
2839
+ id: z.string().optional(),
2840
+ remote: z.boolean().optional()
2841
+ }),
2842
+ z.strictObject({
2843
+ type: z.literal("logfwdr"),
2844
+ destination: z.string()
2845
+ }),
2846
+ z.strictObject({
2847
+ type: z.literal("media"),
2848
+ remote: z.boolean().optional()
2849
+ }),
2850
+ z.strictObject({
2851
+ type: z.literal("mtls-certificate"),
2852
+ id: z.string(),
2853
+ remote: z.boolean().optional()
2854
+ }),
2855
+ z.strictObject({
2856
+ type: z.literal("pipeline"),
2857
+ name: z.string(),
2858
+ remote: z.boolean().optional()
2859
+ }),
2860
+ z.strictObject({
2861
+ type: z.literal("queue"),
2862
+ name: z.string(),
2863
+ deliveryDelay: z.number().optional(),
2864
+ remote: z.boolean().optional()
2865
+ }),
2866
+ z.strictObject({
2867
+ type: z.literal("rate-limit"),
2868
+ namespace: z.string(),
2869
+ simple: z.strictObject({
2870
+ limit: z.number(),
2871
+ period: z.union([z.literal(10), z.literal(60)])
2872
+ })
2873
+ }),
2874
+ z.strictObject({
2875
+ type: z.literal("r2"),
2876
+ name: z.string().optional(),
2877
+ jurisdiction: z.string().optional(),
2878
+ remote: z.boolean().optional()
2879
+ }),
2880
+ z.strictObject({ type: z.literal("secret") }),
2881
+ z.strictObject({
2882
+ type: z.literal("secrets-store-secret"),
2883
+ storeId: z.string(),
2884
+ secretName: z.string()
2885
+ }),
2886
+ z.strictObject({
2887
+ type: z.literal("send-email"),
2888
+ destinationAddress: z.string().optional(),
2889
+ allowedDestinationAddresses: z.array(z.string()).optional(),
2890
+ allowedSenderAddresses: z.array(z.string()).optional(),
2891
+ remote: z.boolean().optional()
2892
+ }),
2893
+ z.strictObject({
2894
+ type: z.literal("stream"),
2895
+ remote: z.boolean().optional()
2896
+ }),
2897
+ z.strictObject({
2898
+ type: z.literal("text"),
2899
+ value: z.string()
2900
+ }),
2901
+ z.strictObject({
2902
+ type: z.literal("vectorize"),
2903
+ name: z.string(),
2904
+ remote: z.boolean().optional()
2905
+ }),
2906
+ z.strictObject({ type: z.literal("version-metadata") }),
2907
+ z.strictObject({
2908
+ type: z.literal("vpc-service"),
2909
+ id: z.string(),
2910
+ remote: z.boolean().optional()
2911
+ }),
2912
+ z.strictObject({
2913
+ type: z.literal("vpc-network"),
2914
+ tunnelId: z.string().optional(),
2915
+ networkId: z.string().optional(),
2916
+ remote: z.boolean().optional()
2917
+ }).superRefine((value, ctx) => {
2918
+ const hasTunnel = value.tunnelId !== void 0;
2919
+ if (hasTunnel === (value.networkId !== void 0)) ctx.addIssue({
2920
+ code: "custom",
2921
+ message: hasTunnel ? `"vpc-network" bindings must specify exactly one of "tunnelId" or "networkId", not both` : `"vpc-network" bindings must specify either "tunnelId" or "networkId"`
2922
+ });
2923
+ }),
2924
+ z.strictObject({
2925
+ type: z.literal("web-search"),
2926
+ remote: z.boolean().optional()
2927
+ }),
2928
+ z.strictObject({
2929
+ type: z.literal("worker"),
2930
+ workerName: z.string(),
2931
+ exportName: z.string().optional(),
2932
+ props: z.record(z.string(), z.unknown()).optional(),
2933
+ remote: z.boolean().optional()
2934
+ }),
2935
+ z.strictObject({ type: z.literal("worker-loader") })
2936
+ ]);
2937
+ var UnsafeBindingSchema = z.looseObject({
2938
+ type: z.templateLiteral(["unsafe:", z.string().min(1)]),
2939
+ dev: z.strictObject({
2940
+ plugin: z.strictObject({
2941
+ package: z.string(),
2942
+ name: z.string()
2943
+ }),
2944
+ options: z.record(z.string(), z.unknown()).optional()
2945
+ }).optional()
2946
+ });
2947
+ var BindingSchema = z.unknown().transform((value, ctx) => {
2948
+ const result = (typeof value === "object" && value !== null && "type" in value && typeof value.type === "string" && value.type.startsWith("unsafe:") ? UnsafeBindingSchema : KnownBindingSchema).safeParse(value);
2949
+ if (!result.success) {
2950
+ ctx.issues.push(...result.error.issues);
2951
+ return z.NEVER;
2952
+ }
2953
+ return result.data;
2954
+ });
2955
+ function isParsedUnsafeBinding(binding) {
2956
+ return binding.type.startsWith("unsafe:");
2957
+ }
2958
+ __name(isParsedUnsafeBinding, "isParsedUnsafeBinding");
2959
+ var CacheSchema = z.strictObject({ enabled: z.boolean() });
2960
+ var SINGLETON_BINDING_TYPES = /* @__PURE__ */ new Set([
2961
+ "ai",
2962
+ "assets",
2963
+ "browser",
2964
+ "images",
2965
+ "media",
2966
+ "stream",
2967
+ "version-metadata",
2968
+ "web-search"
2969
+ ]);
2970
+ var listFormatter = new Intl.ListFormat("en-US");
2971
+ var EnvSchema = z.record(z.string(), BindingSchema).superRefine((env, ctx) => {
2972
+ const seen = /* @__PURE__ */ new Set();
2973
+ const duplicates = /* @__PURE__ */ new Set();
2974
+ for (const binding of Object.values(env)) {
2975
+ const type = binding.type;
2976
+ if (SINGLETON_BINDING_TYPES.has(type)) {
2977
+ if (seen.has(type)) duplicates.add(type);
2978
+ seen.add(type);
2979
+ }
2980
+ }
2981
+ if (duplicates.size > 0) ctx.addIssue({
2982
+ code: "custom",
2983
+ message: `${listFormatter.format([...duplicates].sort())} bindings can only be defined once`
2984
+ });
2985
+ }).optional();
2986
+ var ExportSchema = z.discriminatedUnion("type", [z.strictObject({
2987
+ type: z.literal("durable-object"),
2988
+ storage: z.enum(["sqlite", "legacy-kv"])
2989
+ })]);
2990
+ var LimitsSchema = z.strictObject({
2991
+ cpuMs: z.number().optional(),
2992
+ subrequests: z.number().optional()
2993
+ });
2994
+ var ObservabilitySchema = z.strictObject({
2995
+ enabled: z.boolean().optional(),
2996
+ headSamplingRate: z.number().optional(),
2997
+ logs: z.strictObject({
2998
+ enabled: z.boolean().optional(),
2999
+ headSamplingRate: z.number().optional(),
3000
+ invocationLogs: z.boolean().optional(),
3001
+ persist: z.boolean().optional(),
3002
+ destinations: z.array(z.string()).optional()
3003
+ }).optional(),
3004
+ traces: z.strictObject({
3005
+ enabled: z.boolean().optional(),
3006
+ headSamplingRate: z.number().optional(),
3007
+ persist: z.boolean().optional(),
3008
+ destinations: z.array(z.string()).optional()
3009
+ }).optional()
3010
+ });
3011
+ var PlacementSchema = z.union([
3012
+ z.strictObject({
3013
+ mode: z.enum(["off", "smart"]),
3014
+ hint: z.string().optional()
3015
+ }),
3016
+ z.strictObject({
3017
+ mode: z.literal("targeted").optional(),
3018
+ region: z.string()
3019
+ }),
3020
+ z.strictObject({
3021
+ mode: z.literal("targeted").optional(),
3022
+ host: z.string()
3023
+ }),
3024
+ z.strictObject({
3025
+ mode: z.literal("targeted").optional(),
3026
+ hostname: z.string()
3027
+ })
3028
+ ]);
3029
+ var TailConsumerSchema = z.strictObject({
3030
+ workerName: z.string(),
3031
+ streaming: z.boolean().optional()
3032
+ });
3033
+ var TriggerSchema = z.discriminatedUnion("type", [
3034
+ z.strictObject({
3035
+ type: z.literal("fetch"),
3036
+ pattern: z.string(),
3037
+ zone: z.string().optional()
3038
+ }),
3039
+ z.strictObject({
3040
+ type: z.literal("queue"),
3041
+ name: z.string(),
3042
+ deadLetterQueue: z.string().optional(),
3043
+ maxBatchSize: z.number().optional(),
3044
+ maxBatchTimeout: z.number().optional(),
3045
+ maxConcurrency: z.number().nullable().optional(),
3046
+ maxRetries: z.number().optional(),
3047
+ retryDelay: z.number().optional(),
3048
+ visibilityTimeoutMs: z.number().optional()
3049
+ }),
3050
+ z.strictObject({
3051
+ type: z.literal("scheduled"),
3052
+ schedule: z.string()
3053
+ })
3054
+ ]);
3055
+ var UnsafeSchema = z.strictObject({
3056
+ metadata: z.record(z.string(), z.unknown()).optional(),
3057
+ capnp: z.union([z.strictObject({
3058
+ basePath: z.string(),
3059
+ sourceSchemas: z.array(z.string()),
3060
+ compiledSchema: z.never().optional()
3061
+ }), z.strictObject({
3062
+ basePath: z.never().optional(),
3063
+ sourceSchemas: z.never().optional(),
3064
+ compiledSchema: z.string()
3065
+ })]).optional()
3066
+ });
3067
+ var BaseWorkerSchema = z.strictObject({
3068
+ name: z.string(),
3069
+ accountId: z.string().optional(),
3070
+ compatibilityDate: z.string(),
3071
+ compatibilityFlags: z.array(z.string()).optional(),
3072
+ assets: AssetsSchema.optional(),
3073
+ domains: z.array(z.string()).optional(),
3074
+ triggers: z.array(TriggerSchema).optional(),
3075
+ tailConsumers: z.array(TailConsumerSchema).optional(),
3076
+ cache: CacheSchema.optional(),
3077
+ placement: PlacementSchema.optional(),
3078
+ limits: LimitsSchema.optional(),
3079
+ logpush: z.boolean().optional(),
3080
+ observability: ObservabilitySchema.optional(),
3081
+ workersDev: z.boolean().optional(),
3082
+ previewUrls: z.boolean().optional(),
3083
+ complianceRegion: z.enum(["public", "fedramp-high"]).optional(),
3084
+ firstPartyWorker: z.boolean().optional(),
3085
+ unsafe: UnsafeSchema.optional(),
3086
+ env: EnvSchema,
3087
+ exports: z.record(z.string(), ExportSchema).optional()
3088
+ });
3089
+ var InputWorkerSchema = BaseWorkerSchema.extend({ entrypoint: z.union([z.string(), z.strictObject({ default: z.string() })]).transform((value) => typeof value === "string" ? value : value.default).optional() });
3090
+ var ModuleTypeSchema = z.enum([
3091
+ "esm",
3092
+ "cjs",
3093
+ "python",
3094
+ "pythonRequirement",
3095
+ "wasm",
3096
+ "text",
3097
+ "data",
3098
+ "json",
3099
+ "sourcemap"
3100
+ ]);
3101
+ var ManifestSchema = z.strictObject({
3102
+ mainModule: z.string(),
3103
+ modules: z.record(z.string(), z.strictObject({ type: ModuleTypeSchema }))
3104
+ });
3105
+ var OutputWorkerSchema = BaseWorkerSchema.extend({ manifest: ManifestSchema.optional() });
3106
+ var require_dist = /* @__PURE__ */ __commonJS2({ "../../node_modules/.pnpm/ts-dedent@2.2.0/node_modules/ts-dedent/dist/index.js": /* @__PURE__ */ __name((exports) => {
3107
+ Object.defineProperty(exports, "__esModule", { value: true });
3108
+ exports.dedent = void 0;
3109
+ function dedent$1(templ) {
3110
+ var values = [];
3111
+ for (var _i = 1; _i < arguments.length; _i++) values[_i - 1] = arguments[_i];
3112
+ var strings = Array.from(typeof templ === "string" ? [templ] : templ);
3113
+ strings[strings.length - 1] = strings[strings.length - 1].replace(/\r?\n([\t ]*)$/, "");
3114
+ var indentLengths = strings.reduce(function(arr, str) {
3115
+ var matches = str.match(/\n([\t ]+|(?!\s).)/g);
3116
+ if (matches) return arr.concat(matches.map(function(match) {
3117
+ var _a, _b;
3118
+ return (_b = (_a = match.match(/[\t ]/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
3119
+ }));
3120
+ return arr;
3121
+ }, []);
3122
+ if (indentLengths.length) {
3123
+ var pattern_1 = new RegExp("\n[ ]{" + Math.min.apply(Math, indentLengths) + "}", "g");
3124
+ strings = strings.map(function(str) {
3125
+ return str.replace(pattern_1, "\n");
3126
+ });
3127
+ }
3128
+ strings[0] = strings[0].replace(/^\r?\n/, "");
3129
+ var string2 = strings[0];
3130
+ values.forEach(function(value, i) {
3131
+ var endentations = string2.match(/(?:^|\n)( *)$/);
3132
+ var endentation = endentations ? endentations[1] : "";
3133
+ var indentedValue = value;
3134
+ if (typeof value === "string" && value.includes("\n")) indentedValue = String(value).split("\n").map(function(str, i$1) {
3135
+ return i$1 === 0 ? str : "" + endentation + str;
3136
+ }).join("\n");
3137
+ string2 += indentedValue + strings[i + 1];
3138
+ });
3139
+ return string2;
3140
+ }
3141
+ __name(dedent$1, "dedent$1");
3142
+ exports.dedent = dedent$1;
3143
+ }, "../../node_modules/.pnpm/ts-dedent@2.2.0/node_modules/ts-dedent/dist/index.js") });
3144
+ require_dist();
3145
+ function convertToWranglerConfig(config) {
3146
+ const result = {};
3147
+ convertTopLevel(config, result);
3148
+ convertBindingsAndAssets(config, result);
3149
+ convertExports(config);
3150
+ convertDomains(config, result);
3151
+ convertTriggers(config, result);
3152
+ convertTailConsumers(config, result);
3153
+ return result;
3154
+ }
3155
+ __name(convertToWranglerConfig, "convertToWranglerConfig");
3156
+ function convertTopLevel(config, result) {
3157
+ if (config.name !== void 0) result.name = config.name;
3158
+ if (typeof config.entrypoint === "string") result.main = config.entrypoint;
3159
+ if (config.accountId !== void 0) result.account_id = config.accountId;
3160
+ if (config.compatibilityDate !== void 0) result.compatibility_date = config.compatibilityDate;
3161
+ if (config.compatibilityFlags !== void 0) result.compatibility_flags = config.compatibilityFlags;
3162
+ if (config.workersDev !== void 0) result.workers_dev = config.workersDev;
3163
+ if (config.previewUrls !== void 0) result.preview_urls = config.previewUrls;
3164
+ if (config.logpush !== void 0) result.logpush = config.logpush;
3165
+ if (config.complianceRegion !== void 0) result.compliance_region = config.complianceRegion === "fedramp-high" ? "fedramp_high" : "public";
3166
+ if (config.firstPartyWorker !== void 0) result.first_party_worker = config.firstPartyWorker;
3167
+ if (config.placement !== void 0) result.placement = config.placement;
3168
+ if (config.limits !== void 0) {
3169
+ const limits = {};
3170
+ if (config.limits.cpuMs !== void 0) limits.cpu_ms = config.limits.cpuMs;
3171
+ if (config.limits.subrequests !== void 0) limits.subrequests = config.limits.subrequests;
3172
+ result.limits = limits;
3173
+ }
3174
+ if (config.observability !== void 0) result.observability = convertObservability(config.observability);
3175
+ if (config.cache !== void 0) result.cache = { enabled: config.cache.enabled };
3176
+ if (config.unsafe !== void 0) result.unsafe = convertUnsafeTopLevel(config.unsafe);
3177
+ }
3178
+ __name(convertTopLevel, "convertTopLevel");
3179
+ function convertObservability(observability) {
3180
+ const out = {};
3181
+ if (observability.enabled !== void 0) out.enabled = observability.enabled;
3182
+ if (observability.headSamplingRate !== void 0) out.head_sampling_rate = observability.headSamplingRate;
3183
+ if (observability.logs !== void 0) {
3184
+ const logs = {};
3185
+ const { logs: src } = observability;
3186
+ if (src.enabled !== void 0) logs.enabled = src.enabled;
3187
+ if (src.headSamplingRate !== void 0) logs.head_sampling_rate = src.headSamplingRate;
3188
+ if (src.invocationLogs !== void 0) logs.invocation_logs = src.invocationLogs;
3189
+ if (src.persist !== void 0) logs.persist = src.persist;
3190
+ if (src.destinations !== void 0) logs.destinations = src.destinations;
3191
+ out.logs = logs;
3192
+ }
3193
+ if (observability.traces !== void 0) {
3194
+ const traces = {};
3195
+ const { traces: src } = observability;
3196
+ if (src.enabled !== void 0) traces.enabled = src.enabled;
3197
+ if (src.headSamplingRate !== void 0) traces.head_sampling_rate = src.headSamplingRate;
3198
+ if (src.persist !== void 0) traces.persist = src.persist;
3199
+ if (src.destinations !== void 0) traces.destinations = src.destinations;
3200
+ out.traces = traces;
3201
+ }
3202
+ return out;
3203
+ }
3204
+ __name(convertObservability, "convertObservability");
3205
+ function convertUnsafeTopLevel(unsafe) {
3206
+ const out = {};
3207
+ if (unsafe.metadata !== void 0) out.metadata = unsafe.metadata;
3208
+ if (unsafe.capnp !== void 0) {
3209
+ if ("compiledSchema" in unsafe.capnp && unsafe.capnp.compiledSchema) out.capnp = { compiled_schema: unsafe.capnp.compiledSchema };
3210
+ else if ("basePath" in unsafe.capnp && unsafe.capnp.basePath) out.capnp = {
3211
+ base_path: unsafe.capnp.basePath,
3212
+ source_schemas: unsafe.capnp.sourceSchemas ?? []
3213
+ };
3214
+ }
3215
+ return out;
3216
+ }
3217
+ __name(convertUnsafeTopLevel, "convertUnsafeTopLevel");
3218
+ function convertBindingsAndAssets(config, result) {
3219
+ let assetsBindingName;
3220
+ const env = config.env ?? {};
3221
+ const kvNamespaces = [];
3222
+ const d1Databases = [];
3223
+ const r2Buckets = [];
3224
+ const vectorize = [];
3225
+ const mtlsCertificates = [];
3226
+ const hyperdrive = [];
3227
+ const pipelines = [];
3228
+ const flagship = [];
3229
+ const aiSearch = [];
3230
+ const aiSearchNamespaces = [];
3231
+ const agentMemory = [];
3232
+ const analyticsEngineDatasets = [];
3233
+ const artifacts = [];
3234
+ const dispatchNamespaces = [];
3235
+ const secretsStoreSecrets = [];
3236
+ const sendEmail = [];
3237
+ const vpcServices = [];
3238
+ const vpcNetworks = [];
3239
+ const workerLoaders = [];
3240
+ const ratelimits = [];
3241
+ const services = [];
3242
+ const durableObjectBindings = [];
3243
+ const workflows = [];
3244
+ const queueProducers = [];
3245
+ const logfwdrBindings = [];
3246
+ const unsafeBindings = [];
3247
+ const vars = {};
3248
+ const secretsRequired = [];
3249
+ for (const [name, binding] of Object.entries(env)) {
3250
+ if (isParsedUnsafeBinding(binding)) {
3251
+ unsafeBindings.push({
3252
+ ...binding,
3253
+ name,
3254
+ type: binding.type.slice(7)
3255
+ });
3256
+ continue;
3257
+ }
3258
+ switch (binding.type) {
3259
+ case "agent-memory":
3260
+ agentMemory.push(omitUndefined({
3261
+ binding: name,
3262
+ namespace: binding.namespace,
3263
+ remote: binding.remote
3264
+ }));
3265
+ break;
3266
+ case "ai":
3267
+ result.ai = omitUndefined({
3268
+ binding: name,
3269
+ remote: binding.remote
3270
+ });
3271
+ break;
3272
+ case "ai-search":
3273
+ aiSearch.push(omitUndefined({
3274
+ binding: name,
3275
+ instance_name: binding.name,
3276
+ remote: binding.remote
3277
+ }));
3278
+ break;
3279
+ case "ai-search-namespace":
3280
+ aiSearchNamespaces.push(omitUndefined({
3281
+ binding: name,
3282
+ namespace: binding.namespace,
3283
+ remote: binding.remote
3284
+ }));
3285
+ break;
3286
+ case "analytics-engine-dataset":
3287
+ analyticsEngineDatasets.push(omitUndefined({
3288
+ binding: name,
3289
+ dataset: binding.name
3290
+ }));
3291
+ break;
3292
+ case "artifacts":
3293
+ artifacts.push(omitUndefined({
3294
+ binding: name,
3295
+ namespace: binding.namespace,
3296
+ remote: binding.remote
3297
+ }));
3298
+ break;
3299
+ case "assets":
3300
+ assetsBindingName = name;
3301
+ break;
3302
+ case "browser":
3303
+ result.browser = omitUndefined({
3304
+ binding: name,
3305
+ remote: binding.remote
3306
+ });
3307
+ break;
3308
+ case "d1":
3309
+ d1Databases.push(omitUndefined({
3310
+ binding: name,
3311
+ database_id: binding.id,
3312
+ database_name: binding.name,
3313
+ remote: binding.remote
3314
+ }));
3315
+ break;
3316
+ case "dispatch-namespace": {
3317
+ const entry = {
3318
+ binding: name,
3319
+ namespace: binding.namespace
3320
+ };
3321
+ if (binding.outbound) entry.outbound = omitUndefined({
3322
+ service: binding.outbound.workerName,
3323
+ parameters: binding.outbound.parameters
3324
+ });
3325
+ if (binding.remote !== void 0) entry.remote = binding.remote;
3326
+ dispatchNamespaces.push(entry);
3327
+ break;
3328
+ }
3329
+ case "durable-object":
3330
+ durableObjectBindings.push({
3331
+ name,
3332
+ class_name: binding.exportName,
3333
+ script_name: binding.workerName
3334
+ });
3335
+ break;
3336
+ case "flagship":
3337
+ flagship.push(omitUndefined({
3338
+ binding: name,
3339
+ app_id: binding.id,
3340
+ remote: binding.remote
3341
+ }));
3342
+ break;
3343
+ case "hyperdrive":
3344
+ hyperdrive.push(omitUndefined({
3345
+ binding: name,
3346
+ id: binding.id,
3347
+ localConnectionString: binding.localConnectionString
3348
+ }));
3349
+ break;
3350
+ case "images":
3351
+ result.images = omitUndefined({
3352
+ binding: name,
3353
+ remote: binding.remote
3354
+ });
3355
+ break;
3356
+ case "json":
3357
+ vars[name] = binding.value;
3358
+ break;
3359
+ case "kv":
3360
+ kvNamespaces.push(omitUndefined({
3361
+ binding: name,
3362
+ id: binding.id,
3363
+ remote: binding.remote
3364
+ }));
3365
+ break;
3366
+ case "logfwdr":
3367
+ logfwdrBindings.push({
3368
+ name,
3369
+ destination: binding.destination
3370
+ });
3371
+ break;
3372
+ case "media":
3373
+ result.media = omitUndefined({
3374
+ binding: name,
3375
+ remote: binding.remote
3376
+ });
3377
+ break;
3378
+ case "mtls-certificate":
3379
+ mtlsCertificates.push(omitUndefined({
3380
+ binding: name,
3381
+ certificate_id: binding.id,
3382
+ remote: binding.remote
3383
+ }));
3384
+ break;
3385
+ case "pipeline":
3386
+ pipelines.push(omitUndefined({
3387
+ binding: name,
3388
+ stream: binding.name,
3389
+ remote: binding.remote
3390
+ }));
3391
+ break;
3392
+ case "queue":
3393
+ queueProducers.push(omitUndefined({
3394
+ binding: name,
3395
+ queue: binding.name,
3396
+ delivery_delay: binding.deliveryDelay,
3397
+ remote: binding.remote
3398
+ }));
3399
+ break;
3400
+ case "rate-limit":
3401
+ ratelimits.push({
3402
+ name,
3403
+ namespace_id: binding.namespace,
3404
+ simple: binding.simple
3405
+ });
3406
+ break;
3407
+ case "r2":
3408
+ r2Buckets.push(omitUndefined({
3409
+ binding: name,
3410
+ bucket_name: binding.name,
3411
+ jurisdiction: binding.jurisdiction,
3412
+ remote: binding.remote
3413
+ }));
3414
+ break;
3415
+ case "secret":
3416
+ secretsRequired.push(name);
3417
+ break;
3418
+ case "secrets-store-secret":
3419
+ secretsStoreSecrets.push({
3420
+ binding: name,
3421
+ store_id: binding.storeId,
3422
+ secret_name: binding.secretName
3423
+ });
3424
+ break;
3425
+ case "send-email":
3426
+ sendEmail.push(omitUndefined({
3427
+ name,
3428
+ destination_address: binding.destinationAddress,
3429
+ allowed_destination_addresses: binding.allowedDestinationAddresses,
3430
+ allowed_sender_addresses: binding.allowedSenderAddresses,
3431
+ remote: binding.remote
3432
+ }));
3433
+ break;
3434
+ case "stream":
3435
+ result.stream = omitUndefined({
3436
+ binding: name,
3437
+ remote: binding.remote
3438
+ });
3439
+ break;
3440
+ case "text":
3441
+ vars[name] = binding.value;
3442
+ break;
3443
+ case "vectorize":
3444
+ vectorize.push(omitUndefined({
3445
+ binding: name,
3446
+ index_name: binding.name,
3447
+ remote: binding.remote
3448
+ }));
3449
+ break;
3450
+ case "version-metadata":
3451
+ result.version_metadata = { binding: name };
3452
+ break;
3453
+ case "vpc-service":
3454
+ vpcServices.push(omitUndefined({
3455
+ binding: name,
3456
+ service_id: binding.id,
3457
+ remote: binding.remote
3458
+ }));
3459
+ break;
3460
+ case "vpc-network":
3461
+ if (binding.tunnelId !== void 0) vpcNetworks.push(omitUndefined({
3462
+ binding: name,
3463
+ tunnel_id: binding.tunnelId,
3464
+ remote: binding.remote
3465
+ }));
3466
+ else if (binding.networkId !== void 0) vpcNetworks.push(omitUndefined({
3467
+ binding: name,
3468
+ network_id: binding.networkId,
3469
+ remote: binding.remote
3470
+ }));
3471
+ break;
3472
+ case "web-search":
3473
+ result.websearch = omitUndefined({
3474
+ binding: name,
3475
+ remote: binding.remote
3476
+ });
3477
+ break;
3478
+ case "worker":
3479
+ services.push(omitUndefined({
3480
+ binding: name,
3481
+ service: binding.workerName,
3482
+ entrypoint: binding.exportName,
3483
+ props: binding.props,
3484
+ remote: binding.remote
3485
+ }));
3486
+ break;
3487
+ case "worker-loader":
3488
+ workerLoaders.push({ binding: name });
3489
+ break;
3490
+ }
3491
+ }
3492
+ if (kvNamespaces.length) result.kv_namespaces = kvNamespaces;
3493
+ if (d1Databases.length) result.d1_databases = d1Databases;
3494
+ if (r2Buckets.length) result.r2_buckets = r2Buckets;
3495
+ if (vectorize.length) result.vectorize = vectorize;
3496
+ if (mtlsCertificates.length) result.mtls_certificates = mtlsCertificates;
3497
+ if (hyperdrive.length) result.hyperdrive = hyperdrive;
3498
+ if (pipelines.length) result.pipelines = pipelines;
3499
+ if (flagship.length) result.flagship = flagship;
3500
+ if (aiSearch.length) result.ai_search = aiSearch;
3501
+ if (aiSearchNamespaces.length) result.ai_search_namespaces = aiSearchNamespaces;
3502
+ if (agentMemory.length) result.agent_memory = agentMemory;
3503
+ if (analyticsEngineDatasets.length) result.analytics_engine_datasets = analyticsEngineDatasets;
3504
+ if (artifacts.length) result.artifacts = artifacts;
3505
+ if (dispatchNamespaces.length) result.dispatch_namespaces = dispatchNamespaces;
3506
+ if (secretsStoreSecrets.length) result.secrets_store_secrets = secretsStoreSecrets;
3507
+ if (sendEmail.length) result.send_email = sendEmail;
3508
+ if (vpcServices.length) result.vpc_services = vpcServices;
3509
+ if (vpcNetworks.length) result.vpc_networks = vpcNetworks;
3510
+ if (workerLoaders.length) result.worker_loaders = workerLoaders;
3511
+ if (ratelimits.length) result.ratelimits = ratelimits;
3512
+ if (services.length) result.services = services;
3513
+ if (durableObjectBindings.length) result.durable_objects = { bindings: durableObjectBindings };
3514
+ if (workflows.length) result.workflows = workflows;
3515
+ if (queueProducers.length) result.queues = {
3516
+ ...result.queues ?? {},
3517
+ producers: queueProducers
3518
+ };
3519
+ if (logfwdrBindings.length) result.logfwdr = { bindings: logfwdrBindings };
3520
+ if (unsafeBindings.length) result.unsafe = {
3521
+ ...result.unsafe ?? {},
3522
+ bindings: unsafeBindings
3523
+ };
3524
+ if (Object.keys(vars).length) result.vars = vars;
3525
+ if (secretsRequired.length) result.secrets = { required: secretsRequired };
3526
+ if (config.assets !== void 0 || assetsBindingName !== void 0) {
3527
+ const assets = {};
3528
+ if (assetsBindingName !== void 0) assets.binding = assetsBindingName;
3529
+ if (config.assets?.htmlHandling !== void 0) assets.html_handling = config.assets.htmlHandling;
3530
+ if (config.assets?.notFoundHandling !== void 0) assets.not_found_handling = config.assets.notFoundHandling;
3531
+ if (config.assets?.runWorkerFirst !== void 0) assets.run_worker_first = config.assets.runWorkerFirst;
3532
+ result.assets = assets;
3533
+ }
3534
+ }
3535
+ __name(convertBindingsAndAssets, "convertBindingsAndAssets");
3536
+ function convertExports(config, _result) {
3537
+ const exports$2 = config.exports;
3538
+ if (!exports$2) return;
3539
+ for (const value of Object.values(exports$2)) if (value.type === "durable-object") throw new Error("Durable Object exports are not currently supported.");
3540
+ }
3541
+ __name(convertExports, "convertExports");
3542
+ function convertTriggers(config, result) {
3543
+ const triggers$1 = config.triggers;
3544
+ if (!triggers$1 || triggers$1.length === 0) return;
3545
+ const crons = [];
3546
+ const routes = result.routes ? [...result.routes] : [];
3547
+ const queueConsumers = result.queues?.consumers ? [...result.queues.consumers] : [];
3548
+ for (const trigger of triggers$1) switch (trigger.type) {
3549
+ case "scheduled":
3550
+ crons.push(trigger.schedule);
3551
+ break;
3552
+ case "fetch":
3553
+ if (trigger.zone === void 0) routes.push(trigger.pattern);
3554
+ else if (trigger.zone.includes(".")) routes.push({
3555
+ pattern: trigger.pattern,
3556
+ zone_name: trigger.zone
3557
+ });
3558
+ else routes.push({
3559
+ pattern: trigger.pattern,
3560
+ zone_id: trigger.zone
3561
+ });
3562
+ break;
3563
+ case "queue":
3564
+ queueConsumers.push(omitUndefined({
3565
+ queue: trigger.name,
3566
+ dead_letter_queue: trigger.deadLetterQueue,
3567
+ max_batch_size: trigger.maxBatchSize,
3568
+ max_batch_timeout: trigger.maxBatchTimeout,
3569
+ max_concurrency: trigger.maxConcurrency,
3570
+ max_retries: trigger.maxRetries,
3571
+ retry_delay: trigger.retryDelay,
3572
+ visibility_timeout_ms: trigger.visibilityTimeoutMs
3573
+ }));
3574
+ break;
3575
+ }
3576
+ if (crons.length) result.triggers = { crons };
3577
+ if (routes.length) result.routes = routes;
3578
+ if (queueConsumers.length) result.queues = {
3579
+ ...result.queues ?? {},
3580
+ consumers: queueConsumers
3581
+ };
3582
+ }
3583
+ __name(convertTriggers, "convertTriggers");
3584
+ function convertDomains(config, result) {
3585
+ if (!config.domains || config.domains.length === 0) return;
3586
+ const routes = result.routes ? [...result.routes] : [];
3587
+ for (const domain of config.domains) routes.push({
3588
+ pattern: domain,
3589
+ custom_domain: true
3590
+ });
3591
+ result.routes = routes;
3592
+ }
3593
+ __name(convertDomains, "convertDomains");
3594
+ function convertTailConsumers(config, result) {
3595
+ const consumers = config.tailConsumers;
3596
+ if (!consumers || consumers.length === 0) return;
3597
+ const tail = [];
3598
+ const streaming = [];
3599
+ for (const consumer of consumers) if (consumer.streaming) streaming.push({ service: consumer.workerName });
3600
+ else tail.push({ service: consumer.workerName });
3601
+ if (tail.length) result.tail_consumers = tail;
3602
+ if (streaming.length) result.streaming_tail_consumers = streaming;
3603
+ }
3604
+ __name(convertTailConsumers, "convertTailConsumers");
3605
+ function omitUndefined(obj) {
3606
+ const out = {};
3607
+ for (const [key, value] of Object.entries(obj)) if (value !== void 0) out[key] = value;
3608
+ return out;
3609
+ }
3610
+ __name(omitUndefined, "omitUndefined");
3611
+ new AsyncLocalStorage();
3612
+
3613
+ // ../containers-shared/src/client/models/ApplicationRollout.ts
3614
+ var ApplicationRollout;
3615
+ ((ApplicationRollout2) => {
3616
+ ((kind2) => {
3617
+ kind2["FULL_AUTO"] = "full_auto";
3618
+ kind2["FULL_MANUAL"] = "full_manual";
3619
+ kind2["DURABLE_OBJECTS_AUTO"] = "durable_objects_auto";
3620
+ })(ApplicationRollout2.kind || (ApplicationRollout2.kind = {}));
3621
+ ((strategy2) => {
3622
+ strategy2["ROLLING"] = "rolling";
3623
+ })(ApplicationRollout2.strategy || (ApplicationRollout2.strategy = {}));
3624
+ ((status2) => {
3625
+ status2["PENDING"] = "pending";
3626
+ status2["PROGRESSING"] = "progressing";
3627
+ status2["COMPLETED"] = "completed";
3628
+ status2["REVERTED"] = "reverted";
3629
+ status2["REPLACED"] = "replaced";
3630
+ })(ApplicationRollout2.status || (ApplicationRollout2.status = {}));
3631
+ })(ApplicationRollout || (ApplicationRollout = {}));
3632
+
3633
+ // ../containers-shared/src/client/models/BadRequestWithCodeError.ts
3634
+ var BadRequestWithCodeError;
3635
+ ((BadRequestWithCodeError2) => {
3636
+ ((error2) => {
3637
+ error2["VALIDATE_INPUT"] = "VALIDATE_INPUT";
3638
+ })(BadRequestWithCodeError2.error || (BadRequestWithCodeError2.error = {}));
3639
+ })(BadRequestWithCodeError || (BadRequestWithCodeError = {}));
3640
+
3641
+ // ../containers-shared/src/client/models/CreateApplicationRolloutRequest.ts
3642
+ var CreateApplicationRolloutRequest;
3643
+ ((CreateApplicationRolloutRequest2) => {
3644
+ ((strategy2) => {
3645
+ strategy2["ROLLING"] = "rolling";
3646
+ })(CreateApplicationRolloutRequest2.strategy || (CreateApplicationRolloutRequest2.strategy = {}));
3647
+ ((step_percentage2) => {
3648
+ step_percentage2[step_percentage2["_5"] = 5] = "_5";
3649
+ step_percentage2[step_percentage2["_10"] = 10] = "_10";
3650
+ step_percentage2[step_percentage2["_20"] = 20] = "_20";
3651
+ step_percentage2[step_percentage2["_25"] = 25] = "_25";
3652
+ step_percentage2[step_percentage2["_50"] = 50] = "_50";
3653
+ step_percentage2[step_percentage2["_100"] = 100] = "_100";
3654
+ })(CreateApplicationRolloutRequest2.step_percentage || (CreateApplicationRolloutRequest2.step_percentage = {}));
3655
+ ((kind2) => {
3656
+ kind2["FULL_AUTO"] = "full_auto";
3657
+ kind2["FULL_MANUAL"] = "full_manual";
3658
+ })(CreateApplicationRolloutRequest2.kind || (CreateApplicationRolloutRequest2.kind = {}));
3659
+ })(CreateApplicationRolloutRequest || (CreateApplicationRolloutRequest = {}));
3660
+
3661
+ // ../containers-shared/src/client/models/DeploymentNotFoundError.ts
3662
+ var DeploymentNotFoundError;
3663
+ ((DeploymentNotFoundError2) => {
3664
+ ((error2) => {
3665
+ error2["DEPLOYMENT_NOT_FOUND"] = "DEPLOYMENT_NOT_FOUND";
3666
+ })(DeploymentNotFoundError2.error || (DeploymentNotFoundError2.error = {}));
3667
+ })(DeploymentNotFoundError || (DeploymentNotFoundError = {}));
3668
+
3669
+ // ../containers-shared/src/client/models/ImageRegistryAlreadyExistsError.ts
3670
+ var ImageRegistryAlreadyExistsError;
3671
+ ((ImageRegistryAlreadyExistsError2) => {
3672
+ ((error2) => {
3673
+ error2["IMAGE_REGISTRY_ALREADY_EXISTS"] = "IMAGE_REGISTRY_ALREADY_EXISTS";
3674
+ })(ImageRegistryAlreadyExistsError2.error || (ImageRegistryAlreadyExistsError2.error = {}));
3675
+ })(ImageRegistryAlreadyExistsError || (ImageRegistryAlreadyExistsError = {}));
3676
+
3677
+ // ../containers-shared/src/client/models/ImageRegistryIsPublic.ts
3678
+ var ImageRegistryIsPublic;
3679
+ ((ImageRegistryIsPublic2) => {
3680
+ ((error2) => {
3681
+ error2["IMAGE_REGISTRY_IS_PUBLIC"] = "IMAGE_REGISTRY_IS_PUBLIC";
3682
+ })(ImageRegistryIsPublic2.error || (ImageRegistryIsPublic2.error = {}));
3683
+ })(ImageRegistryIsPublic || (ImageRegistryIsPublic = {}));
3684
+
3685
+ // ../containers-shared/src/client/models/ImageRegistryNotAllowedError.ts
3686
+ var ImageRegistryNotAllowedError;
3687
+ ((ImageRegistryNotAllowedError2) => {
3688
+ ((error2) => {
3689
+ error2["IMAGE_REGISTRY_NOT_ALLOWED"] = "IMAGE_REGISTRY_NOT_ALLOWED";
3690
+ })(ImageRegistryNotAllowedError2.error || (ImageRegistryNotAllowedError2.error = {}));
3691
+ })(ImageRegistryNotAllowedError || (ImageRegistryNotAllowedError = {}));
3692
+
3693
+ // ../containers-shared/src/client/models/ImageRegistryNotFoundError.ts
3694
+ var ImageRegistryNotFoundError;
3695
+ ((ImageRegistryNotFoundError2) => {
3696
+ ((error2) => {
3697
+ error2["IMAGE_REGISTRY_NOT_FOUND"] = "IMAGE_REGISTRY_NOT_FOUND";
3698
+ })(ImageRegistryNotFoundError2.error || (ImageRegistryNotFoundError2.error = {}));
3699
+ })(ImageRegistryNotFoundError || (ImageRegistryNotFoundError = {}));
3700
+
3701
+ // ../containers-shared/src/client/models/ImageRegistryProtocolAlreadyExists.ts
3702
+ var ImageRegistryProtocolAlreadyExists;
3703
+ ((ImageRegistryProtocolAlreadyExists2) => {
3704
+ ((error2) => {
3705
+ error2["IMAGE_REGISTRY_PROTOCOL_ALREADY_EXISTS"] = "IMAGE_REGISTRY_PROTOCOL_ALREADY_EXISTS";
3706
+ })(ImageRegistryProtocolAlreadyExists2.error || (ImageRegistryProtocolAlreadyExists2.error = {}));
3707
+ })(ImageRegistryProtocolAlreadyExists || (ImageRegistryProtocolAlreadyExists = {}));
3708
+
3709
+ // ../containers-shared/src/client/models/ImageRegistryProtocolIsReferencedError.ts
3710
+ var ImageRegistryProtocolIsReferencedError;
3711
+ ((ImageRegistryProtocolIsReferencedError2) => {
3712
+ ((error2) => {
3713
+ error2["IMAGE_REGISTRY_PROTO_IS_REFERENCED"] = "IMAGE_REGISTRY_PROTO_IS_REFERENCED";
3714
+ })(ImageRegistryProtocolIsReferencedError2.error || (ImageRegistryProtocolIsReferencedError2.error = {}));
3715
+ })(ImageRegistryProtocolIsReferencedError || (ImageRegistryProtocolIsReferencedError = {}));
3716
+
3717
+ // ../containers-shared/src/client/models/ImageRegistryProtocolNotFound.ts
3718
+ var ImageRegistryProtocolNotFound;
3719
+ ((ImageRegistryProtocolNotFound2) => {
3720
+ ((error2) => {
3721
+ error2["IMAGE_REGISTRY_PROTOCOL_NOT_FOUND"] = "IMAGE_REGISTRY_PROTOCOL_NOT_FOUND";
3722
+ })(ImageRegistryProtocolNotFound2.error || (ImageRegistryProtocolNotFound2.error = {}));
3723
+ })(ImageRegistryProtocolNotFound || (ImageRegistryProtocolNotFound = {}));
3724
+
3725
+ // ../containers-shared/src/client/models/ProvisionerConfiguration.ts
3726
+ var ProvisionerConfiguration;
3727
+ ((ProvisionerConfiguration2) => {
3728
+ ((type2) => {
3729
+ type2["NONE"] = "none";
3730
+ type2["CLOUDINIT"] = "cloudinit";
3731
+ })(ProvisionerConfiguration2.type || (ProvisionerConfiguration2.type = {}));
3732
+ })(ProvisionerConfiguration || (ProvisionerConfiguration = {}));
3733
+
3734
+ // ../containers-shared/src/client/models/RolloutStep.ts
3735
+ var RolloutStep;
3736
+ ((RolloutStep2) => {
3737
+ ((status2) => {
3738
+ status2["PENDING"] = "pending";
3739
+ status2["PROGRESSING"] = "progressing";
3740
+ status2["REVERTING"] = "reverting";
3741
+ status2["COMPLETED"] = "completed";
3742
+ status2["REVERTED"] = "reverted";
3743
+ })(RolloutStep2.status || (RolloutStep2.status = {}));
3744
+ })(RolloutStep || (RolloutStep = {}));
3745
+
3746
+ // ../containers-shared/src/client/models/SecretNameAlreadyExists.ts
3747
+ var SecretNameAlreadyExists;
3748
+ ((SecretNameAlreadyExists2) => {
3749
+ ((error2) => {
3750
+ error2["SECRET_NAME_ALREADY_EXISTS"] = "SECRET_NAME_ALREADY_EXISTS";
3751
+ })(SecretNameAlreadyExists2.error || (SecretNameAlreadyExists2.error = {}));
3752
+ })(SecretNameAlreadyExists || (SecretNameAlreadyExists = {}));
3753
+
3754
+ // ../containers-shared/src/client/models/SecretNotFound.ts
3755
+ var SecretNotFound;
3756
+ ((SecretNotFound2) => {
3757
+ ((error2) => {
3758
+ error2["SECRET_NAME_NOT_FOUND"] = "SECRET_NAME_NOT_FOUND";
3759
+ })(SecretNotFound2.error || (SecretNotFound2.error = {}));
3760
+ })(SecretNotFound || (SecretNotFound = {}));
3761
+
3762
+ // ../containers-shared/src/client/models/SSHPublicKeyNotFoundError.ts
3763
+ var SSHPublicKeyNotFoundError;
3764
+ ((SSHPublicKeyNotFoundError2) => {
3765
+ ((error2) => {
3766
+ error2["SSH_PUBLIC_KEY_NOT_FOUND"] = "SSH_PUBLIC_KEY_NOT_FOUND";
3767
+ })(SSHPublicKeyNotFoundError2.error || (SSHPublicKeyNotFoundError2.error = {}));
3768
+ })(SSHPublicKeyNotFoundError || (SSHPublicKeyNotFoundError = {}));
3769
+
3770
+ // ../containers-shared/src/client/models/UpdateApplicationRolloutRequest.ts
3771
+ var UpdateApplicationRolloutRequest;
3772
+ ((UpdateApplicationRolloutRequest2) => {
3773
+ ((action2) => {
3774
+ action2["NEXT"] = "next";
3775
+ action2["PREVIOUS"] = "previous";
3776
+ action2["REVERT"] = "revert";
3777
+ })(UpdateApplicationRolloutRequest2.action || (UpdateApplicationRolloutRequest2.action = {}));
3778
+ })(UpdateApplicationRolloutRequest || (UpdateApplicationRolloutRequest = {}));
3779
+
3780
+ // ../containers-shared/src/utils.ts
3781
+ var runDockerCmd = /* @__PURE__ */ __name((dockerPath, args, stdio) => {
3782
+ let aborted = false;
3783
+ let resolve3;
3784
+ let reject;
3785
+ const ready = new Promise((res, rej) => {
3786
+ resolve3 = res;
3787
+ reject = rej;
3788
+ });
3789
+ const child = spawn(dockerPath, args, {
3790
+ stdio: stdio ?? "inherit",
3791
+ // We need to set detached to true so that the child process
3792
+ // will control all of its child processes and we can kill
3793
+ // all of them in case we need to abort the build process.
3794
+ // On Windows, detached: true opens a new console window per child
3795
+ // process, so we only set it on non-Windows platforms.
3796
+ detached: process.platform !== "win32",
3797
+ // Prevent child processes from opening visible console windows on Windows.
3798
+ // This is a no-op on non-Windows platforms.
3799
+ windowsHide: true
3800
+ });
3801
+ let errorHandled = false;
3802
+ child.on("close", (code) => {
3803
+ if (code === 0 || aborted) {
3804
+ resolve3({ aborted });
3805
+ } else if (!errorHandled) {
3806
+ errorHandled = true;
3807
+ reject(
3808
+ new UserError(`Docker command exited with code: ${code}`, {
3809
+ telemetryMessage: false
3810
+ })
3811
+ );
3812
+ }
3813
+ });
3814
+ child.on("error", (err) => {
3815
+ if (!errorHandled) {
3816
+ errorHandled = true;
3817
+ reject(
3818
+ new UserError(`Docker command failed: ${err.message}`, {
3819
+ telemetryMessage: false
3820
+ })
3821
+ );
3822
+ }
3823
+ });
3824
+ return {
3825
+ abort: /* @__PURE__ */ __name(() => {
3826
+ aborted = true;
3827
+ child.unref();
3828
+ if (child.pid !== void 0) {
3829
+ if (process.platform === "win32") {
3830
+ child.kill();
3831
+ } else {
3832
+ process.kill(-child.pid);
3833
+ }
3834
+ }
3835
+ }, "abort"),
3836
+ ready,
3837
+ then: /* @__PURE__ */ __name(async (onResolve, onReject) => ready.then(onResolve).catch(onReject), "then")
3838
+ };
3839
+ }, "runDockerCmd");
3840
+ var isDockerRunning = /* @__PURE__ */ __name(async (dockerPath) => {
3841
+ try {
3842
+ await runDockerCmd(dockerPath, ["info"], ["inherit", "pipe", "pipe"]);
3843
+ } catch {
3844
+ return false;
3845
+ }
3846
+ return true;
3847
+ }, "isDockerRunning");
3848
+ var verifyDockerInstalled = /* @__PURE__ */ __name(async ({
3849
+ dockerPath,
3850
+ numberOfContainers,
3851
+ isDev = true,
3852
+ isDryRun = false
3853
+ }) => {
3854
+ const dockerIsRunning = await isDockerRunning(dockerPath);
3855
+ if (!dockerIsRunning) {
3856
+ throw new UserError(
3857
+ getFailedToRunDockerErrorMessage({
3858
+ numberOfContainers,
3859
+ isDev,
3860
+ isDryRun
3861
+ }),
3862
+ {
3863
+ telemetryMessage: false
3864
+ }
3865
+ );
3866
+ }
3867
+ }, "verifyDockerInstalled");
3868
+ function getFailedToRunDockerErrorMessage({
3869
+ numberOfContainers,
3870
+ isDev,
3871
+ isDryRun
3872
+ }) {
3873
+ const operation = isDev ? "running dev" : `deploying${isDryRun ? " (even in dry-run mode)" : ""}`;
3874
+ const headline = `The Docker CLI is needed to build the configured ${numberOfContainers !== 1 ? "images" : "image"} before ${operation} but could not be launched.`;
3875
+ let daemonHint;
3876
+ if (process.platform === "darwin") {
3877
+ daemonHint = "open the Docker Desktop app or run `open -a Docker`";
3878
+ } else if (process.platform === "win32") {
3879
+ daemonHint = "open the Docker Desktop app";
3880
+ } else {
3881
+ daemonHint = "run `sudo systemctl start docker`";
3882
+ }
3883
+ const steps = `To fix this, try the following:
3884
+ - If Docker is not installed, download it from https://docs.docker.com/get-started/get-docker/
3885
+ - If Docker is installed but the daemon is not running,
3886
+ ${daemonHint}.
3887
+ - If you use an alternative Docker-compatible CLI (e.g. Podman),
3888
+ set the WRANGLER_DOCKER_BIN environment variable to its path and DOCKER_HOST to its socket.`;
3889
+ const alternatives = "Note: Other container tooling that is compatible with the Docker CLI and engine may work, but is not yet guaranteed to do so.";
3890
+ const hint = isDev ? "To suppress this error if you do not intend on triggering any container instances, set dev.enable_containers to false in your Wrangler config or pass --enable-containers=false." : "If you cannot run Docker locally, you can still deploy your Worker by passing --containers-rollout=none. This will not deploy or update your Container.";
3891
+ return `${headline}
3892
+ ${steps}
3893
+
3894
+ ${alternatives}
3895
+
3896
+ ${hint}`;
3897
+ }
3898
+ __name(getFailedToRunDockerErrorMessage, "getFailedToRunDockerErrorMessage");
2361
3899
  async function getZoneForRoute(complianceConfig, from, zoneIdCache = /* @__PURE__ */ new Map()) {
2362
3900
  const { route, accountId } = from;
2363
3901
  const host = getHostFromRoute(route);
@@ -3483,6 +5021,1335 @@ function isWorkflowDefinedInThisScript(workflow, scriptName) {
3483
5021
  return workflow.script_name === void 0 || workflow.script_name === scriptName;
3484
5022
  }
3485
5023
  __name(isWorkflowDefinedInThisScript, "isWorkflowDefinedInThisScript");
5024
+
5025
+ // ../workers-shared/utils/configuration/constants.ts
5026
+ var MAX_ROUTES_RULES = 100;
5027
+ var MAX_ROUTES_RULE_LENGTH = 100;
5028
+
5029
+ // ../workers-shared/utils/configuration/parseStaticRouting.ts
5030
+ function parseStaticRouting(input) {
5031
+ if (input.length === 0) {
5032
+ throw new Error(
5033
+ "No `run_worker_first` rules were provided; must provide at least 1 rule."
5034
+ );
5035
+ }
5036
+ if (input.length > MAX_ROUTES_RULES) {
5037
+ throw new Error(
5038
+ `Too many \`run_worker_first\` rules were provided; ${input.length} rules provided exceeds max of ${MAX_ROUTES_RULES}.`
5039
+ );
5040
+ }
5041
+ const rawAssetWorkerRules = [];
5042
+ const assetWorkerRules = [];
5043
+ const userWorkerRules = [];
5044
+ const invalidRules = [];
5045
+ for (const rule of input) {
5046
+ if (rule.startsWith("!/")) {
5047
+ assetWorkerRules.push(rule.slice(1));
5048
+ rawAssetWorkerRules.push(rule);
5049
+ } else if (rule.startsWith("/")) {
5050
+ userWorkerRules.push(rule);
5051
+ } else if (rule.startsWith("!")) {
5052
+ invalidRules.push(`'${rule}': negative rules must start with '!/'`);
5053
+ } else {
5054
+ invalidRules.push(`'${rule}': rules must start with '/' or '!/'`);
5055
+ }
5056
+ }
5057
+ if (assetWorkerRules.length > 0 && userWorkerRules.length === 0) {
5058
+ throw new Error(
5059
+ "Only negative `run_worker_first` rules were provided; must provide at least 1 non-negative rule"
5060
+ );
5061
+ }
5062
+ const invalidAssetWorkerRules = validateStaticRoutingRules(rawAssetWorkerRules);
5063
+ const invalidUserWorkerRules = validateStaticRoutingRules(userWorkerRules);
5064
+ const errorMessage = formatInvalidRoutes([
5065
+ ...invalidRules,
5066
+ ...invalidUserWorkerRules,
5067
+ ...invalidAssetWorkerRules
5068
+ ]);
5069
+ if (errorMessage) {
5070
+ throw new Error(errorMessage);
5071
+ }
5072
+ return { asset_worker: assetWorkerRules, user_worker: userWorkerRules };
5073
+ }
5074
+ __name(parseStaticRouting, "parseStaticRouting");
5075
+ function validateStaticRoutingRules(rules) {
5076
+ const invalid = [];
5077
+ const seen = /* @__PURE__ */ new Set();
5078
+ for (const rule of rules) {
5079
+ if (rule.length > MAX_ROUTES_RULE_LENGTH) {
5080
+ invalid.push(
5081
+ `'${rule}': all rules must be less than ${MAX_ROUTES_RULE_LENGTH} characters in length`
5082
+ );
5083
+ }
5084
+ if (seen.has(rule)) {
5085
+ invalid.push(`'${rule}': rule is a duplicate; rules must be unique`);
5086
+ }
5087
+ if (rule.endsWith("*")) {
5088
+ for (const otherRule of rules) {
5089
+ if (otherRule !== rule && otherRule.startsWith(rule.slice(0, -1))) {
5090
+ invalid.push(`'${otherRule}': rule '${rule}' makes it redundant`);
5091
+ }
5092
+ }
5093
+ }
5094
+ seen.add(rule);
5095
+ }
5096
+ return invalid;
5097
+ }
5098
+ __name(validateStaticRoutingRules, "validateStaticRoutingRules");
5099
+ var formatInvalidRoutes = /* @__PURE__ */ __name((invalidRules) => {
5100
+ if (invalidRules.length === 0) {
5101
+ return void 0;
5102
+ }
5103
+ return `Invalid routes in \`run_worker_first\`:
5104
+ ` + invalidRules.join("\n");
5105
+ }, "formatInvalidRoutes");
5106
+ var MAX_ASSET_SIZE = 25 * 1024 * 1024;
5107
+ var CF_ASSETS_IGNORE_FILENAME = ".assetsignore";
5108
+ var REDIRECTS_FILENAME = "_redirects";
5109
+ var HEADERS_FILENAME = "_headers";
5110
+
5111
+ // ../workers-shared/utils/helpers.ts
5112
+ var import_ignore = __toESM(require_ignore());
5113
+
5114
+ // ../../node_modules/.pnpm/mime@4.0.7/node_modules/mime/dist/types/other.js
5115
+ var types = {
5116
+ "application/prs.cww": ["cww"],
5117
+ "application/prs.xsf+xml": ["xsf"],
5118
+ "application/vnd.1000minds.decision-model+xml": ["1km"],
5119
+ "application/vnd.3gpp.pic-bw-large": ["plb"],
5120
+ "application/vnd.3gpp.pic-bw-small": ["psb"],
5121
+ "application/vnd.3gpp.pic-bw-var": ["pvb"],
5122
+ "application/vnd.3gpp2.tcap": ["tcap"],
5123
+ "application/vnd.3m.post-it-notes": ["pwn"],
5124
+ "application/vnd.accpac.simply.aso": ["aso"],
5125
+ "application/vnd.accpac.simply.imp": ["imp"],
5126
+ "application/vnd.acucobol": ["acu"],
5127
+ "application/vnd.acucorp": ["atc", "acutc"],
5128
+ "application/vnd.adobe.air-application-installer-package+zip": ["air"],
5129
+ "application/vnd.adobe.formscentral.fcdt": ["fcdt"],
5130
+ "application/vnd.adobe.fxp": ["fxp", "fxpl"],
5131
+ "application/vnd.adobe.xdp+xml": ["xdp"],
5132
+ "application/vnd.adobe.xfdf": ["*xfdf"],
5133
+ "application/vnd.age": ["age"],
5134
+ "application/vnd.ahead.space": ["ahead"],
5135
+ "application/vnd.airzip.filesecure.azf": ["azf"],
5136
+ "application/vnd.airzip.filesecure.azs": ["azs"],
5137
+ "application/vnd.amazon.ebook": ["azw"],
5138
+ "application/vnd.americandynamics.acc": ["acc"],
5139
+ "application/vnd.amiga.ami": ["ami"],
5140
+ "application/vnd.android.package-archive": ["apk"],
5141
+ "application/vnd.anser-web-certificate-issue-initiation": ["cii"],
5142
+ "application/vnd.anser-web-funds-transfer-initiation": ["fti"],
5143
+ "application/vnd.antix.game-component": ["atx"],
5144
+ "application/vnd.apple.installer+xml": ["mpkg"],
5145
+ "application/vnd.apple.keynote": ["key"],
5146
+ "application/vnd.apple.mpegurl": ["m3u8"],
5147
+ "application/vnd.apple.numbers": ["numbers"],
5148
+ "application/vnd.apple.pages": ["pages"],
5149
+ "application/vnd.apple.pkpass": ["pkpass"],
5150
+ "application/vnd.aristanetworks.swi": ["swi"],
5151
+ "application/vnd.astraea-software.iota": ["iota"],
5152
+ "application/vnd.audiograph": ["aep"],
5153
+ "application/vnd.autodesk.fbx": ["fbx"],
5154
+ "application/vnd.balsamiq.bmml+xml": ["bmml"],
5155
+ "application/vnd.blueice.multipass": ["mpm"],
5156
+ "application/vnd.bmi": ["bmi"],
5157
+ "application/vnd.businessobjects": ["rep"],
5158
+ "application/vnd.chemdraw+xml": ["cdxml"],
5159
+ "application/vnd.chipnuts.karaoke-mmd": ["mmd"],
5160
+ "application/vnd.cinderella": ["cdy"],
5161
+ "application/vnd.citationstyles.style+xml": ["csl"],
5162
+ "application/vnd.claymore": ["cla"],
5163
+ "application/vnd.cloanto.rp9": ["rp9"],
5164
+ "application/vnd.clonk.c4group": ["c4g", "c4d", "c4f", "c4p", "c4u"],
5165
+ "application/vnd.cluetrust.cartomobile-config": ["c11amc"],
5166
+ "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"],
5167
+ "application/vnd.commonspace": ["csp"],
5168
+ "application/vnd.contact.cmsg": ["cdbcmsg"],
5169
+ "application/vnd.cosmocaller": ["cmc"],
5170
+ "application/vnd.crick.clicker": ["clkx"],
5171
+ "application/vnd.crick.clicker.keyboard": ["clkk"],
5172
+ "application/vnd.crick.clicker.palette": ["clkp"],
5173
+ "application/vnd.crick.clicker.template": ["clkt"],
5174
+ "application/vnd.crick.clicker.wordbank": ["clkw"],
5175
+ "application/vnd.criticaltools.wbs+xml": ["wbs"],
5176
+ "application/vnd.ctc-posml": ["pml"],
5177
+ "application/vnd.cups-ppd": ["ppd"],
5178
+ "application/vnd.curl.car": ["car"],
5179
+ "application/vnd.curl.pcurl": ["pcurl"],
5180
+ "application/vnd.dart": ["dart"],
5181
+ "application/vnd.data-vision.rdz": ["rdz"],
5182
+ "application/vnd.dbf": ["dbf"],
5183
+ "application/vnd.dcmp+xml": ["dcmp"],
5184
+ "application/vnd.dece.data": ["uvf", "uvvf", "uvd", "uvvd"],
5185
+ "application/vnd.dece.ttml+xml": ["uvt", "uvvt"],
5186
+ "application/vnd.dece.unspecified": ["uvx", "uvvx"],
5187
+ "application/vnd.dece.zip": ["uvz", "uvvz"],
5188
+ "application/vnd.denovo.fcselayout-link": ["fe_launch"],
5189
+ "application/vnd.dna": ["dna"],
5190
+ "application/vnd.dolby.mlp": ["mlp"],
5191
+ "application/vnd.dpgraph": ["dpg"],
5192
+ "application/vnd.dreamfactory": ["dfac"],
5193
+ "application/vnd.ds-keypoint": ["kpxx"],
5194
+ "application/vnd.dvb.ait": ["ait"],
5195
+ "application/vnd.dvb.service": ["svc"],
5196
+ "application/vnd.dynageo": ["geo"],
5197
+ "application/vnd.ecowin.chart": ["mag"],
5198
+ "application/vnd.enliven": ["nml"],
5199
+ "application/vnd.epson.esf": ["esf"],
5200
+ "application/vnd.epson.msf": ["msf"],
5201
+ "application/vnd.epson.quickanime": ["qam"],
5202
+ "application/vnd.epson.salt": ["slt"],
5203
+ "application/vnd.epson.ssf": ["ssf"],
5204
+ "application/vnd.eszigno3+xml": ["es3", "et3"],
5205
+ "application/vnd.ezpix-album": ["ez2"],
5206
+ "application/vnd.ezpix-package": ["ez3"],
5207
+ "application/vnd.fdf": ["*fdf"],
5208
+ "application/vnd.fdsn.mseed": ["mseed"],
5209
+ "application/vnd.fdsn.seed": ["seed", "dataless"],
5210
+ "application/vnd.flographit": ["gph"],
5211
+ "application/vnd.fluxtime.clip": ["ftc"],
5212
+ "application/vnd.framemaker": ["fm", "frame", "maker", "book"],
5213
+ "application/vnd.frogans.fnc": ["fnc"],
5214
+ "application/vnd.frogans.ltf": ["ltf"],
5215
+ "application/vnd.fsc.weblaunch": ["fsc"],
5216
+ "application/vnd.fujitsu.oasys": ["oas"],
5217
+ "application/vnd.fujitsu.oasys2": ["oa2"],
5218
+ "application/vnd.fujitsu.oasys3": ["oa3"],
5219
+ "application/vnd.fujitsu.oasysgp": ["fg5"],
5220
+ "application/vnd.fujitsu.oasysprs": ["bh2"],
5221
+ "application/vnd.fujixerox.ddd": ["ddd"],
5222
+ "application/vnd.fujixerox.docuworks": ["xdw"],
5223
+ "application/vnd.fujixerox.docuworks.binder": ["xbd"],
5224
+ "application/vnd.fuzzysheet": ["fzs"],
5225
+ "application/vnd.genomatix.tuxedo": ["txd"],
5226
+ "application/vnd.geogebra.file": ["ggb"],
5227
+ "application/vnd.geogebra.slides": ["ggs"],
5228
+ "application/vnd.geogebra.tool": ["ggt"],
5229
+ "application/vnd.geometry-explorer": ["gex", "gre"],
5230
+ "application/vnd.geonext": ["gxt"],
5231
+ "application/vnd.geoplan": ["g2w"],
5232
+ "application/vnd.geospace": ["g3w"],
5233
+ "application/vnd.gmx": ["gmx"],
5234
+ "application/vnd.google-apps.document": ["gdoc"],
5235
+ "application/vnd.google-apps.drawing": ["gdraw"],
5236
+ "application/vnd.google-apps.form": ["gform"],
5237
+ "application/vnd.google-apps.jam": ["gjam"],
5238
+ "application/vnd.google-apps.map": ["gmap"],
5239
+ "application/vnd.google-apps.presentation": ["gslides"],
5240
+ "application/vnd.google-apps.script": ["gscript"],
5241
+ "application/vnd.google-apps.site": ["gsite"],
5242
+ "application/vnd.google-apps.spreadsheet": ["gsheet"],
5243
+ "application/vnd.google-earth.kml+xml": ["kml"],
5244
+ "application/vnd.google-earth.kmz": ["kmz"],
5245
+ "application/vnd.gov.sk.xmldatacontainer+xml": ["xdcf"],
5246
+ "application/vnd.grafeq": ["gqf", "gqs"],
5247
+ "application/vnd.groove-account": ["gac"],
5248
+ "application/vnd.groove-help": ["ghf"],
5249
+ "application/vnd.groove-identity-message": ["gim"],
5250
+ "application/vnd.groove-injector": ["grv"],
5251
+ "application/vnd.groove-tool-message": ["gtm"],
5252
+ "application/vnd.groove-tool-template": ["tpl"],
5253
+ "application/vnd.groove-vcard": ["vcg"],
5254
+ "application/vnd.hal+xml": ["hal"],
5255
+ "application/vnd.handheld-entertainment+xml": ["zmm"],
5256
+ "application/vnd.hbci": ["hbci"],
5257
+ "application/vnd.hhe.lesson-player": ["les"],
5258
+ "application/vnd.hp-hpgl": ["hpgl"],
5259
+ "application/vnd.hp-hpid": ["hpid"],
5260
+ "application/vnd.hp-hps": ["hps"],
5261
+ "application/vnd.hp-jlyt": ["jlt"],
5262
+ "application/vnd.hp-pcl": ["pcl"],
5263
+ "application/vnd.hp-pclxl": ["pclxl"],
5264
+ "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"],
5265
+ "application/vnd.ibm.minipay": ["mpy"],
5266
+ "application/vnd.ibm.modcap": ["afp", "listafp", "list3820"],
5267
+ "application/vnd.ibm.rights-management": ["irm"],
5268
+ "application/vnd.ibm.secure-container": ["sc"],
5269
+ "application/vnd.iccprofile": ["icc", "icm"],
5270
+ "application/vnd.igloader": ["igl"],
5271
+ "application/vnd.immervision-ivp": ["ivp"],
5272
+ "application/vnd.immervision-ivu": ["ivu"],
5273
+ "application/vnd.insors.igm": ["igm"],
5274
+ "application/vnd.intercon.formnet": ["xpw", "xpx"],
5275
+ "application/vnd.intergeo": ["i2g"],
5276
+ "application/vnd.intu.qbo": ["qbo"],
5277
+ "application/vnd.intu.qfx": ["qfx"],
5278
+ "application/vnd.ipunplugged.rcprofile": ["rcprofile"],
5279
+ "application/vnd.irepository.package+xml": ["irp"],
5280
+ "application/vnd.is-xpr": ["xpr"],
5281
+ "application/vnd.isac.fcs": ["fcs"],
5282
+ "application/vnd.jam": ["jam"],
5283
+ "application/vnd.jcp.javame.midlet-rms": ["rms"],
5284
+ "application/vnd.jisp": ["jisp"],
5285
+ "application/vnd.joost.joda-archive": ["joda"],
5286
+ "application/vnd.kahootz": ["ktz", "ktr"],
5287
+ "application/vnd.kde.karbon": ["karbon"],
5288
+ "application/vnd.kde.kchart": ["chrt"],
5289
+ "application/vnd.kde.kformula": ["kfo"],
5290
+ "application/vnd.kde.kivio": ["flw"],
5291
+ "application/vnd.kde.kontour": ["kon"],
5292
+ "application/vnd.kde.kpresenter": ["kpr", "kpt"],
5293
+ "application/vnd.kde.kspread": ["ksp"],
5294
+ "application/vnd.kde.kword": ["kwd", "kwt"],
5295
+ "application/vnd.kenameaapp": ["htke"],
5296
+ "application/vnd.kidspiration": ["kia"],
5297
+ "application/vnd.kinar": ["kne", "knp"],
5298
+ "application/vnd.koan": ["skp", "skd", "skt", "skm"],
5299
+ "application/vnd.kodak-descriptor": ["sse"],
5300
+ "application/vnd.las.las+xml": ["lasxml"],
5301
+ "application/vnd.llamagraphics.life-balance.desktop": ["lbd"],
5302
+ "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"],
5303
+ "application/vnd.lotus-1-2-3": ["123"],
5304
+ "application/vnd.lotus-approach": ["apr"],
5305
+ "application/vnd.lotus-freelance": ["pre"],
5306
+ "application/vnd.lotus-notes": ["nsf"],
5307
+ "application/vnd.lotus-organizer": ["org"],
5308
+ "application/vnd.lotus-screencam": ["scm"],
5309
+ "application/vnd.lotus-wordpro": ["lwp"],
5310
+ "application/vnd.macports.portpkg": ["portpkg"],
5311
+ "application/vnd.mapbox-vector-tile": ["mvt"],
5312
+ "application/vnd.mcd": ["mcd"],
5313
+ "application/vnd.medcalcdata": ["mc1"],
5314
+ "application/vnd.mediastation.cdkey": ["cdkey"],
5315
+ "application/vnd.mfer": ["mwf"],
5316
+ "application/vnd.mfmp": ["mfm"],
5317
+ "application/vnd.micrografx.flo": ["flo"],
5318
+ "application/vnd.micrografx.igx": ["igx"],
5319
+ "application/vnd.mif": ["mif"],
5320
+ "application/vnd.mobius.daf": ["daf"],
5321
+ "application/vnd.mobius.dis": ["dis"],
5322
+ "application/vnd.mobius.mbk": ["mbk"],
5323
+ "application/vnd.mobius.mqy": ["mqy"],
5324
+ "application/vnd.mobius.msl": ["msl"],
5325
+ "application/vnd.mobius.plc": ["plc"],
5326
+ "application/vnd.mobius.txf": ["txf"],
5327
+ "application/vnd.mophun.application": ["mpn"],
5328
+ "application/vnd.mophun.certificate": ["mpc"],
5329
+ "application/vnd.mozilla.xul+xml": ["xul"],
5330
+ "application/vnd.ms-artgalry": ["cil"],
5331
+ "application/vnd.ms-cab-compressed": ["cab"],
5332
+ "application/vnd.ms-excel": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"],
5333
+ "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"],
5334
+ "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"],
5335
+ "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"],
5336
+ "application/vnd.ms-excel.template.macroenabled.12": ["xltm"],
5337
+ "application/vnd.ms-fontobject": ["eot"],
5338
+ "application/vnd.ms-htmlhelp": ["chm"],
5339
+ "application/vnd.ms-ims": ["ims"],
5340
+ "application/vnd.ms-lrm": ["lrm"],
5341
+ "application/vnd.ms-officetheme": ["thmx"],
5342
+ "application/vnd.ms-outlook": ["msg"],
5343
+ "application/vnd.ms-pki.seccat": ["cat"],
5344
+ "application/vnd.ms-pki.stl": ["*stl"],
5345
+ "application/vnd.ms-powerpoint": ["ppt", "pps", "pot"],
5346
+ "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"],
5347
+ "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"],
5348
+ "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"],
5349
+ "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"],
5350
+ "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"],
5351
+ "application/vnd.ms-project": ["*mpp", "mpt"],
5352
+ "application/vnd.ms-visio.viewer": ["vdx"],
5353
+ "application/vnd.ms-word.document.macroenabled.12": ["docm"],
5354
+ "application/vnd.ms-word.template.macroenabled.12": ["dotm"],
5355
+ "application/vnd.ms-works": ["wps", "wks", "wcm", "wdb"],
5356
+ "application/vnd.ms-wpl": ["wpl"],
5357
+ "application/vnd.ms-xpsdocument": ["xps"],
5358
+ "application/vnd.mseq": ["mseq"],
5359
+ "application/vnd.musician": ["mus"],
5360
+ "application/vnd.muvee.style": ["msty"],
5361
+ "application/vnd.mynfc": ["taglet"],
5362
+ "application/vnd.nato.bindingdataobject+xml": ["bdo"],
5363
+ "application/vnd.neurolanguage.nlu": ["nlu"],
5364
+ "application/vnd.nitf": ["ntf", "nitf"],
5365
+ "application/vnd.noblenet-directory": ["nnd"],
5366
+ "application/vnd.noblenet-sealer": ["nns"],
5367
+ "application/vnd.noblenet-web": ["nnw"],
5368
+ "application/vnd.nokia.n-gage.ac+xml": ["*ac"],
5369
+ "application/vnd.nokia.n-gage.data": ["ngdat"],
5370
+ "application/vnd.nokia.n-gage.symbian.install": ["n-gage"],
5371
+ "application/vnd.nokia.radio-preset": ["rpst"],
5372
+ "application/vnd.nokia.radio-presets": ["rpss"],
5373
+ "application/vnd.novadigm.edm": ["edm"],
5374
+ "application/vnd.novadigm.edx": ["edx"],
5375
+ "application/vnd.novadigm.ext": ["ext"],
5376
+ "application/vnd.oasis.opendocument.chart": ["odc"],
5377
+ "application/vnd.oasis.opendocument.chart-template": ["otc"],
5378
+ "application/vnd.oasis.opendocument.database": ["odb"],
5379
+ "application/vnd.oasis.opendocument.formula": ["odf"],
5380
+ "application/vnd.oasis.opendocument.formula-template": ["odft"],
5381
+ "application/vnd.oasis.opendocument.graphics": ["odg"],
5382
+ "application/vnd.oasis.opendocument.graphics-template": ["otg"],
5383
+ "application/vnd.oasis.opendocument.image": ["odi"],
5384
+ "application/vnd.oasis.opendocument.image-template": ["oti"],
5385
+ "application/vnd.oasis.opendocument.presentation": ["odp"],
5386
+ "application/vnd.oasis.opendocument.presentation-template": ["otp"],
5387
+ "application/vnd.oasis.opendocument.spreadsheet": ["ods"],
5388
+ "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"],
5389
+ "application/vnd.oasis.opendocument.text": ["odt"],
5390
+ "application/vnd.oasis.opendocument.text-master": ["odm"],
5391
+ "application/vnd.oasis.opendocument.text-template": ["ott"],
5392
+ "application/vnd.oasis.opendocument.text-web": ["oth"],
5393
+ "application/vnd.olpc-sugar": ["xo"],
5394
+ "application/vnd.oma.dd2+xml": ["dd2"],
5395
+ "application/vnd.openblox.game+xml": ["obgx"],
5396
+ "application/vnd.openofficeorg.extension": ["oxt"],
5397
+ "application/vnd.openstreetmap.data+xml": ["osm"],
5398
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation": [
5399
+ "pptx"
5400
+ ],
5401
+ "application/vnd.openxmlformats-officedocument.presentationml.slide": [
5402
+ "sldx"
5403
+ ],
5404
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow": [
5405
+ "ppsx"
5406
+ ],
5407
+ "application/vnd.openxmlformats-officedocument.presentationml.template": [
5408
+ "potx"
5409
+ ],
5410
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"],
5411
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template": [
5412
+ "xltx"
5413
+ ],
5414
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": [
5415
+ "docx"
5416
+ ],
5417
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template": [
5418
+ "dotx"
5419
+ ],
5420
+ "application/vnd.osgeo.mapguide.package": ["mgp"],
5421
+ "application/vnd.osgi.dp": ["dp"],
5422
+ "application/vnd.osgi.subsystem": ["esa"],
5423
+ "application/vnd.palm": ["pdb", "pqa", "oprc"],
5424
+ "application/vnd.pawaafile": ["paw"],
5425
+ "application/vnd.pg.format": ["str"],
5426
+ "application/vnd.pg.osasli": ["ei6"],
5427
+ "application/vnd.picsel": ["efif"],
5428
+ "application/vnd.pmi.widget": ["wg"],
5429
+ "application/vnd.pocketlearn": ["plf"],
5430
+ "application/vnd.powerbuilder6": ["pbd"],
5431
+ "application/vnd.previewsystems.box": ["box"],
5432
+ "application/vnd.procrate.brushset": ["brushset"],
5433
+ "application/vnd.procreate.brush": ["brush"],
5434
+ "application/vnd.procreate.dream": ["drm"],
5435
+ "application/vnd.proteus.magazine": ["mgz"],
5436
+ "application/vnd.publishare-delta-tree": ["qps"],
5437
+ "application/vnd.pvi.ptid1": ["ptid"],
5438
+ "application/vnd.pwg-xhtml-print+xml": ["xhtm"],
5439
+ "application/vnd.quark.quarkxpress": [
5440
+ "qxd",
5441
+ "qxt",
5442
+ "qwd",
5443
+ "qwt",
5444
+ "qxl",
5445
+ "qxb"
5446
+ ],
5447
+ "application/vnd.rar": ["rar"],
5448
+ "application/vnd.realvnc.bed": ["bed"],
5449
+ "application/vnd.recordare.musicxml": ["mxl"],
5450
+ "application/vnd.recordare.musicxml+xml": ["musicxml"],
5451
+ "application/vnd.rig.cryptonote": ["cryptonote"],
5452
+ "application/vnd.rim.cod": ["cod"],
5453
+ "application/vnd.rn-realmedia": ["rm"],
5454
+ "application/vnd.rn-realmedia-vbr": ["rmvb"],
5455
+ "application/vnd.route66.link66+xml": ["link66"],
5456
+ "application/vnd.sailingtracker.track": ["st"],
5457
+ "application/vnd.seemail": ["see"],
5458
+ "application/vnd.sema": ["sema"],
5459
+ "application/vnd.semd": ["semd"],
5460
+ "application/vnd.semf": ["semf"],
5461
+ "application/vnd.shana.informed.formdata": ["ifm"],
5462
+ "application/vnd.shana.informed.formtemplate": ["itp"],
5463
+ "application/vnd.shana.informed.interchange": ["iif"],
5464
+ "application/vnd.shana.informed.package": ["ipk"],
5465
+ "application/vnd.simtech-mindmapper": ["twd", "twds"],
5466
+ "application/vnd.smaf": ["mmf"],
5467
+ "application/vnd.smart.teacher": ["teacher"],
5468
+ "application/vnd.software602.filler.form+xml": ["fo"],
5469
+ "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"],
5470
+ "application/vnd.spotfire.dxp": ["dxp"],
5471
+ "application/vnd.spotfire.sfs": ["sfs"],
5472
+ "application/vnd.stardivision.calc": ["sdc"],
5473
+ "application/vnd.stardivision.draw": ["sda"],
5474
+ "application/vnd.stardivision.impress": ["sdd"],
5475
+ "application/vnd.stardivision.math": ["smf"],
5476
+ "application/vnd.stardivision.writer": ["sdw", "vor"],
5477
+ "application/vnd.stardivision.writer-global": ["sgl"],
5478
+ "application/vnd.stepmania.package": ["smzip"],
5479
+ "application/vnd.stepmania.stepchart": ["sm"],
5480
+ "application/vnd.sun.wadl+xml": ["wadl"],
5481
+ "application/vnd.sun.xml.calc": ["sxc"],
5482
+ "application/vnd.sun.xml.calc.template": ["stc"],
5483
+ "application/vnd.sun.xml.draw": ["sxd"],
5484
+ "application/vnd.sun.xml.draw.template": ["std"],
5485
+ "application/vnd.sun.xml.impress": ["sxi"],
5486
+ "application/vnd.sun.xml.impress.template": ["sti"],
5487
+ "application/vnd.sun.xml.math": ["sxm"],
5488
+ "application/vnd.sun.xml.writer": ["sxw"],
5489
+ "application/vnd.sun.xml.writer.global": ["sxg"],
5490
+ "application/vnd.sun.xml.writer.template": ["stw"],
5491
+ "application/vnd.sus-calendar": ["sus", "susp"],
5492
+ "application/vnd.svd": ["svd"],
5493
+ "application/vnd.symbian.install": ["sis", "sisx"],
5494
+ "application/vnd.syncml+xml": ["xsm"],
5495
+ "application/vnd.syncml.dm+wbxml": ["bdm"],
5496
+ "application/vnd.syncml.dm+xml": ["xdm"],
5497
+ "application/vnd.syncml.dmddf+xml": ["ddf"],
5498
+ "application/vnd.tao.intent-module-archive": ["tao"],
5499
+ "application/vnd.tcpdump.pcap": ["pcap", "cap", "dmp"],
5500
+ "application/vnd.tmobile-livetv": ["tmo"],
5501
+ "application/vnd.trid.tpt": ["tpt"],
5502
+ "application/vnd.triscape.mxs": ["mxs"],
5503
+ "application/vnd.trueapp": ["tra"],
5504
+ "application/vnd.ufdl": ["ufd", "ufdl"],
5505
+ "application/vnd.uiq.theme": ["utz"],
5506
+ "application/vnd.umajin": ["umj"],
5507
+ "application/vnd.unity": ["unityweb"],
5508
+ "application/vnd.uoml+xml": ["uoml", "uo"],
5509
+ "application/vnd.vcx": ["vcx"],
5510
+ "application/vnd.visio": ["vsd", "vst", "vss", "vsw", "vsdx", "vtx"],
5511
+ "application/vnd.visionary": ["vis"],
5512
+ "application/vnd.vsf": ["vsf"],
5513
+ "application/vnd.wap.wbxml": ["wbxml"],
5514
+ "application/vnd.wap.wmlc": ["wmlc"],
5515
+ "application/vnd.wap.wmlscriptc": ["wmlsc"],
5516
+ "application/vnd.webturbo": ["wtb"],
5517
+ "application/vnd.wolfram.player": ["nbp"],
5518
+ "application/vnd.wordperfect": ["wpd"],
5519
+ "application/vnd.wqd": ["wqd"],
5520
+ "application/vnd.wt.stf": ["stf"],
5521
+ "application/vnd.xara": ["xar"],
5522
+ "application/vnd.xfdl": ["xfdl"],
5523
+ "application/vnd.yamaha.hv-dic": ["hvd"],
5524
+ "application/vnd.yamaha.hv-script": ["hvs"],
5525
+ "application/vnd.yamaha.hv-voice": ["hvp"],
5526
+ "application/vnd.yamaha.openscoreformat": ["osf"],
5527
+ "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"],
5528
+ "application/vnd.yamaha.smaf-audio": ["saf"],
5529
+ "application/vnd.yamaha.smaf-phrase": ["spf"],
5530
+ "application/vnd.yellowriver-custom-menu": ["cmp"],
5531
+ "application/vnd.zul": ["zir", "zirz"],
5532
+ "application/vnd.zzazz.deck+xml": ["zaz"],
5533
+ "application/x-7z-compressed": ["7z"],
5534
+ "application/x-abiword": ["abw"],
5535
+ "application/x-ace-compressed": ["ace"],
5536
+ "application/x-apple-diskimage": ["*dmg"],
5537
+ "application/x-arj": ["arj"],
5538
+ "application/x-authorware-bin": ["aab", "x32", "u32", "vox"],
5539
+ "application/x-authorware-map": ["aam"],
5540
+ "application/x-authorware-seg": ["aas"],
5541
+ "application/x-bcpio": ["bcpio"],
5542
+ "application/x-bdoc": ["*bdoc"],
5543
+ "application/x-bittorrent": ["torrent"],
5544
+ "application/x-blender": ["blend"],
5545
+ "application/x-blorb": ["blb", "blorb"],
5546
+ "application/x-bzip": ["bz"],
5547
+ "application/x-bzip2": ["bz2", "boz"],
5548
+ "application/x-cbr": ["cbr", "cba", "cbt", "cbz", "cb7"],
5549
+ "application/x-cdlink": ["vcd"],
5550
+ "application/x-cfs-compressed": ["cfs"],
5551
+ "application/x-chat": ["chat"],
5552
+ "application/x-chess-pgn": ["pgn"],
5553
+ "application/x-chrome-extension": ["crx"],
5554
+ "application/x-cocoa": ["cco"],
5555
+ "application/x-compressed": ["*rar"],
5556
+ "application/x-conference": ["nsc"],
5557
+ "application/x-cpio": ["cpio"],
5558
+ "application/x-csh": ["csh"],
5559
+ "application/x-debian-package": ["*deb", "udeb"],
5560
+ "application/x-dgc-compressed": ["dgc"],
5561
+ "application/x-director": [
5562
+ "dir",
5563
+ "dcr",
5564
+ "dxr",
5565
+ "cst",
5566
+ "cct",
5567
+ "cxt",
5568
+ "w3d",
5569
+ "fgd",
5570
+ "swa"
5571
+ ],
5572
+ "application/x-doom": ["wad"],
5573
+ "application/x-dtbncx+xml": ["ncx"],
5574
+ "application/x-dtbook+xml": ["dtb"],
5575
+ "application/x-dtbresource+xml": ["res"],
5576
+ "application/x-dvi": ["dvi"],
5577
+ "application/x-envoy": ["evy"],
5578
+ "application/x-eva": ["eva"],
5579
+ "application/x-font-bdf": ["bdf"],
5580
+ "application/x-font-ghostscript": ["gsf"],
5581
+ "application/x-font-linux-psf": ["psf"],
5582
+ "application/x-font-pcf": ["pcf"],
5583
+ "application/x-font-snf": ["snf"],
5584
+ "application/x-font-type1": ["pfa", "pfb", "pfm", "afm"],
5585
+ "application/x-freearc": ["arc"],
5586
+ "application/x-futuresplash": ["spl"],
5587
+ "application/x-gca-compressed": ["gca"],
5588
+ "application/x-glulx": ["ulx"],
5589
+ "application/x-gnumeric": ["gnumeric"],
5590
+ "application/x-gramps-xml": ["gramps"],
5591
+ "application/x-gtar": ["gtar"],
5592
+ "application/x-hdf": ["hdf"],
5593
+ "application/x-httpd-php": ["php"],
5594
+ "application/x-install-instructions": ["install"],
5595
+ "application/x-ipynb+json": ["ipynb"],
5596
+ "application/x-iso9660-image": ["*iso"],
5597
+ "application/x-iwork-keynote-sffkey": ["*key"],
5598
+ "application/x-iwork-numbers-sffnumbers": ["*numbers"],
5599
+ "application/x-iwork-pages-sffpages": ["*pages"],
5600
+ "application/x-java-archive-diff": ["jardiff"],
5601
+ "application/x-java-jnlp-file": ["jnlp"],
5602
+ "application/x-keepass2": ["kdbx"],
5603
+ "application/x-latex": ["latex"],
5604
+ "application/x-lua-bytecode": ["luac"],
5605
+ "application/x-lzh-compressed": ["lzh", "lha"],
5606
+ "application/x-makeself": ["run"],
5607
+ "application/x-mie": ["mie"],
5608
+ "application/x-mobipocket-ebook": ["*prc", "mobi"],
5609
+ "application/x-ms-application": ["application"],
5610
+ "application/x-ms-shortcut": ["lnk"],
5611
+ "application/x-ms-wmd": ["wmd"],
5612
+ "application/x-ms-wmz": ["wmz"],
5613
+ "application/x-ms-xbap": ["xbap"],
5614
+ "application/x-msaccess": ["mdb"],
5615
+ "application/x-msbinder": ["obd"],
5616
+ "application/x-mscardfile": ["crd"],
5617
+ "application/x-msclip": ["clp"],
5618
+ "application/x-msdos-program": ["*exe"],
5619
+ "application/x-msdownload": ["*exe", "*dll", "com", "bat", "*msi"],
5620
+ "application/x-msmediaview": ["mvb", "m13", "m14"],
5621
+ "application/x-msmetafile": ["*wmf", "*wmz", "*emf", "emz"],
5622
+ "application/x-msmoney": ["mny"],
5623
+ "application/x-mspublisher": ["pub"],
5624
+ "application/x-msschedule": ["scd"],
5625
+ "application/x-msterminal": ["trm"],
5626
+ "application/x-mswrite": ["wri"],
5627
+ "application/x-netcdf": ["nc", "cdf"],
5628
+ "application/x-ns-proxy-autoconfig": ["pac"],
5629
+ "application/x-nzb": ["nzb"],
5630
+ "application/x-perl": ["pl", "pm"],
5631
+ "application/x-pilot": ["*prc", "*pdb"],
5632
+ "application/x-pkcs12": ["p12", "pfx"],
5633
+ "application/x-pkcs7-certificates": ["p7b", "spc"],
5634
+ "application/x-pkcs7-certreqresp": ["p7r"],
5635
+ "application/x-rar-compressed": ["*rar"],
5636
+ "application/x-redhat-package-manager": ["rpm"],
5637
+ "application/x-research-info-systems": ["ris"],
5638
+ "application/x-sea": ["sea"],
5639
+ "application/x-sh": ["sh"],
5640
+ "application/x-shar": ["shar"],
5641
+ "application/x-shockwave-flash": ["swf"],
5642
+ "application/x-silverlight-app": ["xap"],
5643
+ "application/x-sql": ["*sql"],
5644
+ "application/x-stuffit": ["sit"],
5645
+ "application/x-stuffitx": ["sitx"],
5646
+ "application/x-subrip": ["srt"],
5647
+ "application/x-sv4cpio": ["sv4cpio"],
5648
+ "application/x-sv4crc": ["sv4crc"],
5649
+ "application/x-t3vm-image": ["t3"],
5650
+ "application/x-tads": ["gam"],
5651
+ "application/x-tar": ["tar"],
5652
+ "application/x-tcl": ["tcl", "tk"],
5653
+ "application/x-tex": ["tex"],
5654
+ "application/x-tex-tfm": ["tfm"],
5655
+ "application/x-texinfo": ["texinfo", "texi"],
5656
+ "application/x-tgif": ["*obj"],
5657
+ "application/x-ustar": ["ustar"],
5658
+ "application/x-virtualbox-hdd": ["hdd"],
5659
+ "application/x-virtualbox-ova": ["ova"],
5660
+ "application/x-virtualbox-ovf": ["ovf"],
5661
+ "application/x-virtualbox-vbox": ["vbox"],
5662
+ "application/x-virtualbox-vbox-extpack": ["vbox-extpack"],
5663
+ "application/x-virtualbox-vdi": ["vdi"],
5664
+ "application/x-virtualbox-vhd": ["vhd"],
5665
+ "application/x-virtualbox-vmdk": ["vmdk"],
5666
+ "application/x-wais-source": ["src"],
5667
+ "application/x-web-app-manifest+json": ["webapp"],
5668
+ "application/x-x509-ca-cert": ["der", "crt", "pem"],
5669
+ "application/x-xfig": ["fig"],
5670
+ "application/x-xliff+xml": ["*xlf"],
5671
+ "application/x-xpinstall": ["xpi"],
5672
+ "application/x-xz": ["xz"],
5673
+ "application/x-zip-compressed": ["*zip"],
5674
+ "application/x-zmachine": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"],
5675
+ "audio/vnd.dece.audio": ["uva", "uvva"],
5676
+ "audio/vnd.digital-winds": ["eol"],
5677
+ "audio/vnd.dra": ["dra"],
5678
+ "audio/vnd.dts": ["dts"],
5679
+ "audio/vnd.dts.hd": ["dtshd"],
5680
+ "audio/vnd.lucent.voice": ["lvp"],
5681
+ "audio/vnd.ms-playready.media.pya": ["pya"],
5682
+ "audio/vnd.nuera.ecelp4800": ["ecelp4800"],
5683
+ "audio/vnd.nuera.ecelp7470": ["ecelp7470"],
5684
+ "audio/vnd.nuera.ecelp9600": ["ecelp9600"],
5685
+ "audio/vnd.rip": ["rip"],
5686
+ "audio/x-aac": ["*aac"],
5687
+ "audio/x-aiff": ["aif", "aiff", "aifc"],
5688
+ "audio/x-caf": ["caf"],
5689
+ "audio/x-flac": ["flac"],
5690
+ "audio/x-m4a": ["*m4a"],
5691
+ "audio/x-matroska": ["mka"],
5692
+ "audio/x-mpegurl": ["m3u"],
5693
+ "audio/x-ms-wax": ["wax"],
5694
+ "audio/x-ms-wma": ["wma"],
5695
+ "audio/x-pn-realaudio": ["ram", "ra"],
5696
+ "audio/x-pn-realaudio-plugin": ["rmp"],
5697
+ "audio/x-realaudio": ["*ra"],
5698
+ "audio/x-wav": ["*wav"],
5699
+ "chemical/x-cdx": ["cdx"],
5700
+ "chemical/x-cif": ["cif"],
5701
+ "chemical/x-cmdf": ["cmdf"],
5702
+ "chemical/x-cml": ["cml"],
5703
+ "chemical/x-csml": ["csml"],
5704
+ "chemical/x-xyz": ["xyz"],
5705
+ "image/prs.btif": ["btif", "btf"],
5706
+ "image/prs.pti": ["pti"],
5707
+ "image/vnd.adobe.photoshop": ["psd"],
5708
+ "image/vnd.airzip.accelerator.azv": ["azv"],
5709
+ "image/vnd.dece.graphic": ["uvi", "uvvi", "uvg", "uvvg"],
5710
+ "image/vnd.djvu": ["djvu", "djv"],
5711
+ "image/vnd.dvb.subtitle": ["*sub"],
5712
+ "image/vnd.dwg": ["dwg"],
5713
+ "image/vnd.dxf": ["dxf"],
5714
+ "image/vnd.fastbidsheet": ["fbs"],
5715
+ "image/vnd.fpx": ["fpx"],
5716
+ "image/vnd.fst": ["fst"],
5717
+ "image/vnd.fujixerox.edmics-mmr": ["mmr"],
5718
+ "image/vnd.fujixerox.edmics-rlc": ["rlc"],
5719
+ "image/vnd.microsoft.icon": ["ico"],
5720
+ "image/vnd.ms-dds": ["dds"],
5721
+ "image/vnd.ms-modi": ["mdi"],
5722
+ "image/vnd.ms-photo": ["wdp"],
5723
+ "image/vnd.net-fpx": ["npx"],
5724
+ "image/vnd.pco.b16": ["b16"],
5725
+ "image/vnd.tencent.tap": ["tap"],
5726
+ "image/vnd.valve.source.texture": ["vtf"],
5727
+ "image/vnd.wap.wbmp": ["wbmp"],
5728
+ "image/vnd.xiff": ["xif"],
5729
+ "image/vnd.zbrush.pcx": ["pcx"],
5730
+ "image/x-3ds": ["3ds"],
5731
+ "image/x-adobe-dng": ["dng"],
5732
+ "image/x-cmu-raster": ["ras"],
5733
+ "image/x-cmx": ["cmx"],
5734
+ "image/x-freehand": ["fh", "fhc", "fh4", "fh5", "fh7"],
5735
+ "image/x-icon": ["*ico"],
5736
+ "image/x-jng": ["jng"],
5737
+ "image/x-mrsid-image": ["sid"],
5738
+ "image/x-ms-bmp": ["*bmp"],
5739
+ "image/x-pcx": ["*pcx"],
5740
+ "image/x-pict": ["pic", "pct"],
5741
+ "image/x-portable-anymap": ["pnm"],
5742
+ "image/x-portable-bitmap": ["pbm"],
5743
+ "image/x-portable-graymap": ["pgm"],
5744
+ "image/x-portable-pixmap": ["ppm"],
5745
+ "image/x-rgb": ["rgb"],
5746
+ "image/x-tga": ["tga"],
5747
+ "image/x-xbitmap": ["xbm"],
5748
+ "image/x-xpixmap": ["xpm"],
5749
+ "image/x-xwindowdump": ["xwd"],
5750
+ "message/vnd.wfa.wsc": ["wsc"],
5751
+ "model/vnd.bary": ["bary"],
5752
+ "model/vnd.cld": ["cld"],
5753
+ "model/vnd.collada+xml": ["dae"],
5754
+ "model/vnd.dwf": ["dwf"],
5755
+ "model/vnd.gdl": ["gdl"],
5756
+ "model/vnd.gtw": ["gtw"],
5757
+ "model/vnd.mts": ["*mts"],
5758
+ "model/vnd.opengex": ["ogex"],
5759
+ "model/vnd.parasolid.transmit.binary": ["x_b"],
5760
+ "model/vnd.parasolid.transmit.text": ["x_t"],
5761
+ "model/vnd.pytha.pyox": ["pyo", "pyox"],
5762
+ "model/vnd.sap.vds": ["vds"],
5763
+ "model/vnd.usda": ["usda"],
5764
+ "model/vnd.usdz+zip": ["usdz"],
5765
+ "model/vnd.valve.source.compiled-map": ["bsp"],
5766
+ "model/vnd.vtu": ["vtu"],
5767
+ "text/prs.lines.tag": ["dsc"],
5768
+ "text/vnd.curl": ["curl"],
5769
+ "text/vnd.curl.dcurl": ["dcurl"],
5770
+ "text/vnd.curl.mcurl": ["mcurl"],
5771
+ "text/vnd.curl.scurl": ["scurl"],
5772
+ "text/vnd.dvb.subtitle": ["sub"],
5773
+ "text/vnd.familysearch.gedcom": ["ged"],
5774
+ "text/vnd.fly": ["fly"],
5775
+ "text/vnd.fmi.flexstor": ["flx"],
5776
+ "text/vnd.graphviz": ["gv"],
5777
+ "text/vnd.in3d.3dml": ["3dml"],
5778
+ "text/vnd.in3d.spot": ["spot"],
5779
+ "text/vnd.sun.j2me.app-descriptor": ["jad"],
5780
+ "text/vnd.wap.wml": ["wml"],
5781
+ "text/vnd.wap.wmlscript": ["wmls"],
5782
+ "text/x-asm": ["s", "asm"],
5783
+ "text/x-c": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"],
5784
+ "text/x-component": ["htc"],
5785
+ "text/x-fortran": ["f", "for", "f77", "f90"],
5786
+ "text/x-handlebars-template": ["hbs"],
5787
+ "text/x-java-source": ["java"],
5788
+ "text/x-lua": ["lua"],
5789
+ "text/x-markdown": ["mkd"],
5790
+ "text/x-nfo": ["nfo"],
5791
+ "text/x-opml": ["opml"],
5792
+ "text/x-org": ["*org"],
5793
+ "text/x-pascal": ["p", "pas"],
5794
+ "text/x-processing": ["pde"],
5795
+ "text/x-sass": ["sass"],
5796
+ "text/x-scss": ["scss"],
5797
+ "text/x-setext": ["etx"],
5798
+ "text/x-sfv": ["sfv"],
5799
+ "text/x-suse-ymp": ["ymp"],
5800
+ "text/x-uuencode": ["uu"],
5801
+ "text/x-vcalendar": ["vcs"],
5802
+ "text/x-vcard": ["vcf"],
5803
+ "video/vnd.dece.hd": ["uvh", "uvvh"],
5804
+ "video/vnd.dece.mobile": ["uvm", "uvvm"],
5805
+ "video/vnd.dece.pd": ["uvp", "uvvp"],
5806
+ "video/vnd.dece.sd": ["uvs", "uvvs"],
5807
+ "video/vnd.dece.video": ["uvv", "uvvv"],
5808
+ "video/vnd.dvb.file": ["dvb"],
5809
+ "video/vnd.fvt": ["fvt"],
5810
+ "video/vnd.mpegurl": ["mxu", "m4u"],
5811
+ "video/vnd.ms-playready.media.pyv": ["pyv"],
5812
+ "video/vnd.uvvu.mp4": ["uvu", "uvvu"],
5813
+ "video/vnd.vivo": ["viv"],
5814
+ "video/x-f4v": ["f4v"],
5815
+ "video/x-fli": ["fli"],
5816
+ "video/x-flv": ["flv"],
5817
+ "video/x-m4v": ["m4v"],
5818
+ "video/x-matroska": ["mkv", "mk3d", "mks"],
5819
+ "video/x-mng": ["mng"],
5820
+ "video/x-ms-asf": ["asf", "asx"],
5821
+ "video/x-ms-vob": ["vob"],
5822
+ "video/x-ms-wm": ["wm"],
5823
+ "video/x-ms-wmv": ["wmv"],
5824
+ "video/x-ms-wmx": ["wmx"],
5825
+ "video/x-ms-wvx": ["wvx"],
5826
+ "video/x-msvideo": ["avi"],
5827
+ "video/x-sgi-movie": ["movie"],
5828
+ "video/x-smv": ["smv"],
5829
+ "x-conference/x-cooltalk": ["ice"]
5830
+ };
5831
+ Object.freeze(types);
5832
+ var other_default = types;
5833
+
5834
+ // ../../node_modules/.pnpm/mime@4.0.7/node_modules/mime/dist/types/standard.js
5835
+ var types2 = {
5836
+ "application/andrew-inset": ["ez"],
5837
+ "application/appinstaller": ["appinstaller"],
5838
+ "application/applixware": ["aw"],
5839
+ "application/appx": ["appx"],
5840
+ "application/appxbundle": ["appxbundle"],
5841
+ "application/atom+xml": ["atom"],
5842
+ "application/atomcat+xml": ["atomcat"],
5843
+ "application/atomdeleted+xml": ["atomdeleted"],
5844
+ "application/atomsvc+xml": ["atomsvc"],
5845
+ "application/atsc-dwd+xml": ["dwd"],
5846
+ "application/atsc-held+xml": ["held"],
5847
+ "application/atsc-rsat+xml": ["rsat"],
5848
+ "application/automationml-aml+xml": ["aml"],
5849
+ "application/automationml-amlx+zip": ["amlx"],
5850
+ "application/bdoc": ["bdoc"],
5851
+ "application/calendar+xml": ["xcs"],
5852
+ "application/ccxml+xml": ["ccxml"],
5853
+ "application/cdfx+xml": ["cdfx"],
5854
+ "application/cdmi-capability": ["cdmia"],
5855
+ "application/cdmi-container": ["cdmic"],
5856
+ "application/cdmi-domain": ["cdmid"],
5857
+ "application/cdmi-object": ["cdmio"],
5858
+ "application/cdmi-queue": ["cdmiq"],
5859
+ "application/cpl+xml": ["cpl"],
5860
+ "application/cu-seeme": ["cu"],
5861
+ "application/cwl": ["cwl"],
5862
+ "application/dash+xml": ["mpd"],
5863
+ "application/dash-patch+xml": ["mpp"],
5864
+ "application/davmount+xml": ["davmount"],
5865
+ "application/dicom": ["dcm"],
5866
+ "application/docbook+xml": ["dbk"],
5867
+ "application/dssc+der": ["dssc"],
5868
+ "application/dssc+xml": ["xdssc"],
5869
+ "application/ecmascript": ["ecma"],
5870
+ "application/emma+xml": ["emma"],
5871
+ "application/emotionml+xml": ["emotionml"],
5872
+ "application/epub+zip": ["epub"],
5873
+ "application/exi": ["exi"],
5874
+ "application/express": ["exp"],
5875
+ "application/fdf": ["fdf"],
5876
+ "application/fdt+xml": ["fdt"],
5877
+ "application/font-tdpfr": ["pfr"],
5878
+ "application/geo+json": ["geojson"],
5879
+ "application/gml+xml": ["gml"],
5880
+ "application/gpx+xml": ["gpx"],
5881
+ "application/gxf": ["gxf"],
5882
+ "application/gzip": ["gz"],
5883
+ "application/hjson": ["hjson"],
5884
+ "application/hyperstudio": ["stk"],
5885
+ "application/inkml+xml": ["ink", "inkml"],
5886
+ "application/ipfix": ["ipfix"],
5887
+ "application/its+xml": ["its"],
5888
+ "application/java-archive": ["jar", "war", "ear"],
5889
+ "application/java-serialized-object": ["ser"],
5890
+ "application/java-vm": ["class"],
5891
+ "application/javascript": ["*js"],
5892
+ "application/json": ["json", "map"],
5893
+ "application/json5": ["json5"],
5894
+ "application/jsonml+json": ["jsonml"],
5895
+ "application/ld+json": ["jsonld"],
5896
+ "application/lgr+xml": ["lgr"],
5897
+ "application/lost+xml": ["lostxml"],
5898
+ "application/mac-binhex40": ["hqx"],
5899
+ "application/mac-compactpro": ["cpt"],
5900
+ "application/mads+xml": ["mads"],
5901
+ "application/manifest+json": ["webmanifest"],
5902
+ "application/marc": ["mrc"],
5903
+ "application/marcxml+xml": ["mrcx"],
5904
+ "application/mathematica": ["ma", "nb", "mb"],
5905
+ "application/mathml+xml": ["mathml"],
5906
+ "application/mbox": ["mbox"],
5907
+ "application/media-policy-dataset+xml": ["mpf"],
5908
+ "application/mediaservercontrol+xml": ["mscml"],
5909
+ "application/metalink+xml": ["metalink"],
5910
+ "application/metalink4+xml": ["meta4"],
5911
+ "application/mets+xml": ["mets"],
5912
+ "application/mmt-aei+xml": ["maei"],
5913
+ "application/mmt-usd+xml": ["musd"],
5914
+ "application/mods+xml": ["mods"],
5915
+ "application/mp21": ["m21", "mp21"],
5916
+ "application/mp4": ["*mp4", "*mpg4", "mp4s", "m4p"],
5917
+ "application/msix": ["msix"],
5918
+ "application/msixbundle": ["msixbundle"],
5919
+ "application/msword": ["doc", "dot"],
5920
+ "application/mxf": ["mxf"],
5921
+ "application/n-quads": ["nq"],
5922
+ "application/n-triples": ["nt"],
5923
+ "application/node": ["cjs"],
5924
+ "application/octet-stream": [
5925
+ "bin",
5926
+ "dms",
5927
+ "lrf",
5928
+ "mar",
5929
+ "so",
5930
+ "dist",
5931
+ "distz",
5932
+ "pkg",
5933
+ "bpk",
5934
+ "dump",
5935
+ "elc",
5936
+ "deploy",
5937
+ "exe",
5938
+ "dll",
5939
+ "deb",
5940
+ "dmg",
5941
+ "iso",
5942
+ "img",
5943
+ "msi",
5944
+ "msp",
5945
+ "msm",
5946
+ "buffer"
5947
+ ],
5948
+ "application/oda": ["oda"],
5949
+ "application/oebps-package+xml": ["opf"],
5950
+ "application/ogg": ["ogx"],
5951
+ "application/omdoc+xml": ["omdoc"],
5952
+ "application/onenote": [
5953
+ "onetoc",
5954
+ "onetoc2",
5955
+ "onetmp",
5956
+ "onepkg",
5957
+ "one",
5958
+ "onea"
5959
+ ],
5960
+ "application/oxps": ["oxps"],
5961
+ "application/p2p-overlay+xml": ["relo"],
5962
+ "application/patch-ops-error+xml": ["xer"],
5963
+ "application/pdf": ["pdf"],
5964
+ "application/pgp-encrypted": ["pgp"],
5965
+ "application/pgp-keys": ["asc"],
5966
+ "application/pgp-signature": ["sig", "*asc"],
5967
+ "application/pics-rules": ["prf"],
5968
+ "application/pkcs10": ["p10"],
5969
+ "application/pkcs7-mime": ["p7m", "p7c"],
5970
+ "application/pkcs7-signature": ["p7s"],
5971
+ "application/pkcs8": ["p8"],
5972
+ "application/pkix-attr-cert": ["ac"],
5973
+ "application/pkix-cert": ["cer"],
5974
+ "application/pkix-crl": ["crl"],
5975
+ "application/pkix-pkipath": ["pkipath"],
5976
+ "application/pkixcmp": ["pki"],
5977
+ "application/pls+xml": ["pls"],
5978
+ "application/postscript": ["ai", "eps", "ps"],
5979
+ "application/provenance+xml": ["provx"],
5980
+ "application/pskc+xml": ["pskcxml"],
5981
+ "application/raml+yaml": ["raml"],
5982
+ "application/rdf+xml": ["rdf", "owl"],
5983
+ "application/reginfo+xml": ["rif"],
5984
+ "application/relax-ng-compact-syntax": ["rnc"],
5985
+ "application/resource-lists+xml": ["rl"],
5986
+ "application/resource-lists-diff+xml": ["rld"],
5987
+ "application/rls-services+xml": ["rs"],
5988
+ "application/route-apd+xml": ["rapd"],
5989
+ "application/route-s-tsid+xml": ["sls"],
5990
+ "application/route-usd+xml": ["rusd"],
5991
+ "application/rpki-ghostbusters": ["gbr"],
5992
+ "application/rpki-manifest": ["mft"],
5993
+ "application/rpki-roa": ["roa"],
5994
+ "application/rsd+xml": ["rsd"],
5995
+ "application/rss+xml": ["rss"],
5996
+ "application/rtf": ["rtf"],
5997
+ "application/sbml+xml": ["sbml"],
5998
+ "application/scvp-cv-request": ["scq"],
5999
+ "application/scvp-cv-response": ["scs"],
6000
+ "application/scvp-vp-request": ["spq"],
6001
+ "application/scvp-vp-response": ["spp"],
6002
+ "application/sdp": ["sdp"],
6003
+ "application/senml+xml": ["senmlx"],
6004
+ "application/sensml+xml": ["sensmlx"],
6005
+ "application/set-payment-initiation": ["setpay"],
6006
+ "application/set-registration-initiation": ["setreg"],
6007
+ "application/shf+xml": ["shf"],
6008
+ "application/sieve": ["siv", "sieve"],
6009
+ "application/smil+xml": ["smi", "smil"],
6010
+ "application/sparql-query": ["rq"],
6011
+ "application/sparql-results+xml": ["srx"],
6012
+ "application/sql": ["sql"],
6013
+ "application/srgs": ["gram"],
6014
+ "application/srgs+xml": ["grxml"],
6015
+ "application/sru+xml": ["sru"],
6016
+ "application/ssdl+xml": ["ssdl"],
6017
+ "application/ssml+xml": ["ssml"],
6018
+ "application/swid+xml": ["swidtag"],
6019
+ "application/tei+xml": ["tei", "teicorpus"],
6020
+ "application/thraud+xml": ["tfi"],
6021
+ "application/timestamped-data": ["tsd"],
6022
+ "application/toml": ["toml"],
6023
+ "application/trig": ["trig"],
6024
+ "application/ttml+xml": ["ttml"],
6025
+ "application/ubjson": ["ubj"],
6026
+ "application/urc-ressheet+xml": ["rsheet"],
6027
+ "application/urc-targetdesc+xml": ["td"],
6028
+ "application/voicexml+xml": ["vxml"],
6029
+ "application/wasm": ["wasm"],
6030
+ "application/watcherinfo+xml": ["wif"],
6031
+ "application/widget": ["wgt"],
6032
+ "application/winhlp": ["hlp"],
6033
+ "application/wsdl+xml": ["wsdl"],
6034
+ "application/wspolicy+xml": ["wspolicy"],
6035
+ "application/xaml+xml": ["xaml"],
6036
+ "application/xcap-att+xml": ["xav"],
6037
+ "application/xcap-caps+xml": ["xca"],
6038
+ "application/xcap-diff+xml": ["xdf"],
6039
+ "application/xcap-el+xml": ["xel"],
6040
+ "application/xcap-ns+xml": ["xns"],
6041
+ "application/xenc+xml": ["xenc"],
6042
+ "application/xfdf": ["xfdf"],
6043
+ "application/xhtml+xml": ["xhtml", "xht"],
6044
+ "application/xliff+xml": ["xlf"],
6045
+ "application/xml": ["xml", "xsl", "xsd", "rng"],
6046
+ "application/xml-dtd": ["dtd"],
6047
+ "application/xop+xml": ["xop"],
6048
+ "application/xproc+xml": ["xpl"],
6049
+ "application/xslt+xml": ["*xsl", "xslt"],
6050
+ "application/xspf+xml": ["xspf"],
6051
+ "application/xv+xml": ["mxml", "xhvml", "xvml", "xvm"],
6052
+ "application/yang": ["yang"],
6053
+ "application/yin+xml": ["yin"],
6054
+ "application/zip": ["zip"],
6055
+ "application/zip+dotlottie": ["lottie"],
6056
+ "audio/3gpp": ["*3gpp"],
6057
+ "audio/aac": ["adts", "aac"],
6058
+ "audio/adpcm": ["adp"],
6059
+ "audio/amr": ["amr"],
6060
+ "audio/basic": ["au", "snd"],
6061
+ "audio/midi": ["mid", "midi", "kar", "rmi"],
6062
+ "audio/mobile-xmf": ["mxmf"],
6063
+ "audio/mp3": ["*mp3"],
6064
+ "audio/mp4": ["m4a", "mp4a", "m4b"],
6065
+ "audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"],
6066
+ "audio/ogg": ["oga", "ogg", "spx", "opus"],
6067
+ "audio/s3m": ["s3m"],
6068
+ "audio/silk": ["sil"],
6069
+ "audio/wav": ["wav"],
6070
+ "audio/wave": ["*wav"],
6071
+ "audio/webm": ["weba"],
6072
+ "audio/xm": ["xm"],
6073
+ "font/collection": ["ttc"],
6074
+ "font/otf": ["otf"],
6075
+ "font/ttf": ["ttf"],
6076
+ "font/woff": ["woff"],
6077
+ "font/woff2": ["woff2"],
6078
+ "image/aces": ["exr"],
6079
+ "image/apng": ["apng"],
6080
+ "image/avci": ["avci"],
6081
+ "image/avcs": ["avcs"],
6082
+ "image/avif": ["avif"],
6083
+ "image/bmp": ["bmp", "dib"],
6084
+ "image/cgm": ["cgm"],
6085
+ "image/dicom-rle": ["drle"],
6086
+ "image/dpx": ["dpx"],
6087
+ "image/emf": ["emf"],
6088
+ "image/fits": ["fits"],
6089
+ "image/g3fax": ["g3"],
6090
+ "image/gif": ["gif"],
6091
+ "image/heic": ["heic"],
6092
+ "image/heic-sequence": ["heics"],
6093
+ "image/heif": ["heif"],
6094
+ "image/heif-sequence": ["heifs"],
6095
+ "image/hej2k": ["hej2"],
6096
+ "image/ief": ["ief"],
6097
+ "image/jaii": ["jaii"],
6098
+ "image/jais": ["jais"],
6099
+ "image/jls": ["jls"],
6100
+ "image/jp2": ["jp2", "jpg2"],
6101
+ "image/jpeg": ["jpg", "jpeg", "jpe"],
6102
+ "image/jph": ["jph"],
6103
+ "image/jphc": ["jhc"],
6104
+ "image/jpm": ["jpm", "jpgm"],
6105
+ "image/jpx": ["jpx", "jpf"],
6106
+ "image/jxl": ["jxl"],
6107
+ "image/jxr": ["jxr"],
6108
+ "image/jxra": ["jxra"],
6109
+ "image/jxrs": ["jxrs"],
6110
+ "image/jxs": ["jxs"],
6111
+ "image/jxsc": ["jxsc"],
6112
+ "image/jxsi": ["jxsi"],
6113
+ "image/jxss": ["jxss"],
6114
+ "image/ktx": ["ktx"],
6115
+ "image/ktx2": ["ktx2"],
6116
+ "image/pjpeg": ["jfif"],
6117
+ "image/png": ["png"],
6118
+ "image/sgi": ["sgi"],
6119
+ "image/svg+xml": ["svg", "svgz"],
6120
+ "image/t38": ["t38"],
6121
+ "image/tiff": ["tif", "tiff"],
6122
+ "image/tiff-fx": ["tfx"],
6123
+ "image/webp": ["webp"],
6124
+ "image/wmf": ["wmf"],
6125
+ "message/disposition-notification": ["disposition-notification"],
6126
+ "message/global": ["u8msg"],
6127
+ "message/global-delivery-status": ["u8dsn"],
6128
+ "message/global-disposition-notification": ["u8mdn"],
6129
+ "message/global-headers": ["u8hdr"],
6130
+ "message/rfc822": ["eml", "mime", "mht", "mhtml"],
6131
+ "model/3mf": ["3mf"],
6132
+ "model/gltf+json": ["gltf"],
6133
+ "model/gltf-binary": ["glb"],
6134
+ "model/iges": ["igs", "iges"],
6135
+ "model/jt": ["jt"],
6136
+ "model/mesh": ["msh", "mesh", "silo"],
6137
+ "model/mtl": ["mtl"],
6138
+ "model/obj": ["obj"],
6139
+ "model/prc": ["prc"],
6140
+ "model/step": ["step", "stp", "stpnc", "p21", "210"],
6141
+ "model/step+xml": ["stpx"],
6142
+ "model/step+zip": ["stpz"],
6143
+ "model/step-xml+zip": ["stpxz"],
6144
+ "model/stl": ["stl"],
6145
+ "model/u3d": ["u3d"],
6146
+ "model/vrml": ["wrl", "vrml"],
6147
+ "model/x3d+binary": ["*x3db", "x3dbz"],
6148
+ "model/x3d+fastinfoset": ["x3db"],
6149
+ "model/x3d+vrml": ["*x3dv", "x3dvz"],
6150
+ "model/x3d+xml": ["x3d", "x3dz"],
6151
+ "model/x3d-vrml": ["x3dv"],
6152
+ "text/cache-manifest": ["appcache", "manifest"],
6153
+ "text/calendar": ["ics", "ifb"],
6154
+ "text/coffeescript": ["coffee", "litcoffee"],
6155
+ "text/css": ["css"],
6156
+ "text/csv": ["csv"],
6157
+ "text/html": ["html", "htm", "shtml"],
6158
+ "text/jade": ["jade"],
6159
+ "text/javascript": ["js", "mjs"],
6160
+ "text/jsx": ["jsx"],
6161
+ "text/less": ["less"],
6162
+ "text/markdown": ["md", "markdown"],
6163
+ "text/mathml": ["mml"],
6164
+ "text/mdx": ["mdx"],
6165
+ "text/n3": ["n3"],
6166
+ "text/plain": ["txt", "text", "conf", "def", "list", "log", "in", "ini"],
6167
+ "text/richtext": ["rtx"],
6168
+ "text/rtf": ["*rtf"],
6169
+ "text/sgml": ["sgml", "sgm"],
6170
+ "text/shex": ["shex"],
6171
+ "text/slim": ["slim", "slm"],
6172
+ "text/spdx": ["spdx"],
6173
+ "text/stylus": ["stylus", "styl"],
6174
+ "text/tab-separated-values": ["tsv"],
6175
+ "text/troff": ["t", "tr", "roff", "man", "me", "ms"],
6176
+ "text/turtle": ["ttl"],
6177
+ "text/uri-list": ["uri", "uris", "urls"],
6178
+ "text/vcard": ["vcard"],
6179
+ "text/vtt": ["vtt"],
6180
+ "text/wgsl": ["wgsl"],
6181
+ "text/xml": ["*xml"],
6182
+ "text/yaml": ["yaml", "yml"],
6183
+ "video/3gpp": ["3gp", "3gpp"],
6184
+ "video/3gpp2": ["3g2"],
6185
+ "video/h261": ["h261"],
6186
+ "video/h263": ["h263"],
6187
+ "video/h264": ["h264"],
6188
+ "video/iso.segment": ["m4s"],
6189
+ "video/jpeg": ["jpgv"],
6190
+ "video/jpm": ["*jpm", "*jpgm"],
6191
+ "video/mj2": ["mj2", "mjp2"],
6192
+ "video/mp2t": ["ts", "m2t", "m2ts", "mts"],
6193
+ "video/mp4": ["mp4", "mp4v", "mpg4"],
6194
+ "video/mpeg": ["mpeg", "mpg", "mpe", "m1v", "m2v"],
6195
+ "video/ogg": ["ogv"],
6196
+ "video/quicktime": ["qt", "mov"],
6197
+ "video/webm": ["webm"]
6198
+ };
6199
+ Object.freeze(types2);
6200
+ var standard_default = types2;
6201
+
6202
+ // ../../node_modules/.pnpm/mime@4.0.7/node_modules/mime/dist/src/Mime.js
6203
+ var __classPrivateFieldGet = function(receiver, state, kind, f) {
6204
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
6205
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6206
+ };
6207
+ var _Mime_extensionToType;
6208
+ var _Mime_typeToExtension;
6209
+ var _Mime_typeToExtensions;
6210
+ var Mime = class {
6211
+ static {
6212
+ __name(this, "Mime");
6213
+ }
6214
+ constructor(...args) {
6215
+ _Mime_extensionToType.set(this, /* @__PURE__ */ new Map());
6216
+ _Mime_typeToExtension.set(this, /* @__PURE__ */ new Map());
6217
+ _Mime_typeToExtensions.set(this, /* @__PURE__ */ new Map());
6218
+ for (const arg of args) {
6219
+ this.define(arg);
6220
+ }
6221
+ }
6222
+ define(typeMap, force = false) {
6223
+ for (let [type, extensions] of Object.entries(typeMap)) {
6224
+ type = type.toLowerCase();
6225
+ extensions = extensions.map((ext) => ext.toLowerCase());
6226
+ if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, "f").has(type)) {
6227
+ __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").set(type, /* @__PURE__ */ new Set());
6228
+ }
6229
+ const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").get(type);
6230
+ let first = true;
6231
+ for (let extension of extensions) {
6232
+ const starred = extension.startsWith("*");
6233
+ extension = starred ? extension.slice(1) : extension;
6234
+ allExtensions?.add(extension);
6235
+ if (first) {
6236
+ __classPrivateFieldGet(this, _Mime_typeToExtension, "f").set(type, extension);
6237
+ }
6238
+ first = false;
6239
+ if (starred)
6240
+ continue;
6241
+ const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, "f").get(extension);
6242
+ if (currentType && currentType != type && !force) {
6243
+ throw new Error(`"${type} -> ${extension}" conflicts with "${currentType} -> ${extension}". Pass \`force=true\` to override this definition.`);
6244
+ }
6245
+ __classPrivateFieldGet(this, _Mime_extensionToType, "f").set(extension, type);
6246
+ }
6247
+ }
6248
+ return this;
6249
+ }
6250
+ getType(path8) {
6251
+ if (typeof path8 !== "string")
6252
+ return null;
6253
+ const last = path8.replace(/^.*[/\\]/s, "").toLowerCase();
6254
+ const ext = last.replace(/^.*\./s, "").toLowerCase();
6255
+ const hasPath = last.length < path8.length;
6256
+ const hasDot = ext.length < last.length - 1;
6257
+ if (!hasDot && hasPath)
6258
+ return null;
6259
+ return __classPrivateFieldGet(this, _Mime_extensionToType, "f").get(ext) ?? null;
6260
+ }
6261
+ getExtension(type) {
6262
+ if (typeof type !== "string")
6263
+ return null;
6264
+ type = type?.split?.(";")[0];
6265
+ return (type && __classPrivateFieldGet(this, _Mime_typeToExtension, "f").get(type.trim().toLowerCase())) ?? null;
6266
+ }
6267
+ getAllExtensions(type) {
6268
+ if (typeof type !== "string")
6269
+ return null;
6270
+ return __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").get(type.toLowerCase()) ?? null;
6271
+ }
6272
+ _freeze() {
6273
+ this.define = () => {
6274
+ throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances");
6275
+ };
6276
+ Object.freeze(this);
6277
+ for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").values()) {
6278
+ Object.freeze(extensions);
6279
+ }
6280
+ return this;
6281
+ }
6282
+ _getTestState() {
6283
+ return {
6284
+ types: __classPrivateFieldGet(this, _Mime_extensionToType, "f"),
6285
+ extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, "f")
6286
+ };
6287
+ }
6288
+ };
6289
+ _Mime_extensionToType = /* @__PURE__ */ new WeakMap(), _Mime_typeToExtension = /* @__PURE__ */ new WeakMap(), _Mime_typeToExtensions = /* @__PURE__ */ new WeakMap();
6290
+ var Mime_default = Mime;
6291
+
6292
+ // ../../node_modules/.pnpm/mime@4.0.7/node_modules/mime/dist/src/index.js
6293
+ var src_default = new Mime_default(standard_default, other_default)._freeze();
6294
+
6295
+ // ../workers-shared/utils/helpers.ts
6296
+ var normalizeFilePath = /* @__PURE__ */ __name((relativeFilepath) => {
6297
+ if (isAbsolute(relativeFilepath)) {
6298
+ throw new Error(`Expected relative path`);
6299
+ }
6300
+ return "/" + relativeFilepath.split(sep).join("/");
6301
+ }, "normalizeFilePath");
6302
+ var getContentType = /* @__PURE__ */ __name((absFilePath) => {
6303
+ let contentType = src_default.getType(absFilePath);
6304
+ if (contentType && contentType.startsWith("text/") && !contentType.includes("charset")) {
6305
+ contentType = `${contentType}; charset=utf-8`;
6306
+ }
6307
+ return contentType;
6308
+ }, "getContentType");
6309
+ function createPatternMatcher(patterns, exclude) {
6310
+ if (patterns.length === 0) {
6311
+ return (_filePath) => !exclude;
6312
+ } else {
6313
+ const ignorer = (0, import_ignore.default)().add(patterns);
6314
+ return (filePath) => ignorer.test(filePath).ignored;
6315
+ }
6316
+ }
6317
+ __name(createPatternMatcher, "createPatternMatcher");
6318
+ function thrownIsDoesNotExistError(thrown) {
6319
+ return thrown instanceof Error && "code" in thrown && thrown.code === "ENOENT";
6320
+ }
6321
+ __name(thrownIsDoesNotExistError, "thrownIsDoesNotExistError");
6322
+ function maybeGetFile(filePath) {
6323
+ try {
6324
+ return readFileSync(filePath, "utf8");
6325
+ } catch (e) {
6326
+ if (!thrownIsDoesNotExistError(e)) {
6327
+ throw e;
6328
+ }
6329
+ }
6330
+ }
6331
+ __name(maybeGetFile, "maybeGetFile");
6332
+ async function createAssetsIgnoreFunction(dir) {
6333
+ const cfAssetIgnorePath = resolve(dir, CF_ASSETS_IGNORE_FILENAME);
6334
+ const ignorePatterns = [
6335
+ // Ignore the `.assetsignore` file and other metafiles by default.
6336
+ // The ignore lib expects unix-style paths for its patterns
6337
+ `/${CF_ASSETS_IGNORE_FILENAME}`,
6338
+ `/${REDIRECTS_FILENAME}`,
6339
+ `/${HEADERS_FILENAME}`
6340
+ ];
6341
+ let assetsIgnoreFilePresent = false;
6342
+ const assetsIgnore = maybeGetFile(cfAssetIgnorePath);
6343
+ if (assetsIgnore !== void 0) {
6344
+ assetsIgnoreFilePresent = true;
6345
+ ignorePatterns.push(...assetsIgnore.split("\n"));
6346
+ }
6347
+ return {
6348
+ assetsIgnoreFunction: createPatternMatcher(ignorePatterns, true),
6349
+ assetsIgnoreFilePresent
6350
+ };
6351
+ }
6352
+ __name(createAssetsIgnoreFunction, "createAssetsIgnoreFunction");
3486
6353
  var hashFile = /* @__PURE__ */ __name((filepath) => {
3487
6354
  const contents = readFileSync(filepath);
3488
6355
  const base64Contents = contents.toString("base64");
@@ -3579,7 +6446,7 @@ var syncAssets = /* @__PURE__ */ __name(async (complianceConfig, accountId, asse
3579
6446
  const payload = new FormData();
3580
6447
  const uploadedFiles = [];
3581
6448
  for (const manifestEntry of bucket) {
3582
- const absFilePath = path5.join(assetDirectory, manifestEntry[0]);
6449
+ const absFilePath = path.join(assetDirectory, manifestEntry[0]);
3583
6450
  uploadedFiles.push(manifestEntry[0]);
3584
6451
  payload.append(
3585
6452
  manifestEntry[1].hash,
@@ -3692,7 +6559,7 @@ var buildAssetManifest = /* @__PURE__ */ __name(async (dir) => {
3692
6559
  logger.debug("Ignoring asset:", relativeFilepath);
3693
6560
  return;
3694
6561
  }
3695
- const filepath = path5.join(dir, relativeFilepath);
6562
+ const filepath = path.join(dir, relativeFilepath);
3696
6563
  const filestat = await stat(filepath);
3697
6564
  if (filestat.isSymbolicLink() || filestat.isDirectory()) {
3698
6565
  return;
@@ -3773,6 +6640,53 @@ If you do want to upload this ${workerJsType}, you can add an empty "${CF_ASSETS
3773
6640
  }
3774
6641
  }
3775
6642
  __name(errorOnLegacyPagesWorkerJSAsset, "errorOnLegacyPagesWorkerJSAsset");
6643
+ function resolveAssetOptions({ assetsDir, main }, config) {
6644
+ if (!assetsDir) {
6645
+ return void 0;
6646
+ }
6647
+ const { directory, binding, directoryExists } = assetsDir;
6648
+ const routerConfig = {
6649
+ has_user_worker: main !== void 0
6650
+ };
6651
+ if (typeof config.assets?.run_worker_first === "boolean") {
6652
+ routerConfig.invoke_user_worker_ahead_of_assets = config.assets.run_worker_first;
6653
+ } else if (Array.isArray(config.assets?.run_worker_first)) {
6654
+ routerConfig.static_routing = parseStaticRouting(
6655
+ config.assets.run_worker_first
6656
+ );
6657
+ }
6658
+ if (routerConfig.invoke_user_worker_ahead_of_assets && !config?.assets?.binding) {
6659
+ logger.warn(
6660
+ "run_worker_first=true set without an assets binding\nSetting run_worker_first to true will always invoke your Worker script.\nTo fetch your assets from your Worker, please set the [assets.binding] key in your configuration file.\n\nRead more: https://developers.cloudflare.com/workers/static-assets/binding/#binding"
6661
+ );
6662
+ }
6663
+ if (!routerConfig.has_user_worker && (routerConfig.invoke_user_worker_ahead_of_assets === true || routerConfig.static_routing)) {
6664
+ throw new UserError(
6665
+ "Cannot set run_worker_first without a Worker script.\nPlease remove run_worker_first from your configuration file, or provide a Worker script in your configuration file (`main`).",
6666
+ { telemetryMessage: "assets router missing worker script" }
6667
+ );
6668
+ }
6669
+ const _redirects = directoryExists ? maybeGetFile(path.join(directory, REDIRECTS_FILENAME)) : void 0;
6670
+ const _headers = directoryExists ? maybeGetFile(path.join(directory, HEADERS_FILENAME)) : void 0;
6671
+ const assetConfig = {
6672
+ html_handling: config.assets?.html_handling,
6673
+ not_found_handling: config.assets?.not_found_handling,
6674
+ // The _redirects and _headers files are parsed in Miniflare in dev and parsing is not required for deploy
6675
+ compatibility_date: config.compatibility_date,
6676
+ compatibility_flags: config.compatibility_flags
6677
+ };
6678
+ return {
6679
+ directory,
6680
+ binding,
6681
+ routerConfig,
6682
+ assetConfig,
6683
+ _redirects,
6684
+ _headers,
6685
+ // raw static routing rules for upload. routerConfig.static_routing contains the rules processed for dev.
6686
+ run_worker_first: config.assets?.run_worker_first
6687
+ };
6688
+ }
6689
+ __name(resolveAssetOptions, "resolveAssetOptions");
3776
6690
 
3777
6691
  // src/deploy/helpers/binding-utils.ts
3778
6692
  function assertNever(_value) {
@@ -5612,14 +8526,14 @@ function createWorkerUploadForm(worker, bindings, options) {
5612
8526
  if (hasManifest && main.type === "esm") {
5613
8527
  assert6(modules !== void 0);
5614
8528
  const subDirs = new Set(
5615
- modules.map((module) => path5__default.posix.dirname(module.name))
8529
+ modules.map((module) => path__default.posix.dirname(module.name))
5616
8530
  );
5617
8531
  for (const subDir of subDirs) {
5618
8532
  if (subDir === ".") {
5619
8533
  continue;
5620
8534
  }
5621
- const relativePath = path5__default.posix.relative(subDir, manifestModuleName);
5622
- const filePath = path5__default.posix.join(subDir, manifestModuleName);
8535
+ const relativePath = path__default.posix.relative(subDir, manifestModuleName);
8536
+ const filePath = path__default.posix.join(subDir, manifestModuleName);
5623
8537
  modules.push({
5624
8538
  name: filePath,
5625
8539
  filePath,
@@ -5983,9 +8897,9 @@ function dedent(templ) {
5983
8897
  });
5984
8898
  }
5985
8899
  strings[0] = strings[0].replace(/^\r?\n/, "");
5986
- var string = strings[0];
8900
+ var string2 = strings[0];
5987
8901
  values.forEach(function(value, i) {
5988
- var endentations = string.match(/(?:^|\n)( *)$/);
8902
+ var endentations = string2.match(/(?:^|\n)( *)$/);
5989
8903
  var endentation = endentations ? endentations[1] : "";
5990
8904
  var indentedValue = value;
5991
8905
  if (typeof value === "string" && value.includes("\n")) {
@@ -5993,9 +8907,9 @@ function dedent(templ) {
5993
8907
  return i2 === 0 ? str : "" + endentation + str;
5994
8908
  }).join("\n");
5995
8909
  }
5996
- string += indentedValue + strings[i + 1];
8910
+ string2 += indentedValue + strings[i + 1];
5997
8911
  });
5998
- return string;
8912
+ return string2;
5999
8913
  }
6000
8914
  __name(dedent, "dedent");
6001
8915
  var esm_default = dedent;
@@ -6050,9 +8964,9 @@ async function diagnoseStartupError(err, workerBundle, projectRoot, analyseBundl
6050
8964
  "startup-profile",
6051
8965
  false
6052
8966
  );
6053
- const profile = path5__default.relative(
8967
+ const profile = path__default.relative(
6054
8968
  projectRoot ?? process.cwd(),
6055
- path5__default.join(tmpDir.path, `worker.cpuprofile`)
8969
+ path__default.join(tmpDir.path, `worker.cpuprofile`)
6056
8970
  );
6057
8971
  await writeFile(profile, JSON.stringify(cpuProfile));
6058
8972
  errorMessage += esm_default`
@@ -6203,7 +9117,7 @@ async function parseBulkInputToObject(input, includeNull = false) {
6203
9117
  let secretFormat;
6204
9118
  if (input) {
6205
9119
  secretSource = "file";
6206
- const jsonFilePath = path5__default.resolve(input);
9120
+ const jsonFilePath = path__default.resolve(input);
6207
9121
  const fileContent = readFileSync$1(jsonFilePath);
6208
9122
  try {
6209
9123
  content = parseJSON(fileContent);
@@ -7152,130 +10066,67 @@ See https://developers.cloudflare.com/workers/configuration/secrets/#secrets-on-
7152
10066
  }
7153
10067
  }
7154
10068
  __name(handleMissingSecretsError, "handleMissingSecretsError");
7155
- function loadSourceMaps(main, modules, bundle) {
7156
- const { sourceMapPath, sourceMapMetadata } = bundle;
7157
- if (sourceMapPath && sourceMapMetadata) {
7158
- return loadSourceMap(main, sourceMapPath, sourceMapMetadata);
7159
- } else {
7160
- return scanSourceMaps([main, ...modules]);
7161
- }
7162
- }
7163
- __name(loadSourceMaps, "loadSourceMaps");
7164
- function loadSourceMap({ name, filePath }, sourceMapPath, { entryDirectory }) {
7165
- if (filePath === void 0) {
7166
- return [];
7167
- }
7168
- const map = JSON.parse(
7169
- fs.readFileSync(path5__default.join(entryDirectory, sourceMapPath), "utf8")
7170
- );
7171
- map.file = name;
7172
- if (map.sourceRoot) {
7173
- const sourceRootPath = path5__default.dirname(
7174
- path5__default.join(entryDirectory, sourceMapPath)
7175
- );
7176
- map.sourceRoot = path5__default.relative(sourceRootPath, map.sourceRoot);
7177
- }
7178
- map.sources = map.sources.map((source) => {
7179
- const originalPath = path5__default.join(path5__default.dirname(filePath), source);
7180
- return path5__default.relative(entryDirectory, originalPath);
7181
- });
7182
- return [
7183
- {
7184
- name: name + ".map",
7185
- content: JSON.stringify(map)
7186
- }
7187
- ];
7188
- }
7189
- __name(loadSourceMap, "loadSourceMap");
7190
- function scanSourceMaps(modules) {
7191
- const maps = [];
7192
- for (const module of modules) {
7193
- const maybeSourcemap = sourceMapForModule(module);
7194
- if (maybeSourcemap) {
7195
- maps.push(maybeSourcemap);
7196
- }
7197
- }
7198
- return maps;
7199
- }
7200
- __name(scanSourceMaps, "scanSourceMaps");
7201
- function tryAttachSourcemapToModule(module) {
7202
- if (module.type !== "esm" && module.type !== "commonjs") {
7203
- return;
7204
- }
7205
- const sourceMap = sourceMapForModule(module);
7206
- if (sourceMap) {
7207
- module.sourceMap = sourceMap;
7208
- }
7209
- }
7210
- __name(tryAttachSourcemapToModule, "tryAttachSourcemapToModule");
7211
- function getSourceMappingUrl(module) {
7212
- const content = typeof module.content === "string" ? module.content : new TextDecoder().decode(module.content);
7213
- const commentPrefix = "//# sourceMappingURL=";
7214
- const lines = content.split("\n");
7215
- for (let i = lines.length - 1; i >= 0; i--) {
7216
- const line = lines[i].trim();
7217
- if (line.length === 0) {
7218
- continue;
7219
- }
7220
- if (line.startsWith(commentPrefix)) {
7221
- const commentPath = stripPrefix(commentPrefix, line).trim();
7222
- if (commentPath.startsWith("data:")) {
7223
- throw new Error(
7224
- `Unsupported source map path in ${module.filePath}: expected file path but found data URL.`
7225
- );
7226
- }
7227
- return commentPath;
7228
- }
7229
- if (!line.startsWith("//#") && !line.startsWith("//@")) {
7230
- return void 0;
7231
- }
7232
- }
7233
- return void 0;
7234
- }
7235
- __name(getSourceMappingUrl, "getSourceMappingUrl");
7236
- function sourceMapForModule(module) {
7237
- if (module.filePath === void 0) {
7238
- return void 0;
7239
- }
7240
- const sourceMapUrl = getSourceMappingUrl(module);
7241
- if (sourceMapUrl === void 0) {
7242
- return;
7243
- }
7244
- const sourcemapPath = path5__default.join(path5__default.dirname(module.filePath), sourceMapUrl);
7245
- if (!fs.existsSync(sourcemapPath)) {
7246
- throw new Error(
7247
- `Invalid source map path in ${module.filePath}: ${sourcemapPath} does not exist.`
7248
- );
7249
- }
7250
- const map = JSON.parse(
7251
- fs.readFileSync(sourcemapPath, "utf8")
7252
- );
7253
- map.file = module.name;
7254
- if (map.sourceRoot) {
7255
- map.sourceRoot = cleanPathPrefix(map.sourceRoot);
7256
- }
7257
- map.sources = map.sources.map(cleanPathPrefix);
7258
- return {
7259
- name: module.name + ".map",
7260
- content: JSON.stringify(map)
7261
- };
7262
- }
7263
- __name(sourceMapForModule, "sourceMapForModule");
7264
- function cleanPathPrefix(filePath) {
7265
- return stripPrefix(
7266
- "..\\",
7267
- stripPrefix("../", stripPrefix(".\\", stripPrefix("./", filePath)))
7268
- );
7269
- }
7270
- __name(cleanPathPrefix, "cleanPathPrefix");
7271
- function stripPrefix(prefix, input) {
7272
- let stripped = input;
7273
- while (stripped.startsWith(prefix)) {
7274
- stripped = stripped.slice(prefix.length);
7275
- }
7276
- return stripped;
7277
- }
7278
- __name(stripPrefix, "stripPrefix");
10069
+ var InternalConfigSchema = z$1.object({
10070
+ account_id: z$1.number().optional(),
10071
+ script_id: z$1.number().optional(),
10072
+ debug: z$1.boolean().optional()
10073
+ });
10074
+ var StaticRoutingSchema = z$1.object({
10075
+ user_worker: z$1.array(z$1.string()),
10076
+ asset_worker: z$1.array(z$1.string()).optional()
10077
+ });
10078
+ z$1.object({
10079
+ invoke_user_worker_ahead_of_assets: z$1.boolean().optional(),
10080
+ static_routing: StaticRoutingSchema.optional(),
10081
+ has_user_worker: z$1.boolean().optional(),
10082
+ ...InternalConfigSchema.shape
10083
+ });
10084
+ z$1.union([
10085
+ z$1.object({
10086
+ limitedAssetsOnly: z$1.boolean().optional()
10087
+ }),
10088
+ z$1.null()
10089
+ ]);
10090
+ var MetadataStaticRedirectEntry = z$1.object({
10091
+ status: z$1.number(),
10092
+ to: z$1.string(),
10093
+ lineNumber: z$1.number()
10094
+ });
10095
+ var MetadataRedirectEntry = z$1.object({
10096
+ status: z$1.number(),
10097
+ to: z$1.string()
10098
+ });
10099
+ var MetadataStaticRedirects = z$1.record(MetadataStaticRedirectEntry);
10100
+ var MetadataRedirects = z$1.record(MetadataRedirectEntry);
10101
+ var MetadataHeaderEntry = z$1.object({
10102
+ set: z$1.record(z$1.string()).optional(),
10103
+ unset: z$1.array(z$1.string()).optional()
10104
+ });
10105
+ var MetadataHeaders = z$1.record(MetadataHeaderEntry);
10106
+ var RedirectsSchema = z$1.object({
10107
+ version: z$1.literal(1),
10108
+ staticRules: MetadataStaticRedirects,
10109
+ rules: MetadataRedirects
10110
+ }).optional();
10111
+ var HeadersSchema = z$1.object({
10112
+ version: z$1.literal(2),
10113
+ rules: MetadataHeaders
10114
+ }).optional();
10115
+ z$1.object({
10116
+ compatibility_date: z$1.string().optional(),
10117
+ compatibility_flags: z$1.array(z$1.string()).optional(),
10118
+ html_handling: z$1.enum([
10119
+ "auto-trailing-slash",
10120
+ "force-trailing-slash",
10121
+ "drop-trailing-slash",
10122
+ "none"
10123
+ ]).optional(),
10124
+ not_found_handling: z$1.enum(["single-page-application", "404-page", "none"]).optional(),
10125
+ redirects: RedirectsSchema,
10126
+ headers: HeadersSchema,
10127
+ has_static_routing: z$1.boolean().optional(),
10128
+ ...InternalConfigSchema.shape
10129
+ });
7279
10130
  function maybeRetrieveFileSourceMap(filePath) {
7280
10131
  if (filePath === void 0) {
7281
10132
  return null;
@@ -7324,8 +10175,8 @@ function getSourceMappingPrepareStackTrace(retrieveSourceMap) {
7324
10175
  // Make sure we're using fresh copies of files each time we source map
7325
10176
  emptyCacheBetweenOperations: true,
7326
10177
  // Allow retriever to be overridden at prepare stack trace time
7327
- retrieveSourceMap(path9) {
7328
- return retrieveSourceMapOverride?.(path9) ?? null;
10178
+ retrieveSourceMap(path8) {
10179
+ return retrieveSourceMapOverride?.(path8) ?? null;
7329
10180
  }
7330
10181
  });
7331
10182
  sourceMappingPrepareStackTrace = Error.prepareStackTrace;
@@ -7548,13 +10399,13 @@ var validateRoutes = /* @__PURE__ */ __name((routes, assets) => {
7548
10399
  );
7549
10400
  }
7550
10401
  if (mountedAssetRoutes.length > 0 && assets?.directory !== void 0) {
7551
- const relativeAssetsDir = path5__default.relative(process.cwd(), assets.directory);
10402
+ const relativeAssetsDir = path__default.relative(process.cwd(), assets.directory);
7552
10403
  const warnFn = logger.once?.warn ?? logger.warn;
7553
10404
  warnFn(
7554
10405
  `Warning: The following routes will attempt to serve Assets on a configured path:
7555
10406
  ${mountedAssetRoutes.map((route) => {
7556
10407
  const routeNoScheme = route.replace(/https?:\/\//g, "");
7557
- const assetPath = path5__default.join(
10408
+ const assetPath = path__default.join(
7558
10409
  relativeAssetsDir,
7559
10410
  routeNoScheme.substring(routeNoScheme.indexOf("/"))
7560
10411
  );
@@ -7597,9 +10448,9 @@ async function deploy(props, config, buildResult, callbacks) {
7597
10448
  compatibilityDate,
7598
10449
  compatibilityFlags,
7599
10450
  keepVars,
7600
- uploadSourceMaps,
7601
10451
  accountId
7602
10452
  } = props;
10453
+ const assetsOptions = resolveAssetOptions(props, config);
7603
10454
  if (!props.dryRun) {
7604
10455
  assert6(accountId, "Missing account ID");
7605
10456
  await verifyWorkerMatchesCITag(config, accountId, name, config.configPath);
@@ -7713,7 +10564,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
7713
10564
  { telemetryMessage: "missing compatibility date when deploying" }
7714
10565
  );
7715
10566
  }
7716
- validateRoutes(allDeploymentRoutes, props.assetsOptions);
10567
+ validateRoutes(allDeploymentRoutes, assetsOptions);
7717
10568
  const scriptName = name;
7718
10569
  assert6(
7719
10570
  !config.site || config.site.bucket,
@@ -7769,7 +10620,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
7769
10620
  resolvedEntryPointPath,
7770
10621
  bundleType,
7771
10622
  content,
7772
- bundle
10623
+ sourceMaps
7773
10624
  } = buildResult;
7774
10625
  const migrations = !isDryRun ? await getMigrationsToUpload(scriptName, {
7775
10626
  accountId,
@@ -7778,15 +10629,15 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
7778
10629
  env: props.env,
7779
10630
  dispatchNamespace: props.dispatchNamespace
7780
10631
  }) : void 0;
7781
- const assetsJwt = props.assetsOptions && !isDryRun ? await syncAssets(
10632
+ const assetsJwt = assetsOptions && !isDryRun ? await syncAssets(
7782
10633
  config,
7783
10634
  accountId,
7784
- props.assetsOptions.directory,
10635
+ assetsOptions.directory,
7785
10636
  scriptName,
7786
10637
  props.dispatchNamespace
7787
10638
  ) : void 0;
7788
- if (props.assetsOptions && isDryRun) {
7789
- await buildAssetManifest(props.assetsOptions.directory);
10639
+ if (assetsOptions && isDryRun) {
10640
+ await buildAssetManifest(assetsOptions.directory);
7790
10641
  }
7791
10642
  const workersSitesAssets = callbacks.syncWorkersSite ? await callbacks.syncWorkersSite(
7792
10643
  config,
@@ -7835,7 +10686,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
7835
10686
  });
7836
10687
  }
7837
10688
  const placement = parseConfigPlacement(config);
7838
- const entryPointName = path5__default.basename(resolvedEntryPointPath);
10689
+ const entryPointName = path__default.basename(resolvedEntryPointPath);
7839
10690
  const main = {
7840
10691
  name: entryPointName,
7841
10692
  filePath: resolvedEntryPointPath,
@@ -7848,7 +10699,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
7848
10699
  migrations,
7849
10700
  modules,
7850
10701
  containers: config.containers,
7851
- sourceMaps: uploadSourceMaps ? loadSourceMaps(main, modules, bundle) : void 0,
10702
+ sourceMaps,
7852
10703
  compatibility_date: compatibilityDate,
7853
10704
  compatibility_flags: compatibilityFlags,
7854
10705
  keepVars,
@@ -7862,13 +10713,13 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
7862
10713
  "workers/message": props.message,
7863
10714
  "workers/tag": props.tag
7864
10715
  } : void 0,
7865
- assets: props.assetsOptions && assetsJwt ? {
10716
+ assets: assetsOptions && assetsJwt ? {
7866
10717
  jwt: assetsJwt,
7867
- routerConfig: props.assetsOptions.routerConfig,
7868
- assetConfig: props.assetsOptions.assetConfig,
7869
- _redirects: props.assetsOptions._redirects,
7870
- _headers: props.assetsOptions._headers,
7871
- run_worker_first: props.assetsOptions.run_worker_first
10718
+ routerConfig: assetsOptions.routerConfig,
10719
+ assetConfig: assetsOptions.assetConfig,
10720
+ _redirects: assetsOptions._redirects,
10721
+ _headers: assetsOptions._headers,
10722
+ run_worker_first: assetsOptions.run_worker_first
7872
10723
  } : void 0,
7873
10724
  observability: config.observability,
7874
10725
  cache: config.cache
@@ -7878,7 +10729,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
7878
10729
  0
7879
10730
  );
7880
10731
  await printBundleSize(
7881
- { name: path5__default.basename(resolvedEntryPointPath), content },
10732
+ { name: path__default.basename(resolvedEntryPointPath), content },
7882
10733
  modules
7883
10734
  );
7884
10735
  const canUseNewVersionsDeploymentsApi = workerExists && props.dispatchNamespace === void 0 && !useServiceEnvironments2 && format === "modules" && migrations === void 0 && !config.first_party_worker && config.containers === void 0;
@@ -7932,7 +10783,9 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
7932
10783
  );
7933
10784
  } else {
7934
10785
  assert6(accountId, "Missing accountId");
7935
- if (props.resourcesProvision && callbacks.provisionBindings) {
10786
+ if (assetsOptions?.routerConfig.has_user_worker === false) {
10787
+ logger.debug("skipping provisioning on assets-only project");
10788
+ } else if (props.resourcesProvision && callbacks.provisionBindings) {
7936
10789
  await callbacks.provisionBindings(
7937
10790
  bindings ?? {},
7938
10791
  accountId,
@@ -8124,7 +10977,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8124
10977
  }
8125
10978
  }
8126
10979
  if (props.outfile) {
8127
- mkdirSync(path5__default.dirname(props.outfile), { recursive: true });
10980
+ mkdirSync(path__default.dirname(props.outfile), { recursive: true });
8128
10981
  const serializedFormData = await new Response(workerBundle).arrayBuffer();
8129
10982
  writeFileSync(props.outfile, Buffer.from(serializedFormData));
8130
10983
  }
@@ -8179,9 +11032,9 @@ async function versionsUpload(props, config, buildResult, callbacks) {
8179
11032
  compatibilityDate,
8180
11033
  compatibilityFlags,
8181
11034
  keepVars,
8182
- uploadSourceMaps,
8183
11035
  accountId
8184
11036
  } = props;
11037
+ const assetsOptions = resolveAssetOptions(props, config);
8185
11038
  if (!props.dryRun) {
8186
11039
  assert6(accountId, "Missing account ID");
8187
11040
  await verifyWorkerMatchesCITag(config, accountId, name, config.configPath);
@@ -8286,7 +11139,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8286
11139
  resolvedEntryPointPath,
8287
11140
  bundleType,
8288
11141
  content,
8289
- bundle
11142
+ sourceMaps
8290
11143
  } = buildResult;
8291
11144
  const bindings = getBindings(config);
8292
11145
  for (const [bindingName, value] of Object.entries(props.cliVars)) {
@@ -8303,12 +11156,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8303
11156
  env: props.env,
8304
11157
  dispatchNamespace: void 0
8305
11158
  }) : void 0;
8306
- const assetsJwt = props.assetsOptions && !props.dryRun ? await syncAssets(
8307
- config,
8308
- accountId,
8309
- props.assetsOptions.directory,
8310
- scriptName
8311
- ) : void 0;
11159
+ const assetsJwt = assetsOptions && !props.dryRun ? await syncAssets(config, accountId, assetsOptions.directory, scriptName) : void 0;
8312
11160
  if (props.secretsFile) {
8313
11161
  const secretsResult = await parseBulkInputToObject(props.secretsFile);
8314
11162
  if (secretsResult) {
@@ -8324,7 +11172,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8324
11172
  }
8325
11173
  addRequiredSecretsInheritBindings(config, bindings, { type: "upload" });
8326
11174
  const placement = parseConfigPlacement(config);
8327
- const entryPointName = path5__default.basename(resolvedEntryPointPath);
11175
+ const entryPointName = path__default.basename(resolvedEntryPointPath);
8328
11176
  const main = {
8329
11177
  name: entryPointName,
8330
11178
  filePath: resolvedEntryPointPath,
@@ -8336,7 +11184,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8336
11184
  migrations,
8337
11185
  modules,
8338
11186
  containers: config.containers,
8339
- sourceMaps: uploadSourceMaps ? loadSourceMaps(main, modules, bundle) : void 0,
11187
+ sourceMaps,
8340
11188
  compatibility_date: compatibilityDate,
8341
11189
  compatibility_flags: compatibilityFlags,
8342
11190
  keepVars,
@@ -8351,13 +11199,13 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8351
11199
  "workers/tag": props.tag,
8352
11200
  "workers/alias": props.previewAlias
8353
11201
  },
8354
- assets: props.assetsOptions && assetsJwt ? {
11202
+ assets: assetsOptions && assetsJwt ? {
8355
11203
  jwt: assetsJwt,
8356
- routerConfig: props.assetsOptions.routerConfig,
8357
- assetConfig: props.assetsOptions.assetConfig,
8358
- _redirects: props.assetsOptions._redirects,
8359
- _headers: props.assetsOptions._headers,
8360
- run_worker_first: props.assetsOptions.run_worker_first
11204
+ routerConfig: assetsOptions.routerConfig,
11205
+ assetConfig: assetsOptions.assetConfig,
11206
+ _redirects: assetsOptions._redirects,
11207
+ _headers: assetsOptions._headers,
11208
+ run_worker_first: assetsOptions.run_worker_first
8361
11209
  } : void 0,
8362
11210
  logpush: void 0,
8363
11211
  // logpush and observability are non-versioned settings
@@ -8371,7 +11219,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8371
11219
  );
8372
11220
  }
8373
11221
  await printBundleSize(
8374
- { name: path5__default.basename(resolvedEntryPointPath), content },
11222
+ { name: path__default.basename(resolvedEntryPointPath), content },
8375
11223
  modules
8376
11224
  );
8377
11225
  let workerBundle;
@@ -8389,7 +11237,9 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8389
11237
  );
8390
11238
  } else {
8391
11239
  assert6(accountId, "Missing accountId");
8392
- if (props.resourcesProvision && callbacks.provisionBindings) {
11240
+ if (assetsOptions?.routerConfig.has_user_worker === false) {
11241
+ logger.debug("skipping provisioning on assets-only project");
11242
+ } else if (props.resourcesProvision && callbacks.provisionBindings) {
8393
11243
  await callbacks.provisionBindings(
8394
11244
  bindings,
8395
11245
  accountId,
@@ -8483,7 +11333,7 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
8483
11333
  }
8484
11334
  }
8485
11335
  if (props.outfile) {
8486
- mkdirSync(path5__default.dirname(props.outfile), { recursive: true });
11336
+ mkdirSync(path__default.dirname(props.outfile), { recursive: true });
8487
11337
  const serializedFormData = await new Response(workerBundle).arrayBuffer();
8488
11338
  writeFileSync(props.outfile, Buffer.from(serializedFormData));
8489
11339
  }
@@ -8639,4 +11489,4 @@ __name(validateNodeCompatMode, "validateNodeCompatMode");
8639
11489
  * THE SOFTWARE.
8640
11490
  */
8641
11491
 
8642
- export { INVALID_INHERIT_BINDING_CODE, NoInputError, WORKER_LEGACY_ENVIRONMENT_NOT_FOUND_ERR_CODE, WORKER_NOT_FOUND_ERR_CODE, WORKFLOW_NOT_FOUND_CODE, addRequiredSecretsInheritBindings, addWorkersSitesBindings, applyServiceAndEnvironmentTags, buildAssetManifest, checkRemoteSecretsOverride, checkWorkflowConflicts, confirmLatestDeploymentOverwrite, convertConfigToBindings, createDeployment, createTruncatedAlias, createWorkerUploadForm, deletePullConsumer, deleteWorkerConsumer, deploy, deployWfpUserWorker, diagnoseScriptSizeError, diagnoseStartupError, diffJsonObjects, downloadWorkerConfig, ensureQueuesExistByConfig, extractBindingsOfType, fetchDeployableVersions, fetchDeploymentVersions, fetchLatestDeployment, fetchLatestDeployments, fetchSecrets, fetchVersion, fetchVersions, fetchWorkerConfig, fromMimeType, generatePreviewAlias, getBindings, getBranchName, getConfigPatch, getDeployConfirmFunction, getMigrationsToUpload, getQueue, getRemoteConfigDiff, getSourceMappedStack, getSourceMappedString, getSubdomainValues, getSubdomainValuesAPIMock, getWorkersDevSubdomain, getZoneForRoute, getZoneIdFromHost, handleMissingSecretsError, handleUnsafeCapnp, hasDefinedEnvironments, hashFile, helpIfErrorIsSizeOrScriptStartup, isJwtExpired, isModifiedDiffValue, isNonDestructive, isUnsafeBindingType, isWorkerNotFoundError, listConsumers, listQueues, loadSourceMaps, maybeRetrieveFileSourceMap, moduleTypeMimeType, parseBulkInputToObject, parseConfigPlacement, patchNonVersionedScriptSettings, postConsumer, printBindings, printBundleSize, printVersions, publishCustomDomains, publishRoutes, putConsumer, putConsumerById, renderRoute, sanitizeBranchName, syncAssets, tagsAreEqual, triggersDeploy, tryAttachSourcemapToModule, updateQueueConsumers, useServiceEnvironments, validateFileSecrets, validateNodeCompatMode, validateRoutes, verifyWorkerMatchesCITag, versionsUpload, warnOnErrorUpdatingServiceAndEnvironmentTags, warnOrError, workerNotFoundErrorMessage };
11492
+ export { INVALID_INHERIT_BINDING_CODE, InputWorkerSchema, NoInputError, OutputWorkerSchema, WORKER_LEGACY_ENVIRONMENT_NOT_FOUND_ERR_CODE, WORKER_NOT_FOUND_ERR_CODE, WORKFLOW_NOT_FOUND_CODE, addRequiredSecretsInheritBindings, addWorkersSitesBindings, applyServiceAndEnvironmentTags, buildAssetManifest, checkRemoteSecretsOverride, checkWorkflowConflicts, confirmLatestDeploymentOverwrite, convertConfigToBindings, convertToWranglerConfig, createDeployment, createTruncatedAlias, createWorkerUploadForm, deletePullConsumer, deleteWorkerConsumer, deploy, deployWfpUserWorker, diagnoseScriptSizeError, diagnoseStartupError, diffJsonObjects, downloadWorkerConfig, ensureQueuesExistByConfig, extractBindingsOfType, fetchDeployableVersions, fetchDeploymentVersions, fetchLatestDeployment, fetchLatestDeployments, fetchSecrets, fetchVersion, fetchVersions, fetchWorkerConfig, fromMimeType, generatePreviewAlias, getBindings, getBranchName, getConfigPatch, getDeployConfirmFunction, getMigrationsToUpload, getQueue, getRemoteConfigDiff, getSourceMappedStack, getSourceMappedString, getSubdomainValues, getSubdomainValuesAPIMock, getWorkersDevSubdomain, getZoneForRoute, getZoneIdFromHost, handleMissingSecretsError, handleUnsafeCapnp, hasDefinedEnvironments, hashFile, helpIfErrorIsSizeOrScriptStartup, isJwtExpired, isModifiedDiffValue, isNonDestructive, isUnsafeBindingType, isWorkerNotFoundError, listConsumers, listQueues, maybeRetrieveFileSourceMap, moduleTypeMimeType, parseBulkInputToObject, parseConfigPlacement, patchNonVersionedScriptSettings, postConsumer, printBindings, printBundleSize, printVersions, publishCustomDomains, publishRoutes, putConsumer, putConsumerById, renderRoute, resolveAssetOptions, sanitizeBranchName, syncAssets, tagsAreEqual, triggersDeploy, updateQueueConsumers, useServiceEnvironments, validateFileSecrets, validateNodeCompatMode, validateRoutes, verifyWorkerMatchesCITag, versionsUpload, warnOnErrorUpdatingServiceAndEnvironmentTags, warnOrError, workerNotFoundErrorMessage };