@base44-preview/cli 0.0.21-pr.126.43cda65 → 0.0.21-pr.131.bec5316

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.
Files changed (2) hide show
  1. package/dist/index.js +630 -605
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { EventEmitter, addAbortListener, on, once, setMaxListeners } from "node:
3
3
  import childProcess, { ChildProcess, execFile, spawn, spawnSync } from "node:child_process";
4
4
  import path, { basename, dirname, join, posix, resolve, win32 } from "node:path";
5
5
  import fs, { appendFileSync, createReadStream, createWriteStream, readFileSync, statSync, writeFileSync } from "node:fs";
6
- import process$1, { execArgv, execPath, hrtime, platform, stdin, stdout } from "node:process";
6
+ import y, { execArgv, execPath, hrtime, platform, stdin, stdout } from "node:process";
7
7
  import { aborted, callbackify, debuglog, inspect, promisify, stripVTControlCharacters } from "node:util";
8
8
  import * as g from "node:readline";
9
9
  import O from "node:readline";
@@ -893,7 +893,7 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
893
893
  const childProcess$1 = __require("node:child_process");
894
894
  const path$15 = __require("node:path");
895
895
  const fs$10 = __require("node:fs");
896
- const process$4 = __require("node:process");
896
+ const process$3 = __require("node:process");
897
897
  const { Argument, humanReadableArgName } = require_argument();
898
898
  const { CommanderError } = require_error$1();
899
899
  const { Help } = require_help();
@@ -944,10 +944,10 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
944
944
  this._showHelpAfterError = false;
945
945
  this._showSuggestionAfterError = true;
946
946
  this._outputConfiguration = {
947
- writeOut: (str) => process$4.stdout.write(str),
948
- writeErr: (str) => process$4.stderr.write(str),
949
- getOutHelpWidth: () => process$4.stdout.isTTY ? process$4.stdout.columns : void 0,
950
- getErrHelpWidth: () => process$4.stderr.isTTY ? process$4.stderr.columns : void 0,
947
+ writeOut: (str) => process$3.stdout.write(str),
948
+ writeErr: (str) => process$3.stderr.write(str),
949
+ getOutHelpWidth: () => process$3.stdout.isTTY ? process$3.stdout.columns : void 0,
950
+ getErrHelpWidth: () => process$3.stderr.isTTY ? process$3.stderr.columns : void 0,
951
951
  outputError: (str, write) => write(str)
952
952
  };
953
953
  this._hidden = false;
@@ -1301,7 +1301,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1301
1301
  */
1302
1302
  _exit(exitCode, code$1, message) {
1303
1303
  if (this._exitCallback) this._exitCallback(new CommanderError(exitCode, code$1, message));
1304
- process$4.exit(exitCode);
1304
+ process$3.exit(exitCode);
1305
1305
  }
1306
1306
  /**
1307
1307
  * Register callback `fn` for the command.
@@ -1640,11 +1640,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
1640
1640
  if (argv !== void 0 && !Array.isArray(argv)) throw new Error("first parameter to parse must be array or undefined");
1641
1641
  parseOptions = parseOptions || {};
1642
1642
  if (argv === void 0 && parseOptions.from === void 0) {
1643
- if (process$4.versions?.electron) parseOptions.from = "electron";
1644
- const execArgv$1 = process$4.execArgv ?? [];
1643
+ if (process$3.versions?.electron) parseOptions.from = "electron";
1644
+ const execArgv$1 = process$3.execArgv ?? [];
1645
1645
  if (execArgv$1.includes("-e") || execArgv$1.includes("--eval") || execArgv$1.includes("-p") || execArgv$1.includes("--print")) parseOptions.from = "eval";
1646
1646
  }
1647
- if (argv === void 0) argv = process$4.argv;
1647
+ if (argv === void 0) argv = process$3.argv;
1648
1648
  this.rawArgs = argv.slice();
1649
1649
  let userArgs;
1650
1650
  switch (parseOptions.from) {
@@ -1654,7 +1654,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1654
1654
  userArgs = argv.slice(2);
1655
1655
  break;
1656
1656
  case "electron":
1657
- if (process$4.defaultApp) {
1657
+ if (process$3.defaultApp) {
1658
1658
  this._scriptPath = argv[1];
1659
1659
  userArgs = argv.slice(2);
1660
1660
  } else userArgs = argv.slice(1);
@@ -1768,15 +1768,15 @@ Expecting one of '${allowedValues.join("', '")}'`);
1768
1768
  }
1769
1769
  launchWithNode = sourceExt.includes(path$15.extname(executableFile));
1770
1770
  let proc$1;
1771
- if (process$4.platform !== "win32") if (launchWithNode) {
1771
+ if (process$3.platform !== "win32") if (launchWithNode) {
1772
1772
  args.unshift(executableFile);
1773
- args = incrementNodeInspectorPort(process$4.execArgv).concat(args);
1774
- proc$1 = childProcess$1.spawn(process$4.argv[0], args, { stdio: "inherit" });
1773
+ args = incrementNodeInspectorPort(process$3.execArgv).concat(args);
1774
+ proc$1 = childProcess$1.spawn(process$3.argv[0], args, { stdio: "inherit" });
1775
1775
  } else proc$1 = childProcess$1.spawn(executableFile, args, { stdio: "inherit" });
1776
1776
  else {
1777
1777
  args.unshift(executableFile);
1778
- args = incrementNodeInspectorPort(process$4.execArgv).concat(args);
1779
- proc$1 = childProcess$1.spawn(process$4.execPath, args, { stdio: "inherit" });
1778
+ args = incrementNodeInspectorPort(process$3.execArgv).concat(args);
1779
+ proc$1 = childProcess$1.spawn(process$3.execPath, args, { stdio: "inherit" });
1780
1780
  }
1781
1781
  if (!proc$1.killed) [
1782
1782
  "SIGUSR1",
@@ -1785,14 +1785,14 @@ Expecting one of '${allowedValues.join("', '")}'`);
1785
1785
  "SIGINT",
1786
1786
  "SIGHUP"
1787
1787
  ].forEach((signal) => {
1788
- process$4.on(signal, () => {
1788
+ process$3.on(signal, () => {
1789
1789
  if (proc$1.killed === false && proc$1.exitCode === null) proc$1.kill(signal);
1790
1790
  });
1791
1791
  });
1792
1792
  const exitCallback = this._exitCallback;
1793
1793
  proc$1.on("close", (code$1) => {
1794
1794
  code$1 = code$1 ?? 1;
1795
- if (!exitCallback) process$4.exit(code$1);
1795
+ if (!exitCallback) process$3.exit(code$1);
1796
1796
  else exitCallback(new CommanderError(code$1, "commander.executeSubCommandAsync", "(close)"));
1797
1797
  });
1798
1798
  proc$1.on("error", (err) => {
@@ -1804,7 +1804,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1804
1804
  - ${executableDirMessage}`;
1805
1805
  throw new Error(executableMissing);
1806
1806
  } else if (err.code === "EACCES") throw new Error(`'${executableFile}' not executable`);
1807
- if (!exitCallback) process$4.exit(1);
1807
+ if (!exitCallback) process$3.exit(1);
1808
1808
  else {
1809
1809
  const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
1810
1810
  wrappedError.nestedError = err;
@@ -2210,13 +2210,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
2210
2210
  */
2211
2211
  _parseOptionsEnv() {
2212
2212
  this.options.forEach((option) => {
2213
- if (option.envVar && option.envVar in process$4.env) {
2213
+ if (option.envVar && option.envVar in process$3.env) {
2214
2214
  const optionKey = option.attributeName();
2215
2215
  if (this.getOptionValue(optionKey) === void 0 || [
2216
2216
  "default",
2217
2217
  "config",
2218
2218
  "env"
2219
- ].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$4.env[option.envVar]);
2219
+ ].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$3.env[option.envVar]);
2220
2220
  else this.emit(`optionEnv:${option.name()}`);
2221
2221
  }
2222
2222
  });
@@ -2595,7 +2595,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
2595
2595
  */
2596
2596
  help(contextOptions) {
2597
2597
  this.outputHelp(contextOptions);
2598
- let exitCode = process$4.exitCode || 0;
2598
+ let exitCode = process$3.exitCode || 0;
2599
2599
  if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) exitCode = 1;
2600
2600
  this._exit(exitCode, "commander.help", "(outputHelp)");
2601
2601
  }
@@ -2711,16 +2711,16 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2711
2711
  const CSI = `${ESC}[`;
2712
2712
  const beep = "\x07";
2713
2713
  const cursor = {
2714
- to(x$2, y$1) {
2715
- if (!y$1) return `${CSI}${x$2 + 1}G`;
2716
- return `${CSI}${y$1 + 1};${x$2 + 1}H`;
2714
+ to(x$2, y$2) {
2715
+ if (!y$2) return `${CSI}${x$2 + 1}G`;
2716
+ return `${CSI}${y$2 + 1};${x$2 + 1}H`;
2717
2717
  },
2718
- move(x$2, y$1) {
2718
+ move(x$2, y$2) {
2719
2719
  let ret = "";
2720
2720
  if (x$2 < 0) ret += `${CSI}${-x$2}D`;
2721
2721
  else if (x$2 > 0) ret += `${CSI}${x$2}C`;
2722
- if (y$1 < 0) ret += `${CSI}${-y$1}A`;
2723
- else if (y$1 > 0) ret += `${CSI}${y$1}B`;
2722
+ if (y$2 < 0) ret += `${CSI}${-y$2}A`;
2723
+ else if (y$2 > 0) ret += `${CSI}${y$2}B`;
2724
2724
  return ret;
2725
2725
  },
2726
2726
  up: (count$1 = 1) => `${CSI}${count$1}A`,
@@ -3030,13 +3030,13 @@ function rD() {
3030
3030
  }
3031
3031
  }), r;
3032
3032
  }
