@vm0/cli 9.156.8 → 9.157.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4629,8 +4629,8 @@ var require_browser = __commonJS({
4629
4629
  if (!this.useColors) {
4630
4630
  return;
4631
4631
  }
4632
- const c106 = "color: " + this.color;
4633
- args.splice(1, 0, c106, "color: inherit");
4632
+ const c107 = "color: " + this.color;
4633
+ args.splice(1, 0, c107, "color: inherit");
4634
4634
  let index = 0;
4635
4635
  let lastC = 0;
4636
4636
  args[0].replace(/%[a-zA-Z%]/g, (match) => {
@@ -4642,7 +4642,7 @@ var require_browser = __commonJS({
4642
4642
  lastC = index;
4643
4643
  }
4644
4644
  });
4645
- args.splice(lastC, 0, c106);
4645
+ args.splice(lastC, 0, c107);
4646
4646
  }
4647
4647
  exports.log = console.debug || console.log || (() => {
4648
4648
  });
@@ -4930,8 +4930,8 @@ var require_node = __commonJS({
4930
4930
  function formatArgs(args) {
4931
4931
  const { namespace: name, useColors: useColors2 } = this;
4932
4932
  if (useColors2) {
4933
- const c106 = this.color;
4934
- const colorCode = "\x1B[3" + (c106 < 8 ? c106 : "8;5;" + c106);
4933
+ const c107 = this.color;
4934
+ const colorCode = "\x1B[3" + (c107 < 8 ? c107 : "8;5;" + c107);
4935
4935
  const prefix = ` ${colorCode};1m${name} \x1B[0m`;
4936
4936
  args[0] = prefix + args[0].split("\n").join("\n" + prefix);
4937
4937
  args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
@@ -8981,27 +8981,27 @@ var require_commonjs2 = __commonJS({
8981
8981
  const pad = n.some(isPadded);
8982
8982
  N = [];
8983
8983
  for (let i = x2; test(i, y) && N.length < max; i += incr) {
8984
- let c106;
8984
+ let c107;
8985
8985
  if (isAlphaSequence) {
8986
- c106 = String.fromCharCode(i);
8987
- if (c106 === "\\") {
8988
- c106 = "";
8986
+ c107 = String.fromCharCode(i);
8987
+ if (c107 === "\\") {
8988
+ c107 = "";
8989
8989
  }
8990
8990
  } else {
8991
- c106 = String(i);
8991
+ c107 = String(i);
8992
8992
  if (pad) {
8993
- const need = width - c106.length;
8993
+ const need = width - c107.length;
8994
8994
  if (need > 0) {
8995
8995
  const z3 = new Array(need + 1).join("0");
8996
8996
  if (i < 0) {
8997
- c106 = "-" + z3 + c106.slice(1);
8997
+ c107 = "-" + z3 + c107.slice(1);
8998
8998
  } else {
8999
- c106 = z3 + c106;
8999
+ c107 = z3 + c107;
9000
9000
  }
9001
9001
  }
9002
9002
  }
9003
9003
  }
9004
- N.push(c106);
9004
+ N.push(c107);
9005
9005
  }
9006
9006
  } else {
9007
9007
  N = [];
@@ -9084,25 +9084,25 @@ var require_brace_expressions = __commonJS({
9084
9084
  let endPos = pos;
9085
9085
  let rangeStart = "";
9086
9086
  WHILE: while (i < glob.length) {
9087
- const c106 = glob.charAt(i);
9088
- if ((c106 === "!" || c106 === "^") && i === pos + 1) {
9087
+ const c107 = glob.charAt(i);
9088
+ if ((c107 === "!" || c107 === "^") && i === pos + 1) {
9089
9089
  negate = true;
9090
9090
  i++;
9091
9091
  continue;
9092
9092
  }
9093
- if (c106 === "]" && sawStart && !escaping) {
9093
+ if (c107 === "]" && sawStart && !escaping) {
9094
9094
  endPos = i + 1;
9095
9095
  break;
9096
9096
  }
9097
9097
  sawStart = true;
9098
- if (c106 === "\\") {
9098
+ if (c107 === "\\") {
9099
9099
  if (!escaping) {
9100
9100
  escaping = true;
9101
9101
  i++;
9102
9102
  continue;
9103
9103
  }
9104
9104
  }
9105
- if (c106 === "[" && !escaping) {
9105
+ if (c107 === "[" && !escaping) {
9106
9106
  for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
9107
9107
  if (glob.startsWith(cls, i)) {
9108
9108
  if (rangeStart) {
@@ -9120,26 +9120,26 @@ var require_brace_expressions = __commonJS({
9120
9120
  }
9121
9121
  escaping = false;
9122
9122
  if (rangeStart) {
9123
- if (c106 > rangeStart) {
9124
- ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c106));
9125
- } else if (c106 === rangeStart) {
9126
- ranges.push(braceEscape(c106));
9123
+ if (c107 > rangeStart) {
9124
+ ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c107));
9125
+ } else if (c107 === rangeStart) {
9126
+ ranges.push(braceEscape(c107));
9127
9127
  }
9128
9128
  rangeStart = "";
9129
9129
  i++;
9130
9130
  continue;
9131
9131
  }
9132
9132
  if (glob.startsWith("-]", i + 1)) {
9133
- ranges.push(braceEscape(c106 + "-"));
9133
+ ranges.push(braceEscape(c107 + "-"));
9134
9134
  i += 2;
9135
9135
  continue;
9136
9136
  }
9137
9137
  if (glob.startsWith("-", i + 1)) {
9138
- rangeStart = c106;
9138
+ rangeStart = c107;
9139
9139
  i += 2;
9140
9140
  continue;
9141
9141
  }
9142
- ranges.push(braceEscape(c106));
9142
+ ranges.push(braceEscape(c107));
9143
9143
  i++;
9144
9144
  }
9145
9145
  if (endPos < i) {
@@ -9189,8 +9189,8 @@ var require_ast = __commonJS({
9189
9189
  var brace_expressions_js_1 = require_brace_expressions();
9190
9190
  var unescape_js_1 = require_unescape();
9191
9191
  var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
9192
- var isExtglobType = (c106) => types.has(c106);
9193
- var isExtglobAST = (c106) => isExtglobType(c106.type);
9192
+ var isExtglobType = (c107) => types.has(c107);
9193
+ var isExtglobAST = (c107) => isExtglobType(c107.type);
9194
9194
  var adoptionMap = /* @__PURE__ */ new Map([
9195
9195
  ["!", ["@"]],
9196
9196
  ["?", ["?", "@"]],
@@ -9387,11 +9387,11 @@ var require_ast = __commonJS({
9387
9387
  this.push(part.clone(this));
9388
9388
  }
9389
9389
  clone(parent) {
9390
- const c106 = new _a2(this.type, parent);
9390
+ const c107 = new _a2(this.type, parent);
9391
9391
  for (const p of this.#parts) {
9392
- c106.copyIn(p);
9392
+ c107.copyIn(p);
9393
9393
  }
9394
- return c106;
9394
+ return c107;
9395
9395
  }
9396
9396
  static #parseAST(str, ast, pos, opt, extDepth) {
9397
9397
  const maxDepth = opt.maxExtglobRecursion ?? 2;
@@ -9403,39 +9403,39 @@ var require_ast = __commonJS({
9403
9403
  let i2 = pos;
9404
9404
  let acc2 = "";
9405
9405
  while (i2 < str.length) {
9406
- const c106 = str.charAt(i2++);
9407
- if (escaping || c106 === "\\") {
9406
+ const c107 = str.charAt(i2++);
9407
+ if (escaping || c107 === "\\") {
9408
9408
  escaping = !escaping;
9409
- acc2 += c106;
9409
+ acc2 += c107;
9410
9410
  continue;
9411
9411
  }
9412
9412
  if (inBrace) {
9413
9413
  if (i2 === braceStart + 1) {
9414
- if (c106 === "^" || c106 === "!") {
9414
+ if (c107 === "^" || c107 === "!") {
9415
9415
  braceNeg = true;
9416
9416
  }
9417
- } else if (c106 === "]" && !(i2 === braceStart + 2 && braceNeg)) {
9417
+ } else if (c107 === "]" && !(i2 === braceStart + 2 && braceNeg)) {
9418
9418
  inBrace = false;
9419
9419
  }
9420
- acc2 += c106;
9420
+ acc2 += c107;
9421
9421
  continue;
9422
- } else if (c106 === "[") {
9422
+ } else if (c107 === "[") {
9423
9423
  inBrace = true;
9424
9424
  braceStart = i2;
9425
9425
  braceNeg = false;
9426
- acc2 += c106;
9426
+ acc2 += c107;
9427
9427
  continue;
9428
9428
  }
9429
- const doRecurse = !opt.noext && isExtglobType(c106) && str.charAt(i2) === "(" && extDepth <= maxDepth;
9429
+ const doRecurse = !opt.noext && isExtglobType(c107) && str.charAt(i2) === "(" && extDepth <= maxDepth;
9430
9430
  if (doRecurse) {
9431
9431
  ast.push(acc2);
9432
9432
  acc2 = "";
9433
- const ext = new _a2(c106, ast);
9433
+ const ext = new _a2(c107, ast);
9434
9434
  i2 = _a2.#parseAST(str, ext, i2, opt, extDepth + 1);
9435
9435
  ast.push(ext);
9436
9436
  continue;
9437
9437
  }
9438
- acc2 += c106;
9438
+ acc2 += c107;
9439
9439
  }
9440
9440
  ast.push(acc2);
9441
9441
  return i2;
@@ -9445,48 +9445,48 @@ var require_ast = __commonJS({
9445
9445
  const parts = [];
9446
9446
  let acc = "";
9447
9447
  while (i < str.length) {
9448
- const c106 = str.charAt(i++);
9449
- if (escaping || c106 === "\\") {
9448
+ const c107 = str.charAt(i++);
9449
+ if (escaping || c107 === "\\") {
9450
9450
  escaping = !escaping;
9451
- acc += c106;
9451
+ acc += c107;
9452
9452
  continue;
9453
9453
  }
9454
9454
  if (inBrace) {
9455
9455
  if (i === braceStart + 1) {
9456
- if (c106 === "^" || c106 === "!") {
9456
+ if (c107 === "^" || c107 === "!") {
9457
9457
  braceNeg = true;
9458
9458
  }
9459
- } else if (c106 === "]" && !(i === braceStart + 2 && braceNeg)) {
9459
+ } else if (c107 === "]" && !(i === braceStart + 2 && braceNeg)) {
9460
9460
  inBrace = false;
9461
9461
  }
9462
- acc += c106;
9462
+ acc += c107;
9463
9463
  continue;
9464
- } else if (c106 === "[") {
9464
+ } else if (c107 === "[") {
9465
9465
  inBrace = true;
9466
9466
  braceStart = i;
9467
9467
  braceNeg = false;
9468
- acc += c106;
9468
+ acc += c107;
9469
9469
  continue;
9470
9470
  }
9471
- const doRecurse = !opt.noext && isExtglobType(c106) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
9472
- (extDepth <= maxDepth || ast && ast.#canAdoptType(c106));
9471
+ const doRecurse = !opt.noext && isExtglobType(c107) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
9472
+ (extDepth <= maxDepth || ast && ast.#canAdoptType(c107));
9473
9473
  if (doRecurse) {
9474
- const depthAdd = ast && ast.#canAdoptType(c106) ? 0 : 1;
9474
+ const depthAdd = ast && ast.#canAdoptType(c107) ? 0 : 1;
9475
9475
  part.push(acc);
9476
9476
  acc = "";
9477
- const ext = new _a2(c106, part);
9477
+ const ext = new _a2(c107, part);
9478
9478
  part.push(ext);
9479
9479
  i = _a2.#parseAST(str, ext, i, opt, extDepth + depthAdd);
9480
9480
  continue;
9481
9481
  }
9482
- if (c106 === "|") {
9482
+ if (c107 === "|") {
9483
9483
  part.push(acc);
9484
9484
  acc = "";
9485
9485
  parts.push(part);
9486
9486
  part = new _a2(null, ast);
9487
9487
  continue;
9488
9488
  }
9489
- if (c106 === ")") {
9489
+ if (c107 === ")") {
9490
9490
  if (acc === "" && ast.#parts.length === 0) {
9491
9491
  ast.#emptyExt = true;
9492
9492
  }
@@ -9495,7 +9495,7 @@ var require_ast = __commonJS({
9495
9495
  ast.push(...parts, part);
9496
9496
  return i;
9497
9497
  }
9498
- acc += c106;
9498
+ acc += c107;
9499
9499
  }
9500
9500
  ast.type = null;
9501
9501
  ast.#hasMagic = void 0;
@@ -9515,8 +9515,8 @@ var require_ast = __commonJS({
9515
9515
  }
9516
9516
  return this.#canAdoptType(gc.type, map2);
9517
9517
  }
9518
- #canAdoptType(c106, map2 = adoptionAnyMap) {
9519
- return !!map2.get(this.type)?.includes(c106);
9518
+ #canAdoptType(c107, map2 = adoptionAnyMap) {
9519
+ return !!map2.get(this.type)?.includes(c107);
9520
9520
  }
9521
9521
  #adoptWithSpace(child, index) {
9522
9522
  const gc = child.#parts[0];
@@ -9534,9 +9534,9 @@ var require_ast = __commonJS({
9534
9534
  }
9535
9535
  this.#toString = void 0;
9536
9536
  }
9537
- #canUsurpType(c106) {
9537
+ #canUsurpType(c107) {
9538
9538
  const m = usurpMap.get(this.type);
9539
- return !!m?.has(c106);
9539
+ return !!m?.has(c107);
9540
9540
  }
9541
9541
  #canUsurp(child) {
9542
9542
  if (!child || typeof child !== "object" || child.type !== null || child.#parts.length !== 1 || this.type === null || this.#parts.length !== 1) {
@@ -9749,18 +9749,18 @@ var require_ast = __commonJS({
9749
9749
  do {
9750
9750
  done = true;
9751
9751
  for (let i = 0; i < this.#parts.length; i++) {
9752
- const c106 = this.#parts[i];
9753
- if (typeof c106 === "object") {
9754
- c106.#flatten();
9755
- if (this.#canAdopt(c106)) {
9752
+ const c107 = this.#parts[i];
9753
+ if (typeof c107 === "object") {
9754
+ c107.#flatten();
9755
+ if (this.#canAdopt(c107)) {
9756
9756
  done = false;
9757
- this.#adopt(c106, i);
9758
- } else if (this.#canAdoptWithSpace(c106)) {
9757
+ this.#adopt(c107, i);
9758
+ } else if (this.#canAdoptWithSpace(c107)) {
9759
9759
  done = false;
9760
- this.#adoptWithSpace(c106, i);
9761
- } else if (this.#canUsurp(c106)) {
9760
+ this.#adoptWithSpace(c107, i);
9761
+ } else if (this.#canUsurp(c107)) {
9762
9762
  done = false;
9763
- this.#usurp(c106);
9763
+ this.#usurp(c107);
9764
9764
  }
9765
9765
  }
9766
9766
  }
@@ -9784,13 +9784,13 @@ var require_ast = __commonJS({
9784
9784
  let uflag = false;
9785
9785
  let inStar = false;
9786
9786
  for (let i = 0; i < glob.length; i++) {
9787
- const c106 = glob.charAt(i);
9787
+ const c107 = glob.charAt(i);
9788
9788
  if (escaping) {
9789
9789
  escaping = false;
9790
- re += (reSpecials.has(c106) ? "\\" : "") + c106;
9790
+ re += (reSpecials.has(c107) ? "\\" : "") + c107;
9791
9791
  continue;
9792
9792
  }
9793
- if (c106 === "*") {
9793
+ if (c107 === "*") {
9794
9794
  if (inStar)
9795
9795
  continue;
9796
9796
  inStar = true;
@@ -9800,7 +9800,7 @@ var require_ast = __commonJS({
9800
9800
  } else {
9801
9801
  inStar = false;
9802
9802
  }
9803
- if (c106 === "\\") {
9803
+ if (c107 === "\\") {
9804
9804
  if (i === glob.length - 1) {
9805
9805
  re += "\\\\";
9806
9806
  } else {
@@ -9808,7 +9808,7 @@ var require_ast = __commonJS({
9808
9808
  }
9809
9809
  continue;
9810
9810
  }
9811
- if (c106 === "[") {
9811
+ if (c107 === "[") {
9812
9812
  const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob, i);
9813
9813
  if (consumed) {
9814
9814
  re += src;
@@ -9818,12 +9818,12 @@ var require_ast = __commonJS({
9818
9818
  continue;
9819
9819
  }
9820
9820
  }
9821
- if (c106 === "?") {
9821
+ if (c107 === "?") {
9822
9822
  re += qmark;
9823
9823
  hasMagic = true;
9824
9824
  continue;
9825
9825
  }
9826
- re += regExpEscape(c106);
9826
+ re += regExpEscape(c107);
9827
9827
  }
9828
9828
  return [re, (0, unescape_js_1.unescape)(glob), !!hasMagic, uflag];
9829
9829
  }
@@ -13747,13 +13747,13 @@ var require_utils4 = __commonJS({
13747
13747
  }
13748
13748
  exports.arrayStringifyHelper = arrayStringifyHelper;
13749
13749
  function getPoolNameOld(pool) {
13750
- const c106 = pool.config.connectionConfig;
13750
+ const c107 = pool.config.connectionConfig;
13751
13751
  let poolName = "";
13752
- poolName += c106.host ? `host: '${c106.host}', ` : "";
13753
- poolName += c106.port ? `port: ${c106.port}, ` : "";
13754
- poolName += c106.database ? `database: '${c106.database}', ` : "";
13755
- poolName += c106.user ? `user: '${c106.user}'` : "";
13756
- if (!c106.user) {
13752
+ poolName += c107.host ? `host: '${c107.host}', ` : "";
13753
+ poolName += c107.port ? `port: ${c107.port}, ` : "";
13754
+ poolName += c107.database ? `database: '${c107.database}', ` : "";
13755
+ poolName += c107.user ? `user: '${c107.user}'` : "";
13756
+ if (!c107.user) {
13757
13757
  poolName = poolName.substring(0, poolName.length - 2);
13758
13758
  }
13759
13759
  return poolName.trim();
@@ -14105,7 +14105,7 @@ var require_src9 = __commonJS({
14105
14105
  return indexOpeningDashDashComment < indexClosingSlashComment;
14106
14106
  }
14107
14107
  function fixedEncodeURIComponent(str) {
14108
- return encodeURIComponent(str).replace(/[!'()*]/g, (c106) => `%${c106.charCodeAt(0).toString(16).toUpperCase()}`);
14108
+ return encodeURIComponent(str).replace(/[!'()*]/g, (c107) => `%${c107.charCodeAt(0).toString(16).toUpperCase()}`);
14109
14109
  }
14110
14110
  function addSqlCommenterComment(span, query) {
14111
14111
  if (typeof query !== "string" || query.length === 0) {
@@ -22665,8 +22665,8 @@ var require_util = __commonJS({
22665
22665
  function isUSVString(val) {
22666
22666
  return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
22667
22667
  }
22668
- function isTokenCharCode(c106) {
22669
- switch (c106) {
22668
+ function isTokenCharCode(c107) {
22669
+ switch (c107) {
22670
22670
  case 34:
22671
22671
  case 40:
22672
22672
  case 41:
@@ -22686,7 +22686,7 @@ var require_util = __commonJS({
22686
22686
  case 125:
22687
22687
  return false;
22688
22688
  default:
22689
- return c106 >= 33 && c106 <= 126;
22689
+ return c107 >= 33 && c107 <= 126;
22690
22690
  }
22691
22691
  }
22692
22692
  function isValidHTTPToken(characters) {
@@ -24275,7 +24275,7 @@ var require_constants2 = __commonJS({
24275
24275
  exports.HEADER_CHARS.push(i);
24276
24276
  }
24277
24277
  }
24278
- exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c106) => c106 !== 44);
24278
+ exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c107) => c107 !== 44);
24279
24279
  exports.MAJOR = exports.NUM_MAP;
24280
24280
  exports.MINOR = exports.MAJOR;
24281
24281
  var HEADER_STATE;
@@ -25421,10 +25421,10 @@ var require_util2 = __commonJS({
25421
25421
  }
25422
25422
  function isValidReasonPhrase(statusText) {
25423
25423
  for (let i = 0; i < statusText.length; ++i) {
25424
- const c106 = statusText.charCodeAt(i);
25425
- if (!(c106 === 9 || // HTAB
25426
- c106 >= 32 && c106 <= 126 || // SP / VCHAR
25427
- c106 >= 128 && c106 <= 255)) {
25424
+ const c107 = statusText.charCodeAt(i);
25425
+ if (!(c107 === 9 || // HTAB
25426
+ c107 >= 32 && c107 <= 126 || // SP / VCHAR
25427
+ c107 >= 128 && c107 <= 255)) {
25428
25428
  return false;
25429
25429
  }
25430
25430
  }
@@ -29398,7 +29398,7 @@ var require_pool_base = __commonJS({
29398
29398
  pool.emit("drain", origin, [pool, ...targets]);
29399
29399
  }
29400
29400
  if (pool[kClosedResolve] && queue.isEmpty()) {
29401
- Promise.all(pool[kClients].map((c106) => c106.close())).then(pool[kClosedResolve]);
29401
+ Promise.all(pool[kClients].map((c107) => c107.close())).then(pool[kClosedResolve]);
29402
29402
  }
29403
29403
  };
29404
29404
  this[kOnConnect] = (origin, targets) => {
@@ -29447,7 +29447,7 @@ var require_pool_base = __commonJS({
29447
29447
  }
29448
29448
  async [kClose]() {
29449
29449
  if (this[kQueue].isEmpty()) {
29450
- await Promise.all(this[kClients].map((c106) => c106.close()));
29450
+ await Promise.all(this[kClients].map((c107) => c107.close()));
29451
29451
  } else {
29452
29452
  await new Promise((resolve2) => {
29453
29453
  this[kClosedResolve] = resolve2;
@@ -29462,7 +29462,7 @@ var require_pool_base = __commonJS({
29462
29462
  }
29463
29463
  item.handler.onError(err);
29464
29464
  }
29465
- await Promise.all(this[kClients].map((c106) => c106.destroy(err)));
29465
+ await Promise.all(this[kClients].map((c107) => c107.destroy(err)));
29466
29466
  }
29467
29467
  [kDispatch](opts, handler) {
29468
29468
  const dispatcher = this[kGetDispatcher]();
@@ -36232,8 +36232,8 @@ var require_util4 = __commonJS({
36232
36232
  return new TextDecoder(encoding).decode(sliced);
36233
36233
  }
36234
36234
  function BOMSniffing(ioQueue) {
36235
- const [a, b, c106] = ioQueue;
36236
- if (a === 239 && b === 187 && c106 === 191) {
36235
+ const [a, b, c107] = ioQueue;
36236
+ if (a === 239 && b === 187 && c107 === 191) {
36237
36237
  return "UTF-8";
36238
36238
  } else if (a === 254 && b === 255) {
36239
36239
  return "UTF-16BE";
@@ -40356,7 +40356,7 @@ var require_style = __commonJS({
40356
40356
  "../../node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/dist/util/style.js"(exports, module2) {
40357
40357
  "use strict";
40358
40358
  init_esm_shims();
40359
- var c106 = require_kleur();
40359
+ var c107 = require_kleur();
40360
40360
  var figures = require_figures();
40361
40361
  var styles3 = Object.freeze({
40362
40362
  password: {
@@ -40378,14 +40378,14 @@ var require_style = __commonJS({
40378
40378
  });
40379
40379
  var render = (type) => styles3[type] || styles3.default;
40380
40380
  var symbols = Object.freeze({
40381
- aborted: c106.red(figures.cross),
40382
- done: c106.green(figures.tick),
40383
- exited: c106.yellow(figures.cross),
40384
- default: c106.cyan("?")
40381
+ aborted: c107.red(figures.cross),
40382
+ done: c107.green(figures.tick),
40383
+ exited: c107.yellow(figures.cross),
40384
+ default: c107.cyan("?")
40385
40385
  });
40386
40386
  var symbol2 = (done, aborted2, exited) => aborted2 ? symbols.aborted : exited ? symbols.exited : done ? symbols.done : symbols.default;
40387
- var delimiter = (completing) => c106.gray(completing ? figures.ellipsis : figures.pointerSmall);
40388
- var item = (expandable, expanded) => c106.gray(expandable ? expanded ? figures.pointerSmall : "+" : figures.line);
40387
+ var delimiter = (completing) => c107.gray(completing ? figures.ellipsis : figures.pointerSmall);
40388
+ var item = (expandable, expanded) => c107.gray(expandable ? expanded ? figures.pointerSmall : "+" : figures.line);
40389
40389
  module2.exports = {
40390
40390
  styles: styles3,
40391
40391
  render,
@@ -40667,10 +40667,10 @@ var require_text = __commonJS({
40667
40667
  this.cursor = this.cursor + n;
40668
40668
  this.cursorOffset += n;
40669
40669
  }
40670
- _(c106, key) {
40670
+ _(c107, key) {
40671
40671
  let s1 = this.value.slice(0, this.cursor);
40672
40672
  let s2 = this.value.slice(this.cursor);
40673
- this.value = `${s1}${c106}${s2}`;
40673
+ this.value = `${s1}${c107}${s2}`;
40674
40674
  this.red = false;
40675
40675
  this.cursor = this.placeholder ? 0 : s1.length + 1;
40676
40676
  this.render();
@@ -40845,8 +40845,8 @@ var require_select = __commonJS({
40845
40845
  this.moveCursor((this.cursor + 1) % this.choices.length);
40846
40846
  this.render();
40847
40847
  }
40848
- _(c106, key) {
40849
- if (c106 === " ") return this.submit();
40848
+ _(c107, key) {
40849
+ if (c107 === " ") return this.submit();
40850
40850
  }
40851
40851
  get selection() {
40852
40852
  return this.choices[this.cursor];
@@ -40972,12 +40972,12 @@ var require_toggle = __commonJS({
40972
40972
  this.fire();
40973
40973
  this.render();
40974
40974
  }
40975
- _(c106, key) {
40976
- if (c106 === " ") {
40975
+ _(c107, key) {
40976
+ if (c107 === " ") {
40977
40977
  this.value = !this.value;
40978
- } else if (c106 === "1") {
40978
+ } else if (c107 === "1") {
40979
40979
  this.value = true;
40980
- } else if (c106 === "0") {
40980
+ } else if (c107 === "0") {
40981
40981
  this.value = false;
40982
40982
  } else return this.bell();
40983
40983
  this.render();
@@ -41485,9 +41485,9 @@ var require_date = __commonJS({
41485
41485
  this.moveCursor(next ? this.parts.indexOf(next) : this.parts.findIndex((part) => part instanceof DatePart));
41486
41486
  this.render();
41487
41487
  }
41488
- _(c106) {
41489
- if (/\d/.test(c106)) {
41490
- this.typed += c106;
41488
+ _(c107) {
41489
+ if (/\d/.test(c107)) {
41490
+ this.typed += c107;
41491
41491
  this.parts[this.cursor].setTo(this.typed);
41492
41492
  this.render();
41493
41493
  }
@@ -41596,8 +41596,8 @@ var require_number = __commonJS({
41596
41596
  parse(x2) {
41597
41597
  return this.float ? parseFloat(x2) : parseInt(x2);
41598
41598
  }
41599
- valid(c106) {
41600
- return c106 === `-` || c106 === `.` && this.float || isNumber.test(c106);
41599
+ valid(c107) {
41600
+ return c107 === `-` || c107 === `.` && this.float || isNumber.test(c107);
41601
41601
  }
41602
41602
  reset() {
41603
41603
  this.typed = ``;
@@ -41690,14 +41690,14 @@ var require_number = __commonJS({
41690
41690
  this.fire();
41691
41691
  this.render();
41692
41692
  }
41693
- _(c106, key) {
41694
- if (!this.valid(c106)) return this.bell();
41693
+ _(c107, key) {
41694
+ if (!this.valid(c107)) return this.bell();
41695
41695
  const now = Date.now();
41696
41696
  if (now - this.lastHit > 1e3) this.typed = ``;
41697
- this.typed += c106;
41697
+ this.typed += c107;
41698
41698
  this.lastHit = now;
41699
41699
  this.color = `cyan`;
41700
- if (c106 === `.`) return this.fire();
41700
+ if (c107 === `.`) return this.fire();
41701
41701
  this.value = Math.min(this.parse(this.typed), this.max);
41702
41702
  if (this.value > this.max) this.value = this.max;
41703
41703
  if (this.value < this.min) this.value = this.min;
@@ -41861,10 +41861,10 @@ var require_multiselect = __commonJS({
41861
41861
  this.value.filter((v) => !v.disabled).forEach((v) => v.selected = newSelected);
41862
41862
  this.render();
41863
41863
  }
41864
- _(c106, key) {
41865
- if (c106 === " ") {
41864
+ _(c107, key) {
41865
+ if (c107 === " ") {
41866
41866
  this.handleSpaceToggle();
41867
- } else if (c106 === "a") {
41867
+ } else if (c107 === "a") {
41868
41868
  this.toggleAll();
41869
41869
  } else {
41870
41870
  return this.bell();
@@ -42105,10 +42105,10 @@ var require_autocomplete = __commonJS({
42105
42105
  this.out.write("\n");
42106
42106
  this.close();
42107
42107
  }
42108
- _(c106, key) {
42108
+ _(c107, key) {
42109
42109
  let s1 = this.input.slice(0, this.cursor);
42110
42110
  let s2 = this.input.slice(this.cursor);
42111
- this.input = `${s1}${c106}${s2}`;
42111
+ this.input = `${s1}${c107}${s2}`;
42112
42112
  this.cursor = s1.length + 1;
42113
42113
  this.complete(this.render);
42114
42114
  this.render();
@@ -42308,15 +42308,15 @@ var require_autocompleteMultiselect = __commonJS({
42308
42308
  this.render();
42309
42309
  }
42310
42310
  }
42311
- handleInputChange(c106) {
42312
- this.inputValue = this.inputValue + c106;
42311
+ handleInputChange(c107) {
42312
+ this.inputValue = this.inputValue + c107;
42313
42313
  this.updateFilteredOptions();
42314
42314
  }
42315
- _(c106, key) {
42316
- if (c106 === " ") {
42315
+ _(c107, key) {
42316
+ if (c107 === " ") {
42317
42317
  this.handleSpaceToggle();
42318
42318
  } else {
42319
- this.handleInputChange(c106);
42319
+ this.handleInputChange(c107);
42320
42320
  }
42321
42321
  }
42322
42322
  renderInstructions() {
@@ -42422,12 +42422,12 @@ var require_confirm = __commonJS({
42422
42422
  this.out.write("\n");
42423
42423
  this.close();
42424
42424
  }
42425
- _(c106, key) {
42426
- if (c106.toLowerCase() === "y") {
42425
+ _(c107, key) {
42426
+ if (c107.toLowerCase() === "y") {
42427
42427
  this.value = true;
42428
42428
  return this.submit();
42429
42429
  }
42430
- if (c106.toLowerCase() === "n") {
42430
+ if (c107.toLowerCase() === "n") {
42431
42431
  this.value = false;
42432
42432
  return this.submit();
42433
42433
  }
@@ -42868,7 +42868,7 @@ var require_style2 = __commonJS({
42868
42868
  "../../node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/style.js"(exports, module2) {
42869
42869
  "use strict";
42870
42870
  init_esm_shims();
42871
- var c106 = require_kleur();
42871
+ var c107 = require_kleur();
42872
42872
  var figures = require_figures2();
42873
42873
  var styles3 = Object.freeze({
42874
42874
  password: { scale: 1, render: (input) => "*".repeat(input.length) },
@@ -42878,14 +42878,14 @@ var require_style2 = __commonJS({
42878
42878
  });
42879
42879
  var render = (type) => styles3[type] || styles3.default;
42880
42880
  var symbols = Object.freeze({
42881
- aborted: c106.red(figures.cross),
42882
- done: c106.green(figures.tick),
42883
- exited: c106.yellow(figures.cross),
42884
- default: c106.cyan("?")
42881
+ aborted: c107.red(figures.cross),
42882
+ done: c107.green(figures.tick),
42883
+ exited: c107.yellow(figures.cross),
42884
+ default: c107.cyan("?")
42885
42885
  });
42886
42886
  var symbol2 = (done, aborted2, exited) => aborted2 ? symbols.aborted : exited ? symbols.exited : done ? symbols.done : symbols.default;
42887
- var delimiter = (completing) => c106.gray(completing ? figures.ellipsis : figures.pointerSmall);
42888
- var item = (expandable, expanded) => c106.gray(expandable ? expanded ? figures.pointerSmall : "+" : figures.line);
42887
+ var delimiter = (completing) => c107.gray(completing ? figures.ellipsis : figures.pointerSmall);
42888
+ var item = (expandable, expanded) => c107.gray(expandable ? expanded ? figures.pointerSmall : "+" : figures.line);
42889
42889
  module2.exports = {
42890
42890
  styles: styles3,
42891
42891
  render,
@@ -43118,10 +43118,10 @@ var require_text2 = __commonJS({
43118
43118
  this.cursor = this.cursor + n;
43119
43119
  this.cursorOffset += n;
43120
43120
  }
43121
- _(c106, key) {
43121
+ _(c107, key) {
43122
43122
  let s1 = this.value.slice(0, this.cursor);
43123
43123
  let s2 = this.value.slice(this.cursor);
43124
- this.value = `${s1}${c106}${s2}`;
43124
+ this.value = `${s1}${c107}${s2}`;
43125
43125
  this.red = false;
43126
43126
  this.cursor = this.placeholder ? 0 : s1.length + 1;
43127
43127
  this.render();
@@ -43295,8 +43295,8 @@ var require_select2 = __commonJS({
43295
43295
  this.moveCursor((this.cursor + 1) % this.choices.length);
43296
43296
  this.render();
43297
43297
  }
43298
- _(c106, key) {
43299
- if (c106 === " ") return this.submit();
43298
+ _(c107, key) {
43299
+ if (c107 === " ") return this.submit();
43300
43300
  }
43301
43301
  get selection() {
43302
43302
  return this.choices[this.cursor];
@@ -43420,12 +43420,12 @@ var require_toggle2 = __commonJS({
43420
43420
  this.fire();
43421
43421
  this.render();
43422
43422
  }
43423
- _(c106, key) {
43424
- if (c106 === " ") {
43423
+ _(c107, key) {
43424
+ if (c107 === " ") {
43425
43425
  this.value = !this.value;
43426
- } else if (c106 === "1") {
43426
+ } else if (c107 === "1") {
43427
43427
  this.value = true;
43428
- } else if (c106 === "0") {
43428
+ } else if (c107 === "0") {
43429
43429
  this.value = false;
43430
43430
  } else return this.bell();
43431
43431
  this.render();
@@ -43881,9 +43881,9 @@ var require_date2 = __commonJS({
43881
43881
  this.moveCursor(next ? this.parts.indexOf(next) : this.parts.findIndex((part) => part instanceof DatePart));
43882
43882
  this.render();
43883
43883
  }
43884
- _(c106) {
43885
- if (/\d/.test(c106)) {
43886
- this.typed += c106;
43884
+ _(c107) {
43885
+ if (/\d/.test(c107)) {
43886
+ this.typed += c107;
43887
43887
  this.parts[this.cursor].setTo(this.typed);
43888
43888
  this.render();
43889
43889
  }
@@ -43965,8 +43965,8 @@ var require_number2 = __commonJS({
43965
43965
  parse(x2) {
43966
43966
  return this.float ? parseFloat(x2) : parseInt(x2);
43967
43967
  }
43968
- valid(c106) {
43969
- return c106 === `-` || c106 === `.` && this.float || isNumber.test(c106);
43968
+ valid(c107) {
43969
+ return c107 === `-` || c107 === `.` && this.float || isNumber.test(c107);
43970
43970
  }
43971
43971
  reset() {
43972
43972
  this.typed = ``;
@@ -44053,14 +44053,14 @@ var require_number2 = __commonJS({
44053
44053
  this.fire();
44054
44054
  this.render();
44055
44055
  }
44056
- _(c106, key) {
44057
- if (!this.valid(c106)) return this.bell();
44056
+ _(c107, key) {
44057
+ if (!this.valid(c107)) return this.bell();
44058
44058
  const now = Date.now();
44059
44059
  if (now - this.lastHit > 1e3) this.typed = ``;
44060
- this.typed += c106;
44060
+ this.typed += c107;
44061
44061
  this.lastHit = now;
44062
44062
  this.color = `cyan`;
44063
- if (c106 === `.`) return this.fire();
44063
+ if (c107 === `.`) return this.fire();
44064
44064
  this.value = Math.min(this.parse(this.typed), this.max);
44065
44065
  if (this.value > this.max) this.value = this.max;
44066
44066
  if (this.value < this.min) this.value = this.min;
@@ -44222,10 +44222,10 @@ var require_multiselect2 = __commonJS({
44222
44222
  this.value.filter((v) => !v.disabled).forEach((v) => v.selected = newSelected);
44223
44223
  this.render();
44224
44224
  }
44225
- _(c106, key) {
44226
- if (c106 === " ") {
44225
+ _(c107, key) {
44226
+ if (c107 === " ") {
44227
44227
  this.handleSpaceToggle();
44228
- } else if (c106 === "a") {
44228
+ } else if (c107 === "a") {
44229
44229
  this.toggleAll();
44230
44230
  } else {
44231
44231
  return this.bell();
@@ -44422,10 +44422,10 @@ var require_autocomplete2 = __commonJS({
44422
44422
  this.out.write("\n");
44423
44423
  this.close();
44424
44424
  }
44425
- _(c106, key) {
44425
+ _(c107, key) {
44426
44426
  let s1 = this.input.slice(0, this.cursor);
44427
44427
  let s2 = this.input.slice(this.cursor);
44428
- this.input = `${s1}${c106}${s2}`;
44428
+ this.input = `${s1}${c107}${s2}`;
44429
44429
  this.cursor = s1.length + 1;
44430
44430
  this.complete(this.render);
44431
44431
  this.render();
@@ -44628,15 +44628,15 @@ var require_autocompleteMultiselect2 = __commonJS({
44628
44628
  this.render();
44629
44629
  }
44630
44630
  }
44631
- handleInputChange(c106) {
44632
- this.inputValue = this.inputValue + c106;
44631
+ handleInputChange(c107) {
44632
+ this.inputValue = this.inputValue + c107;
44633
44633
  this.updateFilteredOptions();
44634
44634
  }
44635
- _(c106, key) {
44636
- if (c106 === " ") {
44635
+ _(c107, key) {
44636
+ if (c107 === " ") {
44637
44637
  this.handleSpaceToggle();
44638
44638
  } else {
44639
- this.handleInputChange(c106);
44639
+ this.handleInputChange(c107);
44640
44640
  }
44641
44641
  }
44642
44642
  renderInstructions() {
@@ -44743,12 +44743,12 @@ var require_confirm2 = __commonJS({
44743
44743
  this.out.write("\n");
44744
44744
  this.close();
44745
44745
  }
44746
- _(c106, key) {
44747
- if (c106.toLowerCase() === "y") {
44746
+ _(c107, key) {
44747
+ if (c107.toLowerCase() === "y") {
44748
44748
  this.value = true;
44749
44749
  return this.submit();
44750
44750
  }
44751
- if (c106.toLowerCase() === "n") {
44751
+ if (c107.toLowerCase() === "n") {
44752
44752
  this.value = false;
44753
44753
  return this.submit();
44754
44754
  }
@@ -45634,9 +45634,9 @@ var require_Alias = __commonJS({
45634
45634
  } else if (identity.isCollection(node2)) {
45635
45635
  let count = 0;
45636
45636
  for (const item of node2.items) {
45637
- const c106 = getAliasCount(doc, item, anchors2);
45638
- if (c106 > count)
45639
- count = c106;
45637
+ const c107 = getAliasCount(doc, item, anchors2);
45638
+ if (c107 > count)
45639
+ count = c107;
45640
45640
  }
45641
45641
  return count;
45642
45642
  } else if (identity.isPair(node2)) {
@@ -53176,8 +53176,8 @@ function _htmlElementAsString(el, keyAttrs) {
53176
53176
  const className = elem.className;
53177
53177
  if (className && isString(className)) {
53178
53178
  const classes = className.split(/\s+/);
53179
- for (const c106 of classes) {
53180
- out.push(`.${c106}`);
53179
+ for (const c107 of classes) {
53180
+ out.push(`.${c107}`);
53181
53181
  }
53182
53182
  }
53183
53183
  }
@@ -53409,9 +53409,9 @@ function uuid4(crypto = getCrypto()) {
53409
53409
  }
53410
53410
  return emptyUuid.replace(
53411
53411
  /[018]/g,
53412
- (c106) => (
53412
+ (c107) => (
53413
53413
  // eslint-disable-next-line no-bitwise
53414
- (c106 ^ (getRandomByte() & 15) >> c106 / 4).toString(16)
53414
+ (c107 ^ (getRandomByte() & 15) >> c107 / 4).toString(16)
53415
53415
  )
53416
53416
  );
53417
53417
  }
@@ -72468,16 +72468,16 @@ var HonoInstrumentation = class extends InstrumentationBase {
72468
72468
  */
72469
72469
  _wrapHandler(handler) {
72470
72470
  const instrumentation = this;
72471
- return function(c106, next) {
72471
+ return function(c107, next) {
72472
72472
  if (!instrumentation.isEnabled()) {
72473
- return handler.apply(this, [c106, next]);
72473
+ return handler.apply(this, [c107, next]);
72474
72474
  }
72475
- const path3 = c106.req.path;
72475
+ const path3 = c107.req.path;
72476
72476
  const span = instrumentation.tracer.startSpan(path3);
72477
72477
  return context.with(trace.setSpan(context.active(), span), () => {
72478
72478
  return instrumentation._safeExecute(
72479
72479
  () => {
72480
- const result = handler.apply(this, [c106, next]);
72480
+ const result = handler.apply(this, [c107, next]);
72481
72481
  if (isThenable(result)) {
72482
72482
  return result.then((result2) => {
72483
72483
  const type = instrumentation._determineHandlerType(result2);
@@ -74083,7 +74083,7 @@ if (DSN) {
74083
74083
  init2({
74084
74084
  dsn: DSN,
74085
74085
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
74086
- release: "9.156.8",
74086
+ release: "9.157.0",
74087
74087
  sendDefaultPii: false,
74088
74088
  tracesSampleRate: 0,
74089
74089
  shutdownTimeout: 500,
@@ -74102,7 +74102,7 @@ if (DSN) {
74102
74102
  }
74103
74103
  });
74104
74104
  setContext("cli", {
74105
- version: "9.156.8",
74105
+ version: "9.157.0",
74106
74106
  command: process.argv.slice(2).join(" ")
74107
74107
  });
74108
74108
  setContext("runtime", {
@@ -74194,8 +74194,343 @@ function configureGlobalProxyFromEnv() {
74194
74194
  }
74195
74195
  }
74196
74196
 
74197
+ // ../../packages/connectors/src/feature-switch-key.ts
74198
+ init_esm_shims();
74199
+
74197
74200
  // src/lib/api/zero-token.ts
74198
74201
  init_esm_shims();
74202
+
74203
+ // ../../packages/core/src/feature-switch.ts
74204
+ init_esm_shims();
74205
+
74206
+ // ../../packages/core/src/feature-switch-key.ts
74207
+ init_esm_shims();
74208
+
74209
+ // ../../packages/core/src/identity-hash.ts
74210
+ init_esm_shims();
74211
+ function fnv1a(input) {
74212
+ let h = 2166136261 >>> 0;
74213
+ for (let i = 0; i < input.length; i++) {
74214
+ h ^= input.charCodeAt(i);
74215
+ h = Math.imul(h, 16777619) >>> 0;
74216
+ }
74217
+ return h.toString(16).padStart(8, "0");
74218
+ }
74219
+ var STAFF_ORG_ID_HASHES = [
74220
+ "afce210e"
74221
+ // org_3ANttyrbWYJk6JKRSTRLEsbsDLe
74222
+ ];
74223
+
74224
+ // ../../packages/core/src/feature-switch.ts
74225
+ var FEATURE_SWITCHES = {
74226
+ ["dummy" /* Dummy */]: {
74227
+ maintainer: "ethan@vm0.ai",
74228
+ description: "Test-only feature switch for flag system validation",
74229
+ enabled: true
74230
+ },
74231
+ ["ahrefsConnector" /* AhrefsConnector */]: {
74232
+ maintainer: "ethan@vm0.ai",
74233
+ description: "Enable the Ahrefs SEO connector",
74234
+ enabled: false
74235
+ },
74236
+ ["bentomlConnector" /* BentomlConnector */]: {
74237
+ maintainer: "ethan@vm0.ai",
74238
+ description: "Enable the BentoML model serving connector",
74239
+ enabled: false
74240
+ },
74241
+ ["canvaConnector" /* CanvaConnector */]: {
74242
+ maintainer: "ethan@vm0.ai",
74243
+ description: "Enable the Canva design connector",
74244
+ enabled: false
74245
+ },
74246
+ ["computerConnector" /* ComputerConnector */]: {
74247
+ maintainer: "ethan@vm0.ai",
74248
+ description: "Enable the Computer connector for local service tunneling",
74249
+ enabled: false
74250
+ },
74251
+ ["deelConnector" /* DeelConnector */]: {
74252
+ maintainer: "ethan@vm0.ai",
74253
+ description: "Enable the Deel HR connector",
74254
+ enabled: false
74255
+ },
74256
+ ["docusignConnector" /* DocuSignConnector */]: {
74257
+ maintainer: "ethan@vm0.ai",
74258
+ description: "Enable the DocuSign e-signature connector",
74259
+ enabled: false
74260
+ },
74261
+ ["dropboxConnector" /* DropboxConnector */]: {
74262
+ maintainer: "ethan@vm0.ai",
74263
+ description: "Enable the Dropbox file storage connector",
74264
+ enabled: false
74265
+ },
74266
+ ["figmaConnector" /* FigmaConnector */]: {
74267
+ maintainer: "ethan@vm0.ai",
74268
+ description: "Enable the Figma design connector",
74269
+ enabled: false
74270
+ },
74271
+ ["mercuryConnector" /* MercuryConnector */]: {
74272
+ maintainer: "ethan@vm0.ai",
74273
+ description: "Enable the Mercury banking connector",
74274
+ enabled: false
74275
+ },
74276
+ ["neonConnector" /* NeonConnector */]: {
74277
+ maintainer: "ethan@vm0.ai",
74278
+ description: "Enable the Neon serverless Postgres connector",
74279
+ enabled: false
74280
+ },
74281
+ ["garminConnectConnector" /* GarminConnectConnector */]: {
74282
+ maintainer: "ethan@vm0.ai",
74283
+ description: "Enable the Garmin Connect wellness connector",
74284
+ enabled: false
74285
+ },
74286
+ ["redditConnector" /* RedditConnector */]: {
74287
+ maintainer: "ethan@vm0.ai",
74288
+ description: "Enable the Reddit connector integration",
74289
+ enabled: false
74290
+ },
74291
+ ["supabaseConnector" /* SupabaseConnector */]: {
74292
+ maintainer: "ethan@vm0.ai",
74293
+ description: "Enable the Supabase database connector integration",
74294
+ enabled: false
74295
+ },
74296
+ ["closeConnector" /* CloseConnector */]: {
74297
+ maintainer: "ethan@vm0.ai",
74298
+ description: "Enable the Close CRM connector",
74299
+ enabled: false
74300
+ },
74301
+ ["webflowConnector" /* WebflowConnector */]: {
74302
+ maintainer: "ethan@vm0.ai",
74303
+ description: "Enable the Webflow site management connector",
74304
+ enabled: false
74305
+ },
74306
+ ["outlookMailConnector" /* OutlookMailConnector */]: {
74307
+ maintainer: "ethan@vm0.ai",
74308
+ description: "Enable the Outlook Mail connector",
74309
+ enabled: false
74310
+ },
74311
+ ["outlookCalendarConnector" /* OutlookCalendarConnector */]: {
74312
+ maintainer: "ethan@vm0.ai",
74313
+ description: "Enable the Outlook Calendar connector",
74314
+ enabled: false
74315
+ },
74316
+ ["googleAdsConnector" /* GoogleAdsConnector */]: {
74317
+ maintainer: "ethan@vm0.ai",
74318
+ description: "Enable the Google Ads connector",
74319
+ enabled: false
74320
+ },
74321
+ ["metaAdsConnector" /* MetaAdsConnector */]: {
74322
+ maintainer: "ethan@vm0.ai",
74323
+ description: "Enable the Meta Ads Manager connector",
74324
+ enabled: false
74325
+ },
74326
+ ["stripeConnector" /* StripeConnector */]: {
74327
+ maintainer: "ethan@vm0.ai",
74328
+ description: "Enable the Stripe payment connector integration",
74329
+ enabled: false
74330
+ },
74331
+ ["cliAuthStripe" /* CliAuthStripe */]: {
74332
+ maintainer: "liangyou@vm0.ai",
74333
+ description: "Gate Stripe-specific CLI auth UI and API surfaces.",
74334
+ enabled: false,
74335
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74336
+ },
74337
+ ["posthogConnector" /* PosthogConnector */]: {
74338
+ maintainer: "ethan@vm0.ai",
74339
+ description: "Enable the PostHog analytics connector",
74340
+ enabled: false
74341
+ },
74342
+ ["pwaOfflineCache" /* PwaOfflineCache */]: {
74343
+ maintainer: "ethan@vm0.ai",
74344
+ description: "Enable PWA offline caching (static asset cache-first, offline fallback page, and service worker updateViaCache: none)",
74345
+ enabled: false
74346
+ },
74347
+ ["mailchimpConnector" /* MailchimpConnector */]: {
74348
+ maintainer: "ethan@vm0.ai",
74349
+ description: "Enable the Mailchimp email marketing connector",
74350
+ enabled: false
74351
+ },
74352
+ ["resendConnector" /* ResendConnector */]: {
74353
+ maintainer: "ethan@vm0.ai",
74354
+ description: "Enable the Resend email service connector",
74355
+ enabled: false
74356
+ },
74357
+ ["spotifyConnector" /* SpotifyConnector */]: {
74358
+ maintainer: "ethan@vm0.ai",
74359
+ description: "Enable the Spotify connector integration",
74360
+ enabled: false
74361
+ },
74362
+ ["dataExport" /* DataExport */]: {
74363
+ maintainer: "ethan@vm0.ai",
74364
+ description: "Show the data export option in account menu",
74365
+ enabled: false
74366
+ },
74367
+ ["zeroDebug" /* ZeroDebug */]: {
74368
+ maintainer: "ethan@vm0.ai",
74369
+ description: "Reveal activity debug surfaces, activity log navigation, appended system prompts, and Debug preferences",
74370
+ enabled: false
74371
+ },
74372
+ ["computerUse" /* ComputerUse */]: {
74373
+ maintainer: "ethan@vm0.ai",
74374
+ description: "Enable remote desktop host registration",
74375
+ enabled: false
74376
+ },
74377
+ ["localBrowserUse" /* LocalBrowserUse */]: {
74378
+ maintainer: "ethan@vm0.ai",
74379
+ description: "Enable the Local Browser connector and user-authorized browser host lifecycle",
74380
+ enabled: false,
74381
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74382
+ },
74383
+ ["lab" /* Lab */]: {
74384
+ maintainer: "ethan@vm0.ai",
74385
+ description: "Show the Lab page for toggling experimental features",
74386
+ enabled: false
74387
+ },
74388
+ ["auditLink" /* AuditLink */]: {
74389
+ maintainer: "ethan@vm0.ai",
74390
+ description: "Show audit log links in integration replies",
74391
+ enabled: false
74392
+ },
74393
+ ["audioOutput" /* AudioOutput */]: {
74394
+ maintainer: "lancy@vm0.ai",
74395
+ description: "Enable audio output in chat (TTS read-aloud + auto-read) \u2014 gates the volume/read buttons and the /api/zero/voice-io/tts route",
74396
+ enabled: false
74397
+ },
74398
+ ["autoSkill" /* AutoSkill */]: {
74399
+ maintainer: "lancy@vm0.ai",
74400
+ description: "Enable automatic skill creation in agent prompts",
74401
+ enabled: false
74402
+ },
74403
+ ["testOauthConnector" /* TestOauthConnector */]: {
74404
+ maintainer: "liangyou@vm0.ai",
74405
+ description: "Enable the test-oauth connector, a synthetic OAuth 2.0 provider used only for automated tests. Off in prod.",
74406
+ enabled: false
74407
+ },
74408
+ ["chatHeaderNewButton" /* ChatHeaderNewButton */]: {
74409
+ maintainer: "ethan@vm0.ai",
74410
+ description: "Replace the Invite people button in the agent chat page header with a New button that creates a new chat thread",
74411
+ enabled: false,
74412
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74413
+ },
74414
+ ["agentPhoneAppUi" /* AgentPhoneAppUi */]: {
74415
+ maintainer: "linghan@vm0.ai",
74416
+ description: "Show first-class AgentPhone app surfaces: Works card and onboarding entry points.",
74417
+ enabled: false,
74418
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74419
+ },
74420
+ ["chatMessageStartButton" /* ChatMessageStartButton */]: {
74421
+ maintainer: "linghan@vm0.ai",
74422
+ description: "Show an icon button in assistant message group actions that scrolls back to the start of that message group.",
74423
+ enabled: false,
74424
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74425
+ },
74426
+ ["goal" /* Goal */]: {
74427
+ maintainer: "ethan@vm0.ai",
74428
+ description: "Enable Codex-style goal mode in web chat: typing `/go <objective>` starts a self-continuing chain that runs up to 10 turns until the agent emits the [GOAL_DONE] sentinel, the budget is exhausted, the run fails, or the user interrupts.",
74429
+ enabled: false,
74430
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74431
+ },
74432
+ ["chatThreadRename" /* ChatThreadRename */]: {
74433
+ maintainer: "ethan@vm0.ai",
74434
+ description: "Adds a Rename chat item to the sidebar thread kebab menu. When the user renames a thread, automated title generation is suppressed for that thread.",
74435
+ enabled: false,
74436
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74437
+ },
74438
+ ["docsSite" /* DocsSite */]: {
74439
+ maintainer: "linghan@vm0.ai",
74440
+ description: "Enable the authenticated Strapi-backed docs site routes, navigation entry, and docs pages. Staff-only during rollout; per-user toggle via Lab.",
74441
+ enabled: false,
74442
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74443
+ },
74444
+ ["freshdeskConnector" /* FreshdeskConnector */]: {
74445
+ maintainer: "ethan@vm0.ai",
74446
+ description: "Enable the Freshdesk helpdesk connector",
74447
+ enabled: false
74448
+ },
74449
+ ["stabilityAiConnector" /* StabilityAiConnector */]: {
74450
+ maintainer: "ethan@vm0.ai",
74451
+ description: "Enable the Stability AI image generation connector",
74452
+ enabled: false
74453
+ },
74454
+ ["zoomConnector" /* ZoomConnector */]: {
74455
+ maintainer: "ethan@vm0.ai",
74456
+ description: "Enable the Zoom connector (OAuth 2.0) for meetings, past participants, and cloud recordings access",
74457
+ enabled: false
74458
+ },
74459
+ ["apiKeys" /* ApiKeys */]: {
74460
+ maintainer: "ethan@vm0.ai",
74461
+ description: "Gate the custom /settings/api-keys UI for issuing personal access tokens used by the /api/v1 public surface. When disabled, the settings page redirects to / and the sidebar menu item is hidden. The backend /api/v1 verification does NOT consult this flag \u2014 previously issued PATs continue to work.",
74462
+ enabled: false
74463
+ },
74464
+ ["apiBackend" /* ApiBackend */]: {
74465
+ maintainer: "ethan@vm0.ai",
74466
+ description: "Route platform API traffic to the api backend host instead of the www backend host. Unported endpoints continue through the api backend's web fallback proxy.",
74467
+ enabled: false,
74468
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74469
+ },
74470
+ ["connectorCategories" /* ConnectorCategories */]: {
74471
+ maintainer: "ethan@vm0.ai",
74472
+ description: "Show category sections and the hover-reveal outline menu on the Connectors settings page. Staff-only during rollout.",
74473
+ enabled: false,
74474
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74475
+ },
74476
+ ["storedSecretKmsRead" /* StoredSecretKmsRead */]: {
74477
+ maintainer: "ethan@vm0.ai",
74478
+ description: "Prefer AWS KMS material when reading stored-secret envelopes. Disabled keeps reading the legacy AES branch during rollout. Read path is independent of StoredSecretKmsWrite \u2014 enable read only after dual-write has been on long enough to backfill existing rows.",
74479
+ enabled: false
74480
+ },
74481
+ ["storedSecretKmsWrite" /* StoredSecretKmsWrite */]: {
74482
+ maintainer: "ethan@vm0.ai",
74483
+ description: "Dual-write stored-secret values to AWS KMS in addition to the legacy AES branch. When OFF, writes stay legacy-only even if SECRETS_KMS_KEY_ID is configured \u2014 this gates the KMS GenerateDataKey call so a missing IAM grant does not 500 every secret save.",
74484
+ enabled: true
74485
+ },
74486
+ ["trinity" /* Trinity */]: {
74487
+ maintainer: "ethan@vm0.ai",
74488
+ description: "Embed the voice-chat mic toggle + voice-mode layout into the agent chat page. Gates the mic launcher, composer swap, and status/subtitle/task-card UI.",
74489
+ enabled: false
74490
+ },
74491
+ ["zapierConnector" /* ZapierConnector */]: {
74492
+ maintainer: "ethan@vm0.ai",
74493
+ description: "Enable the Zapier connector. When disabled, Zapier is hidden from the connectors list and cannot be connected.",
74494
+ enabled: false
74495
+ },
74496
+ ["voiceChatRealtimeBilling" /* VoiceChatRealtimeBilling */]: {
74497
+ maintainer: "lancy@vm0.ai",
74498
+ description: "Gate voice-chat realtime billing (Plan D, Epic #12128). When OFF, the token route mints an OpenAI ephemeral token without admission checks and the /session-started, /usage, and /session-ended endpoints are 200 no-ops \u2014 the org gets unmetered voice-chat. When ON, the token route runs credit + pricing admission, /session-started inserts an audit row in voice_chat_realtime_sessions, and the browser self-reports response.done + transcription.completed usage events for billing. Staff-only during rollout; operator flips per org via the feature-switch overrides API.",
74499
+ enabled: false,
74500
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74501
+ },
74502
+ ["hostedSites" /* HostedSites */]: {
74503
+ maintainer: "lancy@vm0.ai",
74504
+ description: "Enable static hosted-site deployments from zero host. Staff-only during rollout.",
74505
+ enabled: false,
74506
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
74507
+ }
74508
+ };
74509
+ function isFeatureEnabled(key, ctx) {
74510
+ const override = ctx.overrides?.[key];
74511
+ if (override !== void 0) {
74512
+ return override;
74513
+ }
74514
+ const featureSwitch = FEATURE_SWITCHES[key];
74515
+ if (featureSwitch.enabled) {
74516
+ return true;
74517
+ }
74518
+ if (ctx.userId && featureSwitch.enabledUserHashes?.length) {
74519
+ if (featureSwitch.enabledUserHashes.includes(fnv1a(ctx.userId)))
74520
+ return true;
74521
+ }
74522
+ if (ctx.email && featureSwitch.enabledEmailHashes?.length) {
74523
+ if (featureSwitch.enabledEmailHashes.includes(fnv1a(ctx.email.toLowerCase())))
74524
+ return true;
74525
+ }
74526
+ if (ctx.orgId && featureSwitch.enabledOrgIdHashes?.length) {
74527
+ if (featureSwitch.enabledOrgIdHashes.includes(fnv1a(ctx.orgId)))
74528
+ return true;
74529
+ }
74530
+ return false;
74531
+ }
74532
+
74533
+ // src/lib/api/zero-token.ts
74199
74534
  function decodeZeroTokenPayload(token) {
74200
74535
  const raw = token ?? process.env.ZERO_TOKEN;
74201
74536
  if (!raw) return void 0;
@@ -74215,6 +74550,15 @@ function decodeZeroTokenPayload(token) {
74215
74550
  }
74216
74551
  return void 0;
74217
74552
  }
74553
+ function zeroTokenAllowsFeatureSwitch(key, payload = decodeZeroTokenPayload()) {
74554
+ if (!payload) return true;
74555
+ const tokenValue = payload.featureSwitches?.[key];
74556
+ if (typeof tokenValue === "boolean") return tokenValue;
74557
+ return isFeatureEnabled(key, {
74558
+ userId: payload.userId,
74559
+ orgId: payload.orgId
74560
+ });
74561
+ }
74218
74562
 
74219
74563
  // src/commands/zero/local-agent/index.ts
74220
74564
  init_esm_shims();
@@ -77348,7 +77692,7 @@ var $ZodBase64 = /* @__PURE__ */ $constructor("$ZodBase64", (inst, def) => {
77348
77692
  function isValidBase64URL(data) {
77349
77693
  if (!base64url.test(data))
77350
77694
  return false;
77351
- const base643 = data.replace(/[-_]/g, (c106) => c106 === "-" ? "+" : "/");
77695
+ const base643 = data.replace(/[-_]/g, (c107) => c107 === "-" ? "+" : "/");
77352
77696
  const padded = base643.padEnd(Math.ceil(base643.length / 4) * 4, "=");
77353
77697
  return isValidBase64(padded);
77354
77698
  }
@@ -87459,9 +87803,9 @@ var ZodDate = /* @__PURE__ */ $constructor("ZodDate", (inst, def) => {
87459
87803
  inst._zod.processJSONSchema = (ctx, json2, params) => dateProcessor(inst, ctx, json2, params);
87460
87804
  inst.min = (value, params) => inst.check(_gte(value, params));
87461
87805
  inst.max = (value, params) => inst.check(_lte(value, params));
87462
- const c106 = inst._zod.bag;
87463
- inst.minDate = c106.minimum ? new Date(c106.minimum) : null;
87464
- inst.maxDate = c106.maximum ? new Date(c106.maximum) : null;
87806
+ const c107 = inst._zod.bag;
87807
+ inst.minDate = c107.minimum ? new Date(c107.minimum) : null;
87808
+ inst.maxDate = c107.maximum ? new Date(c107.maximum) : null;
87465
87809
  });
87466
87810
  function date3(params) {
87467
87811
  return _date(ZodDate, params);
@@ -97927,11 +98271,6 @@ var airtable = {
97927
98271
 
97928
98272
  // ../../packages/connectors/src/connectors/docusign.ts
97929
98273
  init_esm_shims();
97930
-
97931
- // ../../packages/connectors/src/feature-switch-key.ts
97932
- init_esm_shims();
97933
-
97934
- // ../../packages/connectors/src/connectors/docusign.ts
97935
98274
  var docusign = {
97936
98275
  docusign: {
97937
98276
  label: "DocuSign",
@@ -98512,6 +98851,35 @@ var attio = {
98512
98851
  }
98513
98852
  };
98514
98853
 
98854
+ // ../../packages/connectors/src/connectors/atlascloud.ts
98855
+ init_esm_shims();
98856
+ var atlascloud = {
98857
+ atlascloud: {
98858
+ label: "Atlas Cloud",
98859
+ category: "ai-general-models",
98860
+ generation: ["audio", "image", "text", "video"],
98861
+ tags: ["llm", "multimodal", "openai-compatible"],
98862
+ environmentMapping: {
98863
+ ATLASCLOUD_API_KEY: "$secrets.ATLASCLOUD_API_KEY"
98864
+ },
98865
+ helpText: "Connect Atlas Cloud to access multimodal AI models for chat, image generation, video generation, and audio through one API key",
98866
+ authMethods: {
98867
+ "api-token": {
98868
+ label: "API Key",
98869
+ helpText: "1. Sign in to [Atlas Cloud](https://console.atlascloud.ai)\n2. Go to **API Keys**\n3. Click **Create API Key**\n4. Copy the key and use it with `https://api.atlascloud.ai/v1` for OpenAI-compatible chat or `https://api.atlascloud.ai/api/v1` for image, video, and media APIs",
98870
+ secrets: {
98871
+ ATLASCLOUD_API_KEY: {
98872
+ label: "API Key",
98873
+ required: true,
98874
+ placeholder: "your-atlascloud-api-key"
98875
+ }
98876
+ }
98877
+ }
98878
+ },
98879
+ defaultAuthMethod: "api-token"
98880
+ }
98881
+ };
98882
+
98515
98883
  // ../../packages/connectors/src/connectors/aviationstack.ts
98516
98884
  init_esm_shims();
98517
98885
  var aviationstack = {
@@ -98656,6 +99024,34 @@ var braveSearch = {
98656
99024
  }
98657
99025
  };
98658
99026
 
99027
+ // ../../packages/connectors/src/connectors/brex.ts
99028
+ init_esm_shims();
99029
+ var brex = {
99030
+ brex: {
99031
+ label: "Brex",
99032
+ category: "sales-crm-business-operations",
99033
+ tags: ["corporate-card", "expenses", "payments", "transactions", "finance"],
99034
+ environmentMapping: {
99035
+ BREX_TOKEN: "$secrets.BREX_TOKEN"
99036
+ },
99037
+ helpText: "Connect your Brex account to access corporate card, expense, payment, transaction, and team data",
99038
+ authMethods: {
99039
+ "api-token": {
99040
+ label: "API Token",
99041
+ helpText: "1. In Brex, create or obtain an API user token with the permissions required for your workflow\n2. Confirm the token is intended for the production API at `https://api.brex.com`\n3. Copy the token",
99042
+ secrets: {
99043
+ BREX_TOKEN: {
99044
+ label: "API Token",
99045
+ required: true,
99046
+ placeholder: "your-brex-api-token"
99047
+ }
99048
+ }
99049
+ }
99050
+ },
99051
+ defaultAuthMethod: "api-token"
99052
+ }
99053
+ };
99054
+
98659
99055
  // ../../packages/connectors/src/connectors/brevo.ts
98660
99056
  init_esm_shims();
98661
99057
  var brevo = {
@@ -99012,6 +99408,40 @@ var chatwoot = {
99012
99408
  }
99013
99409
  };
99014
99410
 
99411
+ // ../../packages/connectors/src/connectors/checkr.ts
99412
+ init_esm_shims();
99413
+ var checkr = {
99414
+ checkr: {
99415
+ label: "Checkr",
99416
+ category: "sales-crm-business-operations",
99417
+ tags: [
99418
+ "background-checks",
99419
+ "screening",
99420
+ "candidates",
99421
+ "reports",
99422
+ "compliance"
99423
+ ],
99424
+ environmentMapping: {
99425
+ CHECKR_TOKEN: "$secrets.CHECKR_TOKEN"
99426
+ },
99427
+ helpText: "Connect your Checkr account to manage candidates, invitations, reports, packages, and background check workflows",
99428
+ authMethods: {
99429
+ "api-token": {
99430
+ label: "API Key",
99431
+ helpText: "1. Log in to the [Checkr Dashboard](https://dashboard.checkr.com)\n2. Go to **Account Settings > Developer Settings**\n3. Copy a live or test API key for the account you want to connect\n4. Use only keys and actions that comply with your background check authorization and compliance process",
99432
+ secrets: {
99433
+ CHECKR_TOKEN: {
99434
+ label: "API Key",
99435
+ required: true,
99436
+ placeholder: "your-checkr-api-key"
99437
+ }
99438
+ }
99439
+ }
99440
+ },
99441
+ defaultAuthMethod: "api-token"
99442
+ }
99443
+ };
99444
+
99015
99445
  // ../../packages/connectors/src/connectors/clado.ts
99016
99446
  init_esm_shims();
99017
99447
  var clado = {
@@ -99217,42 +99647,6 @@ var coda = {
99217
99647
  }
99218
99648
  };
99219
99649
 
99220
- // ../../packages/connectors/src/connectors/codex-oauth.ts
99221
- init_esm_shims();
99222
- var codexOauth = {
99223
- "codex-oauth": {
99224
- label: "ChatGPT (OAuth)",
99225
- category: "ai-general-models",
99226
- environmentMapping: {
99227
- CHATGPT_TOKEN: "$secrets.CHATGPT_ACCESS_TOKEN"
99228
- },
99229
- helpText: "Sign in with your ChatGPT subscription (Plus / Pro / Business / Edu / Enterprise) to use Codex agents against your ChatGPT quota.",
99230
- authMethods: {
99231
- oauth: {
99232
- label: "OAuth",
99233
- helpText: "Sign in with ChatGPT.",
99234
- secrets: {
99235
- CHATGPT_ACCESS_TOKEN: { label: "Access Token", required: true },
99236
- CHATGPT_REFRESH_TOKEN: { label: "Refresh Token", required: true }
99237
- }
99238
- }
99239
- },
99240
- defaultAuthMethod: "oauth",
99241
- oauth: {
99242
- authorizationUrl: "https://auth.openai.com/oauth/authorize",
99243
- tokenUrl: "https://auth.openai.com/oauth/token",
99244
- scopes: [
99245
- "openid",
99246
- "profile",
99247
- "email",
99248
- "offline_access",
99249
- "api.connectors.read",
99250
- "api.connectors.invoke"
99251
- ]
99252
- }
99253
- }
99254
- };
99255
-
99256
99650
  // ../../packages/connectors/src/connectors/computer.ts
99257
99651
  init_esm_shims();
99258
99652
  var computer = {
@@ -99917,6 +100311,41 @@ var explorium = {
99917
100311
  }
99918
100312
  };
99919
100313
 
100314
+ // ../../packages/connectors/src/connectors/faire.ts
100315
+ init_esm_shims();
100316
+ var faire = {
100317
+ faire: {
100318
+ label: "Faire",
100319
+ category: "sales-crm-business-operations",
100320
+ tags: [
100321
+ "wholesale",
100322
+ "marketplace",
100323
+ "brands",
100324
+ "orders",
100325
+ "inventory",
100326
+ "products"
100327
+ ],
100328
+ environmentMapping: {
100329
+ FAIRE_TOKEN: "$secrets.FAIRE_TOKEN"
100330
+ },
100331
+ helpText: "Connect your Faire brand account to manage wholesale products, orders, inventory, shipments, and brand profile data",
100332
+ authMethods: {
100333
+ "api-token": {
100334
+ label: "Access Token",
100335
+ helpText: "1. In the Faire portal, go to **Settings > Integrations**\n2. Generate an API key for a direct integration, or request one from Faire for a custom integration\n3. Copy the access token for the brand account you want to connect",
100336
+ secrets: {
100337
+ FAIRE_TOKEN: {
100338
+ label: "Access Token",
100339
+ required: true,
100340
+ placeholder: "your-faire-access-token"
100341
+ }
100342
+ }
100343
+ }
100344
+ },
100345
+ defaultAuthMethod: "api-token"
100346
+ }
100347
+ };
100348
+
99920
100349
  // ../../packages/connectors/src/connectors/fal.ts
99921
100350
  init_esm_shims();
99922
100351
  var fal = {
@@ -102789,6 +103218,34 @@ var scrapeninja = {
102789
103218
  }
102790
103219
  };
102791
103220
 
103221
+ // ../../packages/connectors/src/connectors/segment.ts
103222
+ init_esm_shims();
103223
+ var segment = {
103224
+ segment: {
103225
+ label: "Segment",
103226
+ category: "data-automation-infrastructure",
103227
+ tags: ["cdp", "analytics", "events", "tracking", "sources", "destinations"],
103228
+ environmentMapping: {
103229
+ SEGMENT_TOKEN: "$secrets.SEGMENT_TOKEN"
103230
+ },
103231
+ helpText: "Connect your Segment workspace to manage sources, destinations, tracking plans, and data pipeline configuration through the Public API",
103232
+ authMethods: {
103233
+ "api-token": {
103234
+ label: "Public API Token",
103235
+ helpText: "1. Log in to [Segment](https://app.segment.com)\n2. Open the workspace you want to manage\n3. Create a Public API token with the permissions required for your workflow\n4. Copy the token",
103236
+ secrets: {
103237
+ SEGMENT_TOKEN: {
103238
+ label: "Public API Token",
103239
+ required: true,
103240
+ placeholder: "your-segment-public-api-token"
103241
+ }
103242
+ }
103243
+ }
103244
+ },
103245
+ defaultAuthMethod: "api-token"
103246
+ }
103247
+ };
103248
+
102792
103249
  // ../../packages/connectors/src/connectors/sendgrid.ts
102793
103250
  init_esm_shims();
102794
103251
  var sendgrid = {
@@ -103064,6 +103521,48 @@ var sponge = {
103064
103521
  }
103065
103522
  };
103066
103523
 
103524
+ // ../../packages/connectors/src/connectors/sproutgigs.ts
103525
+ init_esm_shims();
103526
+ var sproutgigs = {
103527
+ sproutgigs: {
103528
+ label: "SproutGigs",
103529
+ category: "marketing-content-growth",
103530
+ tags: [
103531
+ "microtasks",
103532
+ "jobs",
103533
+ "gigs",
103534
+ "freelancers",
103535
+ "crowdsourcing",
103536
+ "picoworkers"
103537
+ ],
103538
+ environmentMapping: {
103539
+ SPROUTGIGS_USER_ID: "$vars.SPROUTGIGS_USER_ID",
103540
+ SPROUTGIGS_API_SECRET: "$secrets.SPROUTGIGS_API_SECRET"
103541
+ },
103542
+ helpText: "Connect SproutGigs to manage buyer jobs, gigs, freelancer lists, profiles, balances, and task reviews through the SproutGigs API",
103543
+ authMethods: {
103544
+ "api-token": {
103545
+ label: "API Secret",
103546
+ helpText: "1. Log in to [SproutGigs](https://sproutgigs.com)\n2. Open **Account Settings** and go to the **Settings** tab\n3. Create or reset your API secret\n4. Enter your SproutGigs user ID and API secret. SproutGigs signs requests with HTTP Basic Auth using `USER_ID:API_SECRET`.",
103547
+ secrets: {
103548
+ SPROUTGIGS_USER_ID: {
103549
+ label: "User ID",
103550
+ required: true,
103551
+ type: "variable",
103552
+ placeholder: "your-user-id"
103553
+ },
103554
+ SPROUTGIGS_API_SECRET: {
103555
+ label: "API Secret",
103556
+ required: true,
103557
+ placeholder: "your-sproutgigs-api-secret"
103558
+ }
103559
+ }
103560
+ }
103561
+ },
103562
+ defaultAuthMethod: "api-token"
103563
+ }
103564
+ };
103565
+
103067
103566
  // ../../packages/connectors/src/connectors/square.ts
103068
103567
  init_esm_shims();
103069
103568
  var square = {
@@ -103248,33 +103747,6 @@ var stripe = {
103248
103747
  }
103249
103748
  };
103250
103749
 
103251
- // ../../packages/connectors/src/connectors/suno.ts
103252
- init_esm_shims();
103253
- var suno = {
103254
- suno: {
103255
- label: "Suno",
103256
- category: "ai-image-video",
103257
- generation: ["audio"],
103258
- environmentMapping: {
103259
- SUNO_TOKEN: "$secrets.SUNO_TOKEN"
103260
- },
103261
- helpText: "Connect Suno to generate AI music tracks, vocals, and instrumentals from text prompts",
103262
- authMethods: {
103263
- "api-token": {
103264
- label: "API Key",
103265
- helpText: "1. Sign in to [SunoAPI](https://sunoapi.org)\n2. Open the **API Keys** page in your account\n3. Click **Create Key**, name it, and copy the value\n4. Use it as a Bearer token on requests to `https://api.sunoapi.org`",
103266
- secrets: {
103267
- SUNO_TOKEN: {
103268
- label: "API Key",
103269
- required: true
103270
- }
103271
- }
103272
- }
103273
- },
103274
- defaultAuthMethod: "api-token"
103275
- }
103276
- };
103277
-
103278
103750
  // ../../packages/connectors/src/connectors/supabase.ts
103279
103751
  init_esm_shims();
103280
103752
  var supabase = {
@@ -104093,11 +104565,13 @@ var CONNECTOR_TYPES_DEF = {
104093
104565
  ...asana,
104094
104566
  ...atlassian,
104095
104567
  ...attio,
104568
+ ...atlascloud,
104096
104569
  ...aviationstack,
104097
104570
  ...axiom,
104098
104571
  ...bentoml,
104099
104572
  ...bitrix,
104100
104573
  ...braveSearch,
104574
+ ...brex,
104101
104575
  ...brevo,
104102
104576
  ...brightData,
104103
104577
  ...browserbase,
@@ -104110,6 +104584,7 @@ var CONNECTOR_TYPES_DEF = {
104110
104584
  ...calendly,
104111
104585
  ...canva,
104112
104586
  ...chatwoot,
104587
+ ...checkr,
104113
104588
  ...clado,
104114
104589
  ...clerk,
104115
104590
  ...clickup,
@@ -104117,7 +104592,6 @@ var CONNECTOR_TYPES_DEF = {
104117
104592
  ...cloudflare,
104118
104593
  ...cloudinary,
104119
104594
  ...coda,
104120
- ...codexOauth,
104121
104595
  ...computer,
104122
104596
  ...cronlytic,
104123
104597
  ...customerIo,
@@ -104140,6 +104614,7 @@ var CONNECTOR_TYPES_DEF = {
104140
104614
  ...etsy,
104141
104615
  ...exa,
104142
104616
  ...explorium,
104617
+ ...faire,
104143
104618
  ...fal,
104144
104619
  ...figma,
104145
104620
  ...firecrawl,
@@ -104233,6 +104708,7 @@ var CONNECTOR_TYPES_DEF = {
104233
104708
  ...runway,
104234
104709
  ...salesforce,
104235
104710
  ...scrapeninja,
104711
+ ...segment,
104236
104712
  ...sendgrid,
104237
104713
  ...serpapi,
104238
104714
  ...servicenow,
@@ -104242,12 +104718,12 @@ var CONNECTOR_TYPES_DEF = {
104242
104718
  ...slackWebhook,
104243
104719
  ...snowflake,
104244
104720
  ...sponge,
104721
+ ...sproutgigs,
104245
104722
  ...square,
104246
104723
  ...stabilityAi,
104247
104724
  ...strapi,
104248
104725
  ...streak,
104249
104726
  ...stripe,
104250
- ...suno,
104251
104727
  ...supabase,
104252
104728
  ...supadata,
104253
104729
  ...supermemory,
@@ -109052,7 +109528,11 @@ async function generateWebImage(options) {
109052
109528
  ...options.moderation ? { moderation: options.moderation } : {},
109053
109529
  ...options.seed !== void 0 ? { seed: options.seed } : {},
109054
109530
  ...options.safetyTolerance ? { safetyTolerance: options.safetyTolerance } : {},
109055
- ...options.enhancePrompt !== void 0 ? { enhancePrompt: options.enhancePrompt } : {}
109531
+ ...options.enhancePrompt !== void 0 ? { enhancePrompt: options.enhancePrompt } : {},
109532
+ ...options.imageUrls && options.imageUrls.length > 0 ? { imageUrls: options.imageUrls } : {},
109533
+ ...options.maskImageUrl ? { maskImageUrl: options.maskImageUrl } : {},
109534
+ ...options.inputFidelity ? { inputFidelity: options.inputFidelity } : {},
109535
+ ...options.imagePromptStrength !== void 0 ? { imagePromptStrength: options.imagePromptStrength } : {}
109056
109536
  })
109057
109537
  }
109058
109538
  );
@@ -109162,6 +109642,42 @@ async function generateWebPresentation(options) {
109162
109642
  fallback: "Failed to generate presentation"
109163
109643
  });
109164
109644
  }
109645
+ async function generateWebWebsite(options) {
109646
+ const baseUrl = await getBaseUrl();
109647
+ const token = await getActiveToken();
109648
+ if (!token) {
109649
+ throw new ApiRequestError("Not authenticated", "UNAUTHORIZED", 401);
109650
+ }
109651
+ const headers = {
109652
+ Authorization: `Bearer ${token}`,
109653
+ "Content-Type": "application/json"
109654
+ };
109655
+ const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
109656
+ if (bypassSecret) {
109657
+ headers["x-vercel-protection-bypass"] = bypassSecret;
109658
+ }
109659
+ const response = await fetch(
109660
+ new URL("/api/zero/website-io/generate", baseUrl),
109661
+ {
109662
+ method: "POST",
109663
+ headers,
109664
+ body: JSON.stringify({
109665
+ prompt: options.prompt,
109666
+ ...options.template ? { template: options.template } : {},
109667
+ ...options.title ? { title: options.title } : {},
109668
+ ...options.audience ? { audience: options.audience } : {}
109669
+ })
109670
+ }
109671
+ );
109672
+ if (!response.ok) {
109673
+ const { message, code } = await parseErrorBody(
109674
+ response,
109675
+ "Failed to generate website"
109676
+ );
109677
+ throw new ApiRequestError(message, code, response.status);
109678
+ }
109679
+ return await response.json();
109680
+ }
109165
109681
 
109166
109682
  // src/lib/api/domains/zero-host.ts
109167
109683
  init_esm_shims();
@@ -114055,6 +114571,27 @@ var atlassianFirewall = {
114055
114571
  ]
114056
114572
  };
114057
114573
 
114574
+ // ../../packages/connectors/src/firewalls/atlascloud.generated.ts
114575
+ init_esm_shims();
114576
+ var atlascloudFirewall = {
114577
+ name: "atlascloud",
114578
+ description: "Atlas Cloud API",
114579
+ placeholders: {
114580
+ ATLASCLOUD_API_KEY: "c0ffee5afe10ca1c0ffee5afe10ca1c0ffee5afe10ca1c0ffee5afe10ca1c0ff"
114581
+ },
114582
+ apis: [
114583
+ {
114584
+ base: "https://api.atlascloud.ai",
114585
+ auth: {
114586
+ headers: {
114587
+ Authorization: "Bearer ${{ secrets.ATLASCLOUD_API_KEY }}"
114588
+ }
114589
+ },
114590
+ permissions: []
114591
+ }
114592
+ ]
114593
+ };
114594
+
114058
114595
  // ../../packages/connectors/src/firewalls/aviationstack.generated.ts
114059
114596
  init_esm_shims();
114060
114597
  var aviationstackFirewall = {
@@ -114518,6 +115055,43 @@ var braveSearchFirewall = {
114518
115055
  ]
114519
115056
  };
114520
115057
 
115058
+ // ../../packages/connectors/src/firewalls/brex.generated.ts
115059
+ init_esm_shims();
115060
+ var brexFirewall = {
115061
+ name: "brex",
115062
+ description: "Brex API",
115063
+ placeholders: {
115064
+ BREX_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
115065
+ },
115066
+ apis: [
115067
+ {
115068
+ base: "https://api.brex.com",
115069
+ auth: {
115070
+ headers: {
115071
+ Authorization: "Bearer ${{ secrets.BREX_TOKEN }}"
115072
+ }
115073
+ },
115074
+ permissions: [
115075
+ {
115076
+ name: "read",
115077
+ description: "Read Brex resources",
115078
+ rules: ["GET /{path+}"]
115079
+ },
115080
+ {
115081
+ name: "write",
115082
+ description: "Create, update, and delete Brex resources",
115083
+ rules: [
115084
+ "POST /{path+}",
115085
+ "PUT /{path+}",
115086
+ "PATCH /{path+}",
115087
+ "DELETE /{path+}"
115088
+ ]
115089
+ }
115090
+ ]
115091
+ }
115092
+ ]
115093
+ };
115094
+
114521
115095
  // ../../packages/connectors/src/firewalls/brevo.generated.ts
114522
115096
  init_esm_shims();
114523
115097
  var brevoFirewall = {
@@ -114776,6 +115350,43 @@ var chatwootFirewall = {
114776
115350
  ]
114777
115351
  };
114778
115352
 
115353
+ // ../../packages/connectors/src/firewalls/checkr.generated.ts
115354
+ init_esm_shims();
115355
+ var checkrFirewall = {
115356
+ name: "checkr",
115357
+ description: "Checkr API",
115358
+ placeholders: {
115359
+ CHECKR_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
115360
+ },
115361
+ apis: [
115362
+ {
115363
+ base: "https://api.checkr.com/v1",
115364
+ auth: {
115365
+ headers: {
115366
+ Authorization: '${{ basic(secrets.CHECKR_TOKEN, "") }}'
115367
+ }
115368
+ },
115369
+ permissions: [
115370
+ {
115371
+ name: "read",
115372
+ description: "Read Checkr resources",
115373
+ rules: ["GET /{path+}"]
115374
+ },
115375
+ {
115376
+ name: "write",
115377
+ description: "Create, update, and delete Checkr resources",
115378
+ rules: [
115379
+ "POST /{path+}",
115380
+ "PUT /{path+}",
115381
+ "PATCH /{path+}",
115382
+ "DELETE /{path+}"
115383
+ ]
115384
+ }
115385
+ ]
115386
+ }
115387
+ ]
115388
+ };
115389
+
114779
115390
  // ../../packages/connectors/src/firewalls/clado.generated.ts
114780
115391
  init_esm_shims();
114781
115392
  var cladoFirewall = {
@@ -116525,6 +117136,43 @@ var exploriumFirewall = {
116525
117136
  ]
116526
117137
  };
116527
117138
 
117139
+ // ../../packages/connectors/src/firewalls/faire.generated.ts
117140
+ init_esm_shims();
117141
+ var faireFirewall = {
117142
+ name: "faire",
117143
+ description: "Faire External API V2",
117144
+ placeholders: {
117145
+ FAIRE_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
117146
+ },
117147
+ apis: [
117148
+ {
117149
+ base: "https://www.faire.com/external-api/v2",
117150
+ auth: {
117151
+ headers: {
117152
+ "X-FAIRE-ACCESS-TOKEN": "${{ secrets.FAIRE_TOKEN }}"
117153
+ }
117154
+ },
117155
+ permissions: [
117156
+ {
117157
+ name: "read",
117158
+ description: "Read Faire resources",
117159
+ rules: ["GET /{path+}"]
117160
+ },
117161
+ {
117162
+ name: "write",
117163
+ description: "Create, update, and delete Faire resources",
117164
+ rules: [
117165
+ "POST /{path+}",
117166
+ "PUT /{path+}",
117167
+ "PATCH /{path+}",
117168
+ "DELETE /{path+}"
117169
+ ]
117170
+ }
117171
+ ]
117172
+ }
117173
+ ]
117174
+ };
117175
+
116528
117176
  // ../../packages/connectors/src/firewalls/fal.generated.ts
116529
117177
  init_esm_shims();
116530
117178
  var falFirewall = {
@@ -120326,6 +120974,43 @@ var scrapeninjaFirewall = {
120326
120974
  ]
120327
120975
  };
120328
120976
 
120977
+ // ../../packages/connectors/src/firewalls/segment.generated.ts
120978
+ init_esm_shims();
120979
+ var segmentFirewall = {
120980
+ name: "segment",
120981
+ description: "Segment Public API",
120982
+ placeholders: {
120983
+ SEGMENT_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
120984
+ },
120985
+ apis: [
120986
+ {
120987
+ base: "https://api.segmentapis.com",
120988
+ auth: {
120989
+ headers: {
120990
+ Authorization: "Bearer ${{ secrets.SEGMENT_TOKEN }}"
120991
+ }
120992
+ },
120993
+ permissions: [
120994
+ {
120995
+ name: "read",
120996
+ description: "Read Segment resources",
120997
+ rules: ["GET /{path+}"]
120998
+ },
120999
+ {
121000
+ name: "write",
121001
+ description: "Create, update, and delete Segment resources",
121002
+ rules: [
121003
+ "POST /{path+}",
121004
+ "PUT /{path+}",
121005
+ "PATCH /{path+}",
121006
+ "DELETE /{path+}"
121007
+ ]
121008
+ }
121009
+ ]
121010
+ }
121011
+ ]
121012
+ };
121013
+
120329
121014
  // ../../packages/connectors/src/firewalls/sentry.generated.ts
120330
121015
  init_esm_shims();
120331
121016
  var sentryFirewall = {
@@ -121169,6 +121854,109 @@ var spongeFirewall = {
121169
121854
  ]
121170
121855
  };
121171
121856
 
121857
+ // ../../packages/connectors/src/firewalls/sproutgigs.generated.ts
121858
+ init_esm_shims();
121859
+ var sproutgigsFirewall = {
121860
+ name: "sproutgigs",
121861
+ description: "SproutGigs buyer jobs, gigs, lists, profiles, and users API",
121862
+ placeholders: {
121863
+ SPROUTGIGS_API_SECRET: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
121864
+ },
121865
+ apis: [
121866
+ {
121867
+ base: "https://sproutgigs.com/api",
121868
+ auth: {
121869
+ headers: {
121870
+ Authorization: "${{ basic(vars.SPROUTGIGS_USER_ID, secrets.SPROUTGIGS_API_SECRET) }}"
121871
+ }
121872
+ },
121873
+ permissions: [
121874
+ {
121875
+ name: "gigs:read",
121876
+ description: "Read gig categories, listings, details, questions, and reviews",
121877
+ rules: [
121878
+ "GET /gigs/get-categories.php",
121879
+ "GET /gigs/get-gig-public-questions.php",
121880
+ "GET /gigs/get-gig-reviews.php",
121881
+ "GET /gigs/get-gig.php",
121882
+ "GET /gigs/get-gigs.php"
121883
+ ]
121884
+ },
121885
+ {
121886
+ name: "jobs:read",
121887
+ description: "Read job categories, jobs, zones, rated and unrated tasks, and predicted position",
121888
+ rules: [
121889
+ "GET /jobs/get-categories.php",
121890
+ "GET /jobs/get-job.php",
121891
+ "GET /jobs/get-jobs.php",
121892
+ "POST /jobs/get-predicted-position.php",
121893
+ "GET /jobs/get-rated-tasks.php",
121894
+ "GET /jobs/get-unrated-tasks.php",
121895
+ "GET /jobs/get-zones.php"
121896
+ ]
121897
+ },
121898
+ {
121899
+ name: "jobs:write",
121900
+ description: "Create, update, feature, pause, resume, restart, stop, and configure jobs",
121901
+ rules: [
121902
+ "POST /jobs/add-positions.php",
121903
+ "POST /jobs/edit-targeting.php",
121904
+ "POST /jobs/feature-job.php",
121905
+ "POST /jobs/job-pause.php",
121906
+ "POST /jobs/job-restart.php",
121907
+ "POST /jobs/job-resume.php",
121908
+ "POST /jobs/job-stop.php",
121909
+ "POST /jobs/post-job.php",
121910
+ "POST /jobs/set-daily-tasks-limit.php",
121911
+ "POST /jobs/set-distribution.php",
121912
+ "POST /jobs/set-speed.php",
121913
+ "POST /jobs/set-ttr.php"
121914
+ ]
121915
+ },
121916
+ {
121917
+ name: "tasks:rate",
121918
+ description: "Approve or reject single and multiple submitted tasks",
121919
+ rules: [
121920
+ "POST /jobs/rate-multiple-tasks.php",
121921
+ "POST /jobs/rate-single-task.php"
121922
+ ]
121923
+ },
121924
+ {
121925
+ name: "lists:read",
121926
+ description: "Read public and account freelancer lists",
121927
+ rules: [
121928
+ "GET /jobs/get-lists.php",
121929
+ "GET /lists/get-public-lists.php"
121930
+ ]
121931
+ },
121932
+ {
121933
+ name: "lists:write",
121934
+ description: "Add, block, and unblock freelancers in lists",
121935
+ rules: [
121936
+ "POST /lists/add-workers.php",
121937
+ "POST /lists/block-workers.php",
121938
+ "POST /lists/unblock-workers.php"
121939
+ ]
121940
+ },
121941
+ {
121942
+ name: "profiles:read",
121943
+ description: "Read freelancer profile details",
121944
+ rules: [
121945
+ "GET /profiles/get-profile.php"
121946
+ ]
121947
+ },
121948
+ {
121949
+ name: "users:read",
121950
+ description: "Read account balances",
121951
+ rules: [
121952
+ "GET /users/get-balances.php"
121953
+ ]
121954
+ }
121955
+ ]
121956
+ }
121957
+ ]
121958
+ };
121959
+
121172
121960
  // ../../packages/connectors/src/firewalls/spotify.generated.ts
121173
121961
  init_esm_shims();
121174
121962
  var spotifyFirewall = {
@@ -121360,27 +122148,6 @@ var stripeFirewall = {
121360
122148
  ]
121361
122149
  };
121362
122150
 
121363
- // ../../packages/connectors/src/firewalls/suno.generated.ts
121364
- init_esm_shims();
121365
- var sunoFirewall = {
121366
- name: "suno",
121367
- description: "Suno API",
121368
- placeholders: {
121369
- SUNO_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafe"
121370
- },
121371
- apis: [
121372
- {
121373
- base: "https://api.sunoapi.org",
121374
- auth: {
121375
- headers: {
121376
- Authorization: "Bearer ${{ secrets.SUNO_TOKEN }}"
121377
- }
121378
- },
121379
- permissions: []
121380
- }
121381
- ]
121382
- };
121383
-
121384
122151
  // ../../packages/connectors/src/firewalls/supabase.generated.ts
121385
122152
  init_esm_shims();
121386
122153
  var supabaseFirewall = {
@@ -123815,10 +124582,12 @@ var CONNECTOR_FIREWALLS = {
123815
124582
  asana: asanaFirewall,
123816
124583
  attio: attioFirewall,
123817
124584
  atlassian: atlassianFirewall,
124585
+ atlascloud: atlascloudFirewall,
123818
124586
  axiom: axiomFirewall,
123819
124587
  bentoml: bentomlFirewall,
123820
124588
  bitrix: bitrixFirewall,
123821
124589
  "brave-search": braveSearchFirewall,
124590
+ brex: brexFirewall,
123822
124591
  brevo: brevoFirewall,
123823
124592
  "bright-data": brightDataFirewall,
123824
124593
  browserbase: browserbaseFirewall,
@@ -123829,6 +124598,7 @@ var CONNECTOR_FIREWALLS = {
123829
124598
  calendly: calendlyFirewall,
123830
124599
  canva: canvaFirewall,
123831
124600
  chatwoot: chatwootFirewall,
124601
+ checkr: checkrFirewall,
123832
124602
  clerk: clerkFirewall,
123833
124603
  clickup: clickupFirewall,
123834
124604
  close: closeFirewall,
@@ -123856,6 +124626,7 @@ var CONNECTOR_FIREWALLS = {
123856
124626
  etsy: etsyFirewall,
123857
124627
  exa: exaFirewall,
123858
124628
  explorium: exploriumFirewall,
124629
+ faire: faireFirewall,
123859
124630
  fal: falFirewall,
123860
124631
  figma: figmaFirewall,
123861
124632
  firecrawl: firecrawlFirewall,
@@ -123949,6 +124720,7 @@ var CONNECTOR_FIREWALLS = {
123949
124720
  runway: runwayFirewall,
123950
124721
  salesforce: salesforceFirewall,
123951
124722
  scrapeninja: scrapeninjaFirewall,
124723
+ segment: segmentFirewall,
123952
124724
  sentry: sentryFirewall,
123953
124725
  serpapi: serpapiFirewall,
123954
124726
  shopify: shopifyFirewall,
@@ -123958,6 +124730,7 @@ var CONNECTOR_FIREWALLS = {
123958
124730
  slack: slackFirewall,
123959
124731
  "slack-webhook": slackWebhookFirewall,
123960
124732
  sponge: spongeFirewall,
124733
+ sproutgigs: sproutgigsFirewall,
123961
124734
  spotify: spotifyFirewall,
123962
124735
  strava: stravaFirewall,
123963
124736
  strapi: strapiFirewall,
@@ -124010,8 +124783,7 @@ var CONNECTOR_FIREWALLS = {
124010
124783
  nyne: nyneFirewall,
124011
124784
  openrouter: openrouterFirewall,
124012
124785
  openweather: openweatherFirewall,
124013
- reducto: reductoFirewall,
124014
- suno: sunoFirewall
124786
+ reducto: reductoFirewall
124015
124787
  };
124016
124788
  function expandPlaceholders(firewall, connectorType) {
124017
124789
  if (!firewall.placeholders) return firewall;
@@ -127589,7 +128361,17 @@ var zeroImageIoGenerateRequestSchema = external_exports.object({
127589
128361
  moderation: external_exports.unknown().optional(),
127590
128362
  seed: external_exports.unknown().optional(),
127591
128363
  safetyTolerance: external_exports.unknown().optional(),
127592
- enhancePrompt: external_exports.unknown().optional()
128364
+ enhancePrompt: external_exports.unknown().optional(),
128365
+ imageUrl: external_exports.unknown().optional(),
128366
+ image_url: external_exports.unknown().optional(),
128367
+ imageUrls: external_exports.unknown().optional(),
128368
+ image_urls: external_exports.unknown().optional(),
128369
+ maskImageUrl: external_exports.unknown().optional(),
128370
+ mask_image_url: external_exports.unknown().optional(),
128371
+ inputFidelity: external_exports.unknown().optional(),
128372
+ input_fidelity: external_exports.unknown().optional(),
128373
+ imagePromptStrength: external_exports.unknown().optional(),
128374
+ image_prompt_strength: external_exports.unknown().optional()
127593
128375
  }).passthrough();
127594
128376
  var zeroImageIoGenerateResponseSchema = external_exports.object({
127595
128377
  id: external_exports.string(),
@@ -127611,7 +128393,11 @@ var zeroImageIoGenerateResponseSchema = external_exports.object({
127611
128393
  billingCategory: external_exports.string().optional(),
127612
128394
  billingQuantity: external_exports.number().optional(),
127613
128395
  sourceUrl: external_exports.string().optional(),
127614
- seed: external_exports.number().optional()
128396
+ seed: external_exports.number().optional(),
128397
+ sourceImageUrls: external_exports.array(external_exports.string()).optional(),
128398
+ maskImageUrl: external_exports.string().optional(),
128399
+ inputFidelity: external_exports.string().optional(),
128400
+ imagePromptStrength: external_exports.number().optional()
127615
128401
  });
127616
128402
  var zeroImageIoGenerateContract = c91.router({
127617
128403
  post: {
@@ -127746,10 +128532,105 @@ var zeroPresentationIoGenerateContract = c93.router({
127746
128532
  }
127747
128533
  });
127748
128534
 
127749
- // ../../packages/api-contracts/src/contracts/internal-callbacks-agent.ts
128535
+ // ../../packages/api-contracts/src/contracts/zero-website-io-generate.ts
127750
128536
  init_esm_shims();
127751
128537
  var c94 = initContract();
127752
- var internalCallbacksAgentContract = c94.router({
128538
+ var zeroWebsiteTemplateIdSchema = external_exports.enum(["launch", "profile"]);
128539
+ var zeroWebsiteTemplateRequestSchema = external_exports.enum([
128540
+ "auto",
128541
+ "launch",
128542
+ "profile"
128543
+ ]);
128544
+ var zeroWebsiteIoGenerateRequestSchema = external_exports.object({
128545
+ prompt: external_exports.unknown().optional(),
128546
+ template: external_exports.unknown().optional(),
128547
+ title: external_exports.unknown().optional(),
128548
+ audience: external_exports.unknown().optional()
128549
+ }).passthrough();
128550
+ var zeroWebsiteIoUsageSchema = external_exports.object({
128551
+ inputTokens: external_exports.number(),
128552
+ outputTokens: external_exports.number(),
128553
+ totalTokens: external_exports.number()
128554
+ });
128555
+ var zeroWebsiteCtaSchema = external_exports.object({
128556
+ label: external_exports.string(),
128557
+ href: external_exports.string()
128558
+ });
128559
+ var zeroWebsiteHighlightSchema = external_exports.object({
128560
+ title: external_exports.string(),
128561
+ body: external_exports.string()
128562
+ });
128563
+ var zeroWebsiteSectionSchema = external_exports.object({
128564
+ kicker: external_exports.string(),
128565
+ title: external_exports.string(),
128566
+ body: external_exports.string(),
128567
+ bullets: external_exports.array(external_exports.string())
128568
+ });
128569
+ var zeroWebsiteStatSchema = external_exports.object({
128570
+ label: external_exports.string(),
128571
+ value: external_exports.string()
128572
+ });
128573
+ var zeroWebsiteFooterSchema = external_exports.object({
128574
+ title: external_exports.string(),
128575
+ body: external_exports.string(),
128576
+ cta: zeroWebsiteCtaSchema
128577
+ });
128578
+ var zeroWebsiteThemeSchema = external_exports.object({
128579
+ accent: external_exports.enum(["cobalt", "green", "coral", "mono"]),
128580
+ tone: external_exports.enum(["light", "dark"])
128581
+ });
128582
+ var zeroWebsiteSiteDataSchema = external_exports.object({
128583
+ siteName: external_exports.string(),
128584
+ eyebrow: external_exports.string(),
128585
+ headline: external_exports.string(),
128586
+ subhead: external_exports.string(),
128587
+ primaryCta: zeroWebsiteCtaSchema,
128588
+ secondaryCta: zeroWebsiteCtaSchema,
128589
+ highlights: external_exports.array(zeroWebsiteHighlightSchema),
128590
+ sections: external_exports.array(zeroWebsiteSectionSchema),
128591
+ stats: external_exports.array(zeroWebsiteStatSchema),
128592
+ footer: zeroWebsiteFooterSchema,
128593
+ theme: zeroWebsiteThemeSchema
128594
+ });
128595
+ var zeroWebsiteGenerationPayloadSchema = external_exports.object({
128596
+ templateId: zeroWebsiteTemplateIdSchema,
128597
+ siteData: zeroWebsiteSiteDataSchema
128598
+ });
128599
+ var zeroWebsiteIoGenerateResponseSchema = external_exports.object({
128600
+ generationId: external_exports.string(),
128601
+ templateId: zeroWebsiteTemplateIdSchema,
128602
+ templateLabel: external_exports.string(),
128603
+ slugSuggestion: external_exports.string(),
128604
+ siteData: zeroWebsiteSiteDataSchema,
128605
+ creditsCharged: external_exports.number(),
128606
+ model: external_exports.string(),
128607
+ responseId: external_exports.string().optional(),
128608
+ usage: zeroWebsiteIoUsageSchema
128609
+ });
128610
+ var zeroWebsiteIoGenerateContract = c94.router({
128611
+ post: {
128612
+ method: "POST",
128613
+ path: "/api/zero/website-io/generate",
128614
+ headers: authHeadersSchema,
128615
+ body: zeroWebsiteIoGenerateRequestSchema,
128616
+ responses: {
128617
+ 200: zeroWebsiteIoGenerateResponseSchema,
128618
+ 400: apiErrorSchema,
128619
+ 401: apiErrorSchema,
128620
+ 402: apiErrorSchema,
128621
+ 403: apiErrorSchema,
128622
+ 500: apiErrorSchema,
128623
+ 502: apiErrorSchema,
128624
+ 503: apiErrorSchema
128625
+ },
128626
+ summary: "Generate structured content for a hosted website template"
128627
+ }
128628
+ });
128629
+
128630
+ // ../../packages/api-contracts/src/contracts/internal-callbacks-agent.ts
128631
+ init_esm_shims();
128632
+ var c95 = initContract();
128633
+ var internalCallbacksAgentContract = c95.router({
127753
128634
  post: {
127754
128635
  method: "POST",
127755
128636
  path: "/api/internal/callbacks/agent",
@@ -127767,7 +128648,7 @@ var internalCallbacksAgentContract = c94.router({
127767
128648
 
127768
128649
  // ../../packages/api-contracts/src/contracts/internal-callbacks-github-issues.ts
127769
128650
  init_esm_shims();
127770
- var c95 = initContract();
128651
+ var c96 = initContract();
127771
128652
  var githubIssuesCallbackPayloadSchema = external_exports.object({
127772
128653
  installationId: external_exports.string(),
127773
128654
  repo: external_exports.string(),
@@ -127778,7 +128659,7 @@ var githubIssuesCallbackPayloadSchema = external_exports.object({
127778
128659
  triggerReactionId: external_exports.string().optional(),
127779
128660
  triggerCommentBody: external_exports.string().optional()
127780
128661
  }).passthrough();
127781
- var internalCallbacksGithubIssuesContract = c95.router({
128662
+ var internalCallbacksGithubIssuesContract = c96.router({
127782
128663
  post: {
127783
128664
  method: "POST",
127784
128665
  path: "/api/internal/callbacks/github/issues",
@@ -127799,7 +128680,7 @@ var internalCallbacksGithubIssuesContract = c95.router({
127799
128680
 
127800
128681
  // ../../packages/api-contracts/src/contracts/internal-callbacks-schedule.ts
127801
128682
  init_esm_shims();
127802
- var c96 = initContract();
128683
+ var c97 = initContract();
127803
128684
  var scheduleLoopCallbackPayloadSchema = external_exports.object({
127804
128685
  scheduleId: external_exports.string()
127805
128686
  }).passthrough();
@@ -127807,7 +128688,7 @@ var scheduleCronCallbackPayloadSchema = scheduleLoopCallbackPayloadSchema.extend
127807
128688
  timezone: external_exports.string(),
127808
128689
  cronExpression: external_exports.string().optional()
127809
128690
  }).passthrough();
127810
- var internalCallbacksScheduleContract = c96.router({
128691
+ var internalCallbacksScheduleContract = c97.router({
127811
128692
  cron: {
127812
128693
  method: "POST",
127813
128694
  path: "/api/internal/callbacks/schedule/cron",
@@ -127842,13 +128723,13 @@ var internalCallbacksScheduleContract = c96.router({
127842
128723
 
127843
128724
  // ../../packages/api-contracts/src/contracts/zero-voice-io-quota.ts
127844
128725
  init_esm_shims();
127845
- var c97 = initContract();
128726
+ var c98 = initContract();
127846
128727
  var audioInputQuotaResponseSchema = external_exports.object({
127847
128728
  allowed: external_exports.boolean(),
127848
128729
  count: external_exports.number().int().nonnegative(),
127849
128730
  limit: external_exports.number().int().positive().nullable()
127850
128731
  });
127851
- var zeroVoiceIoQuotaContract = c97.router({
128732
+ var zeroVoiceIoQuotaContract = c98.router({
127852
128733
  get: {
127853
128734
  method: "GET",
127854
128735
  path: "/api/zero/voice-io/quota",
@@ -127864,7 +128745,7 @@ var zeroVoiceIoQuotaContract = c97.router({
127864
128745
 
127865
128746
  // ../../packages/api-contracts/src/contracts/zero-voice-io-speech.ts
127866
128747
  init_esm_shims();
127867
- var c98 = initContract();
128748
+ var c99 = initContract();
127868
128749
  var zeroVoiceIoSpeechRequestSchema = external_exports.object({
127869
128750
  text: external_exports.unknown().optional(),
127870
128751
  voice: external_exports.unknown().optional(),
@@ -127881,7 +128762,7 @@ var zeroVoiceIoSpeechResponseSchema = external_exports.object({
127881
128762
  model: external_exports.string(),
127882
128763
  voice: external_exports.string()
127883
128764
  });
127884
- var zeroVoiceIoSpeechContract = c98.router({
128765
+ var zeroVoiceIoSpeechContract = c99.router({
127885
128766
  post: {
127886
128767
  method: "POST",
127887
128768
  path: "/api/zero/voice-io/speech",
@@ -127903,7 +128784,7 @@ var zeroVoiceIoSpeechContract = c98.router({
127903
128784
 
127904
128785
  // ../../packages/api-contracts/src/contracts/zero-voice-io-stt.ts
127905
128786
  init_esm_shims();
127906
- var c99 = initContract();
128787
+ var c100 = initContract();
127907
128788
  var zeroVoiceIoSttResponseSchema = external_exports.object({
127908
128789
  text: external_exports.string()
127909
128790
  });
@@ -127913,13 +128794,13 @@ var zeroVoiceIoSttQuotaErrorSchema = apiErrorSchema.extend({
127913
128794
  limit: external_exports.number().nullable()
127914
128795
  }).optional()
127915
128796
  });
127916
- var zeroVoiceIoSttContract = c99.router({
128797
+ var zeroVoiceIoSttContract = c100.router({
127917
128798
  post: {
127918
128799
  method: "POST",
127919
128800
  path: "/api/zero/voice-io/stt",
127920
128801
  headers: authHeadersSchema,
127921
128802
  contentType: "multipart/form-data",
127922
- body: c99.type(),
128803
+ body: c100.type(),
127923
128804
  responses: {
127924
128805
  200: zeroVoiceIoSttResponseSchema,
127925
128806
  400: apiErrorSchema,
@@ -127935,18 +128816,18 @@ var zeroVoiceIoSttContract = c99.router({
127935
128816
 
127936
128817
  // ../../packages/api-contracts/src/contracts/zero-voice-io-tts.ts
127937
128818
  init_esm_shims();
127938
- var c100 = initContract();
128819
+ var c101 = initContract();
127939
128820
  var zeroVoiceIoTtsRequestSchema = external_exports.object({
127940
128821
  text: external_exports.unknown().optional()
127941
128822
  }).passthrough();
127942
- var zeroVoiceIoTtsContract = c100.router({
128823
+ var zeroVoiceIoTtsContract = c101.router({
127943
128824
  post: {
127944
128825
  method: "POST",
127945
128826
  path: "/api/zero/voice-io/tts",
127946
128827
  headers: authHeadersSchema,
127947
128828
  body: zeroVoiceIoTtsRequestSchema,
127948
128829
  responses: {
127949
- 200: c100.otherResponse({
128830
+ 200: c101.otherResponse({
127950
128831
  contentType: "application/octet-stream",
127951
128832
  body: external_exports.unknown()
127952
128833
  }),
@@ -127961,7 +128842,7 @@ var zeroVoiceIoTtsContract = c100.router({
127961
128842
 
127962
128843
  // ../../packages/api-contracts/src/contracts/zero-voice-chat.ts
127963
128844
  init_esm_shims();
127964
- var c101 = initContract();
128845
+ var c102 = initContract();
127965
128846
  var voiceChatItemRoleSchema = external_exports.enum([
127966
128847
  "user",
127967
128848
  "assistant",
@@ -128058,7 +128939,7 @@ var sessionEndedBodySchema = external_exports.object({
128058
128939
  relaySessionId: external_exports.uuid()
128059
128940
  });
128060
128941
  var okResponseSchema = external_exports.object({ ok: external_exports.literal(true) });
128061
- var zeroVoiceChatContract = c101.router({
128942
+ var zeroVoiceChatContract = c102.router({
128062
128943
  createSession: {
128063
128944
  method: "POST",
128064
128945
  path: "/api/zero/voice-chat",
@@ -128233,7 +129114,7 @@ var zeroVoiceChatContract = c101.router({
128233
129114
 
128234
129115
  // ../../packages/api-contracts/src/contracts/zero-uploads.ts
128235
129116
  init_esm_shims();
128236
- var c102 = initContract();
129117
+ var c103 = initContract();
128237
129118
  var prepareRequestSchema = external_exports.object({
128238
129119
  filename: external_exports.string().min(1).max(255),
128239
129120
  contentType: external_exports.string().min(1).max(200),
@@ -128260,7 +129141,7 @@ var completeResponseSchema = external_exports.object({
128260
129141
  size: external_exports.number(),
128261
129142
  url: external_exports.string().url()
128262
129143
  });
128263
- var zeroUploadsContract = c102.router({
129144
+ var zeroUploadsContract = c103.router({
128264
129145
  prepare: {
128265
129146
  method: "POST",
128266
129147
  path: "/api/zero/uploads/prepare",
@@ -128294,7 +129175,7 @@ var zeroUploadsContract = c102.router({
128294
129175
 
128295
129176
  // ../../packages/api-contracts/src/contracts/zero-host.ts
128296
129177
  init_esm_shims();
128297
- var c103 = initContract();
129178
+ var c104 = initContract();
128298
129179
  var hostedSiteSlugSchema = external_exports.string().trim().min(3).max(63).regex(
128299
129180
  /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
128300
129181
  "Site slug must use lowercase letters, numbers, and hyphens, and must start and end with a letter or number"
@@ -128329,7 +129210,7 @@ var hostedSiteCompleteResponseSchema = external_exports.object({
128329
129210
  url: external_exports.string().url(),
128330
129211
  status: external_exports.literal("ready")
128331
129212
  });
128332
- var zeroHostContract = c103.router({
129213
+ var zeroHostContract = c104.router({
128333
129214
  prepare: {
128334
129215
  method: "POST",
128335
129216
  path: "/api/zero/host/deployments/prepare",
@@ -128368,7 +129249,7 @@ var zeroHostContract = c103.router({
128368
129249
 
128369
129250
  // ../../packages/api-contracts/src/contracts/zero-integrations-telegram.ts
128370
129251
  init_esm_shims();
128371
- var c104 = initContract();
129252
+ var c105 = initContract();
128372
129253
  var telegramEnvironmentSchema = external_exports.object({
128373
129254
  requiredSecrets: external_exports.array(external_exports.string()),
128374
129255
  requiredVars: external_exports.array(external_exports.string()),
@@ -128467,7 +129348,7 @@ var telegramSetupStatusSchema = external_exports.object({
128467
129348
  var telegramWebhookPathParamsSchema = external_exports.object({
128468
129349
  telegramBotId: external_exports.string().min(1)
128469
129350
  });
128470
- var zeroIntegrationsTelegramContract = c104.router({
129351
+ var zeroIntegrationsTelegramContract = c105.router({
128471
129352
  list: {
128472
129353
  method: "GET",
128473
129354
  path: "/api/integrations/telegram",
@@ -128510,9 +129391,9 @@ var zeroIntegrationsTelegramContract = c104.router({
128510
129391
  path: "/api/integrations/telegram/:botId",
128511
129392
  headers: authHeadersSchema,
128512
129393
  pathParams: external_exports.object({ botId: external_exports.string().min(1) }),
128513
- body: c104.noBody(),
129394
+ body: c105.noBody(),
128514
129395
  responses: {
128515
- 204: c104.noBody(),
129396
+ 204: c105.noBody(),
128516
129397
  401: apiErrorSchema,
128517
129398
  403: apiErrorSchema,
128518
129399
  404: apiErrorSchema
@@ -128523,10 +129404,10 @@ var zeroIntegrationsTelegramContract = c104.router({
128523
129404
  method: "DELETE",
128524
129405
  path: "/api/integrations/telegram/link",
128525
129406
  headers: authHeadersSchema,
128526
- body: c104.noBody(),
129407
+ body: c105.noBody(),
128527
129408
  query: external_exports.object({ botId: external_exports.string().optional() }),
128528
129409
  responses: {
128529
- 204: c104.noBody(),
129410
+ 204: c105.noBody(),
128530
129411
  401: apiErrorSchema,
128531
129412
  404: apiErrorSchema
128532
129413
  },
@@ -128557,7 +129438,7 @@ var zeroIntegrationsTelegramContract = c104.router({
128557
129438
  sig: external_exports.string().optional()
128558
129439
  }),
128559
129440
  responses: {
128560
- 200: c104.otherResponse({
129441
+ 200: c105.otherResponse({
128561
129442
  contentType: "application/octet-stream",
128562
129443
  body: external_exports.unknown()
128563
129444
  }),
@@ -128572,7 +129453,7 @@ var zeroIntegrationsTelegramContract = c104.router({
128572
129453
  method: "GET",
128573
129454
  path: "/api/integrations/telegram/auth-callback",
128574
129455
  responses: {
128575
- 200: c104.otherResponse({
129456
+ 200: c105.otherResponse({
128576
129457
  contentType: "text/html",
128577
129458
  body: external_exports.unknown()
128578
129459
  })
@@ -128631,19 +129512,19 @@ var zeroIntegrationsTelegramContract = c104.router({
128631
129512
  pathParams: telegramWebhookPathParamsSchema,
128632
129513
  body: external_exports.unknown(),
128633
129514
  responses: {
128634
- 200: c104.otherResponse({
129515
+ 200: c105.otherResponse({
128635
129516
  contentType: "text/plain",
128636
129517
  body: external_exports.string()
128637
129518
  }),
128638
- 400: c104.otherResponse({
129519
+ 400: c105.otherResponse({
128639
129520
  contentType: "text/plain",
128640
129521
  body: external_exports.string()
128641
129522
  }),
128642
- 401: c104.otherResponse({
129523
+ 401: c105.otherResponse({
128643
129524
  contentType: "text/plain",
128644
129525
  body: external_exports.string()
128645
129526
  }),
128646
- 404: c104.otherResponse({
129527
+ 404: c105.otherResponse({
128647
129528
  contentType: "text/plain",
128648
129529
  body: external_exports.string()
128649
129530
  })
@@ -128654,7 +129535,7 @@ var zeroIntegrationsTelegramContract = c104.router({
128654
129535
 
128655
129536
  // ../../packages/api-contracts/src/contracts/zero-integrations-agentphone.ts
128656
129537
  init_esm_shims();
128657
- var c105 = initContract();
129538
+ var c106 = initContract();
128658
129539
  var agentPhoneConnectBodySchema = external_exports.object({
128659
129540
  phoneHandle: external_exports.string().min(1),
128660
129541
  agentphoneAgentId: external_exports.string().min(1),
@@ -128691,7 +129572,7 @@ var agentPhoneStartLinkResponseSchema = external_exports.object({
128691
129572
  phoneHandle: external_exports.string(),
128692
129573
  verificationSent: external_exports.literal(true)
128693
129574
  });
128694
- var zeroIntegrationsAgentPhoneContract = c105.router({
129575
+ var zeroIntegrationsAgentPhoneContract = c106.router({
128695
129576
  connectAgentPhone: {
128696
129577
  method: "POST",
128697
129578
  path: "/api/agentphone/connect",
@@ -128709,7 +129590,7 @@ var zeroIntegrationsAgentPhoneContract = c105.router({
128709
129590
  method: "POST",
128710
129591
  path: "/api/agentphone/webhook",
128711
129592
  headers: agentPhoneWebhookHeadersSchema,
128712
- body: c105.type(),
129593
+ body: c106.type(),
128713
129594
  responses: {
128714
129595
  200: external_exports.string(),
128715
129596
  400: external_exports.string(),
@@ -128749,9 +129630,9 @@ var zeroIntegrationsAgentPhoneContract = c105.router({
128749
129630
  method: "DELETE",
128750
129631
  path: "/api/integrations/agentphone/link",
128751
129632
  headers: authHeadersSchema,
128752
- body: c105.noBody(),
129633
+ body: c106.noBody(),
128753
129634
  responses: {
128754
- 204: c105.noBody(),
129635
+ 204: c106.noBody(),
128755
129636
  401: apiErrorSchema,
128756
129637
  403: apiErrorSchema,
128757
129638
  404: apiErrorSchema
@@ -128850,305 +129731,6 @@ function getInstructionsFilename(framework) {
128850
129731
  return FRAMEWORK_INSTRUCTIONS_FILENAMES[validated];
128851
129732
  }
128852
129733
 
128853
- // ../../packages/core/src/feature-switch-key.ts
128854
- init_esm_shims();
128855
-
128856
- // ../../packages/core/src/feature-switch.ts
128857
- init_esm_shims();
128858
-
128859
- // ../../packages/core/src/identity-hash.ts
128860
- init_esm_shims();
128861
- var STAFF_ORG_ID_HASHES = [
128862
- "afce210e"
128863
- // org_3ANttyrbWYJk6JKRSTRLEsbsDLe
128864
- ];
128865
-
128866
- // ../../packages/core/src/feature-switch.ts
128867
- var FEATURE_SWITCHES = {
128868
- ["dummy" /* Dummy */]: {
128869
- maintainer: "ethan@vm0.ai",
128870
- description: "Test-only feature switch for flag system validation",
128871
- enabled: true
128872
- },
128873
- ["ahrefsConnector" /* AhrefsConnector */]: {
128874
- maintainer: "ethan@vm0.ai",
128875
- description: "Enable the Ahrefs SEO connector",
128876
- enabled: false
128877
- },
128878
- ["bentomlConnector" /* BentomlConnector */]: {
128879
- maintainer: "ethan@vm0.ai",
128880
- description: "Enable the BentoML model serving connector",
128881
- enabled: false
128882
- },
128883
- ["canvaConnector" /* CanvaConnector */]: {
128884
- maintainer: "ethan@vm0.ai",
128885
- description: "Enable the Canva design connector",
128886
- enabled: false
128887
- },
128888
- ["computerConnector" /* ComputerConnector */]: {
128889
- maintainer: "ethan@vm0.ai",
128890
- description: "Enable the Computer connector for local service tunneling",
128891
- enabled: false
128892
- },
128893
- ["deelConnector" /* DeelConnector */]: {
128894
- maintainer: "ethan@vm0.ai",
128895
- description: "Enable the Deel HR connector",
128896
- enabled: false
128897
- },
128898
- ["docusignConnector" /* DocuSignConnector */]: {
128899
- maintainer: "ethan@vm0.ai",
128900
- description: "Enable the DocuSign e-signature connector",
128901
- enabled: false
128902
- },
128903
- ["dropboxConnector" /* DropboxConnector */]: {
128904
- maintainer: "ethan@vm0.ai",
128905
- description: "Enable the Dropbox file storage connector",
128906
- enabled: false
128907
- },
128908
- ["figmaConnector" /* FigmaConnector */]: {
128909
- maintainer: "ethan@vm0.ai",
128910
- description: "Enable the Figma design connector",
128911
- enabled: false
128912
- },
128913
- ["mercuryConnector" /* MercuryConnector */]: {
128914
- maintainer: "ethan@vm0.ai",
128915
- description: "Enable the Mercury banking connector",
128916
- enabled: false
128917
- },
128918
- ["neonConnector" /* NeonConnector */]: {
128919
- maintainer: "ethan@vm0.ai",
128920
- description: "Enable the Neon serverless Postgres connector",
128921
- enabled: false
128922
- },
128923
- ["garminConnectConnector" /* GarminConnectConnector */]: {
128924
- maintainer: "ethan@vm0.ai",
128925
- description: "Enable the Garmin Connect wellness connector",
128926
- enabled: false
128927
- },
128928
- ["redditConnector" /* RedditConnector */]: {
128929
- maintainer: "ethan@vm0.ai",
128930
- description: "Enable the Reddit connector integration",
128931
- enabled: false
128932
- },
128933
- ["supabaseConnector" /* SupabaseConnector */]: {
128934
- maintainer: "ethan@vm0.ai",
128935
- description: "Enable the Supabase database connector integration",
128936
- enabled: false
128937
- },
128938
- ["closeConnector" /* CloseConnector */]: {
128939
- maintainer: "ethan@vm0.ai",
128940
- description: "Enable the Close CRM connector",
128941
- enabled: false
128942
- },
128943
- ["webflowConnector" /* WebflowConnector */]: {
128944
- maintainer: "ethan@vm0.ai",
128945
- description: "Enable the Webflow site management connector",
128946
- enabled: false
128947
- },
128948
- ["outlookMailConnector" /* OutlookMailConnector */]: {
128949
- maintainer: "ethan@vm0.ai",
128950
- description: "Enable the Outlook Mail connector",
128951
- enabled: false
128952
- },
128953
- ["outlookCalendarConnector" /* OutlookCalendarConnector */]: {
128954
- maintainer: "ethan@vm0.ai",
128955
- description: "Enable the Outlook Calendar connector",
128956
- enabled: false
128957
- },
128958
- ["googleAdsConnector" /* GoogleAdsConnector */]: {
128959
- maintainer: "ethan@vm0.ai",
128960
- description: "Enable the Google Ads connector",
128961
- enabled: false
128962
- },
128963
- ["metaAdsConnector" /* MetaAdsConnector */]: {
128964
- maintainer: "ethan@vm0.ai",
128965
- description: "Enable the Meta Ads Manager connector",
128966
- enabled: false
128967
- },
128968
- ["stripeConnector" /* StripeConnector */]: {
128969
- maintainer: "ethan@vm0.ai",
128970
- description: "Enable the Stripe payment connector integration",
128971
- enabled: false
128972
- },
128973
- ["cliAuthStripe" /* CliAuthStripe */]: {
128974
- maintainer: "liangyou@vm0.ai",
128975
- description: "Gate Stripe-specific CLI auth UI and API surfaces.",
128976
- enabled: false,
128977
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
128978
- },
128979
- ["posthogConnector" /* PosthogConnector */]: {
128980
- maintainer: "ethan@vm0.ai",
128981
- description: "Enable the PostHog analytics connector",
128982
- enabled: false
128983
- },
128984
- ["pwaOfflineCache" /* PwaOfflineCache */]: {
128985
- maintainer: "ethan@vm0.ai",
128986
- description: "Enable PWA offline caching (static asset cache-first, offline fallback page, and service worker updateViaCache: none)",
128987
- enabled: false
128988
- },
128989
- ["mailchimpConnector" /* MailchimpConnector */]: {
128990
- maintainer: "ethan@vm0.ai",
128991
- description: "Enable the Mailchimp email marketing connector",
128992
- enabled: false
128993
- },
128994
- ["resendConnector" /* ResendConnector */]: {
128995
- maintainer: "ethan@vm0.ai",
128996
- description: "Enable the Resend email service connector",
128997
- enabled: false
128998
- },
128999
- ["spotifyConnector" /* SpotifyConnector */]: {
129000
- maintainer: "ethan@vm0.ai",
129001
- description: "Enable the Spotify connector integration",
129002
- enabled: false
129003
- },
129004
- ["dataExport" /* DataExport */]: {
129005
- maintainer: "ethan@vm0.ai",
129006
- description: "Show the data export option in account menu",
129007
- enabled: false
129008
- },
129009
- ["zeroDebug" /* ZeroDebug */]: {
129010
- maintainer: "ethan@vm0.ai",
129011
- description: "Reveal activity debug surfaces, activity log navigation, appended system prompts, and Debug preferences",
129012
- enabled: false
129013
- },
129014
- ["computerUse" /* ComputerUse */]: {
129015
- maintainer: "ethan@vm0.ai",
129016
- description: "Enable remote desktop host registration",
129017
- enabled: false
129018
- },
129019
- ["localBrowserUse" /* LocalBrowserUse */]: {
129020
- maintainer: "ethan@vm0.ai",
129021
- description: "Enable the Local Browser connector and user-authorized browser host lifecycle",
129022
- enabled: false,
129023
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129024
- },
129025
- ["lab" /* Lab */]: {
129026
- maintainer: "ethan@vm0.ai",
129027
- description: "Show the Lab page for toggling experimental features",
129028
- enabled: false
129029
- },
129030
- ["auditLink" /* AuditLink */]: {
129031
- maintainer: "ethan@vm0.ai",
129032
- description: "Show audit log links in integration replies",
129033
- enabled: false
129034
- },
129035
- ["audioOutput" /* AudioOutput */]: {
129036
- maintainer: "lancy@vm0.ai",
129037
- description: "Enable audio output in chat (TTS read-aloud + auto-read) \u2014 gates the volume/read buttons and the /api/zero/voice-io/tts route",
129038
- enabled: false
129039
- },
129040
- ["autoSkill" /* AutoSkill */]: {
129041
- maintainer: "lancy@vm0.ai",
129042
- description: "Enable automatic skill creation in agent prompts",
129043
- enabled: false
129044
- },
129045
- ["testOauthConnector" /* TestOauthConnector */]: {
129046
- maintainer: "liangyou@vm0.ai",
129047
- description: "Enable the test-oauth connector, a synthetic OAuth 2.0 provider used only for automated tests. Off in prod.",
129048
- enabled: false
129049
- },
129050
- ["chatHeaderNewButton" /* ChatHeaderNewButton */]: {
129051
- maintainer: "ethan@vm0.ai",
129052
- description: "Replace the Invite people button in the agent chat page header with a New button that creates a new chat thread",
129053
- enabled: false,
129054
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129055
- },
129056
- ["agentPhoneAppUi" /* AgentPhoneAppUi */]: {
129057
- maintainer: "linghan@vm0.ai",
129058
- description: "Show first-class AgentPhone app surfaces: Works card and onboarding entry points.",
129059
- enabled: false,
129060
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129061
- },
129062
- ["chatMessageStartButton" /* ChatMessageStartButton */]: {
129063
- maintainer: "linghan@vm0.ai",
129064
- description: "Show an icon button in assistant message group actions that scrolls back to the start of that message group.",
129065
- enabled: false,
129066
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129067
- },
129068
- ["goal" /* Goal */]: {
129069
- maintainer: "ethan@vm0.ai",
129070
- description: "Enable Codex-style goal mode in web chat: typing `/go <objective>` starts a self-continuing chain that runs up to 10 turns until the agent emits the [GOAL_DONE] sentinel, the budget is exhausted, the run fails, or the user interrupts.",
129071
- enabled: false,
129072
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129073
- },
129074
- ["chatThreadRename" /* ChatThreadRename */]: {
129075
- maintainer: "ethan@vm0.ai",
129076
- description: "Adds a Rename chat item to the sidebar thread kebab menu. When the user renames a thread, automated title generation is suppressed for that thread.",
129077
- enabled: false,
129078
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129079
- },
129080
- ["docsSite" /* DocsSite */]: {
129081
- maintainer: "linghan@vm0.ai",
129082
- description: "Enable the authenticated Strapi-backed docs site routes, navigation entry, and docs pages. Staff-only during rollout; per-user toggle via Lab.",
129083
- enabled: false,
129084
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129085
- },
129086
- ["freshdeskConnector" /* FreshdeskConnector */]: {
129087
- maintainer: "ethan@vm0.ai",
129088
- description: "Enable the Freshdesk helpdesk connector",
129089
- enabled: false
129090
- },
129091
- ["stabilityAiConnector" /* StabilityAiConnector */]: {
129092
- maintainer: "ethan@vm0.ai",
129093
- description: "Enable the Stability AI image generation connector",
129094
- enabled: false
129095
- },
129096
- ["zoomConnector" /* ZoomConnector */]: {
129097
- maintainer: "ethan@vm0.ai",
129098
- description: "Enable the Zoom connector (OAuth 2.0) for meetings, past participants, and cloud recordings access",
129099
- enabled: false
129100
- },
129101
- ["apiKeys" /* ApiKeys */]: {
129102
- maintainer: "ethan@vm0.ai",
129103
- description: "Gate the custom /settings/api-keys UI for issuing personal access tokens used by the /api/v1 public surface. When disabled, the settings page redirects to / and the sidebar menu item is hidden. The backend /api/v1 verification does NOT consult this flag \u2014 previously issued PATs continue to work.",
129104
- enabled: false
129105
- },
129106
- ["apiBackend" /* ApiBackend */]: {
129107
- maintainer: "ethan@vm0.ai",
129108
- description: "Route platform API traffic to the api backend host instead of the www backend host. Unported endpoints continue through the api backend's web fallback proxy.",
129109
- enabled: false,
129110
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129111
- },
129112
- ["connectorCategories" /* ConnectorCategories */]: {
129113
- maintainer: "ethan@vm0.ai",
129114
- description: "Show category sections and the hover-reveal outline menu on the Connectors settings page. Staff-only during rollout.",
129115
- enabled: false,
129116
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129117
- },
129118
- ["storedSecretKmsRead" /* StoredSecretKmsRead */]: {
129119
- maintainer: "ethan@vm0.ai",
129120
- description: "Prefer AWS KMS material when reading stored-secret envelopes. Disabled keeps reading the legacy AES branch during rollout. Read path is independent of StoredSecretKmsWrite \u2014 enable read only after dual-write has been on long enough to backfill existing rows.",
129121
- enabled: false
129122
- },
129123
- ["storedSecretKmsWrite" /* StoredSecretKmsWrite */]: {
129124
- maintainer: "ethan@vm0.ai",
129125
- description: "Dual-write stored-secret values to AWS KMS in addition to the legacy AES branch. When OFF, writes stay legacy-only even if SECRETS_KMS_KEY_ID is configured \u2014 this gates the KMS GenerateDataKey call so a missing IAM grant does not 500 every secret save.",
129126
- enabled: false
129127
- },
129128
- ["trinity" /* Trinity */]: {
129129
- maintainer: "ethan@vm0.ai",
129130
- description: "Embed the voice-chat mic toggle + voice-mode layout into the agent chat page. Gates the mic launcher, composer swap, and status/subtitle/task-card UI.",
129131
- enabled: false
129132
- },
129133
- ["zapierConnector" /* ZapierConnector */]: {
129134
- maintainer: "ethan@vm0.ai",
129135
- description: "Enable the Zapier connector. When disabled, Zapier is hidden from the connectors list and cannot be connected.",
129136
- enabled: false
129137
- },
129138
- ["voiceChatRealtimeBilling" /* VoiceChatRealtimeBilling */]: {
129139
- maintainer: "lancy@vm0.ai",
129140
- description: "Gate voice-chat realtime billing (Plan D, Epic #12128). When OFF, the token route mints an OpenAI ephemeral token without admission checks and the /session-started, /usage, and /session-ended endpoints are 200 no-ops \u2014 the org gets unmetered voice-chat. When ON, the token route runs credit + pricing admission, /session-started inserts an audit row in voice_chat_realtime_sessions, and the browser self-reports response.done + transcription.completed usage events for billing. Staff-only during rollout; operator flips per org via the feature-switch overrides API.",
129141
- enabled: false,
129142
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129143
- },
129144
- ["hostedSites" /* HostedSites */]: {
129145
- maintainer: "lancy@vm0.ai",
129146
- description: "Enable static hosted-site deployments from zero host. Staff-only during rollout.",
129147
- enabled: false,
129148
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
129149
- }
129150
- };
129151
-
129152
129734
  // ../../packages/core/src/staff-org.ts
129153
129735
  init_esm_shims();
129154
129736
 
@@ -129506,9 +130088,9 @@ var CodexEventParser = class {
129506
130088
  if (!item.changes || item.changes.length === 0) {
129507
130089
  return null;
129508
130090
  }
129509
- const changes = item.changes.map((c106) => {
129510
- const action = c106.kind === "add" ? "Created" : c106.kind === "modify" ? "Modified" : "Deleted";
129511
- return `${action}: ${c106.path}`;
130091
+ const changes = item.changes.map((c107) => {
130092
+ const action = c107.kind === "add" ? "Created" : c107.kind === "modify" ? "Modified" : "Deleted";
130093
+ return `${action}: ${c107.path}`;
129512
130094
  }).join("\n");
129513
130095
  return {
129514
130096
  type: "text",
@@ -130512,6 +131094,7 @@ export {
130512
131094
  source_default,
130513
131095
  decodeCliTokenPayload,
130514
131096
  decodeZeroTokenPayload,
131097
+ zeroTokenAllowsFeatureSwitch,
130515
131098
  loadConfig,
130516
131099
  saveConfig,
130517
131100
  getToken,
@@ -130645,6 +131228,7 @@ export {
130645
131228
  generateWebImage,
130646
131229
  generateWebVideo,
130647
131230
  generateWebPresentation,
131231
+ generateWebWebsite,
130648
131232
  prepareHostedSite,
130649
131233
  completeHostedSite,
130650
131234
  getInstructionsStorageName,
@@ -130695,4 +131279,4 @@ undici/lib/web/fetch/body.js:
130695
131279
  undici/lib/web/websocket/frame.js:
130696
131280
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
130697
131281
  */
130698
- //# sourceMappingURL=chunk-NY3IM6SU.js.map
131282
+ //# sourceMappingURL=chunk-D6CWF2IH.js.map