@base44-preview/cli 0.0.14-pr.87.06a6959 → 0.0.14-pr.87.4100d16

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/cli/index.js +109 -109
  2. package/package.json +1 -1
package/dist/cli/index.js CHANGED
@@ -4,7 +4,7 @@ import { EventEmitter, addAbortListener, on, once, setMaxListeners } from "node:
4
4
  import childProcess, { ChildProcess, execFile, spawn, spawnSync } from "node:child_process";
5
5
  import path, { basename, dirname, join, posix, resolve, win32 } from "node:path";
6
6
  import fs, { appendFileSync, createReadStream, createWriteStream, readFileSync, statSync, writeFileSync } from "node:fs";
7
- import process$1, { execArgv, execPath, hrtime, platform, stdin, stdout } from "node:process";
7
+ import y, { execArgv, execPath, hrtime, platform, stdin, stdout } from "node:process";
8
8
  import { aborted, callbackify, debuglog, inspect, promisify, stripVTControlCharacters } from "node:util";
9
9
  import * as g from "node:readline";
10
10
  import O from "node:readline";
@@ -894,7 +894,7 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
894
894
  const childProcess$1 = __require("node:child_process");
895
895
  const path$16 = __require("node:path");
896
896
  const fs$11 = __require("node:fs");
897
- const process$4 = __require("node:process");
897
+ const process$3 = __require("node:process");
898
898
  const { Argument, humanReadableArgName } = require_argument();
899
899
  const { CommanderError } = require_error$1();
900
900
  const { Help } = require_help();
@@ -945,10 +945,10 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
945
945
  this._showHelpAfterError = false;
946
946
  this._showSuggestionAfterError = true;
947
947
  this._outputConfiguration = {
948
- writeOut: (str) => process$4.stdout.write(str),
949
- writeErr: (str) => process$4.stderr.write(str),
950
- getOutHelpWidth: () => process$4.stdout.isTTY ? process$4.stdout.columns : void 0,
951
- getErrHelpWidth: () => process$4.stderr.isTTY ? process$4.stderr.columns : void 0,
948
+ writeOut: (str) => process$3.stdout.write(str),
949
+ writeErr: (str) => process$3.stderr.write(str),
950
+ getOutHelpWidth: () => process$3.stdout.isTTY ? process$3.stdout.columns : void 0,
951
+ getErrHelpWidth: () => process$3.stderr.isTTY ? process$3.stderr.columns : void 0,
952
952
  outputError: (str, write) => write(str)
953
953
  };
954
954
  this._hidden = false;
@@ -1302,7 +1302,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1302
1302
  */
1303
1303
  _exit(exitCode, code$1, message) {
1304
1304
  if (this._exitCallback) this._exitCallback(new CommanderError(exitCode, code$1, message));
1305
- process$4.exit(exitCode);
1305
+ process$3.exit(exitCode);
1306
1306
  }
1307
1307
  /**
1308
1308
  * Register callback `fn` for the command.
@@ -1641,11 +1641,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
1641
1641
  if (argv !== void 0 && !Array.isArray(argv)) throw new Error("first parameter to parse must be array or undefined");
1642
1642
  parseOptions = parseOptions || {};
1643
1643
  if (argv === void 0 && parseOptions.from === void 0) {
1644
- if (process$4.versions?.electron) parseOptions.from = "electron";
1645
- const execArgv$1 = process$4.execArgv ?? [];
1644
+ if (process$3.versions?.electron) parseOptions.from = "electron";
1645
+ const execArgv$1 = process$3.execArgv ?? [];
1646
1646
  if (execArgv$1.includes("-e") || execArgv$1.includes("--eval") || execArgv$1.includes("-p") || execArgv$1.includes("--print")) parseOptions.from = "eval";
1647
1647
  }
1648
- if (argv === void 0) argv = process$4.argv;
1648
+ if (argv === void 0) argv = process$3.argv;
1649
1649
  this.rawArgs = argv.slice();
1650
1650
  let userArgs;
1651
1651
  switch (parseOptions.from) {
@@ -1655,7 +1655,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1655
1655
  userArgs = argv.slice(2);
1656
1656
  break;
1657
1657
  case "electron":
1658
- if (process$4.defaultApp) {
1658
+ if (process$3.defaultApp) {
1659
1659
  this._scriptPath = argv[1];
1660
1660
  userArgs = argv.slice(2);
1661
1661
  } else userArgs = argv.slice(1);
@@ -1769,15 +1769,15 @@ Expecting one of '${allowedValues.join("', '")}'`);
1769
1769
  }
1770
1770
  launchWithNode = sourceExt.includes(path$16.extname(executableFile));
1771
1771
  let proc$1;
1772
- if (process$4.platform !== "win32") if (launchWithNode) {
1772
+ if (process$3.platform !== "win32") if (launchWithNode) {
1773
1773
  args.unshift(executableFile);
1774
- args = incrementNodeInspectorPort(process$4.execArgv).concat(args);
1775
- proc$1 = childProcess$1.spawn(process$4.argv[0], args, { stdio: "inherit" });
1774
+ args = incrementNodeInspectorPort(process$3.execArgv).concat(args);
1775
+ proc$1 = childProcess$1.spawn(process$3.argv[0], args, { stdio: "inherit" });
1776
1776
  } else proc$1 = childProcess$1.spawn(executableFile, args, { stdio: "inherit" });
1777
1777
  else {
1778
1778
  args.unshift(executableFile);
1779
- args = incrementNodeInspectorPort(process$4.execArgv).concat(args);
1780
- proc$1 = childProcess$1.spawn(process$4.execPath, args, { stdio: "inherit" });
1779
+ args = incrementNodeInspectorPort(process$3.execArgv).concat(args);
1780
+ proc$1 = childProcess$1.spawn(process$3.execPath, args, { stdio: "inherit" });
1781
1781
  }
1782
1782
  if (!proc$1.killed) [
1783
1783
  "SIGUSR1",
@@ -1786,14 +1786,14 @@ Expecting one of '${allowedValues.join("', '")}'`);
1786
1786
  "SIGINT",
1787
1787
  "SIGHUP"
1788
1788
  ].forEach((signal) => {
1789
- process$4.on(signal, () => {
1789
+ process$3.on(signal, () => {
1790
1790
  if (proc$1.killed === false && proc$1.exitCode === null) proc$1.kill(signal);
1791
1791
  });
1792
1792
  });
1793
1793
  const exitCallback = this._exitCallback;
1794
1794
  proc$1.on("close", (code$1) => {
1795
1795
  code$1 = code$1 ?? 1;
1796
- if (!exitCallback) process$4.exit(code$1);
1796
+ if (!exitCallback) process$3.exit(code$1);
1797
1797
  else exitCallback(new CommanderError(code$1, "commander.executeSubCommandAsync", "(close)"));
1798
1798
  });
1799
1799
  proc$1.on("error", (err) => {
@@ -1805,7 +1805,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1805
1805
  - ${executableDirMessage}`;
1806
1806
  throw new Error(executableMissing);
1807
1807
  } else if (err.code === "EACCES") throw new Error(`'${executableFile}' not executable`);
1808
- if (!exitCallback) process$4.exit(1);
1808
+ if (!exitCallback) process$3.exit(1);
1809
1809
  else {
1810
1810
  const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
1811
1811
  wrappedError.nestedError = err;
@@ -2211,13 +2211,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
2211
2211
  */