3033
- const ED = rD(), d$1 = new Set(["\x1B", "›"]), oD = 39, y = "\x07", V$1 = "[", nD = "]", G$1 = "m", _$1 = `${nD}8;;`, z = (e$1) => `${d$1.values().next().value}${V$1}${e$1}${G$1}`, K$1 = (e$1) => `${d$1.values().next().value}${_$1}${e$1}${y}`, aD = (e$1) => e$1.split(" ").map((u$2) => p(u$2)), k$1 = (e$1, u$2, t) => {
3033
+ const ED = rD(), d$1 = new Set(["\x1B", "›"]), oD = 39, y$1 = "\x07", V$1 = "[", nD = "]", G$1 = "m", _$1 = `${nD}8;;`, z = (e$1) => `${d$1.values().next().value}${V$1}${e$1}${G$1}`, K$1 = (e$1) => `${d$1.values().next().value}${_$1}${e$1}${y$1}`, aD = (e$1) => e$1.split(" ").map((u$2) => p(u$2)), k$1 = (e$1, u$2, t) => {
3034
3034
  const F$1 = [...u$2];
3035
3035
  let s = !1, i$1 = !1, D$1 = p(P$1(e$1[e$1.length - 1]));
3036
3036
  for (const [C$1, n$1] of F$1.entries()) {
3037
3037
  const E = p(n$1);
3038
3038
  if (D$1 + E <= t ? e$1[e$1.length - 1] += n$1 : (e$1.push(n$1), D$1 = 0), d$1.has(n$1) && (s = !0, i$1 = F$1.slice(C$1 + 1).join("").startsWith(_$1)), s) {
3039
- i$1 ? n$1 === y && (s = !1, i$1 = !1) : n$1 === G$1 && (s = !1);
3039
+ i$1 ? n$1 === y$1 && (s = !1, i$1 = !1) : n$1 === G$1 && (s = !1);
3040
3040
  continue;
3041
3041
  }
3042
3042
  D$1 += E, D$1 === t && C$1 < F$1.length - 1 && (e$1.push(""), D$1 = 0);
@@ -3078,7 +3078,7 @@ const ED = rD(), d$1 = new Set(["\x1B", "›"]), oD = 39, y = "\x07", V$1 = "[",
3078
3078
  `)];
3079
3079
  for (const [E, a$1] of n$1.entries()) {
3080
3080
  if (F$1 += a$1, d$1.has(a$1)) {
3081
- const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y})`)).exec(n$1.slice(E).join("")) || { groups: {} };
3081
+ const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y$1})`)).exec(n$1.slice(E).join("")) || { groups: {} };
3082
3082
  if (c$1.code !== void 0) {
3083
3083
  const f = Number.parseFloat(c$1.code);
3084
3084
  s = f === oD ? void 0 : f;
@@ -3479,7 +3479,7 @@ var RD = class extends x$1 {
3479
3479
  //#endregion
3480
3480
  //#region node_modules/@clack/prompts/dist/index.mjs
3481
3481
  function ce() {
3482
- return process$1.platform !== "win32" ? process$1.env.TERM !== "linux" : !!process$1.env.CI || !!process$1.env.WT_SESSION || !!process$1.env.TERMINUS_SUBLIME || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
3482
+ return y.platform !== "win32" ? y.env.TERM !== "linux" : !!y.env.CI || !!y.env.WT_SESSION || !!y.env.TERMINUS_SUBLIME || y.env.ConEmuTask === "{cmd::Cmder}" || y.env.TERM_PROGRAM === "Terminus-Sublime" || y.env.TERM_PROGRAM === "vscode" || y.env.TERM === "xterm-256color" || y.env.TERM === "alacritty" || y.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
3483
3483
  }
3484
3484
  const V = ce(), u$1 = (t, n$1) => V ? t : n$1, le = u$1("◆", "*"), L = u$1("■", "x"), W = u$1("▲", "x"), C = u$1("◇", "o"), ue = u$1("┌", "T"), o$1 = u$1("│", "|"), d = u$1("└", "—"), k = u$1("●", ">"), P = u$1("○", " "), A = u$1("◻", "[•]"), T = u$1("◼", "[+]"), F = u$1("◻", "[ ]"), $e = u$1("▪", "•"), _ = u$1("─", "-"), me = u$1("╮", "+"), de = u$1("├", "+"), pe = u$1("╯", "+"), q = u$1("●", "•"), D = u$1("◆", "*"), U = u$1("▲", "!"), K = u$1("■", "x"), b = (t) => {
3485
3485
  switch (t) {
@@ -6653,7 +6653,7 @@ function initializeContext(params) {
6653
6653
  external: params?.external ?? void 0
6654
6654
  };
6655
6655
  }
6656
- function process$3(schema, ctx, _params = {
6656
+ function process$2(schema, ctx, _params = {
6657
6657
  path: [],
6658
6658
  schemaPath: []
6659
6659
  }) {
@@ -6690,7 +6690,7 @@ function process$3(schema, ctx, _params = {
6690
6690
  const parent = schema._zod.parent;
6691
6691
  if (parent) {
6692
6692
  if (!result.ref) result.ref = parent;
6693
- process$3(parent, ctx, params);
6693
+ process$2(parent, ctx, params);
6694
6694
  ctx.seen.get(parent).isParent = true;
6695
6695
  }
6696
6696
  }
@@ -6902,7 +6902,7 @@ const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {
6902
6902
  ...params,
6903
6903
  processors
6904
6904
  });
6905
- process$3(schema, ctx);
6905
+ process$2(schema, ctx);
6906
6906
  extractDefs(ctx, schema);
6907
6907
  return finalize(ctx, schema);
6908
6908
  };
@@ -6914,7 +6914,7 @@ const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params)
6914
6914
  io,
6915
6915
  processors
6916
6916
  });
6917
- process$3(schema, ctx);
6917
+ process$2(schema, ctx);
6918
6918
  extractDefs(ctx, schema);
6919
6919
  return finalize(ctx, schema);
6920
6920
  };
@@ -7001,7 +7001,7 @@ const arrayProcessor = (schema, ctx, _json, params) => {
7001
7001
  if (typeof minimum === "number") json.minItems = minimum;
7002
7002
  if (typeof maximum === "number") json.maxItems = maximum;
7003
7003
  json.type = "array";
7004
- json.items = process$3(def.element, ctx, {
7004
+ json.items = process$2(def.element, ctx, {
7005
7005
  ...params,
7006
7006
  path: [...params.path, "items"]
7007
7007
  });
@@ -7012,7 +7012,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
7012
7012
  json.type = "object";
7013
7013
  json.properties = {};
7014
7014
  const shape = def.shape;
7015
- for (const key in shape) json.properties[key] = process$3(shape[key], ctx, {
7015
+ for (const key in shape) json.properties[key] = process$2(shape[key], ctx, {
7016
7016
  ...params,
7017
7017
  path: [
7018
7018
  ...params.path,
@@ -7030,7 +7030,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
7030
7030
  if (def.catchall?._zod.def.type === "never") json.additionalProperties = false;
7031
7031
  else if (!def.catchall) {
7032
7032
  if (ctx.io === "output") json.additionalProperties = false;
7033
- } else if (def.catchall) json.additionalProperties = process$3(def.catchall, ctx, {
7033
+ } else if (def.catchall) json.additionalProperties = process$2(def.catchall, ctx, {
7034
7034
  ...params,
7035
7035
  path: [...params.path, "additionalProperties"]
7036
7036
  });
@@ -7038,7 +7038,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
7038
7038
  const unionProcessor = (schema, ctx, json, params) => {
7039
7039
  const def = schema._zod.def;
7040
7040
  const isExclusive = def.inclusive === false;
7041
- const options = def.options.map((x$2, i$1) => process$3(x$2, ctx, {
7041
+ const options = def.options.map((x$2, i$1) => process$2(x$2, ctx, {
7042
7042
  ...params,
7043
7043
  path: [
7044
7044
  ...params.path,
@@ -7051,7 +7051,7 @@ const unionProcessor = (schema, ctx, json, params) => {
7051
7051
  };
7052
7052
  const intersectionProcessor = (schema, ctx, json, params) => {
7053
7053
  const def = schema._zod.def;
7054
- const a$1 = process$3(def.left, ctx, {
7054
+ const a$1 = process$2(def.left, ctx, {
7055
7055
  ...params,
7056
7056
  path: [
7057
7057
  ...params.path,
@@ -7059,7 +7059,7 @@ const intersectionProcessor = (schema, ctx, json, params) => {
7059
7059
  0
7060
7060
  ]
7061
7061
  });
7062
- const b$2 = process$3(def.right, ctx, {
7062
+ const b$2 = process$2(def.right, ctx, {
7063
7063
  ...params,
7064
7064
  path: [
7065
7065
  ...params.path,
@@ -7076,7 +7076,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
7076
7076
  json.type = "array";
7077
7077
  const prefixPath$1 = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
7078
7078
  const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
7079
- const prefixItems = def.items.map((x$2, i$1) => process$3(x$2, ctx, {
7079
+ const prefixItems = def.items.map((x$2, i$1) => process$2(x$2, ctx, {
7080
7080
  ...params,
7081
7081
  path: [
7082
7082
  ...params.path,
@@ -7084,7 +7084,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
7084
7084
  i$1
7085
7085
  ]
7086
7086
  }));
7087
- const rest = def.rest ? process$3(def.rest, ctx, {
7087
+ const rest = def.rest ? process$2(def.rest, ctx, {
7088
7088
  ...params,
7089
7089
  path: [
7090
7090
  ...params.path,
@@ -7110,7 +7110,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
7110
7110
  };
7111
7111
  const nullableProcessor = (schema, ctx, json, params) => {
7112
7112
  const def = schema._zod.def;
7113
- const inner = process$3(def.innerType, ctx, params);
7113
+ const inner = process$2(def.innerType, ctx, params);
7114
7114
  const seen = ctx.seen.get(schema);
7115
7115
  if (ctx.target === "openapi-3.0") {
7116
7116
  seen.ref = def.innerType;
@@ -7119,27 +7119,27 @@ const nullableProcessor = (schema, ctx, json, params) => {
7119
7119
  };
7120
7120
  const nonoptionalProcessor = (schema, ctx, _json, params) => {
7121
7121
  const def = schema._zod.def;
7122
- process$3(def.innerType, ctx, params);
7122
+ process$2(def.innerType, ctx, params);
7123
7123
  const seen = ctx.seen.get(schema);
7124
7124
  seen.ref = def.innerType;
7125
7125
  };
7126
7126
  const defaultProcessor = (schema, ctx, json, params) => {
7127
7127
  const def = schema._zod.def;
7128
- process$3(def.innerType, ctx, params);
7128
+ process$2(def.innerType, ctx, params);
7129
7129
  const seen = ctx.seen.get(schema);
7130
7130
  seen.ref = def.innerType;
7131
7131
  json.default = JSON.parse(JSON.stringify(def.defaultValue));
7132
7132
  };
7133
7133
  const prefaultProcessor = (schema, ctx, json, params) => {
7134
7134
  const def = schema._zod.def;
7135
- process$3(def.innerType, ctx, params);
7135
+ process$2(def.innerType, ctx, params);
7136
7136
  const seen = ctx.seen.get(schema);
7137
7137
  seen.ref = def.innerType;
7138
7138
  if (ctx.io === "input") json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
7139
7139
  };
7140
7140
  const catchProcessor = (schema, ctx, json, params) => {
7141
7141
  const def = schema._zod.def;
7142
- process$3(def.innerType, ctx, params);
7142
+ process$2(def.innerType, ctx, params);
7143
7143
  const seen = ctx.seen.get(schema);
7144
7144
  seen.ref = def.innerType;
7145
7145
  let catchValue;
@@ -7153,20 +7153,20 @@ const catchProcessor = (schema, ctx, json, params) => {
7153
7153
  const pipeProcessor = (schema, ctx, _json, params) => {
7154
7154
  const def = schema._zod.def;
7155
7155
  const innerType = ctx.io === "input" ? def.in._zod.def.type === "transform" ? def.out : def.in : def.out;
7156
- process$3(innerType, ctx, params);
7156
+ process$2(innerType, ctx, params);
7157
7157
  const seen = ctx.seen.get(schema);
7158
7158
  seen.ref = innerType;
7159
7159
  };
7160
7160
  const readonlyProcessor = (schema, ctx, json, params) => {
7161
7161
  const def = schema._zod.def;
7162
- process$3(def.innerType, ctx, params);
7162
+ process$2(def.innerType, ctx, params);
7163
7163
  const seen = ctx.seen.get(schema);
7164
7164
  seen.ref = def.innerType;
7165
7165
  json.readOnly = true;
7166
7166
  };
7167
7167
  const optionalProcessor = (schema, ctx, _json, params) => {
7168
7168
  const def = schema._zod.def;
7169
- process$3(def.innerType, ctx, params);
7169
+ process$2(def.innerType, ctx, params);
7170
7170
  const seen = ctx.seen.get(schema);
7171
7171
  seen.ref = def.innerType;
7172
7172
  };
@@ -16195,7 +16195,7 @@ const createIgnorePredicate = (patterns, cwd, baseDir) => {
16195
16195
  };
16196
16196
  const normalizeOptions$2 = (options = {}) => {
16197
16197
  const ignoreOption = options.ignore ? Array.isArray(options.ignore) ? options.ignore : [options.ignore] : [];
16198
- const cwd = toPath$1(options.cwd) ?? process$1.cwd();
16198
+ const cwd = toPath$1(options.cwd) ?? y.cwd();
16199
16199
  const deep = typeof options.deep === "number" ? Math.max(0, options.deep) + 1 : Number.POSITIVE_INFINITY;
16200
16200
  return {
16201
16201
  cwd,
@@ -16292,7 +16292,7 @@ const getDirectoryGlob = ({ directoryPath, files, extensions }) => {
16292
16292
  const extensionGlob = extensions?.length > 0 ? `.${extensions.length > 1 ? `{${extensions.join(",")}}` : extensions[0]}` : "";
16293
16293
  return files ? files.map((file) => path.posix.join(directoryPath, `**/${path.extname(file) ? file : `${file}${extensionGlob}`}`)) : [path.posix.join(directoryPath, `**${extensionGlob ? `/*${extensionGlob}` : ""}`)];
16294
16294
  };
16295
- const directoryToGlob = async (directoryPaths, { cwd = process$1.cwd(), files, extensions, fs: fsImplementation } = {}) => {
16295
+ const directoryToGlob = async (directoryPaths, { cwd = y.cwd(), files, extensions, fs: fsImplementation } = {}) => {
16296
16296
  return (await Promise.all(directoryPaths.map(async (directoryPath) => {
16297
16297
  if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
16298
16298
  directoryPath,
@@ -16306,7 +16306,7 @@ const directoryToGlob = async (directoryPaths, { cwd = process$1.cwd(), files, e
16306
16306
  }) : directoryPath;
16307
16307
  }))).flat();
16308
16308
  };
16309
- const directoryToGlobSync = (directoryPaths, { cwd = process$1.cwd(), files, extensions, fs: fsImplementation } = {}) => directoryPaths.flatMap((directoryPath) => {
16309
+ const directoryToGlobSync = (directoryPaths, { cwd = y.cwd(), files, extensions, fs: fsImplementation } = {}) => directoryPaths.flatMap((directoryPath) => {
16310
16310
  if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
16311
16311
  directoryPath,
16312
16312
  files,
@@ -16402,7 +16402,7 @@ const applyIgnoreFilesAndGetFilterSync = (options) => {
16402
16402
  };
16403
16403
  const createFilterFunction = (isIgnored, cwd) => {
16404
16404
  const seen = /* @__PURE__ */ new Set();
16405
- const basePath = cwd || process$1.cwd();
16405
+ const basePath = cwd || y.cwd();
16406
16406
  const pathCache = /* @__PURE__ */ new Map();
16407
16407
  return (fastGlobResult) => {
16408
16408
  const pathKey$1 = path.normalize(fastGlobResult.path ?? fastGlobResult);
@@ -16602,8 +16602,517 @@ const DeployFunctionsResponseSchema = object({
16602
16602
  })).nullable()
16603
16603
  });
16604
16604
 
16605
+ //#endregion
16606
+ //#region node_modules/lodash.kebabcase/index.js
16607
+ var require_lodash = /* @__PURE__ */ __commonJSMin(((exports, module) => {
16608
+ /**
16609
+ * lodash (Custom Build) <https://lodash.com/>
16610
+ * Build: `lodash modularize exports="npm" -o ./`
16611
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
16612
+ * Released under MIT license <https://lodash.com/license>
16613
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
16614
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
16615
+ */
16616
+ /** Used as references for various `Number` constants. */
16617
+ var INFINITY = Infinity;
16618
+ /** `Object#toString` result references. */
16619
+ var symbolTag = "[object Symbol]";
16620
+ /** Used to match words composed of alphanumeric characters. */
16621
+ var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
16622
+ /** Used to match Latin Unicode letters (excluding mathematical operators). */
16623
+ var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
16624
+ /** Used to compose unicode character classes. */
16625
+ var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23", rsComboSymbolsRange = "\\u20d0-\\u20f0", rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
16626
+ /** Used to compose unicode capture groups. */
16627
+ var rsApos = "['’]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsModifier = "(?:" + rsCombo + "|\\ud83c[\\udffb-\\udfff])", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d";
16628
+ /** Used to compose unicode regexes. */
16629
+ var rsLowerMisc = "(?:" + rsLower + "|" + rsMisc + ")", rsUpperMisc = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptLowerContr = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?", rsOptUpperContr = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [
16630
+ rsNonAstral,
16631
+ rsRegional,
16632
+ rsSurrPair
16633
+ ].join("|") + ")" + rsOptVar + reOptMod + ")*", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [
16634
+ rsDingbat,
16635
+ rsRegional,
16636
+ rsSurrPair
16637
+ ].join("|") + ")" + rsSeq;
16638
+ /** Used to match apostrophes. */
16639
+ var reApos = RegExp(rsApos, "g");
16640
+ /**
16641
+ * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
16642
+ * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
16643
+ */
16644
+ var reComboMark = RegExp(rsCombo, "g");
16645
+ /** Used to match complex or compound words. */
16646
+ var reUnicodeWord = RegExp([
16647
+ rsUpper + "?" + rsLower + "+" + rsOptLowerContr + "(?=" + [
16648
+ rsBreak,
16649
+ rsUpper,
16650
+ "$"
16651
+ ].join("|") + ")",
16652
+ rsUpperMisc + "+" + rsOptUpperContr + "(?=" + [
16653
+ rsBreak,
16654
+ rsUpper + rsLowerMisc,
16655
+ "$"
16656
+ ].join("|") + ")",
16657
+ rsUpper + "?" + rsLowerMisc + "+" + rsOptLowerContr,
16658
+ rsUpper + "+" + rsOptUpperContr,
16659
+ rsDigits,
16660
+ rsEmoji
16661
+ ].join("|"), "g");
16662
+ /** Used to detect strings that need a more robust regexp to match words. */
16663
+ var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
16664
+ /** Used to map Latin Unicode letters to basic Latin letters. */
16665
+ var deburredLetters = {
16666
+ "À": "A",
16667
+ "Á": "A",
16668
+ "Â": "A",
16669
+ "Ã": "A",
16670
+ "Ä": "A",
16671
+ "Å": "A",
16672
+ "à": "a",
16673
+ "á": "a",
16674
+ "â": "a",
16675
+ "ã": "a",
16676
+ "ä": "a",
16677
+ "å": "a",
16678
+ "Ç": "C",
16679
+ "ç": "c",
16680
+ "Ð": "D",
16681
+ "ð": "d",
16682
+ "È": "E",
16683
+ "É": "E",
16684
+ "Ê": "E",
16685
+ "Ë": "E",
16686
+ "è": "e",
16687
+ "é": "e",
16688
+ "ê": "e",
16689
+ "ë": "e",
16690
+ "Ì": "I",
16691
+ "Í": "I",
16692
+ "Î": "I",
16693
+ "Ï": "I",
16694
+ "ì": "i",
16695
+ "í": "i",
16696
+ "î": "i",
16697
+ "ï": "i",
16698
+ "Ñ": "N",
16699
+ "ñ": "n",
16700
+ "Ò": "O",
16701
+ "Ó": "O",
16702
+ "Ô": "O",
16703
+ "Õ": "O",
16704
+ "Ö": "O",
16705
+ "Ø": "O",
16706
+ "ò": "o",
16707
+ "ó": "o",
16708
+ "ô": "o",
16709
+ "õ": "o",
16710
+ "ö": "o",
16711
+ "ø": "o",
16712
+ "Ù": "U",
16713
+ "Ú": "U",
16714
+ "Û": "U",
16715
+ "Ü": "U",
16716
+ "ù": "u",
16717
+ "ú": "u",
16718
+ "û": "u",
16719
+ "ü": "u",
16720
+ "Ý": "Y",
16721
+ "ý": "y",
16722
+ "ÿ": "y",
16723
+ "Æ": "Ae",
16724
+ "æ": "ae",
16725
+ "Þ": "Th",
16726
+ "þ": "th",
16727
+ "ß": "ss",
16728
+ "Ā": "A",
16729
+ "Ă": "A",
16730
+ "Ą": "A",
16731
+ "ā": "a",
16732
+ "ă": "a",
16733
+ "ą": "a",
16734
+ "Ć": "C",
16735
+ "Ĉ": "C",
16736
+ "Ċ": "C",
16737
+ "Č": "C",
16738
+ "ć": "c",
16739
+ "ĉ": "c",
16740
+ "ċ": "c",
16741
+ "č": "c",
16742
+ "Ď": "D",
16743
+ "Đ": "D",
16744
+ "ď": "d",
16745
+ "đ": "d",
16746
+ "Ē": "E",
16747
+ "Ĕ": "E",
16748
+ "Ė": "E",
16749
+ "Ę": "E",
16750
+ "Ě": "E",
16751
+ "ē": "e",
16752
+ "ĕ": "e",
16753
+ "ė": "e",
16754
+ "ę": "e",
16755
+ "ě": "e",
16756
+ "Ĝ": "G",
16757
+ "Ğ": "G",
16758
+ "Ġ": "G",
16759
+ "Ģ": "G",
16760
+ "ĝ": "g",
16761
+ "ğ": "g",
16762
+ "ġ": "g",
16763
+ "ģ": "g",
16764
+ "Ĥ": "H",
16765
+ "Ħ": "H",
16766
+ "ĥ": "h",
16767
+ "ħ": "h",
16768
+ "Ĩ": "I",
16769
+ "Ī": "I",
16770
+ "Ĭ": "I",
16771
+ "Į": "I",
16772
+ "İ": "I",
16773
+ "ĩ": "i",
16774
+ "ī": "i",
16775
+ "ĭ": "i",
16776
+ "į": "i",
16777
+ "ı": "i",
16778
+ "Ĵ": "J",
16779
+ "ĵ": "j",
16780
+ "Ķ": "K",
16781
+ "ķ": "k",
16782
+ "ĸ": "k",
16783
+ "Ĺ": "L",
16784
+ "Ļ": "L",
16785
+ "Ľ": "L",
16786
+ "Ŀ": "L",
16787
+ "Ł": "L",
16788
+ "ĺ": "l",
16789
+ "ļ": "l",
16790
+ "ľ": "l",
16791
+ "ŀ": "l",
16792
+ "ł": "l",
16793
+ "Ń": "N",
16794
+ "Ņ": "N",
16795
+ "Ň": "N",
16796
+ "Ŋ": "N",
16797
+ "ń": "n",
16798
+ "ņ": "n",
16799
+ "ň": "n",
16800
+ "ŋ": "n",
16801
+ "Ō": "O",
16802
+ "Ŏ": "O",
16803
+ "Ő": "O",
16804
+ "ō": "o",
16805
+ "ŏ": "o",
16806
+ "ő": "o",
16807
+ "Ŕ": "R",
16808
+ "Ŗ": "R",
16809
+ "Ř": "R",
16810
+ "ŕ": "r",
16811
+ "ŗ": "r",
16812
+ "ř": "r",
16813
+ "Ś": "S",
16814
+ "Ŝ": "S",
16815
+ "Ş": "S",
16816
+ "Š": "S",
16817
+ "ś": "s",
16818
+ "ŝ": "s",
16819
+ "ş": "s",
16820
+ "š": "s",
16821
+ "Ţ": "T",
16822
+ "Ť": "T",
16823
+ "Ŧ": "T",
16824
+ "ţ": "t",
16825
+ "ť": "t",
16826
+ "ŧ": "t",
16827
+ "Ũ": "U",
16828
+ "Ū": "U",
16829
+ "Ŭ": "U",
16830
+ "Ů": "U",
16831
+ "Ű": "U",
16832
+ "Ų": "U",
16833
+ "ũ": "u",
16834
+ "ū": "u",
16835
+ "ŭ": "u",
16836
+ "ů": "u",
16837
+ "ű": "u",
16838
+ "ų": "u",
16839
+ "Ŵ": "W",
16840
+ "ŵ": "w",
16841
+ "Ŷ": "Y",
16842
+ "ŷ": "y",
16843
+ "Ÿ": "Y",
16844
+ "Ź": "Z",
16845
+ "Ż": "Z",
16846
+ "Ž": "Z",
16847
+ "ź": "z",
16848
+ "ż": "z",
16849
+ "ž": "z",
16850
+ "IJ": "IJ",
16851
+ "ij": "ij",
16852
+ "Œ": "Oe",
16853
+ "œ": "oe",
16854
+ "ʼn": "'n",
16855
+ "ſ": "ss"
16856
+ };
16857
+ /** Detect free variable `global` from Node.js. */
16858
+ var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
16859
+ /** Detect free variable `self`. */
16860
+ var freeSelf = typeof self == "object" && self && self.Object === Object && self;
16861
+ /** Used as a reference to the global object. */
16862
+ var root = freeGlobal || freeSelf || Function("return this")();
16863
+ /**
16864
+ * A specialized version of `_.reduce` for arrays without support for
16865
+ * iteratee shorthands.
16866
+ *
16867
+ * @private
16868
+ * @param {Array} [array] The array to iterate over.
16869
+ * @param {Function} iteratee The function invoked per iteration.
16870
+ * @param {*} [accumulator] The initial value.
16871
+ * @param {boolean} [initAccum] Specify using the first element of `array` as
16872
+ * the initial value.
16873
+ * @returns {*} Returns the accumulated value.
16874
+ */
16875
+ function arrayReduce(array$1, iteratee, accumulator, initAccum) {
16876
+ var index = -1, length = array$1 ? array$1.length : 0;
16877
+ if (initAccum && length) accumulator = array$1[++index];
16878
+ while (++index < length) accumulator = iteratee(accumulator, array$1[index], index, array$1);
16879
+ return accumulator;
16880
+ }
16881
+ /**
16882
+ * Splits an ASCII `string` into an array of its words.
16883
+ *
16884
+ * @private
16885
+ * @param {string} The string to inspect.
16886
+ * @returns {Array} Returns the words of `string`.
16887
+ */
16888
+ function asciiWords(string$2) {
16889
+ return string$2.match(reAsciiWord) || [];
16890
+ }
16891
+ /**
16892
+ * The base implementation of `_.propertyOf` without support for deep paths.
16893
+ *
16894
+ * @private
16895
+ * @param {Object} object The object to query.
16896
+ * @returns {Function} Returns the new accessor function.
16897
+ */
16898
+ function basePropertyOf(object$1) {
16899
+ return function(key) {
16900
+ return object$1 == null ? void 0 : object$1[key];
16901
+ };
16902
+ }
16903
+ /**
16904
+ * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
16905
+ * letters to basic Latin letters.
16906
+ *
16907
+ * @private
16908
+ * @param {string} letter The matched letter to deburr.
16909
+ * @returns {string} Returns the deburred letter.
16910
+ */
16911
+ var deburrLetter = basePropertyOf(deburredLetters);
16912
+ /**
16913
+ * Checks if `string` contains a word composed of Unicode symbols.
16914
+ *
16915
+ * @private
16916
+ * @param {string} string The string to inspect.
16917
+ * @returns {boolean} Returns `true` if a word is found, else `false`.
16918
+ */
16919
+ function hasUnicodeWord(string$2) {
16920
+ return reHasUnicodeWord.test(string$2);
16921
+ }
16922
+ /**
16923
+ * Splits a Unicode `string` into an array of its words.
16924
+ *
16925
+ * @private
16926
+ * @param {string} The string to inspect.
16927
+ * @returns {Array} Returns the words of `string`.
16928
+ */
16929
+ function unicodeWords(string$2) {
16930
+ return string$2.match(reUnicodeWord) || [];
16931
+ }
16932
+ /**
16933
+ * Used to resolve the
16934
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
16935
+ * of values.
16936
+ */
16937
+ var objectToString = Object.prototype.toString;
16938
+ /** Built-in value references. */
16939
+ var Symbol = root.Symbol;
16940
+ /** Used to convert symbols to primitives and strings. */
16941
+ var symbolProto = Symbol ? Symbol.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
16942
+ /**
16943
+ * The base implementation of `_.toString` which doesn't convert nullish
16944
+ * values to empty strings.
16945
+ *
16946
+ * @private
16947
+ * @param {*} value The value to process.
16948
+ * @returns {string} Returns the string.
16949
+ */
16950
+ function baseToString(value) {
16951
+ if (typeof value == "string") return value;
16952
+ if (isSymbol(value)) return symbolToString ? symbolToString.call(value) : "";
16953
+ var result = value + "";
16954
+ return result == "0" && 1 / value == -INFINITY ? "-0" : result;
16955
+ }
16956
+ /**
16957
+ * Creates a function like `_.camelCase`.
16958
+ *
16959
+ * @private
16960
+ * @param {Function} callback The function to combine each word.
16961
+ * @returns {Function} Returns the new compounder function.
16962
+ */
16963
+ function createCompounder(callback) {
16964
+ return function(string$2) {
16965
+ return arrayReduce(words(deburr(string$2).replace(reApos, "")), callback, "");
16966
+ };
16967
+ }
16968
+ /**
16969
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
16970
+ * and has a `typeof` result of "object".
16971
+ *
16972
+ * @static
16973
+ * @memberOf _
16974
+ * @since 4.0.0
16975
+ * @category Lang
16976
+ * @param {*} value The value to check.
16977
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
16978
+ * @example
16979
+ *
16980
+ * _.isObjectLike({});
16981
+ * // => true
16982
+ *
16983
+ * _.isObjectLike([1, 2, 3]);
16984
+ * // => true
16985
+ *
16986
+ * _.isObjectLike(_.noop);
16987
+ * // => false
16988
+ *
16989
+ * _.isObjectLike(null);
16990
+ * // => false
16991
+ */
16992
+ function isObjectLike(value) {
16993
+ return !!value && typeof value == "object";
16994
+ }
16995
+ /**
16996
+ * Checks if `value` is classified as a `Symbol` primitive or object.
16997
+ *
16998
+ * @static
16999
+ * @memberOf _
17000
+ * @since 4.0.0
17001
+ * @category Lang
17002
+ * @param {*} value The value to check.
17003
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
17004
+ * @example
17005
+ *
17006
+ * _.isSymbol(Symbol.iterator);
17007
+ * // => true
17008
+ *
17009
+ * _.isSymbol('abc');
17010
+ * // => false
17011
+ */
17012
+ function isSymbol(value) {
17013
+ return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
17014
+ }
17015
+ /**
17016
+ * Converts `value` to a string. An empty string is returned for `null`
17017
+ * and `undefined` values. The sign of `-0` is preserved.
17018
+ *
17019
+ * @static
17020
+ * @memberOf _
17021
+ * @since 4.0.0
17022
+ * @category Lang
17023
+ * @param {*} value The value to process.
17024
+ * @returns {string} Returns the string.
17025
+ * @example
17026
+ *
17027
+ * _.toString(null);
17028
+ * // => ''
17029
+ *
17030
+ * _.toString(-0);
17031
+ * // => '-0'
17032
+ *
17033
+ * _.toString([1, 2, 3]);
17034
+ * // => '1,2,3'
17035
+ */
17036
+ function toString(value) {
17037
+ return value == null ? "" : baseToString(value);
17038
+ }
17039
+ /**
17040
+ * Deburrs `string` by converting
17041
+ * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
17042
+ * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)
17043
+ * letters to basic Latin letters and removing
17044
+ * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
17045
+ *
17046
+ * @static
17047
+ * @memberOf _
17048
+ * @since 3.0.0
17049
+ * @category String
17050
+ * @param {string} [string=''] The string to deburr.
17051
+ * @returns {string} Returns the deburred string.
17052
+ * @example
17053
+ *
17054
+ * _.deburr('déjà vu');
17055
+ * // => 'deja vu'
17056
+ */
17057
+ function deburr(string$2) {
17058
+ string$2 = toString(string$2);
17059
+ return string$2 && string$2.replace(reLatin, deburrLetter).replace(reComboMark, "");
17060
+ }
17061
+ /**
17062
+ * Converts `string` to
17063
+ * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
17064
+ *
17065
+ * @static
17066
+ * @memberOf _
17067
+ * @since 3.0.0
17068
+ * @category String
17069
+ * @param {string} [string=''] The string to convert.
17070
+ * @returns {string} Returns the kebab cased string.
17071
+ * @example
17072
+ *
17073
+ * _.kebabCase('Foo Bar');
17074
+ * // => 'foo-bar'
17075
+ *
17076
+ * _.kebabCase('fooBar');
17077
+ * // => 'foo-bar'
17078
+ *
17079
+ * _.kebabCase('__FOO_BAR__');
17080
+ * // => 'foo-bar'
17081
+ */
17082
+ var kebabCase = createCompounder(function(result, word, index) {
17083
+ return result + (index ? "-" : "") + word.toLowerCase();
17084
+ });
17085
+ /**
17086
+ * Splits `string` into an array of its words.
17087
+ *
17088
+ * @static
17089
+ * @memberOf _
17090
+ * @since 3.0.0
17091
+ * @category String
17092
+ * @param {string} [string=''] The string to inspect.
17093
+ * @param {RegExp|string} [pattern] The pattern to match words.
17094
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
17095
+ * @returns {Array} Returns the words of `string`.
17096
+ * @example
17097
+ *
17098
+ * _.words('fred, barney, & pebbles');
17099
+ * // => ['fred', 'barney', 'pebbles']
17100
+ *
17101
+ * _.words('fred, barney, & pebbles', /[^, ]+/g);
17102
+ * // => ['fred', 'barney', '&', 'pebbles']
17103
+ */
17104
+ function words(string$2, pattern, guard) {
17105
+ string$2 = toString(string$2);
17106
+ pattern = guard ? void 0 : pattern;
17107
+ if (pattern === void 0) return hasUnicodeWord(string$2) ? unicodeWords(string$2) : asciiWords(string$2);
17108
+ return string$2.match(pattern) || [];
17109
+ }
17110
+ module.exports = kebabCase;
17111
+ }));
17112
+
16605
17113
  //#endregion
