@vm0/cli 9.156.9 → 9.157.1

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.9",
74086
+ release: "9.157.1",
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.9",
74105
+ version: "9.157.1",
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. Legacy AES remains as a fallback for old or explicitly legacy-only rows.",
74479
+ enabled: true
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);
@@ -97116,6 +97460,13 @@ var github = {
97116
97460
  oauth: {
97117
97461
  authorizationUrl: "https://github.com/login/oauth/authorize",
97118
97462
  tokenUrl: "https://github.com/login/oauth/access_token",
97463
+ client: {
97464
+ clientRegistration: "static",
97465
+ clientType: "confidential",
97466
+ tokenEndpointAuthMethod: "client_secret_post",
97467
+ clientIdEnv: "GH_OAUTH_CLIENT_ID",
97468
+ clientSecretEnv: "GH_OAUTH_CLIENT_SECRET"
97469
+ },
97119
97470
  scopes: ["repo", "project", "workflow"]
97120
97471
  }
97121
97472
  }
@@ -97152,6 +97503,13 @@ var gmail = {
97152
97503
  oauth: {
97153
97504
  authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
97154
97505
  tokenUrl: "https://oauth2.googleapis.com/token",
97506
+ client: {
97507
+ clientRegistration: "static",
97508
+ clientType: "confidential",
97509
+ tokenEndpointAuthMethod: "client_secret_post",
97510
+ clientIdEnv: "GOOGLE_OAUTH_CLIENT_ID",
97511
+ clientSecretEnv: "GOOGLE_OAUTH_CLIENT_SECRET"
97512
+ },
97155
97513
  scopes: ["https://www.googleapis.com/auth/gmail.modify"]
97156
97514
  }
97157
97515
  }
@@ -97188,6 +97546,13 @@ var notion = {
97188
97546
  oauth: {
97189
97547
  authorizationUrl: "https://api.notion.com/v1/oauth/authorize",
97190
97548
  tokenUrl: "https://api.notion.com/v1/oauth/token",
97549
+ client: {
97550
+ clientRegistration: "static",
97551
+ clientType: "confidential",
97552
+ tokenEndpointAuthMethod: "client_secret_basic",
97553
+ clientIdEnv: "NOTION_OAUTH_CLIENT_ID",
97554
+ clientSecretEnv: "NOTION_OAUTH_CLIENT_SECRET"
97555
+ },
97191
97556
  scopes: []
97192
97557
  }
97193
97558
  }