2212
2212
  _parseOptionsEnv() {
2213
2213
  this.options.forEach((option) => {
2214
- if (option.envVar && option.envVar in process$4.env) {
2214
+ if (option.envVar && option.envVar in process$3.env) {
2215
2215
  const optionKey = option.attributeName();
2216
2216
  if (this.getOptionValue(optionKey) === void 0 || [
2217
2217
  "default",
2218
2218
  "config",
2219
2219
  "env"
2220
- ].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$4.env[option.envVar]);
2220
+ ].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$3.env[option.envVar]);
2221
2221
  else this.emit(`optionEnv:${option.name()}`);
2222
2222
  }
2223
2223
  });
@@ -2596,7 +2596,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
2596
2596
  */
2597
2597
  help(contextOptions) {
2598
2598
  this.outputHelp(contextOptions);
2599
- let exitCode = process$4.exitCode || 0;
2599
+ let exitCode = process$3.exitCode || 0;
2600
2600
  if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) exitCode = 1;
2601
2601
  this._exit(exitCode, "commander.help", "(outputHelp)");
2602
2602
  }
@@ -2712,16 +2712,16 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2712
2712
  const CSI = `${ESC}[`;
2713
2713
  const beep = "\x07";
2714
2714
  const cursor = {
2715
- to(x$2, y$1) {
2716
- if (!y$1) return `${CSI}${x$2 + 1}G`;
2717
- return `${CSI}${y$1 + 1};${x$2 + 1}H`;
2715
+ to(x$2, y$2) {
2716
+ if (!y$2) return `${CSI}${x$2 + 1}G`;
2717
+ return `${CSI}${y$2 + 1};${x$2 + 1}H`;
2718
2718
  },
2719
- move(x$2, y$1) {
2719
+ move(x$2, y$2) {
2720
2720
  let ret = "";
2721
2721
  if (x$2 < 0) ret += `${CSI}${-x$2}D`;
2722
2722
  else if (x$2 > 0) ret += `${CSI}${x$2}C`;
2723
- if (y$1 < 0) ret += `${CSI}${-y$1}A`;
2724
- else if (y$1 > 0) ret += `${CSI}${y$1}B`;
2723
+ if (y$2 < 0) ret += `${CSI}${-y$2}A`;
2724
+ else if (y$2 > 0) ret += `${CSI}${y$2}B`;
2725
2725
  return ret;
2726
2726
  },
2727
2727
  up: (count$1 = 1) => `${CSI}${count$1}A`,
@@ -3031,13 +3031,13 @@ function rD() {
3031
3031
  }
3032
3032
  }), r;
3033
3033
  }