16606
17114
  //#region src/core/resources/function/config.ts
17115
+ var import_lodash = /* @__PURE__ */ __toESM(require_lodash(), 1);
16607
17116
  async function readFunctionConfig(configPath) {
16608
17117
  const parsed = await readJsonFile(configPath);
16609
17118
  const result = FunctionConfigSchema.safeParse(parsed);
@@ -16622,13 +17131,38 @@ async function readFunction(configPath) {
16622
17131
  if (!result.success) throw new Error(`Invalid function in ${configPath}: ${result.error.message}`);
16623
17132
  return result.data;
16624
17133
  }
17134
+ /**
17135
+ * Creates a function from a directory without a config file.
17136
+ * Looks for index.ts and uses the folder name as the function name.
17137
+ */
17138
+ async function readFunctionFromDirectory(functionDir) {
17139
+ const indexPath = join(functionDir, "index.ts");
17140
+ if (!await pathExists(indexPath)) return null;
17141
+ const functionData = {
17142
+ name: (0, import_lodash.default)(basename(functionDir)),
17143
+ entry: "index.ts",
17144
+ codePath: indexPath
17145
+ };
17146
+ const result = FunctionSchema.safeParse(functionData);
17147
+ if (!result.success) throw new Error(`Invalid auto-detected function in ${functionDir}: ${result.error.message}`);
17148
+ return result.data;
17149
+ }
16625
17150
  async function readAllFunctions(functionsDir) {
16626
17151
  if (!await pathExists(functionsDir)) return [];
16627
17152
  const configFiles = await globby(`*/${FUNCTION_CONFIG_FILE}`, {
16628
17153
  cwd: functionsDir,
16629
17154
  absolute: true
16630
17155
  });
16631
- const functions = await Promise.all(configFiles.map((configPath) => readFunction(configPath)));
17156
+ const functionsWithConfig = await Promise.all(configFiles.map((configPath) => readFunction(configPath)));
17157
+ const allDirs = await globby("*/", {
17158
+ cwd: functionsDir,
17159
+ absolute: true,
17160
+ onlyDirectories: true
17161
+ });
17162
+ const dirsWithConfig = new Set(configFiles.map((configPath) => dirname(configPath)));
17163
+ const dirsWithoutConfig = allDirs.filter((dir) => !dirsWithConfig.has(dir));
17164
+ const autoDetectedFunctions = (await Promise.all(dirsWithoutConfig.map((dir) => readFunctionFromDirectory(dir)))).filter((fn) => fn !== null);
17165
+ const functions = [...functionsWithConfig, ...autoDetectedFunctions];
16632
17166
  const names = /* @__PURE__ */ new Set();
16633
17167
  for (const fn of functions) {
16634
17168
  if (names.has(fn.name)) throw new Error(`Duplicate function name "${fn.name}"`);
@@ -30771,13 +31305,13 @@ var ansi_styles_default = ansiStyles;
30771
31305
 
30772
31306
  //#endregion
30773
31307
  //#region node_modules/chalk/source/vendor/supports-color/index.js
30774
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process$1.argv) {
31308
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : y.argv) {
30775
31309
  const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
30776
31310
  const position = argv.indexOf(prefix + flag);
30777
31311
  const terminatorPosition = argv.indexOf("--");
30778
31312
  return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
30779
31313
  }
30780
- const { env } = process$1;
31314
+ const { env } = y;
30781
31315
  let flagForceColor;
30782
31316
  if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) flagForceColor = 0;
30783
31317
  else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) flagForceColor = 1;
