@base44-preview/cli 0.1.2-pr.560.cf66e4d → 0.1.2-pr.563.1f1fb0e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -12980,11 +12980,11 @@ var require_ejs = __commonJS((exports) => {
12980
12980
  exports.localsName = _DEFAULT_LOCALS_NAME;
12981
12981
  exports.promiseImpl = new Function("return this;")().Promise;
12982
12982
  exports.resolveInclude = function(name2, filename, isDir) {
12983
- var dirname9 = path11.dirname;
12984
- var extname = path11.extname;
12985
- var resolve2 = path11.resolve;
12986
- var includePath = resolve2(isDir ? filename : dirname9(filename), name2);
12987
- var ext = extname(name2);
12983
+ var dirname10 = path11.dirname;
12984
+ var extname2 = path11.extname;
12985
+ var resolve4 = path11.resolve;
12986
+ var includePath = resolve4(isDir ? filename : dirname10(filename), name2);
12987
+ var ext = extname2(name2);
12988
12988
  if (!ext) {
12989
12989
  includePath += ".ejs";
12990
12990
  }
@@ -13058,10 +13058,10 @@ var require_ejs = __commonJS((exports) => {
13058
13058
  var result;
13059
13059
  if (!cb) {
13060
13060
  if (typeof exports.promiseImpl == "function") {
13061
- return new exports.promiseImpl(function(resolve2, reject) {
13061
+ return new exports.promiseImpl(function(resolve4, reject) {
13062
13062
  try {
13063
13063
  result = handleCache(options)(data);
13064
- resolve2(result);
13064
+ resolve4(result);
13065
13065
  } catch (err) {
13066
13066
  reject(err);
13067
13067
  }
@@ -16499,12 +16499,12 @@ var require_isexe = __commonJS((exports, module) => {
16499
16499
  if (typeof Promise !== "function") {
16500
16500
  throw new TypeError("callback not provided");
16501
16501
  }
16502
- return new Promise(function(resolve3, reject) {
16502
+ return new Promise(function(resolve5, reject) {
16503
16503
  isexe(path11, options || {}, function(er, is) {
16504
16504
  if (er) {
16505
16505
  reject(er);
16506
16506
  } else {
16507
- resolve3(is);
16507
+ resolve5(is);
16508
16508
  }
16509
16509
  });
16510
16510
  });
@@ -16566,27 +16566,27 @@ var require_which = __commonJS((exports, module) => {
16566
16566
  opt = {};
16567
16567
  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
16568
16568
  const found = [];
16569
- const step = (i) => new Promise((resolve3, reject) => {
16569
+ const step = (i) => new Promise((resolve5, reject) => {
16570
16570
  if (i === pathEnv.length)
16571
- return opt.all && found.length ? resolve3(found) : reject(getNotFoundError(cmd));
16571
+ return opt.all && found.length ? resolve5(found) : reject(getNotFoundError(cmd));
16572
16572
  const ppRaw = pathEnv[i];
16573
16573
  const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
16574
16574
  const pCmd = path11.join(pathPart, cmd);
16575
16575
  const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
16576
- resolve3(subStep(p, i, 0));
16576
+ resolve5(subStep(p, i, 0));
16577
16577
  });
16578
- const subStep = (p, i, ii) => new Promise((resolve3, reject) => {
16578
+ const subStep = (p, i, ii) => new Promise((resolve5, reject) => {
16579
16579
  if (ii === pathExt.length)
16580
- return resolve3(step(i + 1));
16580
+ return resolve5(step(i + 1));
16581
16581
  const ext = pathExt[ii];
16582
16582
  isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
16583
16583
  if (!er && is) {
16584
16584
  if (opt.all)
16585
16585
  found.push(p + ext);
16586
16586
  else
16587
- return resolve3(p + ext);
16587
+ return resolve5(p + ext);
16588
16588
  }
16589
- return resolve3(subStep(p, i, ii + 1));
16589
+ return resolve5(subStep(p, i, ii + 1));
16590
16590
  });
16591
16591
  });
16592
16592
  return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
@@ -121156,7 +121156,7 @@ function getDataProtocolModuleFormat(parsed) {
121156
121156
  const { 1: mime } = /^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec(parsed.pathname) || [null, null, null];
121157
121157
  return mimeToFormat(mime);
121158
121158
  }
121159
- function extname(url3) {
121159
+ function extname2(url3) {
121160
121160
  const pathname = url3.pathname;
121161
121161
  let index = pathname.length;
121162
121162
  while (index--) {
@@ -121171,7 +121171,7 @@ function extname(url3) {
121171
121171
  return "";
121172
121172
  }
121173
121173
  function getFileProtocolModuleFormat(url3, _context, ignoreErrors) {
121174
- const value = extname(url3);
121174
+ const value = extname2(url3);
121175
121175
  if (value === ".js") {
121176
121176
  const packageType = getPackageType(url3);
121177
121177
  if (packageType !== "none") {
@@ -138269,11 +138269,11 @@ var require_prettier = __commonJS((exports, module) => {
138269
138269
  var require_formatter = __commonJS((exports) => {
138270
138270
  var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P9, generator) {
138271
138271
  function adopt(value) {
138272
- return value instanceof P9 ? value : new P9(function(resolve12) {
138273
- resolve12(value);
138272
+ return value instanceof P9 ? value : new P9(function(resolve14) {
138273
+ resolve14(value);
138274
138274
  });
138275
138275
  }
138276
- return new (P9 || (P9 = Promise))(function(resolve12, reject) {
138276
+ return new (P9 || (P9 = Promise))(function(resolve14, reject) {
138277
138277
  function fulfilled(value) {
138278
138278
  try {
138279
138279
  step(generator.next(value));
@@ -138289,7 +138289,7 @@ var require_formatter = __commonJS((exports) => {
138289
138289
  }
138290
138290
  }
138291
138291
  function step(result) {
138292
- result.done ? resolve12(result.value) : adopt(result.value).then(fulfilled, rejected);
138292
+ result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
138293
138293
  }
138294
138294
  step((generator = generator.apply(thisArg, _arguments || [])).next());
138295
138295
  });
@@ -142942,7 +142942,7 @@ var require_url = __commonJS((exports) => {
142942
142942
  };
142943
142943
  Object.defineProperty(exports, "__esModule", { value: true });
142944
142944
  exports.parse = undefined;
142945
- exports.resolve = resolve12;
142945
+ exports.resolve = resolve14;
142946
142946
  exports.cwd = cwd;
142947
142947
  exports.getProtocol = getProtocol;
142948
142948
  exports.getExtension = getExtension;
@@ -142954,7 +142954,7 @@ var require_url = __commonJS((exports) => {
142954
142954
  exports.fromFileSystemPath = fromFileSystemPath;
142955
142955
  exports.toFileSystemPath = toFileSystemPath;
142956
142956
  exports.safePointerToPath = safePointerToPath;
142957
- exports.relative = relative4;
142957
+ exports.relative = relative5;
142958
142958
  var convert_path_to_posix_1 = __importDefault(require_convert_path_to_posix());
142959
142959
  var path_1 = __importStar(__require("path"));
142960
142960
  var forwardSlashPattern = /\//g;
@@ -142970,7 +142970,7 @@ var require_url = __commonJS((exports) => {
142970
142970
  var urlDecodePatterns = [/%23/g, "#", /%24/g, "$", /%26/g, "&", /%2C/g, ",", /%40/g, "@"];
142971
142971
  var parse11 = (u4) => new URL(u4);
142972
142972
  exports.parse = parse11;
142973
- function resolve12(from, to5) {
142973
+ function resolve14(from, to5) {
142974
142974
  const fromUrl = new URL((0, convert_path_to_posix_1.default)(from), "https://aaa.nonexistanturl.com");
142975
142975
  const resolvedUrl = new URL((0, convert_path_to_posix_1.default)(to5), fromUrl);
142976
142976
  const endSpaces = to5.match(/(\s*)$/)?.[1] || "";
@@ -143104,9 +143104,9 @@ var require_url = __commonJS((exports) => {
143104
143104
  return decodeURIComponent(value).replace(jsonPointerSlash, "/").replace(jsonPointerTilde, "~");
143105
143105
  });
143106
143106
  }
143107
- function relative4(from, to5) {
143107
+ function relative5(from, to5) {
143108
143108
  if (!isFileSystemPath(from) || !isFileSystemPath(to5)) {
143109
- return resolve12(from, to5);
143109
+ return resolve14(from, to5);
143110
143110
  }
143111
143111
  const fromDir = path_1.default.dirname(stripHash(from));
143112
143112
  const toPath4 = stripHash(to5);
@@ -143782,7 +143782,7 @@ var require_plugins = __commonJS((exports) => {
143782
143782
  let plugin;
143783
143783
  let lastError;
143784
143784
  let index = 0;
143785
- return new Promise((resolve12, reject) => {
143785
+ return new Promise((resolve14, reject) => {
143786
143786
  runNextPlugin();
143787
143787
  function runNextPlugin() {
143788
143788
  plugin = plugins[index++];
@@ -143810,7 +143810,7 @@ var require_plugins = __commonJS((exports) => {
143810
143810
  }
143811
143811
  }
143812
143812
  function onSuccess(result) {
143813
- resolve12({
143813
+ resolve14({
143814
143814
  plugin,
143815
143815
  result
143816
143816
  });
@@ -145143,11 +145143,11 @@ var require_lib3 = __commonJS((exports) => {
145143
145143
  var require_resolver = __commonJS((exports) => {
145144
145144
  var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P9, generator) {
145145
145145
  function adopt(value) {
145146
- return value instanceof P9 ? value : new P9(function(resolve12) {
145147
- resolve12(value);
145146
+ return value instanceof P9 ? value : new P9(function(resolve14) {
145147
+ resolve14(value);
145148
145148
  });
145149
145149
  }
145150
- return new (P9 || (P9 = Promise))(function(resolve12, reject) {
145150
+ return new (P9 || (P9 = Promise))(function(resolve14, reject) {
145151
145151
  function fulfilled(value) {
145152
145152
  try {
145153
145153
  step(generator.next(value));
@@ -145163,7 +145163,7 @@ var require_resolver = __commonJS((exports) => {
145163
145163
  }
145164
145164
  }
145165
145165
  function step(result) {
145166
- result.done ? resolve12(result.value) : adopt(result.value).then(fulfilled, rejected);
145166
+ result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
145167
145167
  }
145168
145168
  step((generator = generator.apply(thisArg, _arguments || [])).next());
145169
145169
  });
@@ -145284,11 +145284,11 @@ var require_optionValidator = __commonJS((exports) => {
145284
145284
  var require_src3 = __commonJS((exports) => {
145285
145285
  var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P9, generator) {
145286
145286
  function adopt(value) {
145287
- return value instanceof P9 ? value : new P9(function(resolve12) {
145288
- resolve12(value);
145287
+ return value instanceof P9 ? value : new P9(function(resolve14) {
145288
+ resolve14(value);
145289
145289
  });
145290
145290
  }
145291
- return new (P9 || (P9 = Promise))(function(resolve12, reject) {
145291
+ return new (P9 || (P9 = Promise))(function(resolve14, reject) {
145292
145292
  function fulfilled(value) {
145293
145293
  try {
145294
145294
  step(generator.next(value));
@@ -145304,7 +145304,7 @@ var require_src3 = __commonJS((exports) => {
145304
145304
  }
145305
145305
  }
145306
145306
  function step(result) {
145307
- result.done ? resolve12(result.value) : adopt(result.value).then(fulfilled, rejected);
145307
+ result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
145308
145308
  }
145309
145309
  step((generator = generator.apply(thisArg, _arguments || [])).next());
145310
145310
  });
@@ -146286,7 +146286,7 @@ var require_depd = __commonJS((exports, module) => {
146286
146286
  * Copyright(c) 2014-2018 Douglas Christopher Wilson
146287
146287
  * MIT Licensed
146288
146288
  */
146289
- var relative4 = __require("path").relative;
146289
+ var relative5 = __require("path").relative;
146290
146290
  module.exports = depd;
146291
146291
  var basePath = process.cwd();
146292
146292
  function containsNamespace(str, namespace) {
@@ -146482,7 +146482,7 @@ var require_depd = __commonJS((exports, module) => {
146482
146482
  return formatted;
146483
146483
  }
146484
146484
  function formatLocation(callSite) {
146485
- return relative4(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2];
146485
+ return relative5(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2];
146486
146486
  }
146487
146487
  function getStack() {
146488
146488
  var limit = Error.stackTraceLimit;
@@ -150819,11 +150819,11 @@ var require_raw_body = __commonJS((exports, module) => {
150819
150819
  if (done) {
150820
150820
  return readStream(stream, encoding, length, limit, wrap(done));
150821
150821
  }
150822
- return new Promise(function executor(resolve12, reject) {
150822
+ return new Promise(function executor(resolve14, reject) {
150823
150823
  readStream(stream, encoding, length, limit, function onRead2(err, buf) {
150824
150824
  if (err)
150825
150825
  return reject(err);
150826
- resolve12(buf);
150826
+ resolve14(buf);
150827
150827
  });
150828
150828
  });
150829
150829
  }
@@ -160627,7 +160627,7 @@ var require_mime_types = __commonJS((exports) => {
160627
160627
  * MIT Licensed
160628
160628
  */
160629
160629
  var db2 = require_db();
160630
- var extname2 = __require("path").extname;
160630
+ var extname3 = __require("path").extname;
160631
160631
  var mimeScore = require_mimeScore();
160632
160632
  var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
160633
160633
  var TEXT_TYPE_REGEXP = /^text\//i;
@@ -160684,7 +160684,7 @@ var require_mime_types = __commonJS((exports) => {
160684
160684
  if (!path18 || typeof path18 !== "string") {
160685
160685
  return false;
160686
160686
  }
160687
- var extension2 = extname2("x." + path18).toLowerCase().slice(1);
160687
+ var extension2 = extname3("x." + path18).toLowerCase().slice(1);
160688
160688
  if (!extension2) {
160689
160689
  return false;
160690
160690
  }
@@ -163944,16 +163944,16 @@ var require_view = __commonJS((exports, module) => {
163944
163944
  var debug = require_src4()("express:view");
163945
163945
  var path18 = __require("node:path");
163946
163946
  var fs28 = __require("node:fs");
163947
- var dirname19 = path18.dirname;
163947
+ var dirname20 = path18.dirname;
163948
163948
  var basename6 = path18.basename;
163949
- var extname2 = path18.extname;
163949
+ var extname3 = path18.extname;
163950
163950
  var join25 = path18.join;
163951
- var resolve12 = path18.resolve;
163951
+ var resolve14 = path18.resolve;
163952
163952
  module.exports = View;
163953
163953
  function View(name2, options8) {
163954
163954
  var opts = options8 || {};
163955
163955
  this.defaultEngine = opts.defaultEngine;
163956
- this.ext = extname2(name2);
163956
+ this.ext = extname3(name2);
163957
163957
  this.name = name2;
163958
163958
  this.root = opts.root;
163959
163959
  if (!this.ext && !this.defaultEngine) {
@@ -163982,8 +163982,8 @@ var require_view = __commonJS((exports, module) => {
163982
163982
  debug('lookup "%s"', name2);
163983
163983
  for (var i5 = 0;i5 < roots.length && !path19; i5++) {
163984
163984
  var root2 = roots[i5];
163985
- var loc = resolve12(root2, name2);
163986
- var dir = dirname19(loc);
163985
+ var loc = resolve14(root2, name2);
163986
+ var dir = dirname20(loc);
163987
163987
  var file2 = basename6(loc);
163988
163988
  path19 = this.resolve(dir, file2);
163989
163989
  }
@@ -164007,7 +164007,7 @@ var require_view = __commonJS((exports, module) => {
164007
164007
  });
164008
164008
  sync = false;
164009
164009
  };
164010
- View.prototype.resolve = function resolve13(dir, file2) {
164010
+ View.prototype.resolve = function resolve15(dir, file2) {
164011
164011
  var ext = this.ext;
164012
164012
  var path19 = join25(dir, file2);
164013
164013
  var stat2 = tryStat(path19);
@@ -166166,7 +166166,7 @@ var require_application = __commonJS((exports, module) => {
166166
166166
  var compileETag = require_utils10().compileETag;
166167
166167
  var compileQueryParser = require_utils10().compileQueryParser;
166168
166168
  var compileTrust = require_utils10().compileTrust;
166169
- var resolve12 = __require("node:path").resolve;
166169
+ var resolve14 = __require("node:path").resolve;
166170
166170
  var once9 = require_once();
166171
166171
  var Router = require_router();
166172
166172
  var slice = Array.prototype.slice;
@@ -166220,7 +166220,7 @@ var require_application = __commonJS((exports, module) => {
166220
166220
  this.mountpath = "/";
166221
166221
  this.locals.settings = this.settings;
166222
166222
  this.set("view", View);
166223
- this.set("views", resolve12("views"));
166223
+ this.set("views", resolve14("views"));
166224
166224
  this.set("jsonp callback name", "callback");
166225
166225
  if (env3 === "production") {
166226
166226
  this.enable("view cache");
@@ -167708,10 +167708,10 @@ var require_send = __commonJS((exports, module) => {
167708
167708
  var statuses = require_statuses();
167709
167709
  var Stream2 = __require("stream");
167710
167710
  var util2 = __require("util");
167711
- var extname2 = path18.extname;
167711
+ var extname3 = path18.extname;
167712
167712
  var join25 = path18.join;
167713
167713
  var normalize2 = path18.normalize;
167714
- var resolve12 = path18.resolve;
167714
+ var resolve14 = path18.resolve;
167715
167715
  var sep = path18.sep;
167716
167716
  var BYTES_RANGE_REGEXP = /^ *bytes=/;
167717
167717
  var MAX_MAXAGE = 60 * 60 * 24 * 365 * 1000;
@@ -167740,7 +167740,7 @@ var require_send = __commonJS((exports, module) => {
167740
167740
  this._maxage = opts.maxAge || opts.maxage;
167741
167741
  this._maxage = typeof this._maxage === "string" ? ms9(this._maxage) : Number(this._maxage);
167742
167742
  this._maxage = !isNaN(this._maxage) ? Math.min(Math.max(0, this._maxage), MAX_MAXAGE) : 0;
167743
- this._root = opts.root ? resolve12(opts.root) : null;
167743
+ this._root = opts.root ? resolve14(opts.root) : null;
167744
167744
  }
167745
167745
  util2.inherits(SendStream, Stream2);
167746
167746
  SendStream.prototype.error = function error48(status, err) {
@@ -167889,7 +167889,7 @@ var require_send = __commonJS((exports, module) => {
167889
167889
  return res;
167890
167890
  }
167891
167891
  parts = normalize2(path19).split(sep);
167892
- path19 = resolve12(path19);
167892
+ path19 = resolve14(path19);
167893
167893
  }
167894
167894
  if (containsDotFile(parts)) {
167895
167895
  debug('%s dotfile "%s"', this._dotfiles, path19);
@@ -167984,7 +167984,7 @@ var require_send = __commonJS((exports, module) => {
167984
167984
  debug('stat "%s"', path19);
167985
167985
  fs28.stat(path19, function onstat(err, stat2) {
167986
167986
  var pathEndsWithSep = path19[path19.length - 1] === sep;
167987
- if (err && err.code === "ENOENT" && !extname2(path19) && !pathEndsWithSep) {
167987
+ if (err && err.code === "ENOENT" && !extname3(path19) && !pathEndsWithSep) {
167988
167988
  return next(err);
167989
167989
  }
167990
167990
  if (err)
@@ -168056,7 +168056,7 @@ var require_send = __commonJS((exports, module) => {
168056
168056
  var res = this.res;
168057
168057
  if (res.getHeader("Content-Type"))
168058
168058
  return;
168059
- var ext = extname2(path19);
168059
+ var ext = extname3(path19);
168060
168060
  var type2 = mime.contentType(ext) || "application/octet-stream";
168061
168061
  debug("content-type %s", type2);
168062
168062
  res.setHeader("Content-Type", type2);
@@ -168216,8 +168216,8 @@ var require_response = __commonJS((exports, module) => {
168216
168216
  var setCharset = require_utils10().setCharset;
168217
168217
  var cookie = require_cookie();
168218
168218
  var send = require_send();
168219
- var extname2 = path18.extname;
168220
- var resolve12 = path18.resolve;
168219
+ var extname3 = path18.extname;
168220
+ var resolve14 = path18.resolve;
168221
168221
  var vary = require_vary();
168222
168222
  var { Buffer: Buffer7 } = __require("node:buffer");
168223
168223
  var res = Object.create(http.ServerResponse.prototype);
@@ -168426,7 +168426,7 @@ var require_response = __commonJS((exports, module) => {
168426
168426
  }
168427
168427
  opts = Object.create(opts);
168428
168428
  opts.headers = headers;
168429
- var fullPath = !opts.root ? resolve12(path19) : path19;
168429
+ var fullPath = !opts.root ? resolve14(path19) : path19;
168430
168430
  return this.sendFile(fullPath, opts, done);
168431
168431
  };
168432
168432
  res.contentType = res.type = function contentType(type) {
@@ -168457,7 +168457,7 @@ var require_response = __commonJS((exports, module) => {
168457
168457
  };
168458
168458
  res.attachment = function attachment(filename) {
168459
168459
  if (filename) {
168460
- this.type(extname2(filename));
168460
+ this.type(extname3(filename));
168461
168461
  }
168462
168462
  this.set("Content-Disposition", contentDisposition(filename));
168463
168463
  return this;
@@ -168687,7 +168687,7 @@ var require_serve_static = __commonJS((exports, module) => {
168687
168687
  var encodeUrl = require_encodeurl();
168688
168688
  var escapeHtml = require_escape_html();
168689
168689
  var parseUrl = require_parseurl();
168690
- var resolve12 = __require("path").resolve;
168690
+ var resolve14 = __require("path").resolve;
168691
168691
  var send = require_send();
168692
168692
  var url3 = __require("url");
168693
168693
  module.exports = serveStatic;
@@ -168706,7 +168706,7 @@ var require_serve_static = __commonJS((exports, module) => {
168706
168706
  throw new TypeError("option setHeaders must be function");
168707
168707
  }
168708
168708
  opts.maxage = opts.maxage || opts.maxAge || 0;
168709
- opts.root = resolve12(root2);
168709
+ opts.root = resolve14(root2);
168710
168710
  var onDirectory = redirect ? createRedirectDirectoryListener() : createNotFoundDirectoryListener();
168711
168711
  return function serveStatic2(req, res, next) {
168712
168712
  if (req.method !== "GET" && req.method !== "HEAD") {
@@ -169630,8 +169630,8 @@ var require_follow_redirects = __commonJS((exports, module) => {
169630
169630
  }
169631
169631
  return parsed;
169632
169632
  }
169633
- function resolveUrl(relative4, base) {
169634
- return useNativeURL ? new URL2(relative4, base) : parseUrl(url3.resolve(base, relative4));
169633
+ function resolveUrl(relative5, base) {
169634
+ return useNativeURL ? new URL2(relative5, base) : parseUrl(url3.resolve(base, relative5));
169635
169635
  }
169636
169636
  function validateUrl(input) {
169637
169637
  if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
@@ -172080,8 +172080,8 @@ var require_executor = __commonJS((exports, module) => {
172080
172080
  }
172081
172081
  resetBuffer() {
172082
172082
  this.buffer = new Waterfall;
172083
- this.buffer.chain(new Promise((resolve12) => {
172084
- this._triggerBuffer = resolve12;
172083
+ this.buffer.chain(new Promise((resolve14) => {
172084
+ this._triggerBuffer = resolve14;
172085
172085
  }));
172086
172086
  if (this.ready)
172087
172087
  this._triggerBuffer();
@@ -173101,7 +173101,7 @@ var require_storage = __commonJS((exports, module) => {
173101
173101
  throw e8;
173102
173102
  }
173103
173103
  };
173104
- var writeFileLinesAsync = (filename, lines, mode = DEFAULT_FILE_MODE) => new Promise((resolve12, reject) => {
173104
+ var writeFileLinesAsync = (filename, lines, mode = DEFAULT_FILE_MODE) => new Promise((resolve14, reject) => {
173105
173105
  try {
173106
173106
  const stream = writeFileStream(filename, { mode });
173107
173107
  const readable2 = Readable6.from(lines);
@@ -173118,7 +173118,7 @@ var require_storage = __commonJS((exports, module) => {
173118
173118
  if (err)
173119
173119
  reject(err);
173120
173120
  else
173121
- resolve12();
173121
+ resolve14();
173122
173122
  });
173123
173123
  });
173124
173124
  readable2.on("error", (err) => {
@@ -173289,7 +173289,7 @@ var require_persistence = __commonJS((exports, module) => {
173289
173289
  return { data: tdata, indexes };
173290
173290
  }
173291
173291
  treatRawStreamAsync(rawStream) {
173292
- return new Promise((resolve12, reject) => {
173292
+ return new Promise((resolve14, reject) => {
173293
173293
  const dataById = {};
173294
173294
  const indexes = {};
173295
173295
  let corruptItems = 0;
@@ -173332,7 +173332,7 @@ var require_persistence = __commonJS((exports, module) => {
173332
173332
  }
173333
173333
  }
173334
173334
  const data = Object.values(dataById);
173335
- resolve12({ data, indexes });
173335
+ resolve14({ data, indexes });
173336
173336
  });
173337
173337
  lineStream.on("error", function(err) {
173338
173338
  reject(err, null);
@@ -182865,7 +182865,7 @@ var require_mime_types2 = __commonJS((exports) => {
182865
182865
  * MIT Licensed
182866
182866
  */
182867
182867
  var db2 = require_db2();
182868
- var extname2 = __require("path").extname;
182868
+ var extname3 = __require("path").extname;
182869
182869
  var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
182870
182870
  var TEXT_TYPE_REGEXP = /^text\//i;
182871
182871
  exports.charset = charset;
@@ -182920,7 +182920,7 @@ var require_mime_types2 = __commonJS((exports) => {
182920
182920
  if (!path18 || typeof path18 !== "string") {
182921
182921
  return false;
182922
182922
  }
182923
- var extension2 = extname2("x." + path18).toLowerCase().substr(1);
182923
+ var extension2 = extname3("x." + path18).toLowerCase().substr(1);
182924
182924
  if (!extension2) {
182925
182925
  return false;
182926
182926
  }
@@ -192912,7 +192912,7 @@ var require_mime_types3 = __commonJS((exports) => {
192912
192912
  * MIT Licensed
192913
192913
  */
192914
192914
  var db2 = require_db3();
192915
- var extname2 = __require("path").extname;
192915
+ var extname3 = __require("path").extname;
192916
192916
  var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
192917
192917
  var TEXT_TYPE_REGEXP = /^text\//i;
192918
192918
  exports.charset = charset;
@@ -192967,7 +192967,7 @@ var require_mime_types3 = __commonJS((exports) => {
192967
192967
  if (!path18 || typeof path18 !== "string") {
192968
192968
  return false;
192969
192969
  }
192970
- var extension2 = extname2("x." + path18).toLowerCase().substr(1);
192970
+ var extension2 = extname3("x." + path18).toLowerCase().substr(1);
192971
192971
  if (!extension2) {
192972
192972
  return false;
192973
192973
  }
@@ -198943,13 +198943,13 @@ var require_broadcast_operator = __commonJS((exports) => {
198943
198943
  return true;
198944
198944
  }
198945
198945
  emitWithAck(ev2, ...args) {
198946
- return new Promise((resolve12, reject) => {
198946
+ return new Promise((resolve14, reject) => {
198947
198947
  args.push((err, responses) => {
198948
198948
  if (err) {
198949
198949
  err.responses = responses;
198950
198950
  return reject(err);
198951
198951
  } else {
198952
- return resolve12(responses);
198952
+ return resolve14(responses);
198953
198953
  }
198954
198954
  });
198955
198955
  this.emit(ev2, ...args);
@@ -199137,12 +199137,12 @@ var require_socket2 = __commonJS((exports) => {
199137
199137
  }
199138
199138
  emitWithAck(ev2, ...args) {
199139
199139
  const withErr = this.flags.timeout !== undefined;
199140
- return new Promise((resolve12, reject) => {
199140
+ return new Promise((resolve14, reject) => {
199141
199141
  args.push((arg1, arg2) => {
199142
199142
  if (withErr) {
199143
- return arg1 ? reject(arg1) : resolve12(arg2);
199143
+ return arg1 ? reject(arg1) : resolve14(arg2);
199144
199144
  } else {
199145
- return resolve12(arg1);
199145
+ return resolve14(arg1);
199146
199146
  }
199147
199147
  });
199148
199148
  this.emit(ev2, ...args);
@@ -199597,13 +199597,13 @@ var require_namespace = __commonJS((exports) => {
199597
199597
  return true;
199598
199598
  }
199599
199599
  serverSideEmitWithAck(ev2, ...args) {
199600
- return new Promise((resolve12, reject) => {
199600
+ return new Promise((resolve14, reject) => {
199601
199601
  args.push((err, responses) => {
199602
199602
  if (err) {
199603
199603
  err.responses = responses;
199604
199604
  return reject(err);
199605
199605
  } else {
199606
- return resolve12(responses);
199606
+ return resolve14(responses);
199607
199607
  }
199608
199608
  });
199609
199609
  this.serverSideEmit(ev2, ...args);
@@ -200287,7 +200287,7 @@ var require_cluster_adapter = __commonJS((exports) => {
200287
200287
  return localSockets;
200288
200288
  }
200289
200289
  const requestId = randomId();
200290
- return new Promise((resolve12, reject) => {
200290
+ return new Promise((resolve14, reject) => {
200291
200291
  const timeout3 = setTimeout(() => {
200292
200292
  const storedRequest2 = this.requests.get(requestId);
200293
200293
  if (storedRequest2) {
@@ -200297,7 +200297,7 @@ var require_cluster_adapter = __commonJS((exports) => {
200297
200297
  }, opts.flags.timeout || DEFAULT_TIMEOUT);
200298
200298
  const storedRequest = {
200299
200299
  type: MessageType.FETCH_SOCKETS,
200300
- resolve: resolve12,
200300
+ resolve: resolve14,
200301
200301
  timeout: timeout3,
200302
200302
  current: 0,
200303
200303
  expected: expectedResponseCount,
@@ -200507,7 +200507,7 @@ var require_cluster_adapter = __commonJS((exports) => {
200507
200507
  return localSockets;
200508
200508
  }
200509
200509
  const requestId = randomId();
200510
- return new Promise((resolve12, reject) => {
200510
+ return new Promise((resolve14, reject) => {
200511
200511
  const timeout3 = setTimeout(() => {
200512
200512
  const storedRequest2 = this.customRequests.get(requestId);
200513
200513
  if (storedRequest2) {
@@ -200517,7 +200517,7 @@ var require_cluster_adapter = __commonJS((exports) => {
200517
200517
  }, opts.flags.timeout || DEFAULT_TIMEOUT);
200518
200518
  const storedRequest = {
200519
200519
  type: MessageType.FETCH_SOCKETS,
200520
- resolve: resolve12,
200520
+ resolve: resolve14,
200521
200521
  timeout: timeout3,
200522
200522
  missingUids: new Set([...this.nodesMap.keys()]),
200523
200523
  responses: localSockets
@@ -201246,13 +201246,13 @@ var require_dist4 = __commonJS((exports, module) => {
201246
201246
  this.engine.close();
201247
201247
  (0, uws_1.restoreAdapter)();
201248
201248
  if (this.httpServer) {
201249
- return new Promise((resolve12) => {
201249
+ return new Promise((resolve14) => {
201250
201250
  this.httpServer.close((err) => {
201251
201251
  fn9 && fn9(err);
201252
201252
  if (err) {
201253
201253
  debug("server was not running");
201254
201254
  }
201255
- resolve12();
201255
+ resolve14();
201256
201256
  });
201257
201257
  });
201258
201258
  } else {
@@ -209988,7 +209988,7 @@ var require_mime_types4 = __commonJS((exports) => {
209988
209988
  * MIT Licensed
209989
209989
  */
209990
209990
  var db2 = require_db4();
209991
- var extname2 = __require("path").extname;
209991
+ var extname3 = __require("path").extname;
209992
209992
  var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
209993
209993
  var TEXT_TYPE_REGEXP = /^text\//i;
209994
209994
  exports.charset = charset;
@@ -210043,7 +210043,7 @@ var require_mime_types4 = __commonJS((exports) => {
210043
210043
  if (!path18 || typeof path18 !== "string") {
210044
210044
  return false;
210045
210045
  }
210046
- var extension2 = extname2("x." + path18).toLowerCase().substr(1);
210046
+ var extension2 = extname3("x." + path18).toLowerCase().substr(1);
210047
210047
  if (!extension2) {
210048
210048
  return false;
210049
210049
  }
@@ -215914,14 +215914,14 @@ var require_async_iterator = __commonJS((exports, module) => {
215914
215914
  };
215915
215915
  }
215916
215916
  function readAndResolve(iter) {
215917
- var resolve12 = iter[kLastResolve];
215918
- if (resolve12 !== null) {
215917
+ var resolve14 = iter[kLastResolve];
215918
+ if (resolve14 !== null) {
215919
215919
  var data = iter[kStream].read();
215920
215920
  if (data !== null) {
215921
215921
  iter[kLastPromise] = null;
215922
215922
  iter[kLastResolve] = null;
215923
215923
  iter[kLastReject] = null;
215924
- resolve12(createIterResult(data, false));
215924
+ resolve14(createIterResult(data, false));
215925
215925
  }
215926
215926
  }
215927
215927
  }
@@ -215929,13 +215929,13 @@ var require_async_iterator = __commonJS((exports, module) => {
215929
215929
  process.nextTick(readAndResolve, iter);
215930
215930
  }
215931
215931
  function wrapForNext(lastPromise, iter) {
215932
- return function(resolve12, reject) {
215932
+ return function(resolve14, reject) {
215933
215933
  lastPromise.then(function() {
215934
215934
  if (iter[kEnded]) {
215935
- resolve12(createIterResult(undefined, true));
215935
+ resolve14(createIterResult(undefined, true));
215936
215936
  return;
215937
215937
  }
215938
- iter[kHandlePromise](resolve12, reject);
215938
+ iter[kHandlePromise](resolve14, reject);
215939
215939
  }, reject);
215940
215940
  };
215941
215941
  }
@@ -215954,12 +215954,12 @@ var require_async_iterator = __commonJS((exports, module) => {
215954
215954
  return Promise.resolve(createIterResult(undefined, true));
215955
215955
  }
215956
215956
  if (this[kStream].destroyed) {
215957
- return new Promise(function(resolve12, reject) {
215957
+ return new Promise(function(resolve14, reject) {
215958
215958
  process.nextTick(function() {
215959
215959
  if (_this[kError]) {
215960
215960
  reject(_this[kError]);
215961
215961
  } else {
215962
- resolve12(createIterResult(undefined, true));
215962
+ resolve14(createIterResult(undefined, true));
215963
215963
  }
215964
215964
  });
215965
215965
  });
@@ -215982,13 +215982,13 @@ var require_async_iterator = __commonJS((exports, module) => {
215982
215982
  return this;
215983
215983
  }), _defineProperty(_Object$setPrototypeO, "return", function _return() {
215984
215984
  var _this2 = this;
215985
- return new Promise(function(resolve12, reject) {
215985
+ return new Promise(function(resolve14, reject) {
215986
215986
  _this2[kStream].destroy(null, function(err) {
215987
215987
  if (err) {
215988
215988
  reject(err);
215989
215989
  return;
215990
215990
  }
215991
- resolve12(createIterResult(undefined, true));
215991
+ resolve14(createIterResult(undefined, true));
215992
215992
  });
215993
215993
  });
215994
215994
  }), _Object$setPrototypeO), AsyncIteratorPrototype);
@@ -216010,15 +216010,15 @@ var require_async_iterator = __commonJS((exports, module) => {
216010
216010
  value: stream._readableState.endEmitted,
216011
216011
  writable: true
216012
216012
  }), _defineProperty(_Object$create, kHandlePromise, {
216013
- value: function value(resolve12, reject) {
216013
+ value: function value(resolve14, reject) {
216014
216014
  var data = iterator[kStream].read();
216015
216015
  if (data) {
216016
216016
  iterator[kLastPromise] = null;
216017
216017
  iterator[kLastResolve] = null;
216018
216018
  iterator[kLastReject] = null;
216019
- resolve12(createIterResult(data, false));
216019
+ resolve14(createIterResult(data, false));
216020
216020
  } else {
216021
- iterator[kLastResolve] = resolve12;
216021
+ iterator[kLastResolve] = resolve14;
216022
216022
  iterator[kLastReject] = reject;
216023
216023
  }
216024
216024
  },
@@ -216037,12 +216037,12 @@ var require_async_iterator = __commonJS((exports, module) => {
216037
216037
  iterator[kError] = err;
216038
216038
  return;
216039
216039
  }
216040
- var resolve12 = iterator[kLastResolve];
216041
- if (resolve12 !== null) {
216040
+ var resolve14 = iterator[kLastResolve];
216041
+ if (resolve14 !== null) {
216042
216042
  iterator[kLastPromise] = null;
216043
216043
  iterator[kLastResolve] = null;
216044
216044
  iterator[kLastReject] = null;
216045
- resolve12(createIterResult(undefined, true));
216045
+ resolve14(createIterResult(undefined, true));
216046
216046
  }
216047
216047
  iterator[kEnded] = true;
216048
216048
  });
@@ -216054,7 +216054,7 @@ var require_async_iterator = __commonJS((exports, module) => {
216054
216054
 
216055
216055
  // ../../node_modules/readable-stream/lib/internal/streams/from.js
216056
216056
  var require_from = __commonJS((exports, module) => {
216057
- function asyncGeneratorStep(gen, resolve12, reject, _next, _throw, key2, arg) {
216057
+ function asyncGeneratorStep(gen, resolve14, reject, _next, _throw, key2, arg) {
216058
216058
  try {
216059
216059
  var info = gen[key2](arg);
216060
216060
  var value = info.value;
@@ -216063,7 +216063,7 @@ var require_from = __commonJS((exports, module) => {
216063
216063
  return;
216064
216064
  }
216065
216065
  if (info.done) {
216066
- resolve12(value);
216066
+ resolve14(value);
216067
216067
  } else {
216068
216068
  Promise.resolve(value).then(_next, _throw);
216069
216069
  }
@@ -216071,13 +216071,13 @@ var require_from = __commonJS((exports, module) => {
216071
216071
  function _asyncToGenerator(fn9) {
216072
216072
  return function() {
216073
216073
  var self2 = this, args = arguments;
216074
- return new Promise(function(resolve12, reject) {
216074
+ return new Promise(function(resolve14, reject) {
216075
216075
  var gen = fn9.apply(self2, args);
216076
216076
  function _next(value) {
216077
- asyncGeneratorStep(gen, resolve12, reject, _next, _throw, "next", value);
216077
+ asyncGeneratorStep(gen, resolve14, reject, _next, _throw, "next", value);
216078
216078
  }
216079
216079
  function _throw(err) {
216080
- asyncGeneratorStep(gen, resolve12, reject, _next, _throw, "throw", err);
216080
+ asyncGeneratorStep(gen, resolve14, reject, _next, _throw, "throw", err);
216081
216081
  }
216082
216082
  _next(undefined);
216083
216083
  });
@@ -233593,9 +233593,6 @@ var ApiErrorResponseSchema = exports_external.looseObject({
233593
233593
  });
233594
233594
 
233595
233595
  // src/core/errors.ts
233596
- function usingWorkspaceApiKey() {
233597
- return process.env.BASE44_API_KEY?.trim().startsWith("b44k_") ?? false;
233598
- }
233599
233596
  function formatApiError(errorBody, parsed) {
233600
233597
  const data = parsed ?? ApiErrorResponseSchema.safeParse(errorBody).data;
233601
233598
  if (data) {
@@ -233790,13 +233787,6 @@ class ApiError extends SystemError {
233790
233787
  ];
233791
233788
  }
233792
233789
  if (statusCode === 401) {
233793
- if (usingWorkspaceApiKey()) {
233794
- return [
233795
- {
233796
- message: "The workspace API key (BASE44_API_KEY) was rejected. Verify it is valid and authorized for this app."
233797
- }
233798
- ];
233799
- }
233800
233790
  return [{ message: "Try logging in again", command: "base44 login" }];
233801
233791
  }
233802
233792
  if (statusCode === 403) {
@@ -234028,7 +234018,7 @@ function normalizeBase44Env() {
234028
234018
  loadProjectEnvFiles();
234029
234019
 
234030
234020
  // src/cli/index.ts
234031
- import { dirname as dirname23, join as join28 } from "node:path";
234021
+ import { dirname as dirname24, join as join28 } from "node:path";
234032
234022
  import { fileURLToPath as fileURLToPath6 } from "node:url";
234033
234023
 
234034
234024
  // ../../node_modules/@clack/core/dist/index.mjs
@@ -235236,7 +235226,7 @@ var {
235236
235226
  } = import__.default;
235237
235227
 
235238
235228
  // src/cli/commands/agents/pull.ts
235239
- import { dirname as dirname10, join as join14 } from "node:path";
235229
+ import { dirname as dirname11, join as join14 } from "node:path";
235240
235230
  // ../../node_modules/chalk/source/vendor/ansi-styles/index.js
235241
235231
  var ANSI_BACKGROUND_OFFSET = 10;
235242
235232
  var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
@@ -236112,19 +236102,7 @@ function getTestOverrides() {
236112
236102
 
236113
236103
  // src/core/auth/config.ts
236114
236104
  var TOKEN_REFRESH_BUFFER_MS = 60 * 1000;
236115
- var WORKSPACE_API_KEY_PREFIX = "b44k_";
236116
236105
  var refreshPromise = null;
236117
- function getWorkspaceApiKeyFromEnv() {
236118
- const key = process.env.BASE44_API_KEY?.trim();
236119
- return key ? key : null;
236120
- }
236121
- function isWorkspaceApiKey(value) {
236122
- return value.startsWith(WORKSPACE_API_KEY_PREFIX);
236123
- }
236124
- function hasWorkspaceApiKeyAuth() {
236125
- const key = getWorkspaceApiKeyFromEnv();
236126
- return key !== null && isWorkspaceApiKey(key);
236127
- }
236128
236106
  async function seedAuthFromEnv() {
236129
236107
  const accessToken = process.env.BASE44_ACCESS_TOKEN;
236130
236108
  if (!accessToken) {
@@ -241916,7 +241894,7 @@ async function getSiteUrl() {
241916
241894
  return result.data.url;
241917
241895
  }
241918
241896
  // src/core/project/config.ts
241919
- import { dirname as dirname8, join as join10 } from "node:path";
241897
+ import { dirname as dirname9, join as join10 } from "node:path";
241920
241898
 
241921
241899
  // src/core/project/plugins.ts
241922
241900
  import { createRequire as createRequire2 } from "node:module";
@@ -243446,9 +243424,14 @@ var FunctionConfigSchema = exports_external.object({
243446
243424
  entry: exports_external.string().min(1, "Entry point cannot be empty"),
243447
243425
  automations: exports_external.array(AutomationSchema).optional()
243448
243426
  });
243427
+ var OutOfBoundsImportSchema = exports_external.object({
243428
+ importer: exports_external.string(),
243429
+ specifier: exports_external.string()
243430
+ });
243449
243431
  var BackendFunctionSchema = FunctionConfigSchema.extend({
243450
243432
  entryPath: exports_external.string().min(1, "Entry path cannot be empty"),
243451
243433
  filePaths: exports_external.array(exports_external.string()).min(1, "Function must have at least one file"),
243434
+ outOfBoundsImports: exports_external.array(OutOfBoundsImportSchema).optional().default([]),
243452
243435
  source: ResourceSourceSchema
243453
243436
  });
243454
243437
  var DeploySingleFunctionResponseSchema = exports_external.object({
@@ -243558,7 +243541,75 @@ async function fetchFunctionLogs(functionName, filters = {}) {
243558
243541
  return result.data;
243559
243542
  }
243560
243543
  // src/core/resources/function/config.ts
243561
- import { basename as basename3, dirname as dirname6, join as join8, relative } from "node:path";
243544
+ import { basename as basename3, dirname as dirname7, join as join8, relative as relative2, resolve as resolve3 } from "node:path";
243545
+
243546
+ // src/core/resources/function/reachability.ts
243547
+ import { dirname as dirname6, extname, relative, resolve as resolve2 } from "node:path";
243548
+ var RELATIVE_IMPORT_RE = /(?:from|import|require)\s*\(?['"`](\.\.?\/[^'"`\s]+)['"`]/g;
243549
+ async function resolveSpecifier(specifier, fromDir) {
243550
+ const base = resolve2(fromDir, specifier);
243551
+ const ext = extname(base);
243552
+ if (ext) {
243553
+ if (ext === ".js") {
243554
+ const asTts = `${base.slice(0, -3)}.ts`;
243555
+ if (await pathExists(asTts))
243556
+ return asTts;
243557
+ }
243558
+ if (await pathExists(base))
243559
+ return base;
243560
+ return null;
243561
+ }
243562
+ for (const candidate of [
243563
+ `${base}.ts`,
243564
+ `${base}.js`,
243565
+ `${base}.json`,
243566
+ resolve2(base, "index.ts"),
243567
+ resolve2(base, "index.js")
243568
+ ]) {
243569
+ if (await pathExists(candidate))
243570
+ return candidate;
243571
+ }
243572
+ return null;
243573
+ }
243574
+ async function collectReachableBackendFiles(_entryPath, functionFilePaths, backendRoot) {
243575
+ const visited = new Set(functionFilePaths);
243576
+ const queue = [...functionFilePaths];
243577
+ const extra = [];
243578
+ const outOfBounds = [];
243579
+ while (queue.length > 0) {
243580
+ const filePath = queue.shift();
243581
+ let content;
243582
+ try {
243583
+ content = await readTextFile(filePath);
243584
+ } catch {
243585
+ continue;
243586
+ }
243587
+ const dir = dirname6(filePath);
243588
+ for (const match of content.matchAll(RELATIVE_IMPORT_RE)) {
243589
+ const specifier = match[1];
243590
+ const resolved = await resolveSpecifier(specifier, dir);
243591
+ if (!resolved)
243592
+ continue;
243593
+ const rel = relative(backendRoot, resolved);
243594
+ if (rel.startsWith("..")) {
243595
+ outOfBounds.push({ importer: filePath, specifier });
243596
+ continue;
243597
+ }
243598
+ if (!visited.has(resolved)) {
243599
+ visited.add(resolved);
243600
+ queue.push(resolved);
243601
+ extra.push(resolved);
243602
+ }
243603
+ }
243604
+ }
243605
+ const functionSet = new Set(functionFilePaths);
243606
+ return {
243607
+ extra: extra.filter((p) => !functionSet.has(p)),
243608
+ outOfBounds
243609
+ };
243610
+ }
243611
+
243612
+ // src/core/resources/function/config.ts
243562
243613
  async function readFunctionConfig(configPath) {
243563
243614
  const parsed = await readJsonFile(configPath);
243564
243615
  const result = FunctionConfigSchema.safeParse(parsed);
@@ -243567,9 +243618,9 @@ async function readFunctionConfig(configPath) {
243567
243618
  }
243568
243619
  return result.data;
243569
243620
  }
243570
- async function readFunction(configPath) {
243621
+ async function readFunction(configPath, backendRoot) {
243571
243622
  const config7 = await readFunctionConfig(configPath);
243572
- const functionDir = dirname6(configPath);
243623
+ const functionDir = dirname7(configPath);
243573
243624
  const entryPath = join8(functionDir, config7.entry);
243574
243625
  if (!await pathExists(entryPath)) {
243575
243626
  throw new InvalidInputError(`Function entry file not found: ${entryPath} (referenced in ${configPath})`, {
@@ -243580,10 +243631,13 @@ async function readFunction(configPath) {
243580
243631
  cwd: functionDir,
243581
243632
  absolute: true
243582
243633
  });
243634
+ const { extra, outOfBounds } = await collectReachableBackendFiles(entryPath, filePaths, backendRoot);
243635
+ const allFilePaths = [...new Set([...filePaths, ...extra])];
243583
243636
  const functionData = {
243584
243637
  ...config7,
243585
243638
  entryPath,
243586
- filePaths,
243639
+ filePaths: allFilePaths,
243640
+ outOfBoundsImports: outOfBounds,
243587
243641
  source: { type: "project" }
243588
243642
  };
243589
243643
  return functionData;
@@ -243601,16 +243655,19 @@ async function readAllFunctions(functionsDir) {
243601
243655
  absolute: true,
243602
243656
  ignore: ENTRY_IGNORE_DOT_PATHS
243603
243657
  });
243604
- const configFilesDirs = new Set(configFiles.map((f) => dirname6(f)));
243605
- const entryFilesWithoutConfig = entryFiles.filter((entryFile) => !configFilesDirs.has(dirname6(entryFile)));
243606
- const functionsFromConfig = await Promise.all(configFiles.map((configPath) => readFunction(configPath)));
243658
+ const configFilesDirs = new Set(configFiles.map((f) => dirname7(f)));
243659
+ const entryFilesWithoutConfig = entryFiles.filter((entryFile) => !configFilesDirs.has(dirname7(entryFile)));
243660
+ const backendRoot = resolve3(functionsDir, "..");
243661
+ const functionsFromConfig = await Promise.all(configFiles.map((configPath) => readFunction(configPath, backendRoot)));
243607
243662
  const functionsWithoutConfig = await Promise.all(entryFilesWithoutConfig.map(async (entryFile) => {
243608
- const functionDir = dirname6(entryFile);
243663
+ const functionDir = dirname7(entryFile);
243609
243664
  const filePaths = await globby("**/*.{js,ts,json}", {
243610
243665
  cwd: functionDir,
243611
243666
  absolute: true
243612
243667
  });
243613
- const name2 = relative(functionsDir, functionDir).split(/[/\\]/).join("/");
243668
+ const { extra, outOfBounds } = await collectReachableBackendFiles(entryFile, filePaths, backendRoot);
243669
+ const allFilePaths = [...new Set([...filePaths, ...extra])];
243670
+ const name2 = relative2(functionsDir, functionDir).split(/[/\\]/).join("/");
243614
243671
  if (!name2) {
243615
243672
  throw new InvalidInputError("entry.ts found directly in the functions directory — it must be inside a named subfolder", {
243616
243673
  hints: [
@@ -243625,7 +243682,8 @@ async function readAllFunctions(functionsDir) {
243625
243682
  name: name2,
243626
243683
  entry,
243627
243684
  entryPath: entryFile,
243628
- filePaths,
243685
+ filePaths: allFilePaths,
243686
+ outOfBoundsImports: outOfBounds,
243629
243687
  source: { type: "project" }
243630
243688
  };
243631
243689
  return functionData;
@@ -243647,12 +243705,12 @@ async function readAllFunctions(functionsDir) {
243647
243705
  return functions;
243648
243706
  }
243649
243707
  // src/core/resources/function/deploy.ts
243650
- import { dirname as dirname7, relative as relative2 } from "node:path";
243708
+ import { dirname as dirname8, relative as relative3 } from "node:path";
243651
243709
  async function loadFunctionCode(fn) {
243652
- const functionDir = dirname7(fn.entryPath);
243710
+ const functionDir = dirname8(fn.entryPath);
243653
243711
  const resolvedFiles = await Promise.all(fn.filePaths.map(async (filePath) => {
243654
243712
  const content = await readTextFile(filePath);
243655
- const path11 = relative2(functionDir, filePath).split(/[/\\]/).join("/");
243713
+ const path11 = relative3(functionDir, filePath).split(/[/\\]/).join("/");
243656
243714
  return { path: path11, content };
243657
243715
  }));
243658
243716
  return { ...fn, files: resolvedFiles };
@@ -243826,7 +243884,7 @@ class ProjectConfigReader {
243826
243884
  return result.data;
243827
243885
  }
243828
243886
  async readProjectResources(configPath, project) {
243829
- const configDir = dirname8(configPath);
243887
+ const configDir = dirname9(configPath);
243830
243888
  const [entities, functions, agents, connectors, authConfig] = await Promise.all([
243831
243889
  entityResource.readAll(join10(configDir, project.entitiesDir)),
243832
243890
  functionResource.readAll(join10(configDir, project.functionsDir)),
@@ -243855,7 +243913,7 @@ class ProjectConfigReader {
243855
243913
  this.pluginSourceByNamespace.set(namespace, source);
243856
243914
  }
243857
243915
  async readPluginConfig(plugin, hostConfigPath) {
243858
- const pluginRoot = resolvePluginRoot(plugin.source, dirname8(hostConfigPath));
243916
+ const pluginRoot = resolvePluginRoot(plugin.source, dirname9(hostConfigPath));
243859
243917
  const { configPath } = await this.findConfigOrThrow(pluginRoot);
243860
243918
  const project = await this.readConfigFile(configPath);
243861
243919
  const namespace = requirePluginNamespace(project, plugin.source, configPath);
@@ -243933,7 +243991,7 @@ async function readProjectConfig(projectRoot) {
243933
243991
  // src/core/project/template.ts
243934
243992
  var import_ejs = __toESM(require_ejs(), 1);
243935
243993
  var import_front_matter = __toESM(require_front_matter(), 1);
243936
- import { dirname as dirname9, join as join12 } from "node:path";
243994
+ import { dirname as dirname10, join as join12 } from "node:path";
243937
243995
 
243938
243996
  // src/core/assets.ts
243939
243997
  import { cpSync, existsSync } from "node:fs";
@@ -244085,7 +244143,7 @@ async function renderTemplate(template, destPath, data, options = {}) {
244085
244143
  if (file2.endsWith(".ejs")) {
244086
244144
  const rendered = await import_ejs.default.renderFile(srcPath, data);
244087
244145
  const { attributes, body } = import_front_matter.default(rendered);
244088
- const destFile = attributes.outputFileName ? join12(dirname9(file2), attributes.outputFileName) : file2.replace(/\.ejs$/, "");
244146
+ const destFile = attributes.outputFileName ? join12(dirname10(file2), attributes.outputFileName) : file2.replace(/\.ejs$/, "");
244089
244147
  const destFilePath = join12(destPath, destFile);
244090
244148
  if (skipExisting && await pathExists(destFilePath)) {
244091
244149
  skipped.push(destFile);
@@ -244152,7 +244210,7 @@ async function createProjectFilesForExistingProject(options) {
244152
244210
  };
244153
244211
  }
244154
244212
  // src/core/project/deploy.ts
244155
- import { resolve as resolve2 } from "node:path";
244213
+ import { resolve as resolve4 } from "node:path";
244156
244214
 
244157
244215
  // src/core/site/api.ts
244158
244216
  async function uploadSite(archivePath) {
@@ -244239,10 +244297,9 @@ async function deployAll(projectData, options) {
244239
244297
  });
244240
244298
  await agentResource.push(agents);
244241
244299
  await authConfigResource.push(authConfig);
244242
- const skipConnectorSync = connectors.length === 0 && hasWorkspaceApiKeyAuth();
244243
- const connectorResults = skipConnectorSync ? [] : (await pushConnectors(connectors)).results;
244300
+ const { results: connectorResults } = await pushConnectors(connectors);
244244
244301
  if (project.site?.outputDirectory) {
244245
- const outputDir = resolve2(project.root, project.site.outputDirectory);
244302
+ const outputDir = resolve4(project.root, project.site.outputDirectory);
244246
244303
  const { appUrl } = await deploySite(outputDir);
244247
244304
  return { appUrl, connectorResults };
244248
244305
  }
@@ -244264,9 +244321,6 @@ async function handleUnauthorized(request, _options, response) {
244264
244321
  if (response.status !== 401) {
244265
244322
  return;
244266
244323
  }
244267
- if (hasWorkspaceApiKeyAuth()) {
244268
- return;
244269
- }
244270
244324
  if (retriedRequests.has(request)) {
244271
244325
  return;
244272
244326
  }
@@ -244295,11 +244349,6 @@ var base44Client = distribution_default.create({
244295
244349
  },
244296
244350
  captureRequestBody,
244297
244351
  async (request) => {
244298
- const workspaceApiKey = getWorkspaceApiKeyFromEnv();
244299
- if (workspaceApiKey && isWorkspaceApiKey(workspaceApiKey)) {
244300
- request.headers.set("api_key", workspaceApiKey);
244301
- return;
244302
- }
244303
244352
  try {
244304
244353
  const auth = await readAuth();
244305
244354
  if (isTokenExpired(auth)) {
@@ -244505,12 +244554,6 @@ async function login({
244505
244554
 
244506
244555
  // src/cli/utils/command/middleware.ts
244507
244556
  async function ensureAuth(ctx) {
244508
- if (hasWorkspaceApiKeyAuth()) {
244509
- ctx.errorReporter.setContext({
244510
- user: { email: "workspace-api-key", name: "Workspace API key" }
244511
- });
244512
- return;
244513
- }
244514
244557
  await seedAuthFromEnv();
244515
244558
  const loggedIn = await isLoggedIn();
244516
244559
  if (!loggedIn) {
@@ -246078,8 +246121,8 @@ var disconnect = (anyProcess) => {
246078
246121
  // ../../node_modules/execa/lib/utils/deferred.js
246079
246122
  var createDeferred = () => {
246080
246123
  const methods = {};
246081
- const promise2 = new Promise((resolve3, reject) => {
246082
- Object.assign(methods, { resolve: resolve3, reject });
246124
+ const promise2 = new Promise((resolve5, reject) => {
246125
+ Object.assign(methods, { resolve: resolve5, reject });
246083
246126
  });
246084
246127
  return Object.assign(promise2, methods);
246085
246128
  };
@@ -250443,11 +250486,11 @@ var addConcurrentStream = (concurrentStreams, stream, waitName) => {
250443
250486
  const promises = weakMap.get(stream);
250444
250487
  const promise2 = createDeferred();
250445
250488
  promises.push(promise2);
250446
- const resolve3 = promise2.resolve.bind(promise2);
250447
- return { resolve: resolve3, promises };
250489
+ const resolve5 = promise2.resolve.bind(promise2);
250490
+ return { resolve: resolve5, promises };
250448
250491
  };
250449
- var waitForConcurrentStreams = async ({ resolve: resolve3, promises }, subprocess) => {
250450
- resolve3();
250492
+ var waitForConcurrentStreams = async ({ resolve: resolve5, promises }, subprocess) => {
250493
+ resolve5();
250451
250494
  const [isSubprocessExit] = await Promise.race([
250452
250495
  Promise.allSettled([true, subprocess]),
250453
250496
  Promise.all([false, ...promises])
@@ -251448,7 +251491,7 @@ async function pullAgentsAction({
251448
251491
  runTask: runTask2
251449
251492
  }) {
251450
251493
  const { project: project2 } = await readProjectConfig();
251451
- const configDir = dirname10(project2.configPath);
251494
+ const configDir = dirname11(project2.configPath);
251452
251495
  const agentsDir = join14(configDir, project2.agentsDir);
251453
251496
  const remoteAgents = await runTask2("Fetching agents from Base44", async () => {
251454
251497
  return await fetchAgents();
@@ -251513,11 +251556,11 @@ function getAgentsCommand() {
251513
251556
  }
251514
251557
 
251515
251558
  // src/cli/commands/auth/password-login.ts
251516
- import { dirname as dirname11, join as join15 } from "node:path";
251559
+ import { dirname as dirname12, join as join15 } from "node:path";
251517
251560
  async function passwordLoginAction({ log, runTask: runTask2 }, action) {
251518
251561
  const shouldEnable = action === "enable";
251519
251562
  const { project: project2 } = await readProjectConfig();
251520
- const configDir = dirname11(project2.configPath);
251563
+ const configDir = dirname12(project2.configPath);
251521
251564
  const authDir = join15(configDir, project2.authDir);
251522
251565
  const updated = await runTask2("Updating local auth config", async () => {
251523
251566
  const current = await readAuthConfig(authDir) ?? DEFAULT_AUTH_CONFIG;
@@ -251538,13 +251581,13 @@ function getPasswordLoginCommand() {
251538
251581
  }
251539
251582
 
251540
251583
  // src/cli/commands/auth/pull.ts
251541
- import { dirname as dirname12, join as join16 } from "node:path";
251584
+ import { dirname as dirname13, join as join16 } from "node:path";
251542
251585
  async function pullAuthAction({
251543
251586
  log,
251544
251587
  runTask: runTask2
251545
251588
  }) {
251546
251589
  const { project: project2 } = await readProjectConfig();
251547
- const configDir = dirname12(project2.configPath);
251590
+ const configDir = dirname13(project2.configPath);
251548
251591
  const authDir = join16(configDir, project2.authDir);
251549
251592
  const remoteConfig = await runTask2("Fetching auth config from Base44", async () => {
251550
251593
  return await pullAuthConfig();
@@ -251609,7 +251652,7 @@ function getAuthPushCommand() {
251609
251652
  }
251610
251653
 
251611
251654
  // src/cli/commands/auth/social-login.ts
251612
- import { dirname as dirname13, join as join17, resolve as resolve3 } from "node:path";
251655
+ import { dirname as dirname14, join as join17, resolve as resolve5 } from "node:path";
251613
251656
  var PROVIDER_LABELS = {
251614
251657
  google: "Google",
251615
251658
  microsoft: "Microsoft",
@@ -251649,7 +251692,7 @@ async function socialLoginAction({ log, isNonInteractive, runTask: runTask2 }, p
251649
251692
  let clientSecret;
251650
251693
  if (useCustomOAuth && oauth && oauthCli && hasSecretOptions(options)) {
251651
251694
  if (options.envFile) {
251652
- const secrets = await parseEnvFile(resolve3(options.envFile));
251695
+ const secrets = await parseEnvFile(resolve5(options.envFile));
251653
251696
  const value = secrets[oauthCli.envVar];
251654
251697
  if (!value) {
251655
251698
  throw new InvalidInputError(`Key "${oauthCli.envVar}" not found in ${options.envFile}.`);
@@ -251679,7 +251722,7 @@ async function socialLoginAction({ log, isNonInteractive, runTask: runTask2 }, p
251679
251722
  }
251680
251723
  }
251681
251724
  const { project: project2 } = await readProjectConfig();
251682
- const configDir = dirname13(project2.configPath);
251725
+ const configDir = dirname14(project2.configPath);
251683
251726
  const authDir = join17(configDir, project2.authDir);
251684
251727
  const { config: updated } = await runTask2("Updating local auth config", async () => updateSocialLoginConfig(authDir, provider, shouldEnable, useCustomOAuth && options.clientId ? { clientId: options.clientId } : undefined));
251685
251728
  if (clientSecret) {
@@ -251705,7 +251748,7 @@ function getSocialLoginCommand() {
251705
251748
  }
251706
251749
 
251707
251750
  // src/cli/commands/auth/sso.ts
251708
- import { dirname as dirname14, join as join18, resolve as resolve4 } from "node:path";
251751
+ import { dirname as dirname15, join as join18, resolve as resolve6 } from "node:path";
251709
251752
  var SSOConfigFileSchema = exports_external.object({
251710
251753
  provider: exports_external.enum(Object.values(KNOWN_SSO_PROVIDERS)),
251711
251754
  clientId: exports_external.string(),
@@ -251721,7 +251764,7 @@ var SSOConfigFileSchema = exports_external.object({
251721
251764
  ssoName: exports_external.string().optional()
251722
251765
  });
251723
251766
  async function loadSSOConfigFile(filePath) {
251724
- const resolved = resolve4(filePath);
251767
+ const resolved = resolve6(filePath);
251725
251768
  const raw2 = await readJsonFile(resolved);
251726
251769
  const result = SSOConfigFileSchema.safeParse(raw2);
251727
251770
  if (!result.success) {
@@ -251809,7 +251852,7 @@ async function ssoEnableAction({ isNonInteractive, runTask: runTask2 }, options)
251809
251852
  }
251810
251853
  let clientSecret;
251811
251854
  if (merged.envFile && !merged.clientSecret) {
251812
- const secrets2 = await parseEnvFile(resolve4(merged.envFile));
251855
+ const secrets2 = await parseEnvFile(resolve6(merged.envFile));
251813
251856
  const value = secrets2.sso_client_secret;
251814
251857
  if (!value) {
251815
251858
  throw new InvalidInputError(`Key "sso_client_secret" not found in ${merged.envFile}.`);
@@ -251868,7 +251911,7 @@ async function ssoEnableAction({ isNonInteractive, runTask: runTask2 }, options)
251868
251911
  throw error48;
251869
251912
  }
251870
251913
  const { project: project2 } = await readProjectConfig();
251871
- const configDir = dirname14(project2.configPath);
251914
+ const configDir = dirname15(project2.configPath);
251872
251915
  const authDir = join18(configDir, project2.authDir);
251873
251916
  await runTask2("Updating local auth config", async () => updateSSOConfig(authDir, provider, true));
251874
251917
  await runTask2("Saving SSO credentials", async () => pushSSOSecrets(secrets));
@@ -251884,7 +251927,7 @@ async function ssoDisableAction({ log, runTask: runTask2 }, options) {
251884
251927
  throw new InvalidInputError("Configuration options cannot be used with disable. To disable SSO: base44 auth sso disable");
251885
251928
  }
251886
251929
  const { project: project2 } = await readProjectConfig();
251887
- const configDir = dirname14(project2.configPath);
251930
+ const configDir = dirname15(project2.configPath);
251888
251931
  const authDir = join18(configDir, project2.authDir);
251889
251932
  const updated = await runTask2("Updating local auth config", async () => updateSSOConfig(authDir, null, false));
251890
251933
  await runTask2("Removing SSO credentials", async () => deleteSSOSecrets());
@@ -251935,12 +251978,6 @@ function getLogoutCommand() {
251935
251978
 
251936
251979
  // src/cli/commands/auth/whoami.ts
251937
251980
  async function whoami(_ctx) {
251938
- const workspaceApiKey = getWorkspaceApiKeyFromEnv();
251939
- if (workspaceApiKey && isWorkspaceApiKey(workspaceApiKey)) {
251940
- return {
251941
- outroMessage: `Using workspace API key: ${theme.styles.bold(workspaceApiKey.slice(0, 10))}`
251942
- };
251943
- }
251944
251981
  const auth2 = await readAuth();
251945
251982
  return { outroMessage: `Logged in as: ${theme.styles.bold(auth2.email)}` };
251946
251983
  }
@@ -252447,19 +252484,19 @@ var baseOpen = async (options) => {
252447
252484
  }
252448
252485
  const subprocess = childProcess3.spawn(command2, cliArguments, childProcessOptions);
252449
252486
  if (options.wait) {
252450
- return new Promise((resolve5, reject) => {
252487
+ return new Promise((resolve7, reject) => {
252451
252488
  subprocess.once("error", reject);
252452
252489
  subprocess.once("close", (exitCode) => {
252453
252490
  if (!options.allowNonzeroExitCode && exitCode !== 0) {
252454
252491
  reject(new Error(`Exited with code ${exitCode}`));
252455
252492
  return;
252456
252493
  }
252457
- resolve5(subprocess);
252494
+ resolve7(subprocess);
252458
252495
  });
252459
252496
  });
252460
252497
  }
252461
252498
  if (isFallbackAttempt) {
252462
- return new Promise((resolve5, reject) => {
252499
+ return new Promise((resolve7, reject) => {
252463
252500
  subprocess.once("error", reject);
252464
252501
  subprocess.once("spawn", () => {
252465
252502
  subprocess.once("close", (exitCode) => {
@@ -252469,17 +252506,17 @@ var baseOpen = async (options) => {
252469
252506
  return;
252470
252507
  }
252471
252508
  subprocess.unref();
252472
- resolve5(subprocess);
252509
+ resolve7(subprocess);
252473
252510
  });
252474
252511
  });
252475
252512
  });
252476
252513
  }
252477
252514
  subprocess.unref();
252478
- return new Promise((resolve5, reject) => {
252515
+ return new Promise((resolve7, reject) => {
252479
252516
  subprocess.once("error", reject);
252480
252517
  subprocess.once("spawn", () => {
252481
252518
  subprocess.off("error", reject);
252482
- resolve5(subprocess);
252519
+ resolve7(subprocess);
252483
252520
  });
252484
252521
  });
252485
252522
  };
@@ -252742,13 +252779,13 @@ function getConnectorsListAvailableCommand() {
252742
252779
  }
252743
252780
 
252744
252781
  // src/cli/commands/connectors/pull.ts
252745
- import { dirname as dirname15, join as join19, resolve as resolve5 } from "node:path";
252782
+ import { dirname as dirname16, join as join19, resolve as resolve7 } from "node:path";
252746
252783
  async function resolveConnectorsDir(options) {
252747
252784
  if (!getAppContext().projectRoot) {
252748
- return resolve5(options.dir ?? "connectors");
252785
+ return resolve7(options.dir ?? "connectors");
252749
252786
  }
252750
252787
  const { project: project2 } = await readProjectConfig();
252751
- return join19(dirname15(project2.configPath), project2.connectorsDir);
252788
+ return join19(dirname16(project2.configPath), project2.connectorsDir);
252752
252789
  }
252753
252790
  async function pullConnectorsAction({ log, runTask: runTask2, jsonMode }, options) {
252754
252791
  const connectorsDir = await resolveConnectorsDir(options);
@@ -252789,10 +252826,10 @@ function getConnectorsPullCommand() {
252789
252826
  }
252790
252827
 
252791
252828
  // src/cli/commands/connectors/push.ts
252792
- import { resolve as resolve6 } from "node:path";
252829
+ import { resolve as resolve8 } from "node:path";
252793
252830
  async function readConnectorsToPush(options) {
252794
252831
  if (!getAppContext().projectRoot) {
252795
- return readAllConnectors(resolve6(options.dir ?? "connectors"));
252832
+ return readAllConnectors(resolve8(options.dir ?? "connectors"));
252796
252833
  }
252797
252834
  const { connectors } = await readProjectConfig();
252798
252835
  return connectors;
@@ -253073,6 +253110,15 @@ async function deployFunctionsAction({ log }, names, options) {
253073
253110
  };
253074
253111
  }
253075
253112
  log.info(`Found ${toDeploy.length} ${toDeploy.length === 1 ? "function" : "functions"} to deploy`);
253113
+ for (const fn of toDeploy) {
253114
+ if (fn.outOfBoundsImports && fn.outOfBoundsImports.length > 0) {
253115
+ for (const { importer, specifier } of fn.outOfBoundsImports) {
253116
+ const rel = importer.includes(fn.name) ? importer.slice(importer.lastIndexOf(fn.name)) : importer;
253117
+ log.error(`[${fn.name}] Cannot import "${specifier}" in ${rel}: the file is outside base44/ and cannot be uploaded. Move it to base44/shared/ to share it across functions. Functions run on Deno — use npm: or jsr: specifiers (not package.json) for external packages.`);
253118
+ }
253119
+ throw new CLIExitError(1);
253120
+ }
253121
+ }
253076
253122
  let completed = 0;
253077
253123
  const total = toDeploy.length;
253078
253124
  const results = await deployFunctionsSequentially(toDeploy, {
@@ -253141,10 +253187,10 @@ function getListCommand() {
253141
253187
  }
253142
253188
 
253143
253189
  // src/cli/commands/functions/pull.ts
253144
- import { dirname as dirname16, join as join20 } from "node:path";
253190
+ import { dirname as dirname17, join as join20 } from "node:path";
253145
253191
  async function pullFunctionsAction({ log, runTask: runTask2 }, name2) {
253146
253192
  const { project: project2, functions } = await readProjectConfig();
253147
- const configDir = dirname16(project2.configPath);
253193
+ const configDir = dirname17(project2.configPath);
253148
253194
  const functionsDir = join20(configDir, project2.functionsDir);
253149
253195
  const pluginFunctionNames = new Set(functions.filter((fn) => fn.source.type === "plugin").map((fn) => fn.name));
253150
253196
  const remoteFunctions = await runTask2("Fetching functions from Base44", async () => {
@@ -253204,7 +253250,7 @@ function getFunctionsCommand() {
253204
253250
  }
253205
253251
 
253206
253252
  // src/cli/commands/project/create.ts
253207
- import { basename as basename4, resolve as resolve7 } from "node:path";
253253
+ import { basename as basename4, resolve as resolve9 } from "node:path";
253208
253254
  var import_kebabCase = __toESM(require_kebabCase(), 1);
253209
253255
 
253210
253256
  // src/cli/commands/project/scaffold-shared.ts
@@ -253358,7 +253404,7 @@ async function createInteractive(options, ctx) {
253358
253404
  }, ctx);
253359
253405
  }
253360
253406
  async function createNonInteractive(options, ctx) {
253361
- ctx.log.info(`Creating a new project at ${resolve7(options.path)}`);
253407
+ ctx.log.info(`Creating a new project at ${resolve9(options.path)}`);
253362
253408
  const template2 = await getTemplateById(options.template ?? DEFAULT_TEMPLATE_ID);
253363
253409
  return await executeCreate({
253364
253410
  template: template2,
@@ -253380,7 +253426,7 @@ async function executeCreate({
253380
253426
  }, ctx) {
253381
253427
  const { log, runTask: runTask2 } = ctx;
253382
253428
  const name2 = rawName.trim();
253383
- const resolvedPath = resolve7(projectPath);
253429
+ const resolvedPath = resolve9(projectPath);
253384
253430
  const { projectId } = await runTask2("Setting up your project...", async () => {
253385
253431
  return await createProjectFiles({
253386
253432
  name: name2,
@@ -253776,7 +253822,7 @@ async function followLogs(functionNames, options, availableFunctionNames, jsonMo
253776
253822
  for (const entry of fresh)
253777
253823
  writeFollowLine(entry, jsonMode);
253778
253824
  first = false;
253779
- await new Promise((resolve8) => setTimeout(resolve8, 2000));
253825
+ await new Promise((resolve10) => setTimeout(resolve10, 2000));
253780
253826
  }
253781
253827
  }
253782
253828
  function formatLogs(entries, env3) {
@@ -253825,8 +253871,7 @@ async function fetchLogsForFunctions(functionNames, options, availableFunctionNa
253825
253871
  }
253826
253872
  throw error48;
253827
253873
  }
253828
- const matchingLogs = filters.level ? logs.filter((entry) => entry.level === filters.level) : logs;
253829
- allEntries.push(...matchingLogs.map((entry) => normalizeLogEntry(entry, functionName)));
253874
+ allEntries.push(...logs.map((entry) => normalizeLogEntry(entry, functionName)));
253830
253875
  }
253831
253876
  if (functionNames.length > 1) {
253832
253877
  const order = options.order?.toUpperCase() === "ASC" ? 1 : -1;
@@ -253890,7 +253935,7 @@ function getLogsCommand() {
253890
253935
  }
253891
253936
 
253892
253937
  // src/cli/commands/project/scaffold.ts
253893
- import { basename as basename5, resolve as resolve8 } from "node:path";
253938
+ import { basename as basename5, resolve as resolve10 } from "node:path";
253894
253939
  function resolveAppId(options) {
253895
253940
  const appId = options.appId;
253896
253941
  if (!appId) {
@@ -253906,7 +253951,7 @@ function resolveAppId(options) {
253906
253951
  async function scaffoldAction(ctx, name2, options, command2) {
253907
253952
  const { log, runTask: runTask2 } = ctx;
253908
253953
  const appId = resolveAppId(command2.optsWithGlobals());
253909
- const resolvedPath = resolve8("./");
253954
+ const resolvedPath = resolve10("./");
253910
253955
  const projectName = (name2 ?? basename5(resolvedPath)).trim();
253911
253956
  const template2 = await getTemplateById("backend-only");
253912
253957
  log.info(`Scaffolding project at ${resolvedPath}`);
@@ -254296,7 +254341,7 @@ function getSecretsListCommand() {
254296
254341
  }
254297
254342
 
254298
254343
  // src/cli/commands/secrets/set.ts
254299
- import { resolve as resolve9 } from "node:path";
254344
+ import { resolve as resolve11 } from "node:path";
254300
254345
  function parseEntries(entries) {
254301
254346
  const secrets = {};
254302
254347
  for (const entry of entries) {
@@ -254327,7 +254372,7 @@ async function setSecretsAction({ log, runTask: runTask2 }, entries, options) {
254327
254372
  validateInput(entries, options);
254328
254373
  let secrets;
254329
254374
  if (options.envFile) {
254330
- secrets = await parseEnvFile(resolve9(options.envFile));
254375
+ secrets = await parseEnvFile(resolve11(options.envFile));
254331
254376
  if (Object.keys(secrets).length === 0) {
254332
254377
  throw new InvalidInputError("The env file contains no valid KEY=VALUE entries.");
254333
254378
  }
@@ -254356,7 +254401,7 @@ function getSecretsCommand() {
254356
254401
  }
254357
254402
 
254358
254403
  // src/cli/commands/site/deploy.ts
254359
- import { resolve as resolve10 } from "node:path";
254404
+ import { resolve as resolve12 } from "node:path";
254360
254405
  async function deployAction2({ isNonInteractive, runTask: runTask2 }, options) {
254361
254406
  if (isNonInteractive && !options.yes) {
254362
254407
  throw new InvalidInputError("--yes is required in non-interactive mode");
@@ -254371,7 +254416,7 @@ async function deployAction2({ isNonInteractive, runTask: runTask2 }, options) {
254371
254416
  ]
254372
254417
  });
254373
254418
  }
254374
- const outputDir = resolve10(project2.root, project2.site.outputDirectory);
254419
+ const outputDir = resolve12(project2.root, project2.site.outputDirectory);
254375
254420
  if (!options.yes) {
254376
254421
  const shouldDeploy = await Re({
254377
254422
  message: `Deploy site from ${project2.site.outputDirectory}?`
@@ -254550,7 +254595,7 @@ function getTypesCommand() {
254550
254595
  // src/cli/dev/dev-server/main.ts
254551
254596
  var import_cors = __toESM(require_lib4(), 1);
254552
254597
  var import_express6 = __toESM(require_express(), 1);
254553
- import { dirname as dirname21, join as join27 } from "node:path";
254598
+ import { dirname as dirname22, join as join27 } from "node:path";
254554
254599
 
254555
254600
  // ../../node_modules/get-port/index.js
254556
254601
  import net from "node:net";
@@ -254577,14 +254622,14 @@ var getLocalHosts = () => {
254577
254622
  }
254578
254623
  return results;
254579
254624
  };
254580
- var checkAvailablePort = (options8) => new Promise((resolve12, reject) => {
254625
+ var checkAvailablePort = (options8) => new Promise((resolve14, reject) => {
254581
254626
  const server = net.createServer();
254582
254627
  server.unref();
254583
254628
  server.on("error", reject);
254584
254629
  server.listen(options8, () => {
254585
254630
  const { port } = server.address();
254586
254631
  server.close(() => {
254587
- resolve12(port);
254632
+ resolve14(port);
254588
254633
  });
254589
254634
  });
254590
254635
  });
@@ -254843,7 +254888,7 @@ class FunctionManager {
254843
254888
  });
254844
254889
  }
254845
254890
  waitForReady(name2, runningFunc) {
254846
- return new Promise((resolve12, reject) => {
254891
+ return new Promise((resolve14, reject) => {
254847
254892
  runningFunc.process.on("exit", (code2) => {
254848
254893
  if (!runningFunc.ready) {
254849
254894
  clearTimeout(timeout3);
@@ -254866,7 +254911,7 @@ class FunctionManager {
254866
254911
  runningFunc.ready = true;
254867
254912
  clearTimeout(timeout3);
254868
254913
  runningFunc.process.stdout?.off("data", onData);
254869
- resolve12(runningFunc.port);
254914
+ resolve14(runningFunc.port);
254870
254915
  }
254871
254916
  };
254872
254917
  runningFunc.process.stdout?.on("data", onData);
@@ -256124,15 +256169,15 @@ class ServeRunner {
256124
256169
  return;
256125
256170
  }
256126
256171
  this.stopping = true;
256127
- const exited = new Promise((resolve12) => child.once("exit", () => resolve12()));
256172
+ const exited = new Promise((resolve14) => child.once("exit", () => resolve14()));
256128
256173
  if (process21.platform === "win32" && child.pid) {
256129
256174
  const taskkill = spawn3("taskkill", ["/pid", String(child.pid), "/T", "/F"], {
256130
256175
  stdio: "ignore",
256131
256176
  windowsHide: true
256132
256177
  });
256133
- await new Promise((resolve12) => {
256134
- taskkill.once("exit", () => resolve12());
256135
- taskkill.once("error", () => resolve12());
256178
+ await new Promise((resolve14) => {
256179
+ taskkill.once("exit", () => resolve14());
256180
+ taskkill.once("error", () => resolve14());
256136
256181
  });
256137
256182
  } else if (child.pid) {
256138
256183
  try {
@@ -256178,7 +256223,7 @@ class ServeRunner {
256178
256223
 
256179
256224
  // src/cli/dev/dev-server/watcher.ts
256180
256225
  import { EventEmitter as EventEmitter4 } from "node:events";
256181
- import { relative as relative6 } from "node:path";
256226
+ import { relative as relative7 } from "node:path";
256182
256227
 
256183
256228
  // ../../node_modules/chokidar/index.js
256184
256229
  import { EventEmitter as EventEmitter3 } from "node:events";
@@ -256908,9 +256953,9 @@ class NodeFsHandler {
256908
256953
  if (this.fsw.closed) {
256909
256954
  return;
256910
256955
  }
256911
- const dirname20 = sp2.dirname(file2);
256956
+ const dirname21 = sp2.dirname(file2);
256912
256957
  const basename7 = sp2.basename(file2);
256913
- const parent = this.fsw._getWatchedDir(dirname20);
256958
+ const parent = this.fsw._getWatchedDir(dirname21);
256914
256959
  let prevStats = stats;
256915
256960
  if (parent.has(basename7))
256916
256961
  return;
@@ -256937,7 +256982,7 @@ class NodeFsHandler {
256937
256982
  prevStats = newStats2;
256938
256983
  }
256939
256984
  } catch (error48) {
256940
- this.fsw._remove(dirname20, basename7);
256985
+ this.fsw._remove(dirname21, basename7);
256941
256986
  }
256942
256987
  } else if (parent.has(basename7)) {
256943
256988
  const at13 = newStats.atimeMs;
@@ -257026,7 +257071,7 @@ class NodeFsHandler {
257026
257071
  this._addToNodeFs(path19, initialAdd, wh2, depth + 1);
257027
257072
  }
257028
257073
  }).on(EV.ERROR, this._boundHandleError);
257029
- return new Promise((resolve13, reject) => {
257074
+ return new Promise((resolve15, reject) => {
257030
257075
  if (!stream)
257031
257076
  return reject();
257032
257077
  stream.once(STR_END, () => {
@@ -257035,7 +257080,7 @@ class NodeFsHandler {
257035
257080
  return;
257036
257081
  }
257037
257082
  const wasThrottled = throttler ? throttler.clear() : false;
257038
- resolve13(undefined);
257083
+ resolve15(undefined);
257039
257084
  previous.getChildren().filter((item) => {
257040
257085
  return item !== directory && !current.has(item);
257041
257086
  }).forEach((item) => {
@@ -257160,11 +257205,11 @@ function createPattern(matcher) {
257160
257205
  if (matcher.path === string4)
257161
257206
  return true;
257162
257207
  if (matcher.recursive) {
257163
- const relative6 = sp3.relative(matcher.path, string4);
257164
- if (!relative6) {
257208
+ const relative7 = sp3.relative(matcher.path, string4);
257209
+ if (!relative7) {
257165
257210
  return false;
257166
257211
  }
257167
- return !relative6.startsWith("..") && !sp3.isAbsolute(relative6);
257212
+ return !relative7.startsWith("..") && !sp3.isAbsolute(relative7);
257168
257213
  }
257169
257214
  return false;
257170
257215
  };
@@ -257863,7 +257908,7 @@ class WatchBase44 extends EventEmitter4 {
257863
257908
  ignoreInitial: true
257864
257909
  });
257865
257910
  watcher.on("all", import_debounce.default(async (_event, path19) => {
257866
- this.emit("change", name2, relative6(targetPath, path19));
257911
+ this.emit("change", name2, relative7(targetPath, path19));
257867
257912
  }, WATCH_DEBOUNCE_MS));
257868
257913
  watcher.on("error", (err) => {
257869
257914
  this.logger.error(`Watch handler failed for ${targetPath}`, err);
@@ -257952,7 +257997,7 @@ async function createDevServer(options8) {
257952
257997
  }
257953
257998
  remoteProxy(req, res, next);
257954
257999
  });
257955
- const server = await new Promise((resolve14, reject) => {
258000
+ const server = await new Promise((resolve16, reject) => {
257956
258001
  const s5 = app.listen(port, "127.0.0.1", (err) => {
257957
258002
  if (err) {
257958
258003
  if ("code" in err && err.code === "EADDRINUSE") {
@@ -257961,7 +258006,7 @@ async function createDevServer(options8) {
257961
258006
  reject(err);
257962
258007
  }
257963
258008
  } else {
257964
- resolve14(s5);
258009
+ resolve16(s5);
257965
258010
  }
257966
258011
  });
257967
258012
  });
@@ -257970,8 +258015,8 @@ async function createDevServer(options8) {
257970
258015
  broadcastEntityEvent(io6, appId, entityName, event);
257971
258016
  };
257972
258017
  const base44ConfigWatcher = new WatchBase44({
257973
- functions: join27(dirname21(project2.configPath), project2.functionsDir),
257974
- entities: join27(dirname21(project2.configPath), project2.entitiesDir)
258018
+ functions: join27(dirname22(project2.configPath), project2.functionsDir),
258019
+ entities: join27(dirname22(project2.configPath), project2.entitiesDir)
257975
258020
  }, devLogger);
257976
258021
  base44ConfigWatcher.on("change", async (name2) => {
257977
258022
  try {
@@ -258024,13 +258069,13 @@ async function createDevServer(options8) {
258024
258069
  if (!server.listening) {
258025
258070
  return;
258026
258071
  }
258027
- await new Promise((resolve14, reject) => {
258072
+ await new Promise((resolve16, reject) => {
258028
258073
  server.close((error48) => {
258029
258074
  if (error48) {
258030
258075
  reject(error48);
258031
258076
  return;
258032
258077
  }
258033
- resolve14();
258078
+ resolve16();
258034
258079
  });
258035
258080
  });
258036
258081
  };
@@ -258139,13 +258184,13 @@ async function runScript(options8) {
258139
258184
  }
258140
258185
  // src/cli/commands/exec.ts
258141
258186
  function readStdin2() {
258142
- return new Promise((resolve14, reject) => {
258187
+ return new Promise((resolve16, reject) => {
258143
258188
  let data = "";
258144
258189
  process.stdin.setEncoding("utf-8");
258145
258190
  process.stdin.on("data", (chunk) => {
258146
258191
  data += chunk;
258147
258192
  });
258148
- process.stdin.on("end", () => resolve14(data));
258193
+ process.stdin.on("end", () => resolve16(data));
258149
258194
  process.stdin.on("error", reject);
258150
258195
  });
258151
258196
  }
@@ -258187,7 +258232,7 @@ Examples:
258187
258232
  }
258188
258233
 
258189
258234
  // src/cli/commands/project/eject.ts
258190
- import { resolve as resolve14 } from "node:path";
258235
+ import { resolve as resolve16 } from "node:path";
258191
258236
  var import_kebabCase2 = __toESM(require_kebabCase(), 1);
258192
258237
  async function eject(ctx, options8, command2) {
258193
258238
  const { log, runTask: runTask2, isNonInteractive } = ctx;
@@ -258251,7 +258296,7 @@ async function eject(ctx, options8, command2) {
258251
258296
  Ne("Operation cancelled.");
258252
258297
  throw new CLIExitError(0);
258253
258298
  }
258254
- const resolvedPath = resolve14(selectedPath);
258299
+ const resolvedPath = resolve16(selectedPath);
258255
258300
  await runTask2("Downloading your project's code...", async (updateMessage) => {
258256
258301
  await createProjectFilesForExistingProject({
258257
258302
  projectId,
@@ -258336,7 +258381,7 @@ var import_detect_agent = __toESM(require_dist5(), 1);
258336
258381
  import { release, type } from "node:os";
258337
258382
 
258338
258383
  // ../../node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
258339
- import { dirname as dirname22, posix, sep } from "path";
258384
+ import { dirname as dirname23, posix, sep } from "path";
258340
258385
  function createModulerModifier() {
258341
258386
  const getModuleFromFileName = createGetModuleFromFilename();
258342
258387
  return async (frames) => {
@@ -258345,7 +258390,7 @@ function createModulerModifier() {
258345
258390
  return frames;
258346
258391
  };
258347
258392
  }
258348
- function createGetModuleFromFilename(basePath = process.argv[1] ? dirname22(process.argv[1]) : process.cwd(), isWindows5 = sep === "\\") {
258393
+ function createGetModuleFromFilename(basePath = process.argv[1] ? dirname23(process.argv[1]) : process.cwd(), isWindows5 = sep === "\\") {
258349
258394
  const normalizedBase = isWindows5 ? normalizeWindowsPath2(basePath) : basePath;
258350
258395
  return (filename) => {
258351
258396
  if (!filename)
@@ -260623,14 +260668,14 @@ async function addSourceContext(frames) {
260623
260668
  return frames;
260624
260669
  }
260625
260670
  function getContextLinesFromFile(path19, ranges, output) {
260626
- return new Promise((resolve15) => {
260671
+ return new Promise((resolve17) => {
260627
260672
  const stream = createReadStream2(path19);
260628
260673
  const lineReaded = createInterface2({
260629
260674
  input: stream
260630
260675
  });
260631
260676
  function destroyStreamAndResolve() {
260632
260677
  stream.destroy();
260633
- resolve15();
260678
+ resolve17();
260634
260679
  }
260635
260680
  let lineNumber = 0;
260636
260681
  let currentRangeIndex = 0;
@@ -261742,15 +261787,15 @@ class PostHogBackendClient extends PostHogCoreStateless {
261742
261787
  return true;
261743
261788
  if (this.featureFlagsPoller === undefined)
261744
261789
  return false;
261745
- return new Promise((resolve15) => {
261790
+ return new Promise((resolve17) => {
261746
261791
  const timeout3 = setTimeout(() => {
261747
261792
  cleanup();
261748
- resolve15(false);
261793
+ resolve17(false);
261749
261794
  }, timeoutMs);
261750
261795
  const cleanup = this._events.on("localEvaluationFlagsLoaded", (count2) => {
261751
261796
  clearTimeout(timeout3);
261752
261797
  cleanup();
261753
- resolve15(count2 > 0);
261798
+ resolve17(count2 > 0);
261754
261799
  });
261755
261800
  });
261756
261801
  }
@@ -262534,7 +262579,7 @@ function addCommandInfoToErrorReporter(program2, errorReporter) {
262534
262579
  });
262535
262580
  }
262536
262581
  // src/cli/index.ts
262537
- var __dirname4 = dirname23(fileURLToPath6(import.meta.url));
262582
+ var __dirname4 = dirname24(fileURLToPath6(import.meta.url));
262538
262583
  async function runCLI(options8) {
262539
262584
  ensureNpmAssets(join28(__dirname4, "../assets"));
262540
262585
  const errorReporter = new ErrorReporter;
@@ -262575,4 +262620,4 @@ export {
262575
262620
  CLIExitError
262576
262621
  };
262577
262622
 
262578
- //# debugId=E15997208358C91664756E2164756E21
262623
+ //# debugId=B8C7F17D9436926E64756E2164756E21