3034
- 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) => {
3034
+ 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) => {
3035
3035
  const F$1 = [...u$2];
3036
3036
  let s = !1, i$1 = !1, D$1 = p(P$1(e$1[e$1.length - 1]));
3037
3037
  for (const [C$1, n$1] of F$1.entries()) {
3038
3038
  const E = p(n$1);
3039
3039
  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) {
3040
- i$1 ? n$1 === y && (s = !1, i$1 = !1) : n$1 === G$1 && (s = !1);
3040
+ i$1 ? n$1 === y$1 && (s = !1, i$1 = !1) : n$1 === G$1 && (s = !1);
3041
3041
  continue;
3042
3042
  }
3043
3043
  D$1 += E, D$1 === t && C$1 < F$1.length - 1 && (e$1.push(""), D$1 = 0);
@@ -3079,7 +3079,7 @@ const ED = rD(), d$1 = new Set(["\x1B", "›"]), oD = 39, y = "\x07", V$1 = "[",
3079
3079
  `)];
3080
3080
  for (const [E, a$1] of n$1.entries()) {
3081
3081
  if (F$1 += a$1, d$1.has(a$1)) {
3082
- const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y})`)).exec(n$1.slice(E).join("")) || { groups: {} };
3082
+ const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y$1})`)).exec(n$1.slice(E).join("")) || { groups: {} };
3083
3083
  if (c$1.code !== void 0) {
3084
3084
  const f = Number.parseFloat(c$1.code);
3085
3085
  s = f === oD ? void 0 : f;
@@ -3480,7 +3480,7 @@ var RD = class extends x$1 {
3480
3480
  //#endregion
3481
3481
  //#region node_modules/@clack/prompts/dist/index.mjs
3482
3482
  function ce() {
3483
- 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";
3483
+ 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";
3484
3484
  }
3485
3485
  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) => {
3486
3486
  switch (t) {
@@ -6628,7 +6628,7 @@ function initializeContext(params) {
6628
6628
  external: params?.external ?? void 0
6629
6629
  };
6630
6630
  }
6631
- function process$3(schema, ctx, _params = {
6631
+ function process$2(schema, ctx, _params = {
6632
6632
  path: [],
6633
6633
  schemaPath: []
6634
6634
  }) {
@@ -6665,7 +6665,7 @@ function process$3(schema, ctx, _params = {
6665
6665
  const parent = schema._zod.parent;
6666
6666
  if (parent) {
6667
6667
  if (!result.ref) result.ref = parent;
6668
- process$3(parent, ctx, params);
6668
+ process$2(parent, ctx, params);
6669
6669
  ctx.seen.get(parent).isParent = true;
6670
6670
  }
6671
6671
  }
@@ -6877,7 +6877,7 @@ const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {
6877
6877
  ...params,
6878
6878
  processors
6879
6879
  });
6880
- process$3(schema, ctx);
6880
+ process$2(schema, ctx);
6881
6881
  extractDefs(ctx, schema);
6882
6882
  return finalize(ctx, schema);
6883
6883
  };
@@ -6889,7 +6889,7 @@ const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params)
6889
6889
  io,
6890
6890
  processors
6891
6891
  });
6892
- process$3(schema, ctx);
6892
+ process$2(schema, ctx);
6893
6893
  extractDefs(ctx, schema);
6894
6894
  return finalize(ctx, schema);
6895
6895
  };
@@ -6973,7 +6973,7 @@ const arrayProcessor = (schema, ctx, _json, params) => {
6973
6973
  if (typeof minimum === "number") json.minItems = minimum;
6974
6974
  if (typeof maximum === "number") json.maxItems = maximum;
6975
6975
  json.type = "array";
6976
- json.items = process$3(def.element, ctx, {
6976
+ json.items = process$2(def.element, ctx, {
6977
6977
  ...params,
6978
6978
  path: [...params.path, "items"]
6979
6979
  });
@@ -6984,7 +6984,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
6984
6984
  json.type = "object";
6985
6985
  json.properties = {};
6986
6986
  const shape = def.shape;
6987
- for (const key in shape) json.properties[key] = process$3(shape[key], ctx, {
6987
+ for (const key in shape) json.properties[key] = process$2(shape[key], ctx, {
6988
6988
  ...params,
6989
6989
  path: [
6990
6990
  ...params.path,
@@ -7002,7 +7002,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
7002
7002
  if (def.catchall?._zod.def.type === "never") json.additionalProperties = false;
7003
7003
  else if (!def.catchall) {
7004
7004
  if (ctx.io === "output") json.additionalProperties = false;
7005
- } else if (def.catchall) json.additionalProperties = process$3(def.catchall, ctx, {
7005
+ } else if (def.catchall) json.additionalProperties = process$2(def.catchall, ctx, {
7006
7006
  ...params,
7007
7007
  path: [...params.path, "additionalProperties"]
7008
7008
  });
@@ -7010,7 +7010,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
7010
7010
  const unionProcessor = (schema, ctx, json, params) => {
7011
7011
  const def = schema._zod.def;
7012
7012
  const isExclusive = def.inclusive === false;
7013
- const options = def.options.map((x$2, i$1) => process$3(x$2, ctx, {
7013
+ const options = def.options.map((x$2, i$1) => process$2(x$2, ctx, {
7014
7014
  ...params,
7015
7015
  path: [
7016
7016
  ...params.path,
@@ -7023,7 +7023,7 @@ const unionProcessor = (schema, ctx, json, params) => {
7023
7023
  };
7024
7024
  const intersectionProcessor = (schema, ctx, json, params) => {
7025
7025
  const def = schema._zod.def;
7026
- const a$1 = process$3(def.left, ctx, {
7026
+ const a$1 = process$2(def.left, ctx, {
7027
7027
  ...params,
7028
7028
  path: [
7029
7029
  ...params.path,
@@ -7031,7 +7031,7 @@ const intersectionProcessor = (schema, ctx, json, params) => {
7031
7031
  0
7032
7032
  ]
7033
7033
  });
7034
- const b$2 = process$3(def.right, ctx, {
7034
+ const b$2 = process$2(def.right, ctx, {
7035
7035
  ...params,
7036
7036
  path: [
7037
7037
  ...params.path,
@@ -7048,7 +7048,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
7048
7048
  json.type = "array";
7049
7049
  const prefixPath$1 = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
7050
7050
  const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
7051
- const prefixItems = def.items.map((x$2, i$1) => process$3(x$2, ctx, {
7051
+ const prefixItems = def.items.map((x$2, i$1) => process$2(x$2, ctx, {
7052
7052
  ...params,
7053
7053
  path: [
7054
7054
  ...params.path,
@@ -7056,7 +7056,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
7056
7056
  i$1
7057
7057
  ]
7058
7058
  }));
7059
- const rest = def.rest ? process$3(def.rest, ctx, {
7059
+ const rest = def.rest ? process$2(def.rest, ctx, {
7060
7060
  ...params,
7061
7061
  path: [
7062
7062
  ...params.path,
@@ -7082,7 +7082,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
7082
7082
  };
7083
7083
  const nullableProcessor = (schema, ctx, json, params) => {
7084
7084
  const def = schema._zod.def;
7085
- const inner = process$3(def.innerType, ctx, params);
7085
+ const inner = process$2(def.innerType, ctx, params);
7086
7086
  const seen = ctx.seen.get(schema);
7087
7087
  if (ctx.target === "openapi-3.0") {
7088
7088
  seen.ref = def.innerType;
@@ -7091,27 +7091,27 @@ const nullableProcessor = (schema, ctx, json, params) => {
7091
7091
  };
7092
7092
  const nonoptionalProcessor = (schema, ctx, _json, params) => {
7093
7093
  const def = schema._zod.def;
7094
- process$3(def.innerType, ctx, params);
7094
+ process$2(def.innerType, ctx, params);
7095
7095
  const seen = ctx.seen.get(schema);
7096
7096
  seen.ref = def.innerType;
7097
7097
  };
7098
7098
  const defaultProcessor = (schema, ctx, json, params) => {
7099
7099
  const def = schema._zod.def;
7100
- process$3(def.innerType, ctx, params);
7100
+ process$2(def.innerType, ctx, params);
7101
7101
  const seen = ctx.seen.get(schema);
7102
7102
  seen.ref = def.innerType;
7103
7103
  json.default = JSON.parse(JSON.stringify(def.defaultValue));
7104
7104
  };
7105
7105
  const prefaultProcessor = (schema, ctx, json, params) => {
7106
7106
  const def = schema._zod.def;
7107
- process$3(def.innerType, ctx, params);
7107
+ process$2(def.innerType, ctx, params);
7108
7108
  const seen = ctx.seen.get(schema);
7109
7109
  seen.ref = def.innerType;
7110
7110
  if (ctx.io === "input") json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
7111
7111
  };
7112
7112
  const catchProcessor = (schema, ctx, json, params) => {
7113
7113
  const def = schema._zod.def;
7114
- process$3(def.innerType, ctx, params);
7114
+ process$2(def.innerType, ctx, params);
7115
7115
  const seen = ctx.seen.get(schema);
7116
7116
  seen.ref = def.innerType;
7117
7117
  let catchValue;
@@ -7125,20 +7125,20 @@ const catchProcessor = (schema, ctx, json, params) => {
7125
7125
  const pipeProcessor = (schema, ctx, _json, params) => {
7126
7126
  const def = schema._zod.def;
7127
7127
  const innerType = ctx.io === "input" ? def.in._zod.def.type === "transform" ? def.out : def.in : def.out;
7128
- process$3(innerType, ctx, params);
7128
+ process$2(innerType, ctx, params);
7129
7129
  const seen = ctx.seen.get(schema);
7130
7130
  seen.ref = innerType;
7131
7131
  };
7132
7132
  const readonlyProcessor = (schema, ctx, json, params) => {
7133
7133
  const def = schema._zod.def;
7134
- process$3(def.innerType, ctx, params);
7134
+ process$2(def.innerType, ctx, params);
7135
7135
  const seen = ctx.seen.get(schema);
7136
7136
  seen.ref = def.innerType;
7137
7137
  json.readOnly = true;
7138
7138
  };
7139
7139
  const optionalProcessor = (schema, ctx, _json, params) => {
7140
7140
  const def = schema._zod.def;
7141
- process$3(def.innerType, ctx, params);
7141
+ process$2(def.innerType, ctx, params);
7142
7142
  const seen = ctx.seen.get(schema);
7143
7143
  seen.ref = def.innerType;
7144
7144
  };
@@ -7867,14 +7867,10 @@ var AuthValidationError = class extends Error {
7867
7867
  //#endregion
7868
7868
  //#region src/core/consts.ts
7869
7869
  const PROJECT_SUBDIR = "base44";
7870
- const FUNCTION_CONFIG_FILE = "function.jsonc";
7870
+ const CONFIG_FILE_EXTENSION_GLOB = "{json,jsonc}";
7871
+ const FUNCTION_CONFIG_FILE = `function.${CONFIG_FILE_EXTENSION_GLOB}`;
7871
7872
  function getProjectConfigPatterns() {
7872
- return [
7873
- `${PROJECT_SUBDIR}/config.jsonc`,
7874
- `${PROJECT_SUBDIR}/config.json`,
7875
- "config.jsonc",
7876
- "config.json"
7877
- ];
7873
+ return [`${PROJECT_SUBDIR}/config.${CONFIG_FILE_EXTENSION_GLOB}`, `config.${CONFIG_FILE_EXTENSION_GLOB}`];
7878
7874
  }
7879
7875
  const AUTH_CLIENT_ID = "base44_cli";
7880
7876
 
@@ -15371,7 +15367,7 @@ const createIgnorePredicate = (patterns, cwd, baseDir) => {
15371
15367
  };
15372
15368
  const normalizeOptions$2 = (options = {}) => {
15373
15369
  const ignoreOption = options.ignore ? Array.isArray(options.ignore) ? options.ignore : [options.ignore] : [];
15374
- const cwd = toPath$1(options.cwd) ?? process$1.cwd();
15370
+ const cwd = toPath$1(options.cwd) ?? y.cwd();
15375
15371
  const deep = typeof options.deep === "number" ? Math.max(0, options.deep) + 1 : Number.POSITIVE_INFINITY;
15376
15372
  return {
15377
15373
  cwd,
@@ -15468,7 +15464,7 @@ const getDirectoryGlob = ({ directoryPath, files, extensions }) => {
15468
15464
  const extensionGlob = extensions?.length > 0 ? `.${extensions.length > 1 ? `{${extensions.join(",")}}` : extensions[0]}` : "";
15469
15465
  return files ? files.map((file) => path.posix.join(directoryPath, `**/${path.extname(file) ? file : `${file}${extensionGlob}`}`)) : [path.posix.join(directoryPath, `**${extensionGlob ? `/*${extensionGlob}` : ""}`)];
15470
15466
  };
15471
- const directoryToGlob = async (directoryPaths, { cwd = process$1.cwd(), files, extensions, fs: fsImplementation } = {}) => {
15467
+ const directoryToGlob = async (directoryPaths, { cwd = y.cwd(), files, extensions, fs: fsImplementation } = {}) => {
15472
15468
  return (await Promise.all(directoryPaths.map(async (directoryPath) => {
15473
15469
  if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
15474
15470
  directoryPath,
@@ -15482,7 +15478,7 @@ const directoryToGlob = async (directoryPaths, { cwd = process$1.cwd(), files, e
15482
15478
  }) : directoryPath;
15483
15479
  }))).flat();
15484
15480
  };
15485
- const directoryToGlobSync = (directoryPaths, { cwd = process$1.cwd(), files, extensions, fs: fsImplementation } = {}) => directoryPaths.flatMap((directoryPath) => {
15481
+ const directoryToGlobSync = (directoryPaths, { cwd = y.cwd(), files, extensions, fs: fsImplementation } = {}) => directoryPaths.flatMap((directoryPath) => {
15486
15482
  if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
15487
15483
  directoryPath,
15488
15484
  files,
@@ -15578,7 +15574,7 @@ const applyIgnoreFilesAndGetFilterSync = (options) => {
15578
15574
  };
15579
15575
  const createFilterFunction = (isIgnored, cwd) => {
15580
15576
  const seen = /* @__PURE__ */ new Set();
15581
- const basePath = cwd || process$1.cwd();
15577
+ const basePath = cwd || y.cwd();
15582
15578
  const pathCache = /* @__PURE__ */ new Map();
15583
15579
  return (fastGlobResult) => {
15584
15580
  const pathKey$1 = path.normalize(fastGlobResult.path ?? fastGlobResult);
@@ -16732,7 +16728,7 @@ async function readEntityFile(entityPath) {
16732
16728
  }
16733
16729
  async function readAllEntities(entitiesDir) {
16734
16730
  if (!await pathExists(entitiesDir)) return [];
16735
- const files = await globby("*.{json,jsonc}", {
16731
+ const files = await globby(`*.${CONFIG_FILE_EXTENSION_GLOB}`, {
16736
16732
  cwd: entitiesDir,
16737
16733
  absolute: true
16738
16734
  });
@@ -25982,13 +25978,13 @@ var ansi_styles_default = ansiStyles;
25982
25978
 
25983
25979
  //#endregion
25984
25980
  //#region node_modules/chalk/source/vendor/supports-color/index.js
25985
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process$1.argv) {
25981
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : y.argv) {
25986
25982
  const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
25987
25983
  const position = argv.indexOf(prefix + flag);
25988
25984
  const terminatorPosition = argv.indexOf("--");
25989
25985
  return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
25990
25986
  }
25991
- const { env } = process$1;
25987
+ const { env } = y;
25992
25988
  let flagForceColor;
25993
25989
  if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) flagForceColor = 0;
25994
25990
  else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) flagForceColor = 1;
@@ -26021,7 +26017,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
26021
26017
  if (haveStream && !streamIsTTY && forceColor === void 0) return 0;
26022
26018
  const min = forceColor || 0;
26023
26019
  if (env.TERM === "dumb") return min;
26024
- if (process$1.platform === "win32") {
26020
+ if (y.platform === "win32") {
26025
26021
  const osRelease = os.release().split(".");
26026
26022
  if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
26027
26023
  return 1;
@@ -31840,9 +31836,9 @@ const getSubprocessResult = ({ stdout: stdout$1 }) => {
31840
31836
  //#region node_modules/execa/lib/utils/standard-stream.js
31841
31837
  const isStandardStream = (stream) => STANDARD_STREAMS.includes(stream);
31842
31838
  const STANDARD_STREAMS = [
31843
- process$1.stdin,
31844
- process$1.stdout,
31845
- process$1.stderr
31839
+ y.stdin,
31840
+ y.stdout,
31841
+ y.stderr
31846
31842
  ];
31847
31843
  const STANDARD_STREAMS_ALIASES = [
31848
31844
  "stdin",
@@ -31967,9 +31963,9 @@ const NO_ESCAPE_REGEXP = /^[\w./-]+$/;
31967
31963
  //#endregion
31968
31964
  //#region node_modules/is-unicode-supported/index.js
31969
31965
  function isUnicodeSupported() {
31970
- const { env: env$1 } = process$1;
31966
+ const { env: env$1 } = y;
31971
31967
  const { TERM, TERM_PROGRAM } = env$1;
31972
- if (process$1.platform !== "win32") return TERM !== "linux";
31968
+ if (y.platform !== "win32") return TERM !== "linux";
31973
31969
  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";
31974
31970
  }
31975
31971
 
@@ -32896,7 +32892,7 @@ const TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024;
32896
32892
 
32897
32893
  //#endregion
32898
32894
  //#region node_modules/npm-run-path/index.js
32899
- const npmRunPath = ({ cwd = process$1.cwd(), path: pathOption = process$1.env[pathKey()], preferLocal = true, execPath: execPath$1 = process$1.execPath, addExecPath = true } = {}) => {
32895
+ const npmRunPath = ({ cwd = y.cwd(), path: pathOption = y.env[pathKey()], preferLocal = true, execPath: execPath$1 = y.execPath, addExecPath = true } = {}) => {
32900
32896
  const cwdPath = path.resolve(toPath(cwd));
32901
32897
  const result = [];
32902
32898
  const pathParts = pathOption.split(path.delimiter);
@@ -32914,7 +32910,7 @@ const applyExecPath = (result, pathParts, execPath$1, cwdPath) => {
32914
32910
  const pathPart = path.resolve(cwdPath, toPath(execPath$1), "..");
32915
32911
  if (!pathParts.includes(pathPart)) result.push(pathPart);
32916
32912
  };
32917
- const npmRunPathEnv = ({ env: env$1 = process$1.env, ...options } = {}) => {
32913
+ const npmRunPathEnv = ({ env: env$1 = y.env, ...options } = {}) => {
32918
32914
  env$1 = { ...env$1 };
32919
32915
  const pathName = pathKey({ env: env$1 });
32920
32916
  options.path = env$1[pathName];
@@ -34049,7 +34045,7 @@ const normalizeCwd = (cwd = getDefaultCwd()) => {
34049
34045
  };
34050
34046
  const getDefaultCwd = () => {
34051
34047
  try {
34052
- return process$1.cwd();
34048
+ return y.cwd();
34053
34049
  } catch (error) {
34054
34050
  error.message = `The current directory does not exist.\n${error.message}`;
34055
34051
  throw error;
@@ -34084,7 +34080,7 @@ const normalizeOptions = (filePath, rawArguments, rawOptions) => {
34084
34080
  options.killSignal = normalizeKillSignal(options.killSignal);
34085
34081
  options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
34086
34082
  options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
34087
- if (process$1.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
34083
+ if (y.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
34088
34084
  return {
34089
34085
  file,
34090
34086
  commandArguments,
@@ -34111,7 +34107,7 @@ const addDefaultOptions = ({ extendEnv = true, preferLocal = false, cwd, localDi
34111
34107
  });
34112
34108
  const getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
34113
34109
  const env$1 = extendEnv ? {
34114
- ...process$1.env,
34110
+ ...y.env,
34115
34111
  ...envOption
34116
34112
  } : envOption;
34117
34113
  if (preferLocal || node) return npmRunPathEnv({
@@ -35111,12 +35107,12 @@ const guessStreamDirection = {
35111
35107
  }
35112
35108
  };
35113
35109
  const getStandardStreamDirection = (value) => {
35114
- if ([0, process$1.stdin].includes(value)) return "input";
35110
+ if ([0, y.stdin].includes(value)) return "input";
35115
35111
  if ([
35116
35112
  1,
35117
35113
  2,
35118
- process$1.stdout,
35119
- process$1.stderr
35114
+ y.stdout,
35115
+ y.stderr
35120
35116
  ].includes(value)) return "output";
35121
35117
  };
35122
35118
  const DEFAULT_DIRECTION = "output";
@@ -36180,9 +36176,9 @@ const addIpcMethods = (subprocess, { ipc }) => {
36180
36176
  Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
36181
36177
  };
36182
36178
  const getIpcExport = () => {
36183
- const anyProcess = process$1;
36179
+ const anyProcess = y;
36184
36180
  const isSubprocess = true;
36185
- const ipc = process$1.channel !== void 0;
36181
+ const ipc = y.channel !== void 0;
36186
36182
  return {
36187
36183
  ...getIpcMethods(anyProcess, isSubprocess, ipc),
36188
36184
  getCancelSignal: getCancelSignal$1.bind(void 0, {
@@ -36424,7 +36420,7 @@ if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SI
36424
36420
 
36425
36421
  //#endregion
36426
36422
  //#region node_modules/signal-exit/dist/mjs/index.js
36427
- 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";
36423
+ 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";
36428
36424
  const kExitEmitter = Symbol.for("signal-exit emitter");
36429
36425
  const global$1 = globalThis;
36430
36426
  const ObjectDefineProperty = Object.defineProperty.bind(Object);
@@ -36492,7 +36488,7 @@ var SignalExitFallback = class extends SignalExitBase {
36492
36488
  };
36493
36489
  var SignalExit = class extends SignalExitBase {
36494
36490
  /* c8 ignore start */
36495
- #hupSig = process$2.platform === "win32" ? "SIGINT" : "SIGHUP";
36491
+ #hupSig = process$1.platform === "win32" ? "SIGINT" : "SIGHUP";
36496
36492
  /* c8 ignore stop */
36497
36493
  #emitter = new Emitter();
36498
36494
  #process;
@@ -36500,15 +36496,15 @@ var SignalExit = class extends SignalExitBase {
36500
36496
  #originalProcessReallyExit;
36501
36497
  #sigListeners = {};
36502
36498
  #loaded = false;
36503
- constructor(process$5) {
36499
+ constructor(process$4) {
36504
36500
  super();
36505
- this.#process = process$5;
36501
+ this.#process = process$4;
36506
36502
  this.#sigListeners = {};
36507
36503
  for (const sig of signals) this.#sigListeners[sig] = () => {
36508
36504
  const listeners = this.#process.listeners(sig);
36509
36505
  let { count: count$1 } = this.#emitter;
36510
36506
  /* c8 ignore start */
36511
- const p$1 = process$5;
36507
+ const p$1 = process$4;
36512
36508
  if (typeof p$1.__signal_exit_emitter__ === "object" && typeof p$1.__signal_exit_emitter__.count === "number") count$1 += p$1.__signal_exit_emitter__.count;
36513
36509
  /* c8 ignore stop */
36514
36510
  if (listeners.length === count$1) {
@@ -36516,11 +36512,11 @@ var SignalExit = class extends SignalExitBase {
36516
36512
  const ret = this.#emitter.emit("exit", null, sig);
36517
36513
  /* c8 ignore start */
36518
36514
  const s = sig === "SIGHUP" ? this.#hupSig : sig;
36519
- if (!ret) process$5.kill(process$5.pid, s);
36515
+ if (!ret) process$4.kill(process$4.pid, s);
36520
36516
  }
36521
36517
  };
36522
- this.#originalProcessReallyExit = process$5.reallyExit;
36523
- this.#originalProcessEmit = process$5.emit;
36518
+ this.#originalProcessReallyExit = process$4.reallyExit;
36519
+ this.#originalProcessEmit = process$4.emit;
36524
36520
  }
36525
36521
  onExit(cb, opts) {
36526
36522
  /* c8 ignore start */
@@ -36587,8 +36583,8 @@ var SignalExit = class extends SignalExitBase {
36587
36583
  } else return og.call(this.#process, ev, ...args);
36588
36584
  }
36589
36585
  };
36590
- const process$2 = globalThis.process;
36591
- const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
36586
+ const process$1 = globalThis.process;
36587
+ const { onExit, load, unload } = signalExitWrap(processOk(process$1) ? new SignalExit(process$1) : new SignalExitFallback());
36592
36588
 
36593
36589
  //#endregion
36594
36590
  //#region node_modules/execa/lib/terminate/cleanup.js
@@ -38339,9 +38335,13 @@ var require_lodash = /* @__PURE__ */ __commonJSMin(((exports, module) => {
38339
38335
  //#region src/cli/commands/project/create.ts
38340
38336
  var import_lodash = /* @__PURE__ */ __toESM(require_lodash(), 1);
38341
38337
  const DEFAULT_TEMPLATE_ID = "backend-only";
38342
- async function getDefaultTemplate() {
38343
- const template = (await listTemplates()).find((t) => t.id === DEFAULT_TEMPLATE_ID);
38344
- if (!template) throw new Error(`Default template "${DEFAULT_TEMPLATE_ID}" not found`);
38338
+ async function getTemplateById(templateId) {
38339
+ const templates = await listTemplates();
38340
+ const template = templates.find((t) => t.id === templateId);
38341
+ if (!template) {
38342
+ const validIds = templates.map((t) => t.id).join(", ");
38343
+ throw new Error(`Template "${templateId}" not found. Available templates: ${validIds}`);
38344
+ }
38345
38345
  return template;
38346
38346
  }
38347
38347
  function validateNonInteractiveFlags$1(command) {
@@ -38399,7 +38399,7 @@ async function createInteractive(options) {
38399
38399
  }
38400
38400
  async function createNonInteractive(options) {
38401
38401
  return await executeCreate({
38402
- template: await getDefaultTemplate(),
38402
+ template: await getTemplateById(options.template ?? DEFAULT_TEMPLATE_ID),
38403
38403
  name: options.name,
38404
38404
  description: options.description,
38405
38405
  projectPath: options.path,
@@ -38480,7 +38480,7 @@ async function executeCreate({ template, name: rawName, description, projectPath
38480
38480
  }
38481
38481
  };
38482
38482
  }
38483
- const createCommand = new Command("create").description("Create a new Base44 project").option("-n, --name <name>", "Project name").option("-d, --description <description>", "Project description").option("-p, --path <path>", "Path where to create the project").option("--deploy", "Build and deploy the site").hook("preAction", validateNonInteractiveFlags$1).action(async (options) => {
38483
+ const createCommand = new Command("create").description("Create a new Base44 project").option("-n, --name <name>", "Project name").option("-d, --description <description>", "Project description").option("-p, --path <path>", "Path where to create the project").option("-t, --template <id>", "Template ID (e.g., backend-only, backend-and-client)").option("--deploy", "Build and deploy the site").hook("preAction", validateNonInteractiveFlags$1).action(async (options) => {
38484
38484
  await chooseCreate(options);
38485
38485
  });
38486
38486
 
@@ -38526,7 +38526,7 @@ function isInsideContainer() {
38526
38526
  //#endregion
38527
38527
  //#region node_modules/is-wsl/index.js
38528
38528
  const isWsl = () => {
38529
- if (process$1.platform !== "linux") return false;
38529
+ if (y.platform !== "linux") return false;
38530
38530
  if (os.release().toLowerCase().includes("microsoft")) {
38531
38531
  if (isInsideContainer()) return false;
38532
38532
  return true;
@@ -38537,12 +38537,12 @@ const isWsl = () => {
38537
38537
  return false;
38538
38538
  }
38539
38539
  };
38540
- var is_wsl_default = process$1.env.__IS_WSL_TEST__ ? isWsl : isWsl();
38540
+ var is_wsl_default = y.env.__IS_WSL_TEST__ ? isWsl : isWsl();
38541
38541
 
38542
38542
  //#endregion
38543
38543
  //#region node_modules/powershell-utils/index.js
38544
38544
  const execFile$2 = promisify(childProcess.execFile);
38545
- const powerShellPath$1 = () => `${process$1.env.SYSTEMROOT || process$1.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
38545
+ const powerShellPath$1 = () => `${y.env.SYSTEMROOT || y.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
38546
38546
  const executePowerShell = async (command, options = {}) => {
38547
38547
  const { powerShellPath: psPath, ...execFileOptions } = options;
38548
38548
  const encodedCommand = executePowerShell.encodeCommand(command);
@@ -38653,7 +38653,7 @@ function defineLazyProperty(object$1, propertyName, valueGetter) {
38653
38653
  //#region node_modules/default-browser-id/index.js
38654
38654
  const execFileAsync$3 = promisify(execFile);
38655
38655
  async function defaultBrowserId() {
38656
- if (process$1.platform !== "darwin") throw new Error("macOS only");
38656
+ if (y.platform !== "darwin") throw new Error("macOS only");
38657
38657
  const { stdout: stdout$1 } = await execFileAsync$3("defaults", [
38658
38658
  "read",
38659
38659
  "com.apple.LaunchServices/com.apple.launchservices.secure",
@@ -38668,7 +38668,7 @@ async function defaultBrowserId() {
38668
38668
  //#region node_modules/run-applescript/index.js
38669
38669
  const execFileAsync$2 = promisify(execFile);
38670
38670
  async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
38671
- if (process$1.platform !== "darwin") throw new Error("macOS only");
38671
+ if (y.platform !== "darwin") throw new Error("macOS only");
38672
38672
  const outputArguments = humanReadableOutput ? [] : ["-ss"];
38673
38673
  const execOptions = {};
38674
38674
  if (signal) execOptions.signal = signal;
@@ -38777,14 +38777,14 @@ async function defaultBrowser$1(_execFileAsync = execFileAsync$1) {
38777
38777
  const execFileAsync = promisify(execFile);
38778
38778
  const titleize = (string$2) => string$2.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x$2) => x$2.toUpperCase());
38779
38779
  async function defaultBrowser() {
38780
- if (process$1.platform === "darwin") {
38780
+ if (y.platform === "darwin") {
38781
38781
  const id = await defaultBrowserId();
38782
38782
  return {
38783
38783
  name: await bundleName(id),
38784
38784
  id
38785
38785
  };
38786
38786
  }
38787
- if (process$1.platform === "linux") {
38787
+ if (y.platform === "linux") {
38788
38788
  const { stdout: stdout$1 } = await execFileAsync("xdg-mime", [
38789
38789
  "query",
38790
38790
  "default",
@@ -38796,13 +38796,13 @@ async function defaultBrowser() {
38796
38796
  id
38797
38797
  };
38798
38798
  }
38799
- if (process$1.platform === "win32") return defaultBrowser$1();
38799
+ if (y.platform === "win32") return defaultBrowser$1();
38800
38800
  throw new Error("Only macOS, Linux, and Windows are supported");
38801
38801
  }
38802
38802
 
38803
38803
  //#endregion
38804
38804
  //#region node_modules/is-in-ssh/index.js
38805
- const isInSsh = Boolean(process$1.env.SSH_CONNECTION || process$1.env.SSH_CLIENT || process$1.env.SSH_TTY);
38805
+ const isInSsh = Boolean(y.env.SSH_CONNECTION || y.env.SSH_CLIENT || y.env.SSH_TTY);
38806
38806
  var is_in_ssh_default = isInSsh;
38807
38807
 
38808
38808
  //#endregion
@@ -38810,7 +38810,7 @@ var is_in_ssh_default = isInSsh;
38810
38810
  const fallbackAttemptSymbol = Symbol("fallbackAttempt");
38811
38811
  const __dirname = import.meta.url ? path.dirname(fileURLToPath(import.meta.url)) : "";
38812
38812
  const localXdgOpenPath = path.join(__dirname, "xdg-open");
38813
- const { platform: platform$1, arch } = process$1;
38813
+ const { platform: platform$1, arch } = y;
38814
38814
  const tryEachApp = async (apps$1, opener) => {
38815
38815
  if (apps$1.length === 0) return;
38816
38816
  const errors = [];
@@ -38923,7 +38923,7 @@ const baseOpen = async (options) => {
38923
38923
  await fs$2.access(localXdgOpenPath, constants$1.X_OK);
38924
38924
  exeLocalXdgOpen = true;
38925
38925
  } catch {}
38926
- command = process$1.versions.electron ?? (platform$1 === "android" || isBundled || !exeLocalXdgOpen) ? "xdg-open" : localXdgOpenPath;
38926
+ command = y.versions.electron ?? (platform$1 === "android" || isBundled || !exeLocalXdgOpen) ? "xdg-open" : localXdgOpenPath;
38927
38927
  }
38928
38928
  if (appArguments.length > 0) cliArguments.push(...appArguments);
38929
38929
  if (!options.wait) {
@@ -39030,7 +39030,7 @@ async function openDashboard(options) {
39030
39030
  const projectId = getBase44ClientId();
39031
39031
  if (!projectId) throw new Error("App not configured. BASE44_CLIENT_ID environment variable is required. Set it in your .env.local file.");
39032
39032
  const dashboardUrl = `${getBase44ApiUrl()}/apps/${projectId}/editor/workspace/overview`;
39033
- const shouldOpen = !isJsonMode() && !options.noOpen;
39033
+ const shouldOpen = !isJsonMode() && options.open !== false;
39034
39034
  if (shouldOpen) await open_default(dashboardUrl);
39035
39035
  return {
39036
39036
  outroMessage: shouldOpen ? `Dashboard opened at ${dashboardUrl}` : `Dashboard URL: ${dashboardUrl}`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base44-preview/cli",
3
- "version": "0.0.14-pr.87.06a6959",
3
+ "version": "0.0.14-pr.87.4100d16",
4
4
  "description": "Base44 CLI - Unified interface for managing Base44 applications",
5
5
  "type": "module",
6
6
  "main": "./dist/cli/index.js",