@@ -30810,7 +31344,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
30810
31344
  if (haveStream && !streamIsTTY && forceColor === void 0) return 0;
30811
31345
  const min = forceColor || 0;
30812
31346
  if (env.TERM === "dumb") return min;
30813
- if (process$1.platform === "win32") {
31347
+ if (y.platform === "win32") {
30814
31348
  const osRelease = os.release().split(".");
30815
31349
  if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
30816
31350
  return 1;
@@ -31549,9 +32083,9 @@ const getSubprocessResult = ({ stdout: stdout$1 }) => {
31549
32083
  //#region node_modules/execa/lib/utils/standard-stream.js
31550
32084
  const isStandardStream = (stream) => STANDARD_STREAMS.includes(stream);
31551
32085
  const STANDARD_STREAMS = [
31552
- process$1.stdin,
31553
- process$1.stdout,
31554
- process$1.stderr
32086
+ y.stdin,
32087
+ y.stdout,
32088
+ y.stderr
31555
32089
  ];
31556
32090
  const STANDARD_STREAMS_ALIASES = [
31557
32091
  "stdin",
@@ -31676,9 +32210,9 @@ const NO_ESCAPE_REGEXP = /^[\w./-]+$/;
31676
32210
  //#endregion
31677
32211
  //#region node_modules/is-unicode-supported/index.js
31678
32212
  function isUnicodeSupported() {
31679
- const { env: env$1 } = process$1;
32213
+ const { env: env$1 } = y;
31680
32214
  const { TERM, TERM_PROGRAM } = env$1;
31681
- if (process$1.platform !== "win32") return TERM !== "linux";
32215
+ if (y.platform !== "win32") return TERM !== "linux";
31682
32216
  return Boolean(env$1.WT_SESSION) || Boolean(env$1.TERMINUS_SUBLIME) || env$1.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env$1.TERMINAL_EMULATOR === "JetBrains-JediTerm";
31683
32217
  }
31684
32218
 
@@ -32605,7 +33139,7 @@ const TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024;
32605
33139
 
32606
33140
  //#endregion
32607
33141
  //#region node_modules/npm-run-path/index.js
32608
- const npmRunPath = ({ cwd = process$1.cwd(), path: pathOption = process$1.env[pathKey()], preferLocal = true, execPath: execPath$1 = process$1.execPath, addExecPath = true } = {}) => {
33142
+ const npmRunPath = ({ cwd = y.cwd(), path: pathOption = y.env[pathKey()], preferLocal = true, execPath: execPath$1 = y.execPath, addExecPath = true } = {}) => {
32609
33143
  const cwdPath = path.resolve(toPath(cwd));
32610
33144
  const result = [];
32611
33145
  const pathParts = pathOption.split(path.delimiter);
@@ -32623,7 +33157,7 @@ const applyExecPath = (result, pathParts, execPath$1, cwdPath) => {
32623
33157
  const pathPart = path.resolve(cwdPath, toPath(execPath$1), "..");
32624
33158
  if (!pathParts.includes(pathPart)) result.push(pathPart);
32625
33159
  };
32626
- const npmRunPathEnv = ({ env: env$1 = process$1.env, ...options } = {}) => {
33160
+ const npmRunPathEnv = ({ env: env$1 = y.env, ...options } = {}) => {
32627
33161
  env$1 = { ...env$1 };
32628
33162
  const pathName = pathKey({ env: env$1 });
32629
33163
  options.path = env$1[pathName];
@@ -33758,7 +34292,7 @@ const normalizeCwd = (cwd = getDefaultCwd()) => {
33758
34292
  };
33759
34293
  const getDefaultCwd = () => {
33760
34294
  try {
33761
- return process$1.cwd();
34295
+ return y.cwd();
33762
34296
  } catch (error) {
33763
34297
  error.message = `The current directory does not exist.\n${error.message}`;
33764
34298
  throw error;
@@ -33793,7 +34327,7 @@ const normalizeOptions = (filePath, rawArguments, rawOptions) => {
33793
34327
  options.killSignal = normalizeKillSignal(options.killSignal);
33794
34328
  options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
33795
34329
  options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
33796
- if (process$1.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
34330
+ if (y.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
33797
34331
  return {
33798
34332
  file,
33799
34333
  commandArguments,
@@ -33820,7 +34354,7 @@ const addDefaultOptions = ({ extendEnv = true, preferLocal = false, cwd, localDi
33820
34354
  });
33821
34355
  const getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
33822
34356
  const env$1 = extendEnv ? {
33823
- ...process$1.env,
34357
+ ...y.env,
33824
34358
  ...envOption
33825
34359
  } : envOption;
33826
34360
  if (preferLocal || node) return npmRunPathEnv({
@@ -34820,12 +35354,12 @@ const guessStreamDirection = {
34820
35354
  }
34821
35355
  };
34822
35356
  const getStandardStreamDirection = (value) => {
34823
- if ([0, process$1.stdin].includes(value)) return "input";
35357
+ if ([0, y.stdin].includes(value)) return "input";
34824
35358
  if ([
34825
35359
  1,
34826
35360
  2,
34827
- process$1.stdout,
34828
- process$1.stderr
35361
+ y.stdout,
35362
+ y.stderr
34829
35363
  ].includes(value)) return "output";
34830
35364
  };
34831
35365
  const DEFAULT_DIRECTION = "output";
@@ -35889,9 +36423,9 @@ const addIpcMethods = (subprocess, { ipc }) => {
35889
36423
  Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
35890
36424
  };
35891
36425
  const getIpcExport = () => {
35892
- const anyProcess = process$1;
36426
+ const anyProcess = y;
35893
36427
  const isSubprocess = true;
35894
- const ipc = process$1.channel !== void 0;
36428
+ const ipc = y.channel !== void 0;
35895
36429
  return {
35896
36430
  ...getIpcMethods(anyProcess, isSubprocess, ipc),
35897
36431
  getCancelSignal: getCancelSignal$1.bind(void 0, {
@@ -36133,7 +36667,7 @@ if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SI
36133
36667
 
36134
36668
  //#endregion
36135
36669
  //#region node_modules/signal-exit/dist/mjs/index.js
36136
- const processOk = (process$5) => !!process$5 && typeof process$5 === "object" && typeof process$5.removeListener === "function" && typeof process$5.emit === "function" && typeof process$5.reallyExit === "function" && typeof process$5.listeners === "function" && typeof process$5.kill === "function" && typeof process$5.pid === "number" && typeof process$5.on === "function";
36670
+ const processOk = (process$4) => !!process$4 && typeof process$4 === "object" && typeof process$4.removeListener === "function" && typeof process$4.emit === "function" && typeof process$4.reallyExit === "function" && typeof process$4.listeners === "function" && typeof process$4.kill === "function" && typeof process$4.pid === "number" && typeof process$4.on === "function";
36137
36671
  const kExitEmitter = Symbol.for("signal-exit emitter");
36138
36672
  const global$1 = globalThis;
36139
36673
  const ObjectDefineProperty = Object.defineProperty.bind(Object);
@@ -36201,7 +36735,7 @@ var SignalExitFallback = class extends SignalExitBase {
36201
36735
  };
36202
36736
  var SignalExit = class extends SignalExitBase {
36203
36737
  /* c8 ignore start */
36204
- #hupSig = process$2.platform === "win32" ? "SIGINT" : "SIGHUP";
36738
+ #hupSig = process$1.platform === "win32" ? "SIGINT" : "SIGHUP";
36205
36739
  /* c8 ignore stop */
36206
36740
  #emitter = new Emitter();
36207
36741
  #process;
@@ -36209,15 +36743,15 @@ var SignalExit = class extends SignalExitBase {
36209
36743
  #originalProcessReallyExit;
36210
36744
  #sigListeners = {};
36211
36745
  #loaded = false;
36212
- constructor(process$5) {
36746
+ constructor(process$4) {
36213
36747
  super();
36214
- this.#process = process$5;
36748
+ this.#process = process$4;
36215
36749
  this.#sigListeners = {};
36216
36750
  for (const sig of signals) this.#sigListeners[sig] = () => {
36217
36751
  const listeners = this.#process.listeners(sig);
36218
36752
  let { count: count$1 } = this.#emitter;
36219
36753
  /* c8 ignore start */
36220
- const p$1 = process$5;
36754
+ const p$1 = process$4;
36221
36755
  if (typeof p$1.__signal_exit_emitter__ === "object" && typeof p$1.__signal_exit_emitter__.count === "number") count$1 += p$1.__signal_exit_emitter__.count;
36222
36756
  /* c8 ignore stop */
36223
36757
  if (listeners.length === count$1) {
@@ -36225,11 +36759,11 @@ var SignalExit = class extends SignalExitBase {
36225
36759
  const ret = this.#emitter.emit("exit", null, sig);
36226
36760
  /* c8 ignore start */
36227
36761
  const s = sig === "SIGHUP" ? this.#hupSig : sig;
36228
- if (!ret) process$5.kill(process$5.pid, s);
36762
+ if (!ret) process$4.kill(process$4.pid, s);
36229
36763
  }
36230
36764
  };
36231
- this.#originalProcessReallyExit = process$5.reallyExit;
36232
- this.#originalProcessEmit = process$5.emit;
36765
+ this.#originalProcessReallyExit = process$4.reallyExit;
36766
+ this.#originalProcessEmit = process$4.emit;
36233
36767
  }
36234
36768
  onExit(cb, opts) {
36235
36769
  /* c8 ignore start */
@@ -36296,8 +36830,8 @@ var SignalExit = class extends SignalExitBase {
36296
36830
  } else return og.call(this.#process, ev, ...args);
36297
36831
  }
36298
36832
  };
36299
- const process$2 = globalThis.process;
36300
- const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
36833
+ const process$1 = globalThis.process;
36834
+ const { onExit, load, unload } = signalExitWrap(processOk(process$1) ? new SignalExit(process$1) : new SignalExitFallback());
36301
36835
 
36302
36836
  //#endregion
36303
36837
  //#region node_modules/execa/lib/terminate/cleanup.js
@@ -37536,517 +38070,8 @@ const execaNode = createExeca(mapNode);
37536
38070
  const $ = createExeca(mapScriptAsync, {}, deepScriptOptions, setScriptSync);
37537
38071
  const { sendMessage, getOneMessage, getEachMessage, getCancelSignal } = getIpcExport();
37538
38072
 
37539
- //#endregion
37540
- //#region node_modules/lodash.kebabcase/index.js
37541
- var require_lodash = /* @__PURE__ */ __commonJSMin(((exports, module) => {
37542
- /**
37543
- * lodash (Custom Build) <https://lodash.com/>
37544
- * Build: `lodash modularize exports="npm" -o ./`
37545
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
37546
- * Released under MIT license <https://lodash.com/license>
37547
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
37548
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
37549
- */
37550
- /** Used as references for various `Number` constants. */
37551
- var INFINITY = Infinity;
37552
- /** `Object#toString` result references. */
37553
- var symbolTag = "[object Symbol]";
37554
- /** Used to match words composed of alphanumeric characters. */
37555
- var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
37556
- /** Used to match Latin Unicode letters (excluding mathematical operators). */
37557
- var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
37558
- /** Used to compose unicode character classes. */
37559
- var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23", rsComboSymbolsRange = "\\u20d0-\\u20f0", rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
37560
- /** Used to compose unicode capture groups. */
37561
- var rsApos = "['’]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsModifier = "(?:" + rsCombo + "|\\ud83c[\\udffb-\\udfff])", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d";
37562
- /** Used to compose unicode regexes. */
37563
- var rsLowerMisc = "(?:" + rsLower + "|" + rsMisc + ")", rsUpperMisc = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptLowerContr = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?", rsOptUpperContr = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [
37564
- rsNonAstral,
37565
- rsRegional,
37566
- rsSurrPair
37567
- ].join("|") + ")" + rsOptVar + reOptMod + ")*", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [
37568
- rsDingbat,
37569
- rsRegional,
37570
- rsSurrPair
37571
- ].join("|") + ")" + rsSeq;
37572
- /** Used to match apostrophes. */
37573
- var reApos = RegExp(rsApos, "g");
37574
- /**
37575
- * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
37576
- * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
37577
- */
37578
- var reComboMark = RegExp(rsCombo, "g");
37579
- /** Used to match complex or compound words. */
37580
- var reUnicodeWord = RegExp([
37581
- rsUpper + "?" + rsLower + "+" + rsOptLowerContr + "(?=" + [
37582
- rsBreak,
37583
- rsUpper,
37584
- "$"
37585
- ].join("|") + ")",
37586
- rsUpperMisc + "+" + rsOptUpperContr + "(?=" + [
37587
- rsBreak,
37588
- rsUpper + rsLowerMisc,
37589
- "$"
37590
- ].join("|") + ")",
37591
- rsUpper + "?" + rsLowerMisc + "+" + rsOptLowerContr,
37592
- rsUpper + "+" + rsOptUpperContr,
37593
- rsDigits,
37594
- rsEmoji
37595
- ].join("|"), "g");
37596
- /** Used to detect strings that need a more robust regexp to match words. */
37597
- var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
37598
- /** Used to map Latin Unicode letters to basic Latin letters. */
37599
- var deburredLetters = {
37600
- "À": "A",
37601
- "Á": "A",
37602
- "Â": "A",
37603
- "Ã": "A",
37604
- "Ä": "A",
37605
- "Å": "A",
37606
- "à": "a",
37607
- "á": "a",
37608
- "â": "a",
37609
- "ã": "a",
37610
- "ä": "a",
37611
- "å": "a",
37612
- "Ç": "C",
37613
- "ç": "c",
37614
- "Ð": "D",
37615
- "ð": "d",
37616
- "È": "E",
37617
- "É": "E",
37618
- "Ê": "E",
37619
- "Ë": "E",
37620
- "è": "e",
37621
- "é": "e",
37622
- "ê": "e",
37623
- "ë": "e",
37624
- "Ì": "I",
37625
- "Í": "I",
37626
- "Î": "I",
37627
- "Ï": "I",
37628
- "ì": "i",
37629
- "í": "i",
37630
- "î": "i",
37631
- "ï": "i",
37632
- "Ñ": "N",
37633
- "ñ": "n",
37634
- "Ò": "O",
37635
- "Ó": "O",
37636
- "Ô": "O",
37637
- "Õ": "O",
37638
- "Ö": "O",
37639
- "Ø": "O",
37640
- "ò": "o",
37641
- "ó": "o",
37642
- "ô": "o",
37643
- "õ": "o",
37644
- "ö": "o",
37645
- "ø": "o",
37646
- "Ù": "U",
37647
- "Ú": "U",
37648
- "Û": "U",
37649
- "Ü": "U",
37650
- "ù": "u",
37651
- "ú": "u",
37652
- "û": "u",
37653
- "ü": "u",
37654
- "Ý": "Y",
37655
- "ý": "y",
37656
- "ÿ": "y",
37657
- "Æ": "Ae",
37658
- "æ": "ae",
37659
- "Þ": "Th",
37660
- "þ": "th",
37661
- "ß": "ss",
37662
- "Ā": "A",
37663
- "Ă": "A",
37664
- "Ą": "A",
37665
- "ā": "a",
37666
- "ă": "a",
37667
- "ą": "a",
37668
- "Ć": "C",
37669
- "Ĉ": "C",
37670
- "Ċ": "C",
37671
- "Č": "C",
37672
- "ć": "c",
37673
- "ĉ": "c",
37674
- "ċ": "c",
37675
- "č": "c",
37676
- "Ď": "D",
37677
- "Đ": "D",
37678
- "ď": "d",
37679
- "đ": "d",
37680
- "Ē": "E",
37681
- "Ĕ": "E",
37682
- "Ė": "E",
37683
- "Ę": "E",
37684
- "Ě": "E",
37685
- "ē": "e",
37686
- "ĕ": "e",
37687
- "ė": "e",
37688
- "ę": "e",
37689
- "ě": "e",
37690
- "Ĝ": "G",
37691
- "Ğ": "G",
37692
- "Ġ": "G",
37693
- "Ģ": "G",
37694
- "ĝ": "g",
37695
- "ğ": "g",
37696
- "ġ": "g",
37697
- "ģ": "g",
37698
- "Ĥ": "H",
37699
- "Ħ": "H",
37700
- "ĥ": "h",
37701
- "ħ": "h",
37702
- "Ĩ": "I",
37703
- "Ī": "I",
37704
- "Ĭ": "I",
37705
- "Į": "I",
37706
- "İ": "I",
37707
- "ĩ": "i",
37708
- "ī": "i",
37709
- "ĭ": "i",
37710
- "į": "i",
37711
- "ı": "i",
37712
- "Ĵ": "J",
37713
- "ĵ": "j",
37714
- "Ķ": "K",
37715
- "ķ": "k",
37716
- "ĸ": "k",
37717
- "Ĺ": "L",
37718
- "Ļ": "L",
37719
- "Ľ": "L",
37720
- "Ŀ": "L",
37721
- "Ł": "L",
37722
- "ĺ": "l",
37723
- "ļ": "l",
37724
- "ľ": "l",
37725
- "ŀ": "l",
37726
- "ł": "l",
37727
- "Ń": "N",
37728
- "Ņ": "N",
37729
- "Ň": "N",
37730
- "Ŋ": "N",
37731
- "ń": "n",
37732
- "ņ": "n",
37733
- "ň": "n",
37734
- "ŋ": "n",
37735
- "Ō": "O",
37736
- "Ŏ": "O",
37737
- "Ő": "O",
37738
- "ō": "o",
37739
- "ŏ": "o",
37740
- "ő": "o",
37741
- "Ŕ": "R",
37742
- "Ŗ": "R",
37743
- "Ř": "R",
37744
- "ŕ": "r",
37745
- "ŗ": "r",
37746
- "ř": "r",
37747
- "Ś": "S",
37748
- "Ŝ": "S",
37749
- "Ş": "S",
37750
- "Š": "S",
37751
- "ś": "s",
37752
- "ŝ": "s",
37753
- "ş": "s",
37754
- "š": "s",
37755
- "Ţ": "T",
37756
- "Ť": "T",
37757
- "Ŧ": "T",
37758
- "ţ": "t",
37759
- "ť": "t",
37760
- "ŧ": "t",
37761
- "Ũ": "U",
37762
- "Ū": "U",
37763
- "Ŭ": "U",
37764
- "Ů": "U",
37765
- "Ű": "U",
37766
- "Ų": "U",
37767
- "ũ": "u",
37768
- "ū": "u",
37769
- "ŭ": "u",
37770
- "ů": "u",
37771
- "ű": "u",
37772
- "ų": "u",
37773
- "Ŵ": "W",
37774
- "ŵ": "w",
37775
- "Ŷ": "Y",
37776
- "ŷ": "y",
37777
- "Ÿ": "Y",
37778
- "Ź": "Z",
37779
- "Ż": "Z",
37780
- "Ž": "Z",
37781
- "ź": "z",
37782
- "ż": "z",
37783
- "ž": "z",
37784
- "IJ": "IJ",
37785
- "ij": "ij",
37786
- "Œ": "Oe",
37787
- "œ": "oe",
37788
- "ʼn": "'n",
37789
- "ſ": "ss"
37790
- };
37791
- /** Detect free variable `global` from Node.js. */
37792
- var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
37793
- /** Detect free variable `self`. */
37794
- var freeSelf = typeof self == "object" && self && self.Object === Object && self;
37795
- /** Used as a reference to the global object. */
37796
- var root = freeGlobal || freeSelf || Function("return this")();
37797
- /**
37798
- * A specialized version of `_.reduce` for arrays without support for
37799
- * iteratee shorthands.
37800
- *
37801
- * @private
37802
- * @param {Array} [array] The array to iterate over.
37803
- * @param {Function} iteratee The function invoked per iteration.
37804
- * @param {*} [accumulator] The initial value.
37805
- * @param {boolean} [initAccum] Specify using the first element of `array` as
37806
- * the initial value.
37807
- * @returns {*} Returns the accumulated value.
37808
- */
37809
- function arrayReduce(array$1, iteratee, accumulator, initAccum) {
37810
- var index = -1, length = array$1 ? array$1.length : 0;
37811
- if (initAccum && length) accumulator = array$1[++index];
37812
- while (++index < length) accumulator = iteratee(accumulator, array$1[index], index, array$1);
37813
- return accumulator;
37814
- }
37815
- /**
37816
- * Splits an ASCII `string` into an array of its words.
37817
- *
37818
- * @private
37819
- * @param {string} The string to inspect.
37820
- * @returns {Array} Returns the words of `string`.
37821
- */
37822
- function asciiWords(string$2) {
37823
- return string$2.match(reAsciiWord) || [];
37824
- }
37825
- /**
37826
- * The base implementation of `_.propertyOf` without support for deep paths.
37827
- *
37828
- * @private
37829
- * @param {Object} object The object to query.
37830
- * @returns {Function} Returns the new accessor function.
37831
- */
37832
- function basePropertyOf(object$1) {
37833
- return function(key) {
37834
- return object$1 == null ? void 0 : object$1[key];
37835
- };
37836
- }
37837
- /**
37838
- * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
37839
- * letters to basic Latin letters.
37840
- *
37841
- * @private
37842
- * @param {string} letter The matched letter to deburr.
37843
- * @returns {string} Returns the deburred letter.
37844
- */
37845
- var deburrLetter = basePropertyOf(deburredLetters);
37846
- /**
37847
- * Checks if `string` contains a word composed of Unicode symbols.
37848
- *
37849
- * @private
37850
- * @param {string} string The string to inspect.
37851
- * @returns {boolean} Returns `true` if a word is found, else `false`.
37852
- */
37853
- function hasUnicodeWord(string$2) {
37854
- return reHasUnicodeWord.test(string$2);
37855
- }
37856
- /**
37857
- * Splits a Unicode `string` into an array of its words.
37858
- *
37859
- * @private
37860
- * @param {string} The string to inspect.
37861
- * @returns {Array} Returns the words of `string`.
37862
- */
37863
- function unicodeWords(string$2) {
37864
- return string$2.match(reUnicodeWord) || [];
37865
- }
37866
- /**
37867
- * Used to resolve the
37868
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
37869
- * of values.
37870
- */
37871
- var objectToString = Object.prototype.toString;
37872
- /** Built-in value references. */
37873
- var Symbol = root.Symbol;
37874
- /** Used to convert symbols to primitives and strings. */
37875
- var symbolProto = Symbol ? Symbol.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
37876
- /**
37877
- * The base implementation of `_.toString` which doesn't convert nullish
37878
- * values to empty strings.
37879
- *
37880
- * @private
37881
- * @param {*} value The value to process.
37882
- * @returns {string} Returns the string.
37883
- */
37884
- function baseToString(value) {
37885
- if (typeof value == "string") return value;
37886
- if (isSymbol(value)) return symbolToString ? symbolToString.call(value) : "";
37887
- var result = value + "";
37888
- return result == "0" && 1 / value == -INFINITY ? "-0" : result;
37889
- }
37890
- /**
37891
- * Creates a function like `_.camelCase`.
37892
- *
37893
- * @private
37894
- * @param {Function} callback The function to combine each word.
37895
- * @returns {Function} Returns the new compounder function.
37896
- */
37897
- function createCompounder(callback) {
37898
- return function(string$2) {
37899
- return arrayReduce(words(deburr(string$2).replace(reApos, "")), callback, "");
37900
- };
37901
- }
37902
- /**
37903
- * Checks if `value` is object-like. A value is object-like if it's not `null`
37904
- * and has a `typeof` result of "object".
37905
- *
37906
- * @static
37907
- * @memberOf _
37908
- * @since 4.0.0
37909
- * @category Lang
37910
- * @param {*} value The value to check.
37911
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
37912
- * @example
37913
- *
37914
- * _.isObjectLike({});
37915
- * // => true
37916
- *
37917
- * _.isObjectLike([1, 2, 3]);
37918
- * // => true
37919
- *
37920
- * _.isObjectLike(_.noop);
37921
- * // => false
37922
- *
37923
- * _.isObjectLike(null);
37924
- * // => false
37925
- */
37926
- function isObjectLike(value) {
37927
- return !!value && typeof value == "object";
37928
- }
37929
- /**
37930
- * Checks if `value` is classified as a `Symbol` primitive or object.
37931
- *
37932
- * @static
37933
- * @memberOf _
37934
- * @since 4.0.0
37935
- * @category Lang
37936
- * @param {*} value The value to check.
37937
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
37938
- * @example
37939
- *
37940
- * _.isSymbol(Symbol.iterator);
37941
- * // => true
37942
- *
37943
- * _.isSymbol('abc');
37944
- * // => false
37945
- */
37946
- function isSymbol(value) {
37947
- return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
37948
- }
37949
- /**
37950
- * Converts `value` to a string. An empty string is returned for `null`
37951
- * and `undefined` values. The sign of `-0` is preserved.
37952
- *
37953
- * @static
37954
- * @memberOf _
37955
- * @since 4.0.0
37956
- * @category Lang
37957
- * @param {*} value The value to process.
37958
- * @returns {string} Returns the string.
37959
- * @example
37960
- *
37961
- * _.toString(null);
37962
- * // => ''
37963
- *
37964
- * _.toString(-0);
37965
- * // => '-0'
37966
- *
37967
- * _.toString([1, 2, 3]);
37968
- * // => '1,2,3'
37969
- */
37970
- function toString(value) {
37971
- return value == null ? "" : baseToString(value);
37972
- }
37973
- /**
37974
- * Deburrs `string` by converting
37975
- * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
37976
- * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)
37977
- * letters to basic Latin letters and removing
37978
- * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
37979
- *
37980
- * @static
37981
- * @memberOf _
37982
- * @since 3.0.0
37983
- * @category String
37984
- * @param {string} [string=''] The string to deburr.
37985
- * @returns {string} Returns the deburred string.
37986
- * @example
37987
- *
37988
- * _.deburr('déjà vu');
37989
- * // => 'deja vu'
37990
- */
37991
- function deburr(string$2) {
37992
- string$2 = toString(string$2);
37993
- return string$2 && string$2.replace(reLatin, deburrLetter).replace(reComboMark, "");
37994
- }
37995
- /**
37996
- * Converts `string` to
37997
- * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
37998
- *
37999
- * @static
38000
- * @memberOf _
38001
- * @since 3.0.0
38002
- * @category String
38003
- * @param {string} [string=''] The string to convert.
38004
- * @returns {string} Returns the kebab cased string.
38005
- * @example
38006
- *
38007
- * _.kebabCase('Foo Bar');
38008
- * // => 'foo-bar'
38009
- *
38010
- * _.kebabCase('fooBar');
38011
- * // => 'foo-bar'
38012
- *
38013
- * _.kebabCase('__FOO_BAR__');
38014
- * // => 'foo-bar'
38015
- */
38016
- var kebabCase = createCompounder(function(result, word, index) {
38017
- return result + (index ? "-" : "") + word.toLowerCase();
38018
- });
38019
- /**
38020
- * Splits `string` into an array of its words.
38021
- *
38022
- * @static
38023
- * @memberOf _
38024
- * @since 3.0.0
38025
- * @category String
38026
- * @param {string} [string=''] The string to inspect.
38027
- * @param {RegExp|string} [pattern] The pattern to match words.
38028
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
38029
- * @returns {Array} Returns the words of `string`.
38030
- * @example
38031
- *
38032
- * _.words('fred, barney, & pebbles');
38033
- * // => ['fred', 'barney', 'pebbles']
38034
- *
38035
- * _.words('fred, barney, & pebbles', /[^, ]+/g);
38036
- * // => ['fred', 'barney', '&', 'pebbles']
38037
- */
38038
- function words(string$2, pattern, guard) {
38039
- string$2 = toString(string$2);
38040
- pattern = guard ? void 0 : pattern;
38041
- if (pattern === void 0) return hasUnicodeWord(string$2) ? unicodeWords(string$2) : asciiWords(string$2);
38042
- return string$2.match(pattern) || [];
38043
- }
38044
- module.exports = kebabCase;
38045
- }));
38046
-
38047
38073
  //#endregion
38048
38074
  //#region src/cli/commands/project/create.ts
38049
- var import_lodash = /* @__PURE__ */ __toESM(require_lodash(), 1);
38050
38075
  const DEFAULT_TEMPLATE_ID = "backend-only";
38051
38076
  async function getTemplateById(templateId) {
38052
38077
  const templates = await listTemplates();
@@ -38251,7 +38276,7 @@ function isInsideContainer() {
38251
38276
  //#endregion
38252
38277
  //#region node_modules/is-wsl/index.js
38253
38278
  const isWsl = () => {
38254
- if (process$1.platform !== "linux") return false;
38279
+ if (y.platform !== "linux") return false;
38255
38280
  if (os.release().toLowerCase().includes("microsoft")) {
38256
38281
  if (isInsideContainer()) return false;
38257
38282
  return true;
@@ -38262,12 +38287,12 @@ const isWsl = () => {
38262
38287
  return false;
38263
38288
  }
38264
38289
  };
38265
- var is_wsl_default = process$1.env.__IS_WSL_TEST__ ? isWsl : isWsl();
38290
+ var is_wsl_default = y.env.__IS_WSL_TEST__ ? isWsl : isWsl();
38266
38291
 
38267
38292
  //#endregion
38268
38293
  //#region node_modules/powershell-utils/index.js
38269
38294
  const execFile$2 = promisify(childProcess.execFile);
38270
- const powerShellPath$1 = () => `${process$1.env.SYSTEMROOT || process$1.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
38295
+ const powerShellPath$1 = () => `${y.env.SYSTEMROOT || y.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
38271
38296
  const executePowerShell = async (command, options = {}) => {
38272
38297
  const { powerShellPath: psPath, ...execFileOptions } = options;
38273
38298
  const encodedCommand = executePowerShell.encodeCommand(command);
@@ -38378,7 +38403,7 @@ function defineLazyProperty(object$1, propertyName, valueGetter) {
38378
38403
  //#region node_modules/default-browser-id/index.js
38379
38404
  const execFileAsync$3 = promisify(execFile);
38380
38405
  async function defaultBrowserId() {
38381
- if (process$1.platform !== "darwin") throw new Error("macOS only");
38406
+ if (y.platform !== "darwin") throw new Error("macOS only");
38382
38407
  const { stdout: stdout$1 } = await execFileAsync$3("defaults", [
38383
38408
  "read",
38384
38409
  "com.apple.LaunchServices/com.apple.launchservices.secure",
@@ -38393,7 +38418,7 @@ async function defaultBrowserId() {
38393
38418
  //#region node_modules/run-applescript/index.js
38394
38419
  const execFileAsync$2 = promisify(execFile);
38395
38420
  async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
38396
- if (process$1.platform !== "darwin") throw new Error("macOS only");
38421
+ if (y.platform !== "darwin") throw new Error("macOS only");
38397
38422
  const outputArguments = humanReadableOutput ? [] : ["-ss"];
38398
38423
  const execOptions = {};
38399
38424
  if (signal) execOptions.signal = signal;
@@ -38502,14 +38527,14 @@ async function defaultBrowser$1(_execFileAsync = execFileAsync$1) {
38502
38527
  const execFileAsync = promisify(execFile);
38503
38528
  const titleize = (string$2) => string$2.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x$2) => x$2.toUpperCase());
38504
38529
  async function defaultBrowser() {
38505
- if (process$1.platform === "darwin") {
38530
+ if (y.platform === "darwin") {
38506
38531
  const id = await defaultBrowserId();
38507
38532
  return {
38508
38533
  name: await bundleName(id),
38509
38534
  id
38510
38535
  };
38511
38536
  }
38512
- if (process$1.platform === "linux") {
38537
+ if (y.platform === "linux") {
38513
38538
  const { stdout: stdout$1 } = await execFileAsync("xdg-mime", [
38514
38539
  "query",
38515
38540
  "default",
@@ -38521,13 +38546,13 @@ async function defaultBrowser() {
38521
38546
  id
38522
38547
  };
38523
38548
  }
38524
- if (process$1.platform === "win32") return defaultBrowser$1();
38549
+ if (y.platform === "win32") return defaultBrowser$1();
38525
38550
  throw new Error("Only macOS, Linux, and Windows are supported");
38526
38551
  }
38527
38552
 
38528
38553
  //#endregion
38529
38554
  //#region node_modules/is-in-ssh/index.js
38530
- const isInSsh = Boolean(process$1.env.SSH_CONNECTION || process$1.env.SSH_CLIENT || process$1.env.SSH_TTY);
38555
+ const isInSsh = Boolean(y.env.SSH_CONNECTION || y.env.SSH_CLIENT || y.env.SSH_TTY);
38531
38556
  var is_in_ssh_default = isInSsh;
38532
38557
 
38533
38558
  //#endregion
@@ -38535,7 +38560,7 @@ var is_in_ssh_default = isInSsh;
38535
38560
  const fallbackAttemptSymbol = Symbol("fallbackAttempt");
38536
38561
  const __dirname = import.meta.url ? path.dirname(fileURLToPath(import.meta.url)) : "";
38537
38562
  const localXdgOpenPath = path.join(__dirname, "xdg-open");
38538
- const { platform: platform$1, arch } = process$1;
38563
+ const { platform: platform$1, arch } = y;
38539
38564
  const tryEachApp = async (apps$1, opener) => {
38540
38565
  if (apps$1.length === 0) return;
38541
38566
  const errors = [];
@@ -38648,7 +38673,7 @@ const baseOpen = async (options) => {
38648
38673
  await fs$1.access(localXdgOpenPath, constants$1.X_OK);
38649
38674
  exeLocalXdgOpen = true;
38650
38675
  } catch {}
38651
- command = process$1.versions.electron ?? (platform$1 === "android" || isBundled || !exeLocalXdgOpen) ? "xdg-open" : localXdgOpenPath;
38676
+ command = y.versions.electron ?? (platform$1 === "android" || isBundled || !exeLocalXdgOpen) ? "xdg-open" : localXdgOpenPath;
38652
38677
  }
38653
38678
  if (appArguments.length > 0) cliArguments.push(...appArguments);
38654
38679
  if (!options.wait) {