@@ -97223,6 +97588,13 @@ var x = {
97223
97588
  oauth: {
97224
97589
  authorizationUrl: "https://twitter.com/i/oauth2/authorize",
97225
97590
  tokenUrl: "https://api.twitter.com/2/oauth2/token",
97591
+ client: {
97592
+ clientRegistration: "static",
97593
+ clientType: "confidential",
97594
+ tokenEndpointAuthMethod: "client_secret_basic",
97595
+ clientIdEnv: "X_OAUTH_CLIENT_ID",
97596
+ clientSecretEnv: "X_OAUTH_CLIENT_SECRET"
97597
+ },
97226
97598
  // https://docs.x.com/fundamentals/authentication/oauth-2-0/authorization-code
97227
97599
  scopes: [
97228
97600
  "tweet.read",
@@ -97304,6 +97676,13 @@ var googleDrive = {
97304
97676
  oauth: {
97305
97677
  authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
97306
97678
  tokenUrl: "https://oauth2.googleapis.com/token",
97679
+ client: {
97680
+ clientRegistration: "static",
97681
+ clientType: "confidential",
97682
+ tokenEndpointAuthMethod: "client_secret_post",
97683
+ clientIdEnv: "GOOGLE_OAUTH_CLIENT_ID",
97684
+ clientSecretEnv: "GOOGLE_OAUTH_CLIENT_SECRET"
97685
+ },
97307
97686
  scopes: [
97308
97687
  "https://www.googleapis.com/auth/drive",
97309
97688
  "https://www.googleapis.com/auth/userinfo.email"
@@ -97339,6 +97718,13 @@ var slack = {
97339
97718
  oauth: {
97340
97719
  authorizationUrl: "https://slack.com/oauth/v2/authorize",
97341
97720
  tokenUrl: "https://slack.com/api/oauth.v2.access",
97721
+ client: {
97722
+ clientRegistration: "static",
97723
+ clientType: "confidential",
97724
+ tokenEndpointAuthMethod: "client_secret_post",
97725
+ clientIdEnv: "SLACK_CLIENT_ID",
97726
+ clientSecretEnv: "SLACK_CLIENT_SECRET"
97727
+ },
97342
97728
  // Note: Slack does not approve `search:read` or user `*:history`
97343
97729
  // scopes outside of RTS / MCP applications. The personal connector
97344
97730
  // intentionally omits them. Bot-side history access is provided
@@ -97412,6 +97798,13 @@ var googleSheets = {
97412
97798
  oauth: {
97413
97799
  authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
97414
97800
  tokenUrl: "https://oauth2.googleapis.com/token",
97801
+ client: {
97802
+ clientRegistration: "static",
97803
+ clientType: "confidential",
97804
+ tokenEndpointAuthMethod: "client_secret_post",
97805
+ clientIdEnv: "GOOGLE_OAUTH_CLIENT_ID",
97806
+ clientSecretEnv: "GOOGLE_OAUTH_CLIENT_SECRET"
97807
+ },
97415
97808
  scopes: [
97416
97809
  "https://www.googleapis.com/auth/spreadsheets",
97417
97810
  "https://www.googleapis.com/auth/userinfo.email"
@@ -97451,6 +97844,13 @@ var googleCalendar = {
97451
97844
  oauth: {
97452
97845
  authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
97453
97846
  tokenUrl: "https://oauth2.googleapis.com/token",
97847
+ client: {
97848
+ clientRegistration: "static",
97849
+ clientType: "confidential",
97850
+ tokenEndpointAuthMethod: "client_secret_post",
97851
+ clientIdEnv: "GOOGLE_OAUTH_CLIENT_ID",
97852
+ clientSecretEnv: "GOOGLE_OAUTH_CLIENT_SECRET"
97853
+ },
97454
97854
  scopes: [
97455
97855
  "https://www.googleapis.com/auth/calendar",
97456
97856
  "https://www.googleapis.com/auth/userinfo.email"
@@ -97489,6 +97889,13 @@ var googleDocs = {
97489
97889
  oauth: {
97490
97890
  authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
97491
97891
  tokenUrl: "https://oauth2.googleapis.com/token",
97892
+ client: {
97893
+ clientRegistration: "static",
97894
+ clientType: "confidential",
97895
+ tokenEndpointAuthMethod: "client_secret_post",
97896
+ clientIdEnv: "GOOGLE_OAUTH_CLIENT_ID",
97897
+ clientSecretEnv: "GOOGLE_OAUTH_CLIENT_SECRET"
97898
+ },
97492
97899
  scopes: [
97493
97900
  "https://www.googleapis.com/auth/documents",
97494
97901
  "https://www.googleapis.com/auth/userinfo.email"
@@ -97528,6 +97935,13 @@ var linear = {
97528
97935
  oauth: {
97529
97936
  authorizationUrl: "https://linear.app/oauth/authorize",
97530
97937
  tokenUrl: "https://api.linear.app/oauth/token",
97938
+ client: {
97939
+ clientRegistration: "static",
97940
+ clientType: "confidential",
97941
+ tokenEndpointAuthMethod: "client_secret_post",
97942
+ clientIdEnv: "LINEAR_OAUTH_CLIENT_ID",
97943
+ clientSecretEnv: "LINEAR_OAUTH_CLIENT_SECRET"
97944
+ },
97531
97945
  scopes: [
97532
97946
  "read",
97533
97947
  "write",
@@ -97565,6 +97979,13 @@ var intervalsIcu = {
97565
97979
  oauth: {
97566
97980
  authorizationUrl: "https://intervals.icu/oauth/authorize",
97567
97981
  tokenUrl: "https://intervals.icu/api/oauth/token",
97982
+ client: {
97983
+ clientRegistration: "static",
97984
+ clientType: "confidential",
97985
+ tokenEndpointAuthMethod: "client_secret_post",
97986
+ clientIdEnv: "INTERVALS_ICU_OAUTH_CLIENT_ID",
97987
+ clientSecretEnv: "INTERVALS_ICU_OAUTH_CLIENT_SECRET"
97988
+ },
97568
97989
  scopes: ["ACTIVITY", "WELLNESS", "CALENDAR", "SETTINGS", "LIBRARY"]
97569
97990
  }
97570
97991
  }
@@ -97595,6 +98016,13 @@ var vercel = {
97595
98016
  defaultAuthMethod: "oauth",
97596
98017
  oauth: {
97597
98018
  tokenUrl: "https://api.vercel.com/v2/oauth/access_token",
98019
+ client: {
98020
+ clientRegistration: "static",
98021
+ clientType: "confidential",
98022
+ tokenEndpointAuthMethod: "client_secret_post",
98023
+ clientIdEnv: "VERCEL_OAUTH_CLIENT_ID",
98024
+ clientSecretEnv: "VERCEL_OAUTH_CLIENT_SECRET"
98025
+ },
97598
98026
  scopes: []
97599
98027
  }
97600
98028
  }
@@ -97630,6 +98058,13 @@ var strava = {
97630
98058
  oauth: {
97631
98059
  authorizationUrl: "https://www.strava.com/oauth/authorize",
97632
98060
  tokenUrl: "https://www.strava.com/oauth/token",
98061
+ client: {
98062
+ clientRegistration: "static",
98063
+ clientType: "confidential",
98064
+ tokenEndpointAuthMethod: "client_secret_post",
98065
+ clientIdEnv: "STRAVA_OAUTH_CLIENT_ID",
98066
+ clientSecretEnv: "STRAVA_OAUTH_CLIENT_SECRET"
98067
+ },
97633
98068
  scopes: [
97634
98069
  "read",
97635
98070
  "profile:read_all",
@@ -97670,6 +98105,13 @@ var googleMeet = {
97670
98105
  oauth: {
97671
98106
  authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
97672
98107
  tokenUrl: "https://oauth2.googleapis.com/token",
98108
+ client: {
98109
+ clientRegistration: "static",
98110
+ clientType: "confidential",
98111
+ tokenEndpointAuthMethod: "client_secret_post",
98112
+ clientIdEnv: "GOOGLE_OAUTH_CLIENT_ID",
98113
+ clientSecretEnv: "GOOGLE_OAUTH_CLIENT_SECRET"
98114
+ },
97673
98115
  scopes: [
97674
98116
  "https://www.googleapis.com/auth/meetings.space.created",
97675
98117
  // Use meetings.space.readonly (not meetings.conferencerecords.readonly) — confirmed
@@ -97713,6 +98155,13 @@ var hubspot = {
97713
98155
  oauth: {
97714
98156
  authorizationUrl: "https://app.hubspot.com/oauth/authorize",
97715
98157
  tokenUrl: "https://api.hubapi.com/oauth/v1/token",
98158
+ client: {
98159
+ clientRegistration: "static",
98160
+ clientType: "confidential",
98161
+ tokenEndpointAuthMethod: "client_secret_post",
98162
+ clientIdEnv: "HUBSPOT_OAUTH_CLIENT_ID",
98163
+ clientSecretEnv: "HUBSPOT_OAUTH_CLIENT_SECRET"
98164
+ },
97716
98165
  scopes: [
97717
98166
  "crm.objects.contacts.read",
97718
98167
  "crm.objects.contacts.write",
@@ -97781,6 +98230,13 @@ var sentry = {
97781
98230
  oauth: {
97782
98231
  authorizationUrl: "https://sentry.io/oauth/authorize/",
97783
98232
  tokenUrl: "https://sentry.io/oauth/token/",
98233
+ client: {
98234
+ clientRegistration: "static",
98235
+ clientType: "confidential",
98236
+ tokenEndpointAuthMethod: "client_secret_post",
98237
+ clientIdEnv: "SENTRY_OAUTH_CLIENT_ID",
98238
+ clientSecretEnv: "SENTRY_OAUTH_CLIENT_SECRET"
98239
+ },
97784
98240
  scopes: [
97785
98241
  "org:read",
97786
98242
  "project:read",
@@ -97819,6 +98275,13 @@ var todoist = {
97819
98275
  oauth: {
97820
98276
  authorizationUrl: "https://todoist.com/oauth/authorize",
97821
98277
  tokenUrl: "https://todoist.com/oauth/access_token",
98278
+ client: {
98279
+ clientRegistration: "static",
98280
+ clientType: "confidential",
98281
+ tokenEndpointAuthMethod: "client_secret_post",
98282
+ clientIdEnv: "TODOIST_OAUTH_CLIENT_ID",
98283
+ clientSecretEnv: "TODOIST_OAUTH_CLIENT_SECRET"
98284
+ },
97822
98285
  scopes: ["data:read_write", "data:delete", "project:delete"]
97823
98286
  }
97824
98287
  }
@@ -97854,6 +98317,13 @@ var xero = {
97854
98317
  oauth: {
97855
98318
  authorizationUrl: "https://login.xero.com/identity/connect/authorize",
97856
98319
  tokenUrl: "https://identity.xero.com/connect/token",
98320
+ client: {
98321
+ clientRegistration: "static",
98322
+ clientType: "confidential",
98323
+ tokenEndpointAuthMethod: "client_secret_post",
98324
+ clientIdEnv: "XERO_OAUTH_CLIENT_ID",
98325
+ clientSecretEnv: "XERO_OAUTH_CLIENT_SECRET"
98326
+ },
97857
98327
  scopes: [
97858
98328
  "openid",
97859
98329
  "profile",
@@ -97912,6 +98382,13 @@ var airtable = {
97912
98382
  oauth: {
97913
98383
  authorizationUrl: "https://airtable.com/oauth2/v1/authorize",
97914
98384
  tokenUrl: "https://airtable.com/oauth2/v1/token",
98385
+ client: {
98386
+ clientRegistration: "static",
98387
+ clientType: "confidential",
98388
+ tokenEndpointAuthMethod: "client_secret_basic",
98389
+ clientIdEnv: "AIRTABLE_OAUTH_CLIENT_ID",
98390
+ clientSecretEnv: "AIRTABLE_OAUTH_CLIENT_SECRET"
98391
+ },
97915
98392
  scopes: [
97916
98393
  "data.records:read",
97917
98394
  "data.records:write",
@@ -97927,11 +98404,6 @@ var airtable = {
97927
98404
 
97928
98405
  // ../../packages/connectors/src/connectors/docusign.ts
97929
98406
  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
98407
  var docusign = {
97936
98408
  docusign: {
97937
98409
  label: "DocuSign",
@@ -97961,6 +98433,13 @@ var docusign = {
97961
98433
  oauth: {
97962
98434
  authorizationUrl: "https://account-d.docusign.com/oauth/auth",
97963
98435
  tokenUrl: "https://account-d.docusign.com/oauth/token",
98436
+ client: {
98437
+ clientRegistration: "static",
98438
+ clientType: "confidential",
98439
+ tokenEndpointAuthMethod: "client_secret_basic",
98440
+ clientIdEnv: "DOCUSIGN_OAUTH_CLIENT_ID",
98441
+ clientSecretEnv: "DOCUSIGN_OAUTH_CLIENT_SECRET"
98442
+ },
97964
98443
  scopes: ["signature", "extended", "openid"]
97965
98444
  }
97966
98445
  }
@@ -97998,6 +98477,13 @@ var googleAds = {
97998
98477
  oauth: {
97999
98478
  authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
98000
98479
  tokenUrl: "https://oauth2.googleapis.com/token",
98480
+ client: {
98481
+ clientRegistration: "static",
98482
+ clientType: "confidential",
98483
+ tokenEndpointAuthMethod: "client_secret_post",
98484
+ clientIdEnv: "GOOGLE_OAUTH_CLIENT_ID",
98485
+ clientSecretEnv: "GOOGLE_OAUTH_CLIENT_SECRET"
98486
+ },
98001
98487
  scopes: [
98002
98488
  "https://www.googleapis.com/auth/adwords",
98003
98489
  "https://www.googleapis.com/auth/userinfo.email"
@@ -98071,6 +98557,13 @@ var gumroad = {
98071
98557
  oauth: {
98072
98558
  authorizationUrl: "https://gumroad.com/oauth/authorize",
98073
98559
  tokenUrl: "https://gumroad.com/oauth/token",
98560
+ client: {
98561
+ clientRegistration: "static",
98562
+ clientType: "confidential",
98563
+ tokenEndpointAuthMethod: "client_secret_post",
98564
+ clientIdEnv: "GUMROAD_OAUTH_CLIENT_ID",
98565
+ clientSecretEnv: "GUMROAD_OAUTH_CLIENT_SECRET"
98566
+ },
98074
98567
  scopes: [
98075
98568
  "view_profile",
98076
98569
  "edit_products",
@@ -98113,6 +98606,13 @@ var spotify = {
98113
98606
  oauth: {
98114
98607
  authorizationUrl: "https://accounts.spotify.com/authorize",
98115
98608
  tokenUrl: "https://accounts.spotify.com/api/token",
98609
+ client: {
98610
+ clientRegistration: "static",
98611
+ clientType: "confidential",
98612
+ tokenEndpointAuthMethod: "client_secret_basic",
98613
+ clientIdEnv: "SPOTIFY_OAUTH_CLIENT_ID",
98614
+ clientSecretEnv: "SPOTIFY_OAUTH_CLIENT_SECRET"
98615
+ },
98116
98616
  scopes: [
98117
98617
  "ugc-image-upload",
98118
98618
  "user-read-playback-state",
@@ -98254,6 +98754,13 @@ var ahrefs = {
98254
98754
  oauth: {
98255
98755
  authorizationUrl: "https://app.ahrefs.com/api/auth",
98256
98756
  tokenUrl: "https://app.ahrefs.com/api/token",
98757
+ client: {
98758
+ clientRegistration: "static",
98759
+ clientType: "confidential",
98760
+ tokenEndpointAuthMethod: "client_secret_post",
98761
+ clientIdEnv: "AHREFS_OAUTH_CLIENT_ID",
98762
+ clientSecretEnv: "AHREFS_OAUTH_CLIENT_SECRET"
98763
+ },
98257
98764
  scopes: ["api"]
98258
98765
  }
98259
98766
  }
@@ -98439,6 +98946,13 @@ var asana = {
98439
98946
  oauth: {
98440
98947
  authorizationUrl: "https://app.asana.com/-/oauth_authorize",
98441
98948
  tokenUrl: "https://app.asana.com/-/oauth_token",
98949
+ client: {
98950
+ clientRegistration: "static",
98951
+ clientType: "confidential",
98952
+ tokenEndpointAuthMethod: "client_secret_post",
98953
+ clientIdEnv: "ASANA_OAUTH_CLIENT_ID",
98954
+ clientSecretEnv: "ASANA_OAUTH_CLIENT_SECRET"
98955
+ },
98442
98956
  scopes: []
98443
98957
  }
98444
98958
  }
@@ -98512,6 +99026,35 @@ var attio = {
98512
99026
  }
98513
99027
  };
98514
99028
 
99029
+ // ../../packages/connectors/src/connectors/atlascloud.ts
99030
+ init_esm_shims();
99031
+ var atlascloud = {
99032
+ atlascloud: {
99033
+ label: "Atlas Cloud",
99034
+ category: "ai-general-models",
99035
+ generation: ["audio", "image", "text", "video"],
99036
+ tags: ["llm", "multimodal", "openai-compatible"],
99037
+ environmentMapping: {
99038
+ ATLASCLOUD_API_KEY: "$secrets.ATLASCLOUD_API_KEY"
99039
+ },
99040
+ helpText: "Connect Atlas Cloud to access multimodal AI models for chat, image generation, video generation, and audio through one API key",
99041
+ authMethods: {
99042
+ "api-token": {
99043
+ label: "API Key",
99044
+ 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",
99045
+ secrets: {
99046
+ ATLASCLOUD_API_KEY: {
99047
+ label: "API Key",
99048
+ required: true,
99049
+ placeholder: "your-atlascloud-api-key"
99050
+ }
99051
+ }
99052
+ }
99053
+ },
99054
+ defaultAuthMethod: "api-token"
99055
+ }
99056
+ };
99057
+
98515
99058
  // ../../packages/connectors/src/connectors/aviationstack.ts
98516
99059
  init_esm_shims();
98517
99060
  var aviationstack = {
@@ -98656,6 +99199,34 @@ var braveSearch = {
98656
99199
  }
98657
99200
  };
98658
99201
 
99202
+ // ../../packages/connectors/src/connectors/brex.ts
99203
+ init_esm_shims();
99204
+ var brex = {
99205
+ brex: {
99206
+ label: "Brex",
99207
+ category: "sales-crm-business-operations",
99208
+ tags: ["corporate-card", "expenses", "payments", "transactions", "finance"],
99209
+ environmentMapping: {
99210
+ BREX_TOKEN: "$secrets.BREX_TOKEN"
99211
+ },
99212
+ helpText: "Connect your Brex account to access corporate card, expense, payment, transaction, and team data",
99213
+ authMethods: {
99214
+ "api-token": {
99215
+ label: "API Token",
99216
+ 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",
99217
+ secrets: {
99218
+ BREX_TOKEN: {
99219
+ label: "API Token",
99220
+ required: true,
99221
+ placeholder: "your-brex-api-token"
99222
+ }
99223
+ }
99224
+ }
99225
+ },
99226
+ defaultAuthMethod: "api-token"
99227
+ }
99228
+ };
99229
+
98659
99230
  // ../../packages/connectors/src/connectors/brevo.ts
98660
99231
  init_esm_shims();
98661
99232
  var brevo = {
@@ -98967,6 +99538,13 @@ var canva = {
98967
99538
  oauth: {
98968
99539
  authorizationUrl: "https://www.canva.com/api/oauth/authorize",
98969
99540
  tokenUrl: "https://api.canva.com/rest/v1/oauth/token",
99541
+ client: {
99542
+ clientRegistration: "static",
99543
+ clientType: "confidential",
99544
+ tokenEndpointAuthMethod: "client_secret_basic",
99545
+ clientIdEnv: "CANVA_OAUTH_CLIENT_ID",
99546
+ clientSecretEnv: "CANVA_OAUTH_CLIENT_SECRET"
99547
+ },
98970
99548
  scopes: [
98971
99549
  "asset:read",
98972
99550
  "asset:write",
@@ -99012,6 +99590,40 @@ var chatwoot = {
99012
99590
  }
99013
99591
  };
99014
99592
 
99593
+ // ../../packages/connectors/src/connectors/checkr.ts
99594
+ init_esm_shims();
99595
+ var checkr = {
99596
+ checkr: {
99597
+ label: "Checkr",
99598
+ category: "sales-crm-business-operations",
99599
+ tags: [
99600
+ "background-checks",
99601
+ "screening",
99602
+ "candidates",
99603
+ "reports",
99604
+ "compliance"
99605
+ ],
99606
+ environmentMapping: {
99607
+ CHECKR_TOKEN: "$secrets.CHECKR_TOKEN"
99608
+ },
99609
+ helpText: "Connect your Checkr account to manage candidates, invitations, reports, packages, and background check workflows",
99610
+ authMethods: {
99611
+ "api-token": {
99612
+ label: "API Key",
99613
+ 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",
99614
+ secrets: {
99615
+ CHECKR_TOKEN: {
99616
+ label: "API Key",
99617
+ required: true,
99618
+ placeholder: "your-checkr-api-key"
99619
+ }
99620
+ }
99621
+ }
99622
+ },
99623
+ defaultAuthMethod: "api-token"
99624
+ }
99625
+ };
99626
+
99015
99627
  // ../../packages/connectors/src/connectors/clado.ts
99016
99628
  init_esm_shims();
99017
99629
  var clado = {
@@ -99121,6 +99733,13 @@ var close2 = {
99121
99733
  oauth: {
99122
99734
  authorizationUrl: "https://app.close.com/oauth2/authorize/",
99123
99735
  tokenUrl: "https://api.close.com/oauth2/token/",
99736
+ client: {
99737
+ clientRegistration: "static",
99738
+ clientType: "confidential",
99739
+ tokenEndpointAuthMethod: "client_secret_post",
99740
+ clientIdEnv: "CLOSE_OAUTH_CLIENT_ID",
99741
+ clientSecretEnv: "CLOSE_OAUTH_CLIENT_SECRET"
99742
+ },
99124
99743
  scopes: ["all.full_access", "offline_access"]
99125
99744
  }
99126
99745
  }
@@ -99217,42 +99836,6 @@ var coda = {
99217
99836
  }
99218
99837
  };
99219
99838
 
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
99839
  // ../../packages/connectors/src/connectors/computer.ts
99257
99840
  init_esm_shims();
99258
99841
  var computer = {
@@ -99415,6 +99998,13 @@ var deel = {
99415
99998
  oauth: {
99416
99999
  authorizationUrl: "https://app.deel.com/oauth2/authorize",
99417
100000
  tokenUrl: "https://app.deel.com/oauth2/tokens",
100001
+ client: {
100002
+ clientRegistration: "static",
100003
+ clientType: "confidential",
100004
+ tokenEndpointAuthMethod: "client_secret_basic",
100005
+ clientIdEnv: "DEEL_OAUTH_CLIENT_ID",
100006
+ clientSecretEnv: "DEEL_OAUTH_CLIENT_SECRET"
100007
+ },
99418
100008
  scopes: [
99419
100009
  "contracts:read",
99420
100010
  "people:read",
@@ -99717,6 +100307,13 @@ var dropbox = {
99717
100307
  oauth: {
99718
100308
  authorizationUrl: "https://www.dropbox.com/oauth2/authorize",
99719
100309
  tokenUrl: "https://api.dropboxapi.com/oauth2/token",
100310
+ client: {
100311
+ clientRegistration: "static",
100312
+ clientType: "confidential",
100313
+ tokenEndpointAuthMethod: "client_secret_post",
100314
+ clientIdEnv: "DROPBOX_OAUTH_CLIENT_ID",
100315
+ clientSecretEnv: "DROPBOX_OAUTH_CLIENT_SECRET"
100316
+ },
99720
100317
  scopes: [
99721
100318
  "account_info.read",
99722
100319
  "files.metadata.read",
@@ -99917,6 +100514,41 @@ var explorium = {
99917
100514
  }
99918
100515
  };
99919
100516
 
100517
+ // ../../packages/connectors/src/connectors/faire.ts
100518
+ init_esm_shims();
100519
+ var faire = {
100520
+ faire: {
100521
+ label: "Faire",
100522
+ category: "sales-crm-business-operations",
100523
+ tags: [
100524
+ "wholesale",
100525
+ "marketplace",
100526
+ "brands",
100527
+ "orders",
100528
+ "inventory",
100529
+ "products"
100530
+ ],
100531
+ environmentMapping: {
100532
+ FAIRE_TOKEN: "$secrets.FAIRE_TOKEN"
100533
+ },
100534
+ helpText: "Connect your Faire brand account to manage wholesale products, orders, inventory, shipments, and brand profile data",
100535
+ authMethods: {
100536
+ "api-token": {
100537
+ label: "Access Token",
100538
+ 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",
100539
+ secrets: {
100540
+ FAIRE_TOKEN: {
100541
+ label: "Access Token",
100542
+ required: true,
100543
+ placeholder: "your-faire-access-token"
100544
+ }
100545
+ }
100546
+ }
100547
+ },
100548
+ defaultAuthMethod: "api-token"
100549
+ }
100550
+ };
100551
+
99920
100552
  // ../../packages/connectors/src/connectors/fal.ts
99921
100553
  init_esm_shims();
99922
100554
  var fal = {
@@ -99987,6 +100619,13 @@ var figma = {
99987
100619
  oauth: {
99988
100620
  authorizationUrl: "https://www.figma.com/oauth",
99989
100621
  tokenUrl: "https://api.figma.com/v1/oauth/token",
100622
+ client: {
100623
+ clientRegistration: "static",
100624
+ clientType: "confidential",
100625
+ tokenEndpointAuthMethod: "client_secret_basic",
100626
+ clientIdEnv: "FIGMA_OAUTH_CLIENT_ID",
100627
+ clientSecretEnv: "FIGMA_OAUTH_CLIENT_SECRET"
100628
+ },
99990
100629
  scopes: [
99991
100630
  "current_user:read",
99992
100631
  "file_content:read",
@@ -100148,6 +100787,13 @@ var garminConnect = {
100148
100787
  oauth: {
100149
100788
  authorizationUrl: "https://connect.garmin.com/oauth2Confirm",
100150
100789
  tokenUrl: "https://diauth.garmin.com/di-oauth2-service/oauth/token",
100790
+ client: {
100791
+ clientRegistration: "static",
100792
+ clientType: "confidential",
100793
+ tokenEndpointAuthMethod: "client_secret_post",
100794
+ clientIdEnv: "GARMIN_CONNECT_OAUTH_CLIENT_ID",
100795
+ clientSecretEnv: "GARMIN_CONNECT_OAUTH_CLIENT_SECRET"
100796
+ },
100151
100797
  scopes: []
100152
100798
  }
100153
100799
  }
@@ -101096,6 +101742,13 @@ var mailchimp = {
101096
101742
  oauth: {
101097
101743
  authorizationUrl: "https://login.mailchimp.com/oauth2/authorize",
101098
101744
  tokenUrl: "https://login.mailchimp.com/oauth2/token",
101745
+ client: {
101746
+ clientRegistration: "static",
101747
+ clientType: "confidential",
101748
+ tokenEndpointAuthMethod: "client_secret_post",
101749
+ clientIdEnv: "MAILCHIMP_OAUTH_CLIENT_ID",
101750
+ clientSecretEnv: "MAILCHIMP_OAUTH_CLIENT_SECRET"
101751
+ },
101099
101752
  scopes: []
101100
101753
  }
101101
101754
  }
@@ -101307,6 +101960,13 @@ var mercury = {
101307
101960
  oauth: {
101308
101961
  authorizationUrl: "https://oauth2.mercury.com/oauth2/auth",
101309
101962
  tokenUrl: "https://oauth2.mercury.com/oauth2/token",
101963
+ client: {
101964
+ clientRegistration: "static",
101965
+ clientType: "confidential",
101966
+ tokenEndpointAuthMethod: "client_secret_post",
101967
+ clientIdEnv: "MERCURY_OAUTH_CLIENT_ID",
101968
+ clientSecretEnv: "MERCURY_OAUTH_CLIENT_SECRET"
101969
+ },
101310
101970
  scopes: ["offline_access"]
101311
101971
  }
101312
101972
  }
@@ -101339,6 +101999,13 @@ var metaAds = {
101339
101999
  oauth: {
101340
102000
  authorizationUrl: "https://www.facebook.com/v22.0/dialog/oauth",
101341
102001
  tokenUrl: "https://graph.facebook.com/v22.0/oauth/access_token",
102002
+ client: {
102003
+ clientRegistration: "static",
102004
+ clientType: "confidential",
102005
+ tokenEndpointAuthMethod: "client_secret_post",
102006
+ clientIdEnv: "META_ADS_OAUTH_CLIENT_ID",
102007
+ clientSecretEnv: "META_ADS_OAUTH_CLIENT_SECRET"
102008
+ },
101342
102009
  scopes: ["ads_management", "ads_read", "business_management"]
101343
102010
  }
101344
102011
  }
@@ -101542,6 +102209,13 @@ var monday = {
101542
102209
  oauth: {
101543
102210
  authorizationUrl: "https://auth.monday.com/oauth2/authorize",
101544
102211
  tokenUrl: "https://auth.monday.com/oauth2/token",
102212
+ client: {
102213
+ clientRegistration: "static",
102214
+ clientType: "confidential",
102215
+ tokenEndpointAuthMethod: "client_secret_post",
102216
+ clientIdEnv: "MONDAY_OAUTH_CLIENT_ID",
102217
+ clientSecretEnv: "MONDAY_OAUTH_CLIENT_SECRET"
102218
+ },
101545
102219
  scopes: [
101546
102220
  "me:read",
101547
102221
  "boards:read",
@@ -101699,6 +102373,13 @@ var neon = {
101699
102373
  oauth: {
101700
102374
  authorizationUrl: "https://oauth2.neon.tech/oauth2/auth",
101701
102375
  tokenUrl: "https://oauth2.neon.tech/oauth2/token",
102376
+ client: {
102377
+ clientRegistration: "static",
102378
+ clientType: "confidential",
102379
+ tokenEndpointAuthMethod: "client_secret_post",
102380
+ clientIdEnv: "NEON_OAUTH_CLIENT_ID",
102381
+ clientSecretEnv: "NEON_OAUTH_CLIENT_SECRET"
102382
+ },
101702
102383
  scopes: [
101703
102384
  "openid",
101704
102385
  "offline_access",
@@ -101883,6 +102564,13 @@ var outlookCalendar = {
101883
102564
  oauth: {
101884
102565
  authorizationUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
101885
102566
  tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token",
102567
+ client: {
102568
+ clientRegistration: "static",
102569
+ clientType: "confidential",
102570
+ tokenEndpointAuthMethod: "client_secret_post",
102571
+ clientIdEnv: "MICROSOFT_OAUTH_CLIENT_ID",
102572
+ clientSecretEnv: "MICROSOFT_OAUTH_CLIENT_SECRET"
102573
+ },
101886
102574
  scopes: ["Calendars.ReadWrite", "User.Read", "offline_access"]
101887
102575
  }
101888
102576
  }
@@ -101919,6 +102607,13 @@ var outlookMail = {
101919
102607
  oauth: {
101920
102608
  authorizationUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
101921
102609
  tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token",
102610
+ client: {
102611
+ clientRegistration: "static",
102612
+ clientType: "confidential",
102613
+ tokenEndpointAuthMethod: "client_secret_post",
102614
+ clientIdEnv: "MICROSOFT_OAUTH_CLIENT_ID",
102615
+ clientSecretEnv: "MICROSOFT_OAUTH_CLIENT_SECRET"
102616
+ },
101922
102617
  scopes: ["Mail.ReadWrite", "Mail.Send", "User.Read", "offline_access"]
101923
102618
  }
101924
102619
  }
@@ -102266,6 +102961,13 @@ var posthog = {
102266
102961
  oauth: {
102267
102962
  authorizationUrl: "https://us.posthog.com/oauth/authorize",
102268
102963
  tokenUrl: "https://us.posthog.com/oauth/token",
102964
+ client: {
102965
+ clientRegistration: "static",
102966
+ clientType: "confidential",
102967
+ tokenEndpointAuthMethod: "client_secret_post",
102968
+ clientIdEnv: "POSTHOG_OAUTH_CLIENT_ID",
102969
+ clientSecretEnv: "POSTHOG_OAUTH_CLIENT_SECRET"
102970
+ },
102269
102971
  scopes: [
102270
102972
  "openid",
102271
102973
  "profile",
@@ -102563,6 +103265,13 @@ var reddit = {
102563
103265
  oauth: {
102564
103266
  authorizationUrl: "https://www.reddit.com/api/v1/authorize",
102565
103267
  tokenUrl: "https://www.reddit.com/api/v1/access_token",
103268
+ client: {
103269
+ clientRegistration: "static",
103270
+ clientType: "confidential",
103271
+ tokenEndpointAuthMethod: "client_secret_basic",
103272
+ clientIdEnv: "REDDIT_OAUTH_CLIENT_ID",
103273
+ clientSecretEnv: "REDDIT_OAUTH_CLIENT_SECRET"
103274
+ },
102566
103275
  scopes: ["identity", "read"]
102567
103276
  }
102568
103277
  }
@@ -102789,6 +103498,34 @@ var scrapeninja = {
102789
103498
  }
102790
103499
  };
102791
103500
 
103501
+ // ../../packages/connectors/src/connectors/segment.ts
103502
+ init_esm_shims();
103503
+ var segment = {
103504
+ segment: {
103505
+ label: "Segment",
103506
+ category: "data-automation-infrastructure",
103507
+ tags: ["cdp", "analytics", "events", "tracking", "sources", "destinations"],
103508
+ environmentMapping: {
103509
+ SEGMENT_TOKEN: "$secrets.SEGMENT_TOKEN"
103510
+ },
103511
+ helpText: "Connect your Segment workspace to manage sources, destinations, tracking plans, and data pipeline configuration through the Public API",
103512
+ authMethods: {
103513
+ "api-token": {
103514
+ label: "Public API Token",
103515
+ 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",
103516
+ secrets: {
103517
+ SEGMENT_TOKEN: {
103518
+ label: "Public API Token",
103519
+ required: true,
103520
+ placeholder: "your-segment-public-api-token"
103521
+ }
103522
+ }
103523
+ }
103524
+ },
103525
+ defaultAuthMethod: "api-token"
103526
+ }
103527
+ };
103528
+
102792
103529
  // ../../packages/connectors/src/connectors/sendgrid.ts
102793
103530
  init_esm_shims();
102794
103531
  var sendgrid = {
@@ -103064,6 +103801,48 @@ var sponge = {
103064
103801
  }
103065
103802
  };
103066
103803
 
103804
+ // ../../packages/connectors/src/connectors/sproutgigs.ts
103805
+ init_esm_shims();
103806
+ var sproutgigs = {
103807
+ sproutgigs: {
103808
+ label: "SproutGigs",
103809
+ category: "marketing-content-growth",
103810
+ tags: [
103811
+ "microtasks",
103812
+ "jobs",
103813
+ "gigs",
103814
+ "freelancers",
103815
+ "crowdsourcing",
103816
+ "picoworkers"
103817
+ ],
103818
+ environmentMapping: {
103819
+ SPROUTGIGS_USER_ID: "$vars.SPROUTGIGS_USER_ID",
103820
+ SPROUTGIGS_API_SECRET: "$secrets.SPROUTGIGS_API_SECRET"
103821
+ },
103822
+ helpText: "Connect SproutGigs to manage buyer jobs, gigs, freelancer lists, profiles, balances, and task reviews through the SproutGigs API",
103823
+ authMethods: {
103824
+ "api-token": {
103825
+ label: "API Secret",
103826
+ 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`.",
103827
+ secrets: {
103828
+ SPROUTGIGS_USER_ID: {
103829
+ label: "User ID",
103830
+ required: true,
103831
+ type: "variable",
103832
+ placeholder: "your-user-id"
103833
+ },
103834
+ SPROUTGIGS_API_SECRET: {
103835
+ label: "API Secret",
103836
+ required: true,
103837
+ placeholder: "your-sproutgigs-api-secret"
103838
+ }
103839
+ }
103840
+ }
103841
+ },
103842
+ defaultAuthMethod: "api-token"
103843
+ }
103844
+ };
103845
+
103067
103846
  // ../../packages/connectors/src/connectors/square.ts
103068
103847
  init_esm_shims();
103069
103848
  var square = {
@@ -103243,38 +104022,18 @@ var stripe = {
103243
104022
  oauth: {
103244
104023
  authorizationUrl: "https://connect.stripe.com/oauth/authorize",
103245
104024
  tokenUrl: "https://connect.stripe.com/oauth/token",
104025
+ client: {
104026
+ clientRegistration: "static",
104027
+ clientType: "confidential",
104028
+ tokenEndpointAuthMethod: "client_secret_post",
104029
+ clientIdEnv: "STRIPE_OAUTH_CLIENT_ID",
104030
+ clientSecretEnv: "STRIPE_OAUTH_CLIENT_SECRET"
104031
+ },
103246
104032
  scopes: ["read_write"]
103247
104033
  }
103248
104034
  }
103249
104035
  };
103250
104036
 
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
104037
  // ../../packages/connectors/src/connectors/supabase.ts
103279
104038
  init_esm_shims();
103280
104039
  var supabase = {
@@ -103317,6 +104076,13 @@ var supabase = {
103317
104076
  oauth: {
103318
104077
  authorizationUrl: "https://api.supabase.com/v1/oauth/authorize",
103319
104078
  tokenUrl: "https://api.supabase.com/v1/oauth/token",
104079
+ client: {
104080
+ clientRegistration: "static",
104081
+ clientType: "confidential",
104082
+ tokenEndpointAuthMethod: "client_secret_basic",
104083
+ clientIdEnv: "SUPABASE_OAUTH_CLIENT_ID",
104084
+ clientSecretEnv: "SUPABASE_OAUTH_CLIENT_SECRET"
104085
+ },
103320
104086
  scopes: [
103321
104087
  "organizations:read",
103322
104088
  "projects:read",
@@ -103448,6 +104214,13 @@ var testOauth = {
103448
104214
  // the preview-URL host changes per deploy.
103449
104215
  authorizationUrl: "/api/test/oauth-provider/authorize",
103450
104216
  tokenUrl: "/api/test/oauth-provider/token",
104217
+ client: {
104218
+ clientRegistration: "static",
104219
+ clientType: "confidential",
104220
+ tokenEndpointAuthMethod: "client_secret_post",
104221
+ clientId: "test-oauth-client",
104222
+ clientSecret: "test-oauth-secret"
104223
+ },
103451
104224
  scopes: ["read"]
103452
104225
  }
103453
104226
  }
@@ -103727,6 +104500,13 @@ var webflow = {
103727
104500
  oauth: {
103728
104501
  authorizationUrl: "https://webflow.com/oauth/authorize",
103729
104502
  tokenUrl: "https://api.webflow.com/oauth/access_token",
104503
+ client: {
104504
+ clientRegistration: "static",
104505
+ clientType: "confidential",
104506
+ tokenEndpointAuthMethod: "client_secret_post",
104507
+ clientIdEnv: "WEBFLOW_OAUTH_CLIENT_ID",
104508
+ clientSecretEnv: "WEBFLOW_OAUTH_CLIENT_SECRET"
104509
+ },
103730
104510
  scopes: [
103731
104511
  "authorized_user:read",
103732
104512
  "sites:read",
@@ -104032,6 +104812,13 @@ var zoom = {
104032
104812
  oauth: {
104033
104813
  authorizationUrl: "https://zoom.us/oauth/authorize",
104034
104814
  tokenUrl: "https://zoom.us/oauth/token",
104815
+ client: {
104816
+ clientRegistration: "static",
104817
+ clientType: "confidential",
104818
+ tokenEndpointAuthMethod: "client_secret_basic",
104819
+ clientIdEnv: "ZOOM_OAUTH_CLIENT_ID",
104820
+ clientSecretEnv: "ZOOM_OAUTH_CLIENT_SECRET"
104821
+ },
104035
104822
  // Granular scopes (Zoom's "resource:action:target" format). Covers the
104036
104823
  // core read/write flows documented in the zoom skill: users, meetings,
104037
104824
  // past-meeting data, cloud recordings, and webinars.
@@ -104093,11 +104880,13 @@ var CONNECTOR_TYPES_DEF = {
104093
104880
  ...asana,
104094
104881
  ...atlassian,
104095
104882
  ...attio,
104883
+ ...atlascloud,
104096
104884
  ...aviationstack,
104097
104885
  ...axiom,
104098
104886
  ...bentoml,
104099
104887
  ...bitrix,
104100
104888
  ...braveSearch,
104889
+ ...brex,
104101
104890
  ...brevo,
104102
104891
  ...brightData,
104103
104892
  ...browserbase,
@@ -104110,6 +104899,7 @@ var CONNECTOR_TYPES_DEF = {
104110
104899
  ...calendly,
104111
104900
  ...canva,
104112
104901
  ...chatwoot,
104902
+ ...checkr,
104113
104903
  ...clado,
104114
104904
  ...clerk,
104115
104905
  ...clickup,
@@ -104117,7 +104907,6 @@ var CONNECTOR_TYPES_DEF = {
104117
104907
  ...cloudflare,
104118
104908
  ...cloudinary,
104119
104909
  ...coda,
104120
- ...codexOauth,
104121
104910
  ...computer,
104122
104911
  ...cronlytic,
104123
104912
  ...customerIo,
@@ -104140,6 +104929,7 @@ var CONNECTOR_TYPES_DEF = {
104140
104929
  ...etsy,
104141
104930
  ...exa,
104142
104931
  ...explorium,
104932
+ ...faire,
104143
104933
  ...fal,
104144
104934
  ...figma,
104145
104935
  ...firecrawl,
@@ -104233,6 +105023,7 @@ var CONNECTOR_TYPES_DEF = {
104233
105023
  ...runway,
104234
105024
  ...salesforce,
104235
105025
  ...scrapeninja,
105026
+ ...segment,
104236
105027
  ...sendgrid,
104237
105028
  ...serpapi,
104238
105029
  ...servicenow,
@@ -104242,12 +105033,12 @@ var CONNECTOR_TYPES_DEF = {
104242
105033
  ...slackWebhook,
104243
105034
  ...snowflake,
104244
105035
  ...sponge,
105036
+ ...sproutgigs,
104245
105037
  ...square,
104246
105038
  ...stabilityAi,
104247
105039
  ...strapi,
104248
105040
  ...streak,
104249
105041
  ...stripe,
104250
- ...suno,
104251
105042
  ...supabase,
104252
105043
  ...supadata,
104253
105044
  ...supermemory,
@@ -105469,6 +106260,8 @@ init_esm_shims();
105469
106260
  // ../../packages/api-contracts/src/contracts/runners.ts
105470
106261
  init_esm_shims();
105471
106262
  var c20 = initContract();
106263
+ var MIN_EPOCH_MS_TIMESTAMP = 1e12;
106264
+ var apiStartTimeSchema = external_exports.number().int().min(MIN_EPOCH_MS_TIMESTAMP);
105472
106265
  var runnerGroupSchema = external_exports.string().regex(
105473
106266
  /^[a-z0-9-]+\/[a-z0-9-]+$/,
105474
106267
  "Runner group must be in vm0/<name> format (e.g., vm0/production)"
@@ -105554,8 +106347,8 @@ var storedExecutionContextSchema = external_exports.object({
105554
106347
  debugNoMockCodex: external_exports.boolean().optional(),
105555
106348
  // Capture HTTP request headers, request bodies, and response bodies in network logs
105556
106349
  captureNetworkBodies: external_exports.boolean().optional(),
105557
- // Dispatch timestamp for E2E timing metrics
105558
- apiStartTime: external_exports.number().optional(),
106350
+ // Dispatch timestamp for E2E timing metrics, as Unix epoch milliseconds
106351
+ apiStartTime: apiStartTimeSchema.optional(),
105559
106352
  // User's timezone preference (IANA format, e.g., "Asia/Shanghai")
105560
106353
  userTimezone: external_exports.string().optional(),
105561
106354
  // Firewall for proxy-side token replacement (complete config, all permissions)
@@ -105602,8 +106395,8 @@ var executionContextSchema = external_exports.object({
105602
106395
  debugNoMockCodex: external_exports.boolean().optional(),
105603
106396
  // Capture HTTP request headers, request bodies, and response bodies in network logs
105604
106397
  captureNetworkBodies: external_exports.boolean().optional(),
105605
- // Dispatch timestamp for E2E timing metrics
105606
- apiStartTime: external_exports.number().optional(),
106398
+ // Dispatch timestamp for E2E timing metrics, as Unix epoch milliseconds
106399
+ apiStartTime: apiStartTimeSchema.optional(),
105607
106400
  // User's timezone preference (IANA format, e.g., "Asia/Shanghai")
105608
106401
  userTimezone: external_exports.string().optional(),
105609
106402
  // Firewall for proxy-side token replacement (complete config, all permissions)
@@ -109052,7 +109845,11 @@ async function generateWebImage(options) {
109052
109845
  ...options.moderation ? { moderation: options.moderation } : {},
109053
109846
  ...options.seed !== void 0 ? { seed: options.seed } : {},
109054
109847
  ...options.safetyTolerance ? { safetyTolerance: options.safetyTolerance } : {},
109055
- ...options.enhancePrompt !== void 0 ? { enhancePrompt: options.enhancePrompt } : {}
109848
+ ...options.enhancePrompt !== void 0 ? { enhancePrompt: options.enhancePrompt } : {},
109849
+ ...options.imageUrls && options.imageUrls.length > 0 ? { imageUrls: options.imageUrls } : {},
109850
+ ...options.maskImageUrl ? { maskImageUrl: options.maskImageUrl } : {},
109851
+ ...options.inputFidelity ? { inputFidelity: options.inputFidelity } : {},
109852
+ ...options.imagePromptStrength !== void 0 ? { imagePromptStrength: options.imagePromptStrength } : {}
109056
109853
  })
109057
109854
  }
109058
109855
  );
@@ -109162,6 +109959,42 @@ async function generateWebPresentation(options) {
109162
109959
  fallback: "Failed to generate presentation"
109163
109960
  });
109164
109961
  }
109962
+ async function generateWebWebsite(options) {
109963
+ const baseUrl = await getBaseUrl();
109964
+ const token = await getActiveToken();
109965
+ if (!token) {
109966
+ throw new ApiRequestError("Not authenticated", "UNAUTHORIZED", 401);
109967
+ }
109968
+ const headers = {
109969
+ Authorization: `Bearer ${token}`,
109970
+ "Content-Type": "application/json"
109971
+ };
109972
+ const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
109973
+ if (bypassSecret) {
109974
+ headers["x-vercel-protection-bypass"] = bypassSecret;
109975
+ }
109976
+ const response = await fetch(
109977
+ new URL("/api/zero/website-io/generate", baseUrl),
109978
+ {
109979
+ method: "POST",
109980
+ headers,
109981
+ body: JSON.stringify({
109982
+ prompt: options.prompt,
109983
+ ...options.template ? { template: options.template } : {},
109984
+ ...options.title ? { title: options.title } : {},
109985
+ ...options.audience ? { audience: options.audience } : {}
109986
+ })
109987
+ }
109988
+ );
109989
+ if (!response.ok) {
109990
+ const { message, code } = await parseErrorBody(
109991
+ response,
109992
+ "Failed to generate website"
109993
+ );
109994
+ throw new ApiRequestError(message, code, response.status);
109995
+ }
109996
+ return await response.json();
109997
+ }
109165
109998
 
109166
109999
  // src/lib/api/domains/zero-host.ts
109167
110000
  init_esm_shims();
@@ -114055,6 +114888,27 @@ var atlassianFirewall = {
114055
114888
  ]
114056
114889
  };
114057
114890
 
114891
+ // ../../packages/connectors/src/firewalls/atlascloud.generated.ts
114892
+ init_esm_shims();
114893
+ var atlascloudFirewall = {
114894
+ name: "atlascloud",
114895
+ description: "Atlas Cloud API",
114896
+ placeholders: {
114897
+ ATLASCLOUD_API_KEY: "c0ffee5afe10ca1c0ffee5afe10ca1c0ffee5afe10ca1c0ffee5afe10ca1c0ff"
114898
+ },
114899
+ apis: [
114900
+ {
114901
+ base: "https://api.atlascloud.ai",
114902
+ auth: {
114903
+ headers: {
114904
+ Authorization: "Bearer ${{ secrets.ATLASCLOUD_API_KEY }}"
114905
+ }
114906
+ },
114907
+ permissions: []
114908
+ }
114909
+ ]
114910
+ };
114911
+
114058
114912
  // ../../packages/connectors/src/firewalls/aviationstack.generated.ts
114059
114913
  init_esm_shims();
114060
114914
  var aviationstackFirewall = {
@@ -114518,6 +115372,43 @@ var braveSearchFirewall = {
114518
115372
  ]
114519
115373
  };
114520
115374
 
115375
+ // ../../packages/connectors/src/firewalls/brex.generated.ts
115376
+ init_esm_shims();
115377
+ var brexFirewall = {
115378
+ name: "brex",
115379
+ description: "Brex API",
115380
+ placeholders: {
115381
+ BREX_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
115382
+ },
115383
+ apis: [
115384
+ {
115385
+ base: "https://api.brex.com",
115386
+ auth: {
115387
+ headers: {
115388
+ Authorization: "Bearer ${{ secrets.BREX_TOKEN }}"
115389
+ }
115390
+ },
115391
+ permissions: [
115392
+ {
115393
+ name: "read",
115394
+ description: "Read Brex resources",
115395
+ rules: ["GET /{path+}"]
115396
+ },
115397
+ {
115398
+ name: "write",
115399
+ description: "Create, update, and delete Brex resources",
115400
+ rules: [
115401
+ "POST /{path+}",
115402
+ "PUT /{path+}",
115403
+ "PATCH /{path+}",
115404
+ "DELETE /{path+}"
115405
+ ]
115406
+ }
115407
+ ]
115408
+ }
115409
+ ]
115410
+ };
115411
+
114521
115412
  // ../../packages/connectors/src/firewalls/brevo.generated.ts
114522
115413
  init_esm_shims();
114523
115414
  var brevoFirewall = {
@@ -114776,6 +115667,43 @@ var chatwootFirewall = {
114776
115667
  ]
114777
115668
  };
114778
115669
 
115670
+ // ../../packages/connectors/src/firewalls/checkr.generated.ts
115671
+ init_esm_shims();
115672
+ var checkrFirewall = {
115673
+ name: "checkr",
115674
+ description: "Checkr API",
115675
+ placeholders: {
115676
+ CHECKR_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
115677
+ },
115678
+ apis: [
115679
+ {
115680
+ base: "https://api.checkr.com/v1",
115681
+ auth: {
115682
+ headers: {
115683
+ Authorization: '${{ basic(secrets.CHECKR_TOKEN, "") }}'
115684
+ }
115685
+ },
115686
+ permissions: [
115687
+ {
115688
+ name: "read",
115689
+ description: "Read Checkr resources",
115690
+ rules: ["GET /{path+}"]
115691
+ },
115692
+ {
115693
+ name: "write",
115694
+ description: "Create, update, and delete Checkr resources",
115695
+ rules: [
115696
+ "POST /{path+}",
115697
+ "PUT /{path+}",
115698
+ "PATCH /{path+}",
115699
+ "DELETE /{path+}"
115700
+ ]
115701
+ }
115702
+ ]
115703
+ }
115704
+ ]
115705
+ };
115706
+
114779
115707
  // ../../packages/connectors/src/firewalls/clado.generated.ts
114780
115708
  init_esm_shims();
114781
115709
  var cladoFirewall = {
@@ -116525,6 +117453,43 @@ var exploriumFirewall = {
116525
117453
  ]
116526
117454
  };
116527
117455
 
117456
+ // ../../packages/connectors/src/firewalls/faire.generated.ts
117457
+ init_esm_shims();
117458
+ var faireFirewall = {
117459
+ name: "faire",
117460
+ description: "Faire External API V2",
117461
+ placeholders: {
117462
+ FAIRE_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
117463
+ },
117464
+ apis: [
117465
+ {
117466
+ base: "https://www.faire.com/external-api/v2",
117467
+ auth: {
117468
+ headers: {
117469
+ "X-FAIRE-ACCESS-TOKEN": "${{ secrets.FAIRE_TOKEN }}"
117470
+ }
117471
+ },
117472
+ permissions: [
117473
+ {
117474
+ name: "read",
117475
+ description: "Read Faire resources",
117476
+ rules: ["GET /{path+}"]
117477
+ },
117478
+ {
117479
+ name: "write",
117480
+ description: "Create, update, and delete Faire resources",
117481
+ rules: [
117482
+ "POST /{path+}",
117483
+ "PUT /{path+}",
117484
+ "PATCH /{path+}",
117485
+ "DELETE /{path+}"
117486
+ ]
117487
+ }
117488
+ ]
117489
+ }
117490
+ ]
117491
+ };
117492
+
116528
117493
  // ../../packages/connectors/src/firewalls/fal.generated.ts
116529
117494
  init_esm_shims();
116530
117495
  var falFirewall = {
@@ -120326,6 +121291,43 @@ var scrapeninjaFirewall = {
120326
121291
  ]
120327
121292
  };
120328
121293
 
121294
+ // ../../packages/connectors/src/firewalls/segment.generated.ts
121295
+ init_esm_shims();
121296
+ var segmentFirewall = {
121297
+ name: "segment",
121298
+ description: "Segment Public API",
121299
+ placeholders: {
121300
+ SEGMENT_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
121301
+ },
121302
+ apis: [
121303
+ {
121304
+ base: "https://api.segmentapis.com",
121305
+ auth: {
121306
+ headers: {
121307
+ Authorization: "Bearer ${{ secrets.SEGMENT_TOKEN }}"
121308
+ }
121309
+ },
121310
+ permissions: [
121311
+ {
121312
+ name: "read",
121313
+ description: "Read Segment resources",
121314
+ rules: ["GET /{path+}"]
121315
+ },
121316
+ {
121317
+ name: "write",
121318
+ description: "Create, update, and delete Segment resources",
121319
+ rules: [
121320
+ "POST /{path+}",
121321
+ "PUT /{path+}",
121322
+ "PATCH /{path+}",
121323
+ "DELETE /{path+}"
121324
+ ]
121325
+ }
121326
+ ]
121327
+ }
121328
+ ]
121329
+ };
121330
+
120329
121331
  // ../../packages/connectors/src/firewalls/sentry.generated.ts
120330
121332
  init_esm_shims();
120331
121333
  var sentryFirewall = {
@@ -121169,6 +122171,109 @@ var spongeFirewall = {
121169
122171
  ]
121170
122172
  };
121171
122173
 
122174
+ // ../../packages/connectors/src/firewalls/sproutgigs.generated.ts
122175
+ init_esm_shims();
122176
+ var sproutgigsFirewall = {
122177
+ name: "sproutgigs",
122178
+ description: "SproutGigs buyer jobs, gigs, lists, profiles, and users API",
122179
+ placeholders: {
122180
+ SPROUTGIGS_API_SECRET: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
122181
+ },
122182
+ apis: [
122183
+ {
122184
+ base: "https://sproutgigs.com/api",
122185
+ auth: {
122186
+ headers: {
122187
+ Authorization: "${{ basic(vars.SPROUTGIGS_USER_ID, secrets.SPROUTGIGS_API_SECRET) }}"
122188
+ }
122189
+ },
122190
+ permissions: [
122191
+ {
122192
+ name: "gigs:read",
122193
+ description: "Read gig categories, listings, details, questions, and reviews",
122194
+ rules: [
122195
+ "GET /gigs/get-categories.php",
122196
+ "GET /gigs/get-gig-public-questions.php",
122197
+ "GET /gigs/get-gig-reviews.php",
122198
+ "GET /gigs/get-gig.php",
122199
+ "GET /gigs/get-gigs.php"
122200
+ ]
122201
+ },
122202
+ {
122203
+ name: "jobs:read",
122204
+ description: "Read job categories, jobs, zones, rated and unrated tasks, and predicted position",
122205
+ rules: [
122206
+ "GET /jobs/get-categories.php",
122207
+ "GET /jobs/get-job.php",
122208
+ "GET /jobs/get-jobs.php",
122209
+ "POST /jobs/get-predicted-position.php",
122210
+ "GET /jobs/get-rated-tasks.php",
122211
+ "GET /jobs/get-unrated-tasks.php",
122212
+ "GET /jobs/get-zones.php"
122213
+ ]
122214
+ },
122215
+ {
122216
+ name: "jobs:write",
122217
+ description: "Create, update, feature, pause, resume, restart, stop, and configure jobs",
122218
+ rules: [
122219
+ "POST /jobs/add-positions.php",
122220
+ "POST /jobs/edit-targeting.php",
122221
+ "POST /jobs/feature-job.php",
122222
+ "POST /jobs/job-pause.php",
122223
+ "POST /jobs/job-restart.php",
122224
+ "POST /jobs/job-resume.php",
122225
+ "POST /jobs/job-stop.php",
122226
+ "POST /jobs/post-job.php",
122227
+ "POST /jobs/set-daily-tasks-limit.php",
122228
+ "POST /jobs/set-distribution.php",
122229
+ "POST /jobs/set-speed.php",
122230
+ "POST /jobs/set-ttr.php"
122231
+ ]
122232
+ },
122233
+ {
122234
+ name: "tasks:rate",
122235
+ description: "Approve or reject single and multiple submitted tasks",
122236
+ rules: [
122237
+ "POST /jobs/rate-multiple-tasks.php",
122238
+ "POST /jobs/rate-single-task.php"
122239
+ ]
122240
+ },
122241
+ {
122242
+ name: "lists:read",
122243
+ description: "Read public and account freelancer lists",
122244
+ rules: [
122245
+ "GET /jobs/get-lists.php",
122246
+ "GET /lists/get-public-lists.php"
122247
+ ]
122248
+ },
122249
+ {
122250
+ name: "lists:write",
122251
+ description: "Add, block, and unblock freelancers in lists",
122252
+ rules: [
122253
+ "POST /lists/add-workers.php",
122254
+ "POST /lists/block-workers.php",
122255
+ "POST /lists/unblock-workers.php"
122256
+ ]
122257
+ },
122258
+ {
122259
+ name: "profiles:read",
122260
+ description: "Read freelancer profile details",
122261
+ rules: [
122262
+ "GET /profiles/get-profile.php"
122263
+ ]
122264
+ },
122265
+ {
122266
+ name: "users:read",
122267
+ description: "Read account balances",
122268
+ rules: [
122269
+ "GET /users/get-balances.php"
122270
+ ]
122271
+ }
122272
+ ]
122273
+ }
122274
+ ]
122275
+ };
122276
+
121172
122277
  // ../../packages/connectors/src/firewalls/spotify.generated.ts
121173
122278
  init_esm_shims();
121174
122279
  var spotifyFirewall = {
@@ -121360,27 +122465,6 @@ var stripeFirewall = {
121360
122465
  ]
121361
122466
  };
121362
122467
 
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
122468
  // ../../packages/connectors/src/firewalls/supabase.generated.ts
121385
122469
  init_esm_shims();
121386
122470
  var supabaseFirewall = {
@@ -123815,10 +124899,12 @@ var CONNECTOR_FIREWALLS = {
123815
124899
  asana: asanaFirewall,
123816
124900
  attio: attioFirewall,
123817
124901
  atlassian: atlassianFirewall,
124902
+ atlascloud: atlascloudFirewall,
123818
124903
  axiom: axiomFirewall,
123819
124904
  bentoml: bentomlFirewall,
123820
124905
  bitrix: bitrixFirewall,
123821
124906
  "brave-search": braveSearchFirewall,
124907
+ brex: brexFirewall,
123822
124908
  brevo: brevoFirewall,
123823
124909
  "bright-data": brightDataFirewall,
123824
124910
  browserbase: browserbaseFirewall,
@@ -123829,6 +124915,7 @@ var CONNECTOR_FIREWALLS = {
123829
124915
  calendly: calendlyFirewall,
123830
124916
  canva: canvaFirewall,
123831
124917
  chatwoot: chatwootFirewall,
124918
+ checkr: checkrFirewall,
123832
124919
  clerk: clerkFirewall,
123833
124920
  clickup: clickupFirewall,
123834
124921
  close: closeFirewall,
@@ -123856,6 +124943,7 @@ var CONNECTOR_FIREWALLS = {
123856
124943
  etsy: etsyFirewall,
123857
124944
  exa: exaFirewall,
123858
124945
  explorium: exploriumFirewall,
124946
+ faire: faireFirewall,
123859
124947
  fal: falFirewall,
123860
124948
  figma: figmaFirewall,
123861
124949
  firecrawl: firecrawlFirewall,
@@ -123949,6 +125037,7 @@ var CONNECTOR_FIREWALLS = {
123949
125037
  runway: runwayFirewall,
123950
125038
  salesforce: salesforceFirewall,
123951
125039
  scrapeninja: scrapeninjaFirewall,
125040
+ segment: segmentFirewall,
123952
125041
  sentry: sentryFirewall,
123953
125042
  serpapi: serpapiFirewall,
123954
125043
  shopify: shopifyFirewall,
@@ -123958,6 +125047,7 @@ var CONNECTOR_FIREWALLS = {
123958
125047
  slack: slackFirewall,
123959
125048
  "slack-webhook": slackWebhookFirewall,
123960
125049
  sponge: spongeFirewall,
125050
+ sproutgigs: sproutgigsFirewall,
123961
125051
  spotify: spotifyFirewall,
123962
125052
  strava: stravaFirewall,
123963
125053
  strapi: strapiFirewall,
@@ -124010,8 +125100,7 @@ var CONNECTOR_FIREWALLS = {
124010
125100
  nyne: nyneFirewall,
124011
125101
  openrouter: openrouterFirewall,
124012
125102
  openweather: openweatherFirewall,
124013
- reducto: reductoFirewall,
124014
- suno: sunoFirewall
125103
+ reducto: reductoFirewall
124015
125104
  };
124016
125105
  function expandPlaceholders(firewall, connectorType) {
124017
125106
  if (!firewall.placeholders) return firewall;
@@ -124143,16 +125232,27 @@ var healthAuthContract = c29.router({
124143
125232
  // ../../packages/api-contracts/src/contracts/desktop-auth.ts
124144
125233
  init_esm_shims();
124145
125234
  var c30 = initContract();
125235
+ var desktopAuthCallbackSchemes = [
125236
+ "ai.vm0.zero.desktop",
125237
+ "ai.vm0.zero.desktop.dev"
125238
+ ];
125239
+ var defaultDesktopAuthCallbackScheme = desktopAuthCallbackSchemes[0];
125240
+ var desktopAuthCallbackSchemeSchema = external_exports.enum(
125241
+ desktopAuthCallbackSchemes
125242
+ );
124146
125243
  var desktopAuthHandoffContract = c30.router({
124147
125244
  create: {
124148
125245
  method: "POST",
124149
125246
  path: "/api/desktop-auth/handoff",
124150
125247
  headers: authHeadersSchema,
124151
- body: external_exports.object({}).optional(),
125248
+ body: external_exports.object({
125249
+ callbackScheme: desktopAuthCallbackSchemeSchema.optional()
125250
+ }).optional(),
124152
125251
  responses: {
124153
125252
  200: external_exports.object({
124154
125253
  callbackUrl: external_exports.string()
124155
125254
  }),
125255
+ 400: apiErrorSchema,
124156
125256
  401: apiErrorSchema,
124157
125257
  403: apiErrorSchema,
124158
125258
  500: apiErrorSchema
@@ -127589,7 +128689,17 @@ var zeroImageIoGenerateRequestSchema = external_exports.object({
127589
128689
  moderation: external_exports.unknown().optional(),
127590
128690
  seed: external_exports.unknown().optional(),
127591
128691
  safetyTolerance: external_exports.unknown().optional(),
127592
- enhancePrompt: external_exports.unknown().optional()
128692
+ enhancePrompt: external_exports.unknown().optional(),
128693
+ imageUrl: external_exports.unknown().optional(),
128694
+ image_url: external_exports.unknown().optional(),
128695
+ imageUrls: external_exports.unknown().optional(),
128696
+ image_urls: external_exports.unknown().optional(),
128697
+ maskImageUrl: external_exports.unknown().optional(),
128698
+ mask_image_url: external_exports.unknown().optional(),
128699
+ inputFidelity: external_exports.unknown().optional(),
128700
+ input_fidelity: external_exports.unknown().optional(),
128701
+ imagePromptStrength: external_exports.unknown().optional(),
128702
+ image_prompt_strength: external_exports.unknown().optional()
127593
128703
  }).passthrough();
127594
128704
  var zeroImageIoGenerateResponseSchema = external_exports.object({
127595
128705
  id: external_exports.string(),
@@ -127611,7 +128721,11 @@ var zeroImageIoGenerateResponseSchema = external_exports.object({
127611
128721
  billingCategory: external_exports.string().optional(),
127612
128722
  billingQuantity: external_exports.number().optional(),
127613
128723
  sourceUrl: external_exports.string().optional(),
127614
- seed: external_exports.number().optional()
128724
+ seed: external_exports.number().optional(),
128725
+ sourceImageUrls: external_exports.array(external_exports.string()).optional(),
128726
+ maskImageUrl: external_exports.string().optional(),
128727
+ inputFidelity: external_exports.string().optional(),
128728
+ imagePromptStrength: external_exports.number().optional()
127615
128729
  });
127616
128730
  var zeroImageIoGenerateContract = c91.router({
127617
128731
  post: {
@@ -127746,10 +128860,105 @@ var zeroPresentationIoGenerateContract = c93.router({
127746
128860
  }
127747
128861
  });
127748
128862
 
127749
- // ../../packages/api-contracts/src/contracts/internal-callbacks-agent.ts
128863
+ // ../../packages/api-contracts/src/contracts/zero-website-io-generate.ts
127750
128864
  init_esm_shims();
127751
128865
  var c94 = initContract();
127752
- var internalCallbacksAgentContract = c94.router({
128866
+ var zeroWebsiteTemplateIdSchema = external_exports.enum(["launch", "profile"]);
128867
+ var zeroWebsiteTemplateRequestSchema = external_exports.enum([
128868
+ "auto",
128869
+ "launch",
128870
+ "profile"
128871
+ ]);
128872
+ var zeroWebsiteIoGenerateRequestSchema = external_exports.object({
128873
+ prompt: external_exports.unknown().optional(),
128874
+ template: external_exports.unknown().optional(),
128875
+ title: external_exports.unknown().optional(),
128876
+ audience: external_exports.unknown().optional()
128877
+ }).passthrough();
128878
+ var zeroWebsiteIoUsageSchema = external_exports.object({
128879
+ inputTokens: external_exports.number(),
128880
+ outputTokens: external_exports.number(),
128881
+ totalTokens: external_exports.number()
128882
+ });
128883
+ var zeroWebsiteCtaSchema = external_exports.object({
128884
+ label: external_exports.string(),
128885
+ href: external_exports.string()
128886
+ });
128887
+ var zeroWebsiteHighlightSchema = external_exports.object({
128888
+ title: external_exports.string(),
128889
+ body: external_exports.string()
128890
+ });
128891
+ var zeroWebsiteSectionSchema = external_exports.object({
128892
+ kicker: external_exports.string(),
128893
+ title: external_exports.string(),
128894
+ body: external_exports.string(),
128895
+ bullets: external_exports.array(external_exports.string())
128896
+ });
128897
+ var zeroWebsiteStatSchema = external_exports.object({
128898
+ label: external_exports.string(),
128899
+ value: external_exports.string()
128900
+ });
128901
+ var zeroWebsiteFooterSchema = external_exports.object({
128902
+ title: external_exports.string(),
128903
+ body: external_exports.string(),
128904
+ cta: zeroWebsiteCtaSchema
128905
+ });
128906
+ var zeroWebsiteThemeSchema = external_exports.object({
128907
+ accent: external_exports.enum(["cobalt", "green", "coral", "mono"]),
128908
+ tone: external_exports.enum(["light", "dark"])
128909
+ });
128910
+ var zeroWebsiteSiteDataSchema = external_exports.object({
128911
+ siteName: external_exports.string(),
128912
+ eyebrow: external_exports.string(),
128913
+ headline: external_exports.string(),
128914
+ subhead: external_exports.string(),
128915
+ primaryCta: zeroWebsiteCtaSchema,
128916
+ secondaryCta: zeroWebsiteCtaSchema,
128917
+ highlights: external_exports.array(zeroWebsiteHighlightSchema),
128918
+ sections: external_exports.array(zeroWebsiteSectionSchema),
128919
+ stats: external_exports.array(zeroWebsiteStatSchema),
128920
+ footer: zeroWebsiteFooterSchema,
128921
+ theme: zeroWebsiteThemeSchema
128922
+ });
128923
+ var zeroWebsiteGenerationPayloadSchema = external_exports.object({
128924
+ templateId: zeroWebsiteTemplateIdSchema,
128925
+ siteData: zeroWebsiteSiteDataSchema
128926
+ });
128927
+ var zeroWebsiteIoGenerateResponseSchema = external_exports.object({
128928
+ generationId: external_exports.string(),
128929
+ templateId: zeroWebsiteTemplateIdSchema,
128930
+ templateLabel: external_exports.string(),
128931
+ slugSuggestion: external_exports.string(),
128932
+ siteData: zeroWebsiteSiteDataSchema,
128933
+ creditsCharged: external_exports.number(),
128934
+ model: external_exports.string(),
128935
+ responseId: external_exports.string().optional(),
128936
+ usage: zeroWebsiteIoUsageSchema
128937
+ });
128938
+ var zeroWebsiteIoGenerateContract = c94.router({
128939
+ post: {
128940
+ method: "POST",
128941
+ path: "/api/zero/website-io/generate",
128942
+ headers: authHeadersSchema,
128943
+ body: zeroWebsiteIoGenerateRequestSchema,
128944
+ responses: {
128945
+ 200: zeroWebsiteIoGenerateResponseSchema,
128946
+ 400: apiErrorSchema,
128947
+ 401: apiErrorSchema,
128948
+ 402: apiErrorSchema,
128949
+ 403: apiErrorSchema,
128950
+ 500: apiErrorSchema,
128951
+ 502: apiErrorSchema,
128952
+ 503: apiErrorSchema
128953
+ },
128954
+ summary: "Generate structured content for a hosted website template"
128955
+ }
128956
+ });
128957
+
128958
+ // ../../packages/api-contracts/src/contracts/internal-callbacks-agent.ts
128959
+ init_esm_shims();
128960
+ var c95 = initContract();
128961
+ var internalCallbacksAgentContract = c95.router({
127753
128962
  post: {
127754
128963
  method: "POST",
127755
128964
  path: "/api/internal/callbacks/agent",
@@ -127767,7 +128976,7 @@ var internalCallbacksAgentContract = c94.router({
127767
128976
 
127768
128977
  // ../../packages/api-contracts/src/contracts/internal-callbacks-github-issues.ts
127769
128978
  init_esm_shims();
127770
- var c95 = initContract();
128979
+ var c96 = initContract();
127771
128980
  var githubIssuesCallbackPayloadSchema = external_exports.object({
127772
128981
  installationId: external_exports.string(),
127773
128982
  repo: external_exports.string(),
@@ -127778,7 +128987,7 @@ var githubIssuesCallbackPayloadSchema = external_exports.object({
127778
128987
  triggerReactionId: external_exports.string().optional(),
127779
128988
  triggerCommentBody: external_exports.string().optional()
127780
128989
  }).passthrough();
127781
- var internalCallbacksGithubIssuesContract = c95.router({
128990
+ var internalCallbacksGithubIssuesContract = c96.router({
127782
128991
  post: {
127783
128992
  method: "POST",
127784
128993
  path: "/api/internal/callbacks/github/issues",
@@ -127799,7 +129008,7 @@ var internalCallbacksGithubIssuesContract = c95.router({
127799
129008
 
127800
129009
  // ../../packages/api-contracts/src/contracts/internal-callbacks-schedule.ts
127801
129010
  init_esm_shims();
127802
- var c96 = initContract();
129011
+ var c97 = initContract();
127803
129012
  var scheduleLoopCallbackPayloadSchema = external_exports.object({
127804
129013
  scheduleId: external_exports.string()
127805
129014
  }).passthrough();
@@ -127807,7 +129016,7 @@ var scheduleCronCallbackPayloadSchema = scheduleLoopCallbackPayloadSchema.extend
127807
129016
  timezone: external_exports.string(),
127808
129017
  cronExpression: external_exports.string().optional()
127809
129018
  }).passthrough();
127810
- var internalCallbacksScheduleContract = c96.router({
129019
+ var internalCallbacksScheduleContract = c97.router({
127811
129020
  cron: {
127812
129021
  method: "POST",
127813
129022
  path: "/api/internal/callbacks/schedule/cron",
@@ -127842,13 +129051,13 @@ var internalCallbacksScheduleContract = c96.router({
127842
129051
 
127843
129052
  // ../../packages/api-contracts/src/contracts/zero-voice-io-quota.ts
127844
129053
  init_esm_shims();
127845
- var c97 = initContract();
129054
+ var c98 = initContract();
127846
129055
  var audioInputQuotaResponseSchema = external_exports.object({
127847
129056
  allowed: external_exports.boolean(),
127848
129057
  count: external_exports.number().int().nonnegative(),
127849
129058
  limit: external_exports.number().int().positive().nullable()
127850
129059
  });
127851
- var zeroVoiceIoQuotaContract = c97.router({
129060
+ var zeroVoiceIoQuotaContract = c98.router({
127852
129061
  get: {
127853
129062
  method: "GET",
127854
129063
  path: "/api/zero/voice-io/quota",
@@ -127864,7 +129073,7 @@ var zeroVoiceIoQuotaContract = c97.router({
127864
129073
 
127865
129074
  // ../../packages/api-contracts/src/contracts/zero-voice-io-speech.ts
127866
129075
  init_esm_shims();
127867
- var c98 = initContract();
129076
+ var c99 = initContract();
127868
129077
  var zeroVoiceIoSpeechRequestSchema = external_exports.object({
127869
129078
  text: external_exports.unknown().optional(),
127870
129079
  voice: external_exports.unknown().optional(),
@@ -127881,7 +129090,7 @@ var zeroVoiceIoSpeechResponseSchema = external_exports.object({
127881
129090
  model: external_exports.string(),
127882
129091
  voice: external_exports.string()
127883
129092
  });
127884
- var zeroVoiceIoSpeechContract = c98.router({
129093
+ var zeroVoiceIoSpeechContract = c99.router({
127885
129094
  post: {
127886
129095
  method: "POST",
127887
129096
  path: "/api/zero/voice-io/speech",
@@ -127903,7 +129112,7 @@ var zeroVoiceIoSpeechContract = c98.router({
127903
129112
 
127904
129113
  // ../../packages/api-contracts/src/contracts/zero-voice-io-stt.ts
127905
129114
  init_esm_shims();
127906
- var c99 = initContract();
129115
+ var c100 = initContract();
127907
129116
  var zeroVoiceIoSttResponseSchema = external_exports.object({
127908
129117
  text: external_exports.string()
127909
129118
  });
@@ -127913,13 +129122,13 @@ var zeroVoiceIoSttQuotaErrorSchema = apiErrorSchema.extend({
127913
129122
  limit: external_exports.number().nullable()
127914
129123
  }).optional()
127915
129124
  });
127916
- var zeroVoiceIoSttContract = c99.router({
129125
+ var zeroVoiceIoSttContract = c100.router({
127917
129126
  post: {
127918
129127
  method: "POST",
127919
129128
  path: "/api/zero/voice-io/stt",
127920
129129
  headers: authHeadersSchema,
127921
129130
  contentType: "multipart/form-data",
127922
- body: c99.type(),
129131
+ body: c100.type(),
127923
129132
  responses: {
127924
129133
  200: zeroVoiceIoSttResponseSchema,
127925
129134
  400: apiErrorSchema,
@@ -127935,18 +129144,18 @@ var zeroVoiceIoSttContract = c99.router({
127935
129144
 
127936
129145
  // ../../packages/api-contracts/src/contracts/zero-voice-io-tts.ts
127937
129146
  init_esm_shims();
127938
- var c100 = initContract();
129147
+ var c101 = initContract();
127939
129148
  var zeroVoiceIoTtsRequestSchema = external_exports.object({
127940
129149
  text: external_exports.unknown().optional()
127941
129150
  }).passthrough();
127942
- var zeroVoiceIoTtsContract = c100.router({
129151
+ var zeroVoiceIoTtsContract = c101.router({
127943
129152
  post: {
127944
129153
  method: "POST",
127945
129154
  path: "/api/zero/voice-io/tts",
127946
129155
  headers: authHeadersSchema,
127947
129156
  body: zeroVoiceIoTtsRequestSchema,
127948
129157
  responses: {
127949
- 200: c100.otherResponse({
129158
+ 200: c101.otherResponse({
127950
129159
  contentType: "application/octet-stream",
127951
129160
  body: external_exports.unknown()
127952
129161
  }),
@@ -127961,7 +129170,7 @@ var zeroVoiceIoTtsContract = c100.router({
127961
129170
 
127962
129171
  // ../../packages/api-contracts/src/contracts/zero-voice-chat.ts
127963
129172
  init_esm_shims();
127964
- var c101 = initContract();
129173
+ var c102 = initContract();
127965
129174
  var voiceChatItemRoleSchema = external_exports.enum([
127966
129175
  "user",
127967
129176
  "assistant",
@@ -128058,7 +129267,7 @@ var sessionEndedBodySchema = external_exports.object({
128058
129267
  relaySessionId: external_exports.uuid()
128059
129268
  });
128060
129269
  var okResponseSchema = external_exports.object({ ok: external_exports.literal(true) });
128061
- var zeroVoiceChatContract = c101.router({
129270
+ var zeroVoiceChatContract = c102.router({
128062
129271
  createSession: {
128063
129272
  method: "POST",
128064
129273
  path: "/api/zero/voice-chat",
@@ -128233,7 +129442,7 @@ var zeroVoiceChatContract = c101.router({
128233
129442
 
128234
129443
  // ../../packages/api-contracts/src/contracts/zero-uploads.ts
128235
129444
  init_esm_shims();
128236
- var c102 = initContract();
129445
+ var c103 = initContract();
128237
129446
  var prepareRequestSchema = external_exports.object({
128238
129447
  filename: external_exports.string().min(1).max(255),
128239
129448
  contentType: external_exports.string().min(1).max(200),
@@ -128260,7 +129469,7 @@ var completeResponseSchema = external_exports.object({
128260
129469
  size: external_exports.number(),
128261
129470
  url: external_exports.string().url()
128262
129471
  });
128263
- var zeroUploadsContract = c102.router({
129472
+ var zeroUploadsContract = c103.router({
128264
129473
  prepare: {
128265
129474
  method: "POST",
128266
129475
  path: "/api/zero/uploads/prepare",
@@ -128294,7 +129503,7 @@ var zeroUploadsContract = c102.router({
128294
129503
 
128295
129504
  // ../../packages/api-contracts/src/contracts/zero-host.ts
128296
129505
  init_esm_shims();
128297
- var c103 = initContract();
129506
+ var c104 = initContract();
128298
129507
  var hostedSiteSlugSchema = external_exports.string().trim().min(3).max(63).regex(
128299
129508
  /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
128300
129509
  "Site slug must use lowercase letters, numbers, and hyphens, and must start and end with a letter or number"
@@ -128329,7 +129538,7 @@ var hostedSiteCompleteResponseSchema = external_exports.object({
128329
129538
  url: external_exports.string().url(),
128330
129539
  status: external_exports.literal("ready")
128331
129540
  });
128332
- var zeroHostContract = c103.router({
129541
+ var zeroHostContract = c104.router({
128333
129542
  prepare: {
128334
129543
  method: "POST",
128335
129544
  path: "/api/zero/host/deployments/prepare",
@@ -128368,7 +129577,7 @@ var zeroHostContract = c103.router({
128368
129577
 
128369
129578
  // ../../packages/api-contracts/src/contracts/zero-integrations-telegram.ts
128370
129579
  init_esm_shims();
128371
- var c104 = initContract();
129580
+ var c105 = initContract();
128372
129581
  var telegramEnvironmentSchema = external_exports.object({
128373
129582
  requiredSecrets: external_exports.array(external_exports.string()),
128374
129583
  requiredVars: external_exports.array(external_exports.string()),
@@ -128467,7 +129676,7 @@ var telegramSetupStatusSchema = external_exports.object({
128467
129676
  var telegramWebhookPathParamsSchema = external_exports.object({
128468
129677
  telegramBotId: external_exports.string().min(1)
128469
129678
  });
128470
- var zeroIntegrationsTelegramContract = c104.router({
129679
+ var zeroIntegrationsTelegramContract = c105.router({
128471
129680
  list: {
128472
129681
  method: "GET",
128473
129682
  path: "/api/integrations/telegram",
@@ -128510,9 +129719,9 @@ var zeroIntegrationsTelegramContract = c104.router({
128510
129719
  path: "/api/integrations/telegram/:botId",
128511
129720
  headers: authHeadersSchema,
128512
129721
  pathParams: external_exports.object({ botId: external_exports.string().min(1) }),
128513
- body: c104.noBody(),
129722
+ body: c105.noBody(),
128514
129723
  responses: {
128515
- 204: c104.noBody(),
129724
+ 204: c105.noBody(),
128516
129725
  401: apiErrorSchema,
128517
129726
  403: apiErrorSchema,
128518
129727
  404: apiErrorSchema
@@ -128523,10 +129732,10 @@ var zeroIntegrationsTelegramContract = c104.router({
128523
129732
  method: "DELETE",
128524
129733
  path: "/api/integrations/telegram/link",
128525
129734
  headers: authHeadersSchema,
128526
- body: c104.noBody(),
129735
+ body: c105.noBody(),
128527
129736
  query: external_exports.object({ botId: external_exports.string().optional() }),
128528
129737
  responses: {
128529
- 204: c104.noBody(),
129738
+ 204: c105.noBody(),
128530
129739
  401: apiErrorSchema,
128531
129740
  404: apiErrorSchema
128532
129741
  },
@@ -128557,7 +129766,7 @@ var zeroIntegrationsTelegramContract = c104.router({
128557
129766
  sig: external_exports.string().optional()
128558
129767
  }),
128559
129768
  responses: {
128560
- 200: c104.otherResponse({
129769
+ 200: c105.otherResponse({
128561
129770
  contentType: "application/octet-stream",
128562
129771
  body: external_exports.unknown()
128563
129772
  }),
@@ -128572,7 +129781,7 @@ var zeroIntegrationsTelegramContract = c104.router({
128572
129781
  method: "GET",
128573
129782
  path: "/api/integrations/telegram/auth-callback",
128574
129783
  responses: {
128575
- 200: c104.otherResponse({
129784
+ 200: c105.otherResponse({
128576
129785
  contentType: "text/html",
128577
129786
  body: external_exports.unknown()
128578
129787
  })
@@ -128631,19 +129840,19 @@ var zeroIntegrationsTelegramContract = c104.router({
128631
129840
  pathParams: telegramWebhookPathParamsSchema,
128632
129841
  body: external_exports.unknown(),
128633
129842
  responses: {
128634
- 200: c104.otherResponse({
129843
+ 200: c105.otherResponse({
128635
129844
  contentType: "text/plain",
128636
129845
  body: external_exports.string()
128637
129846
  }),
128638
- 400: c104.otherResponse({
129847
+ 400: c105.otherResponse({
128639
129848
  contentType: "text/plain",
128640
129849
  body: external_exports.string()
128641
129850
  }),
128642
- 401: c104.otherResponse({
129851
+ 401: c105.otherResponse({
128643
129852
  contentType: "text/plain",
128644
129853
  body: external_exports.string()
128645
129854
  }),
128646
- 404: c104.otherResponse({
129855
+ 404: c105.otherResponse({
128647
129856
  contentType: "text/plain",
128648
129857
  body: external_exports.string()
128649
129858
  })
@@ -128654,7 +129863,7 @@ var zeroIntegrationsTelegramContract = c104.router({
128654
129863
 
128655
129864
  // ../../packages/api-contracts/src/contracts/zero-integrations-agentphone.ts
128656
129865
  init_esm_shims();
128657
- var c105 = initContract();
129866
+ var c106 = initContract();
128658
129867
  var agentPhoneConnectBodySchema = external_exports.object({
128659
129868
  phoneHandle: external_exports.string().min(1),
128660
129869
  agentphoneAgentId: external_exports.string().min(1),
@@ -128691,7 +129900,7 @@ var agentPhoneStartLinkResponseSchema = external_exports.object({
128691
129900
  phoneHandle: external_exports.string(),
128692
129901
  verificationSent: external_exports.literal(true)
128693
129902
  });
128694
- var zeroIntegrationsAgentPhoneContract = c105.router({
129903
+ var zeroIntegrationsAgentPhoneContract = c106.router({
128695
129904
  connectAgentPhone: {
128696
129905
  method: "POST",
128697
129906
  path: "/api/agentphone/connect",
@@ -128709,7 +129918,7 @@ var zeroIntegrationsAgentPhoneContract = c105.router({
128709
129918
  method: "POST",
128710
129919
  path: "/api/agentphone/webhook",
128711
129920
  headers: agentPhoneWebhookHeadersSchema,
128712
- body: c105.type(),
129921
+ body: c106.type(),
128713
129922
  responses: {
128714
129923
  200: external_exports.string(),
128715
129924
  400: external_exports.string(),
@@ -128749,9 +129958,9 @@ var zeroIntegrationsAgentPhoneContract = c105.router({
128749
129958
  method: "DELETE",
128750
129959
  path: "/api/integrations/agentphone/link",
128751
129960
  headers: authHeadersSchema,
128752
- body: c105.noBody(),
129961
+ body: c106.noBody(),
128753
129962
  responses: {
128754
- 204: c105.noBody(),
129963
+ 204: c106.noBody(),
128755
129964
  401: apiErrorSchema,
128756
129965
  403: apiErrorSchema,
128757
129966
  404: apiErrorSchema
@@ -128850,305 +130059,6 @@ function getInstructionsFilename(framework) {
128850
130059
  return FRAMEWORK_INSTRUCTIONS_FILENAMES[validated];
128851
130060
  }
128852
130061
 
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
130062
  // ../../packages/core/src/staff-org.ts
129153
130063
  init_esm_shims();
129154
130064
 
@@ -129506,9 +130416,9 @@ var CodexEventParser = class {
129506
130416
  if (!item.changes || item.changes.length === 0) {
129507
130417
  return null;
129508
130418
  }
129509
- const changes = item.changes.map((c106) => {
129510
- const action = c106.kind === "add" ? "Created" : c106.kind === "modify" ? "Modified" : "Deleted";
129511
- return `${action}: ${c106.path}`;
130419
+ const changes = item.changes.map((c107) => {
130420
+ const action = c107.kind === "add" ? "Created" : c107.kind === "modify" ? "Modified" : "Deleted";
130421
+ return `${action}: ${c107.path}`;
129512
130422
  }).join("\n");
129513
130423
  return {
129514
130424
  type: "text",
@@ -130512,6 +131422,7 @@ export {
130512
131422
  source_default,
130513
131423
  decodeCliTokenPayload,
130514
131424
  decodeZeroTokenPayload,
131425
+ zeroTokenAllowsFeatureSwitch,
130515
131426
  loadConfig,
130516
131427
  saveConfig,
130517
131428
  getToken,
@@ -130645,6 +131556,7 @@ export {
130645
131556
  generateWebImage,
130646
131557
  generateWebVideo,
130647
131558
  generateWebPresentation,
131559
+ generateWebWebsite,
130648
131560
  prepareHostedSite,
130649
131561
  completeHostedSite,
130650
131562
  getInstructionsStorageName,
@@ -130695,4 +131607,4 @@ undici/lib/web/fetch/body.js:
130695
131607
  undici/lib/web/websocket/frame.js:
130696
131608
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
130697
131609
  */
130698
- //# sourceMappingURL=chunk-JZPZMJHP.js.map
131610
+ //# sourceMappingURL=chunk-YWCHIHYE.js.map