@vm0/cli 9.150.5 → 9.150.7

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 c99 = "color: " + this.color;
4633
- args.splice(1, 0, c99, "color: inherit");
4632
+ const c101 = "color: " + this.color;
4633
+ args.splice(1, 0, c101, "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, c99);
4645
+ args.splice(lastC, 0, c101);
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 c99 = this.color;
4934
- const colorCode = "\x1B[3" + (c99 < 8 ? c99 : "8;5;" + c99);
4933
+ const c101 = this.color;
4934
+ const colorCode = "\x1B[3" + (c101 < 8 ? c101 : "8;5;" + c101);
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); i += incr) {
8984
- let c99;
8984
+ let c101;
8985
8985
  if (isAlphaSequence) {
8986
- c99 = String.fromCharCode(i);
8987
- if (c99 === "\\") {
8988
- c99 = "";
8986
+ c101 = String.fromCharCode(i);
8987
+ if (c101 === "\\") {
8988
+ c101 = "";
8989
8989
  }
8990
8990
  } else {
8991
- c99 = String(i);
8991
+ c101 = String(i);
8992
8992
  if (pad) {
8993
- const need = width - c99.length;
8993
+ const need = width - c101.length;
8994
8994
  if (need > 0) {
8995
8995
  const z3 = new Array(need + 1).join("0");
8996
8996
  if (i < 0) {
8997
- c99 = "-" + z3 + c99.slice(1);
8997
+ c101 = "-" + z3 + c101.slice(1);
8998
8998
  } else {
8999
- c99 = z3 + c99;
8999
+ c101 = z3 + c101;
9000
9000
  }
9001
9001
  }
9002
9002
  }
9003
9003
  }
9004
- N.push(c99);
9004
+ N.push(c101);
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 c99 = glob.charAt(i);
9088
- if ((c99 === "!" || c99 === "^") && i === pos + 1) {
9087
+ const c101 = glob.charAt(i);
9088
+ if ((c101 === "!" || c101 === "^") && i === pos + 1) {
9089
9089
  negate = true;
9090
9090
  i++;
9091
9091
  continue;
9092
9092
  }
9093
- if (c99 === "]" && sawStart && !escaping) {
9093
+ if (c101 === "]" && sawStart && !escaping) {
9094
9094
  endPos = i + 1;
9095
9095
  break;
9096
9096
  }
9097
9097
  sawStart = true;
9098
- if (c99 === "\\") {
9098
+ if (c101 === "\\") {
9099
9099
  if (!escaping) {
9100
9100
  escaping = true;
9101
9101
  i++;
9102
9102
  continue;
9103
9103
  }
9104
9104
  }
9105
- if (c99 === "[" && !escaping) {
9105
+ if (c101 === "[" && !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 (c99 > rangeStart) {
9124
- ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c99));
9125
- } else if (c99 === rangeStart) {
9126
- ranges.push(braceEscape(c99));
9123
+ if (c101 > rangeStart) {
9124
+ ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c101));
9125
+ } else if (c101 === rangeStart) {
9126
+ ranges.push(braceEscape(c101));
9127
9127
  }
9128
9128
  rangeStart = "";
9129
9129
  i++;
9130
9130
  continue;
9131
9131
  }
9132
9132
  if (glob.startsWith("-]", i + 1)) {
9133
- ranges.push(braceEscape(c99 + "-"));
9133
+ ranges.push(braceEscape(c101 + "-"));
9134
9134
  i += 2;
9135
9135
  continue;
9136
9136
  }
9137
9137
  if (glob.startsWith("-", i + 1)) {
9138
- rangeStart = c99;
9138
+ rangeStart = c101;
9139
9139
  i += 2;
9140
9140
  continue;
9141
9141
  }
9142
- ranges.push(braceEscape(c99));
9142
+ ranges.push(braceEscape(c101));
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 = (c99) => types.has(c99);
9193
- var isExtglobAST = (c99) => isExtglobType(c99.type);
9192
+ var isExtglobType = (c101) => types.has(c101);
9193
+ var isExtglobAST = (c101) => isExtglobType(c101.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 c99 = new _a2(this.type, parent);
9390
+ const c101 = new _a2(this.type, parent);
9391
9391
  for (const p of this.#parts) {
9392
- c99.copyIn(p);
9392
+ c101.copyIn(p);
9393
9393
  }
9394
- return c99;
9394
+ return c101;
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 c99 = str.charAt(i2++);
9407
- if (escaping || c99 === "\\") {
9406
+ const c101 = str.charAt(i2++);
9407
+ if (escaping || c101 === "\\") {
9408
9408
  escaping = !escaping;
9409
- acc2 += c99;
9409
+ acc2 += c101;
9410
9410
  continue;
9411
9411
  }
9412
9412
  if (inBrace) {
9413
9413
  if (i2 === braceStart + 1) {
9414
- if (c99 === "^" || c99 === "!") {
9414
+ if (c101 === "^" || c101 === "!") {
9415
9415
  braceNeg = true;
9416
9416
  }
9417
- } else if (c99 === "]" && !(i2 === braceStart + 2 && braceNeg)) {
9417
+ } else if (c101 === "]" && !(i2 === braceStart + 2 && braceNeg)) {
9418
9418
  inBrace = false;
9419
9419
  }
9420
- acc2 += c99;
9420
+ acc2 += c101;
9421
9421
  continue;
9422
- } else if (c99 === "[") {
9422
+ } else if (c101 === "[") {
9423
9423
  inBrace = true;
9424
9424
  braceStart = i2;
9425
9425
  braceNeg = false;
9426
- acc2 += c99;
9426
+ acc2 += c101;
9427
9427
  continue;
9428
9428
  }
9429
- const doRecurse = !opt.noext && isExtglobType(c99) && str.charAt(i2) === "(" && extDepth <= maxDepth;
9429
+ const doRecurse = !opt.noext && isExtglobType(c101) && str.charAt(i2) === "(" && extDepth <= maxDepth;
9430
9430
  if (doRecurse) {
9431
9431
  ast.push(acc2);
9432
9432
  acc2 = "";
9433
- const ext = new _a2(c99, ast);
9433
+ const ext = new _a2(c101, ast);
9434
9434
  i2 = _a2.#parseAST(str, ext, i2, opt, extDepth + 1);
9435
9435
  ast.push(ext);
9436
9436
  continue;
9437
9437
  }
9438
- acc2 += c99;
9438
+ acc2 += c101;
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 c99 = str.charAt(i++);
9449
- if (escaping || c99 === "\\") {
9448
+ const c101 = str.charAt(i++);
9449
+ if (escaping || c101 === "\\") {
9450
9450
  escaping = !escaping;
9451
- acc += c99;
9451
+ acc += c101;
9452
9452
  continue;
9453
9453
  }
9454
9454
  if (inBrace) {
9455
9455
  if (i === braceStart + 1) {
9456
- if (c99 === "^" || c99 === "!") {
9456
+ if (c101 === "^" || c101 === "!") {
9457
9457
  braceNeg = true;
9458
9458
  }
9459
- } else if (c99 === "]" && !(i === braceStart + 2 && braceNeg)) {
9459
+ } else if (c101 === "]" && !(i === braceStart + 2 && braceNeg)) {
9460
9460
  inBrace = false;
9461
9461
  }
9462
- acc += c99;
9462
+ acc += c101;
9463
9463
  continue;
9464
- } else if (c99 === "[") {
9464
+ } else if (c101 === "[") {
9465
9465
  inBrace = true;
9466
9466
  braceStart = i;
9467
9467
  braceNeg = false;
9468
- acc += c99;
9468
+ acc += c101;
9469
9469
  continue;
9470
9470
  }
9471
- const doRecurse = !opt.noext && isExtglobType(c99) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
9472
- (extDepth <= maxDepth || ast && ast.#canAdoptType(c99));
9471
+ const doRecurse = !opt.noext && isExtglobType(c101) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
9472
+ (extDepth <= maxDepth || ast && ast.#canAdoptType(c101));
9473
9473
  if (doRecurse) {
9474
- const depthAdd = ast && ast.#canAdoptType(c99) ? 0 : 1;
9474
+ const depthAdd = ast && ast.#canAdoptType(c101) ? 0 : 1;
9475
9475
  part.push(acc);
9476
9476
  acc = "";
9477
- const ext = new _a2(c99, part);
9477
+ const ext = new _a2(c101, part);
9478
9478
  part.push(ext);
9479
9479
  i = _a2.#parseAST(str, ext, i, opt, extDepth + depthAdd);
9480
9480
  continue;
9481
9481
  }
9482
- if (c99 === "|") {
9482
+ if (c101 === "|") {
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 (c99 === ")") {
9489
+ if (c101 === ")") {
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 += c99;
9498
+ acc += c101;
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(c99, map2 = adoptionAnyMap) {
9519
- return !!map2.get(this.type)?.includes(c99);
9518
+ #canAdoptType(c101, map2 = adoptionAnyMap) {
9519
+ return !!map2.get(this.type)?.includes(c101);
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(c99) {
9537
+ #canUsurpType(c101) {
9538
9538
  const m = usurpMap.get(this.type);
9539
- return !!m?.has(c99);
9539
+ return !!m?.has(c101);
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 c99 = this.#parts[i];
9753
- if (typeof c99 === "object") {
9754
- c99.#flatten();
9755
- if (this.#canAdopt(c99)) {
9752
+ const c101 = this.#parts[i];
9753
+ if (typeof c101 === "object") {
9754
+ c101.#flatten();
9755
+ if (this.#canAdopt(c101)) {
9756
9756
  done = false;
9757
- this.#adopt(c99, i);
9758
- } else if (this.#canAdoptWithSpace(c99)) {
9757
+ this.#adopt(c101, i);
9758
+ } else if (this.#canAdoptWithSpace(c101)) {
9759
9759
  done = false;
9760
- this.#adoptWithSpace(c99, i);
9761
- } else if (this.#canUsurp(c99)) {
9760
+ this.#adoptWithSpace(c101, i);
9761
+ } else if (this.#canUsurp(c101)) {
9762
9762
  done = false;
9763
- this.#usurp(c99);
9763
+ this.#usurp(c101);
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 c99 = glob.charAt(i);
9787
+ const c101 = glob.charAt(i);
9788
9788
  if (escaping) {
9789
9789
  escaping = false;
9790
- re += (reSpecials.has(c99) ? "\\" : "") + c99;
9790
+ re += (reSpecials.has(c101) ? "\\" : "") + c101;
9791
9791
  continue;
9792
9792
  }
9793
- if (c99 === "*") {
9793
+ if (c101 === "*") {
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 (c99 === "\\") {
9803
+ if (c101 === "\\") {
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 (c99 === "[") {
9811
+ if (c101 === "[") {
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 (c99 === "?") {
9821
+ if (c101 === "?") {
9822
9822
  re += qmark;
9823
9823
  hasMagic = true;
9824
9824
  continue;
9825
9825
  }
9826
- re += regExpEscape(c99);
9826
+ re += regExpEscape(c101);
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 c99 = pool.config.connectionConfig;
13750
+ const c101 = pool.config.connectionConfig;
13751
13751
  let poolName = "";
13752
- poolName += c99.host ? `host: '${c99.host}', ` : "";
13753
- poolName += c99.port ? `port: ${c99.port}, ` : "";
13754
- poolName += c99.database ? `database: '${c99.database}', ` : "";
13755
- poolName += c99.user ? `user: '${c99.user}'` : "";
13756
- if (!c99.user) {
13752
+ poolName += c101.host ? `host: '${c101.host}', ` : "";
13753
+ poolName += c101.port ? `port: ${c101.port}, ` : "";
13754
+ poolName += c101.database ? `database: '${c101.database}', ` : "";
13755
+ poolName += c101.user ? `user: '${c101.user}'` : "";
13756
+ if (!c101.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, (c99) => `%${c99.charCodeAt(0).toString(16).toUpperCase()}`);
14108
+ return encodeURIComponent(str).replace(/[!'()*]/g, (c101) => `%${c101.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(c99) {
22669
- switch (c99) {
22668
+ function isTokenCharCode(c101) {
22669
+ switch (c101) {
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 c99 >= 33 && c99 <= 126;
22689
+ return c101 >= 33 && c101 <= 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((c99) => c99 !== 44);
24278
+ exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c101) => c101 !== 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 c99 = statusText.charCodeAt(i);
25425
- if (!(c99 === 9 || // HTAB
25426
- c99 >= 32 && c99 <= 126 || // SP / VCHAR
25427
- c99 >= 128 && c99 <= 255)) {
25424
+ const c101 = statusText.charCodeAt(i);
25425
+ if (!(c101 === 9 || // HTAB
25426
+ c101 >= 32 && c101 <= 126 || // SP / VCHAR
25427
+ c101 >= 128 && c101 <= 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((c99) => c99.close())).then(pool[kClosedResolve]);
29401
+ Promise.all(pool[kClients].map((c101) => c101.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((c99) => c99.close()));
29450
+ await Promise.all(this[kClients].map((c101) => c101.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((c99) => c99.destroy(err)));
29465
+ await Promise.all(this[kClients].map((c101) => c101.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, c99] = ioQueue;
36236
- if (a === 239 && b === 187 && c99 === 191) {
36235
+ const [a, b, c101] = ioQueue;
36236
+ if (a === 239 && b === 187 && c101 === 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 c99 = require_kleur();
40359
+ var c101 = 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: c99.red(figures.cross),
40382
- done: c99.green(figures.tick),
40383
- exited: c99.yellow(figures.cross),
40384
- default: c99.cyan("?")
40381
+ aborted: c101.red(figures.cross),
40382
+ done: c101.green(figures.tick),
40383
+ exited: c101.yellow(figures.cross),
40384
+ default: c101.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) => c99.gray(completing ? figures.ellipsis : figures.pointerSmall);
40388
- var item = (expandable, expanded) => c99.gray(expandable ? expanded ? figures.pointerSmall : "+" : figures.line);
40387
+ var delimiter = (completing) => c101.gray(completing ? figures.ellipsis : figures.pointerSmall);
40388
+ var item = (expandable, expanded) => c101.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
- _(c99, key) {
40670
+ _(c101, key) {
40671
40671
  let s1 = this.value.slice(0, this.cursor);
40672
40672
  let s2 = this.value.slice(this.cursor);
40673
- this.value = `${s1}${c99}${s2}`;
40673
+ this.value = `${s1}${c101}${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
- _(c99, key) {
40849
- if (c99 === " ") return this.submit();
40848
+ _(c101, key) {
40849
+ if (c101 === " ") 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
- _(c99, key) {
40976
- if (c99 === " ") {
40975
+ _(c101, key) {
40976
+ if (c101 === " ") {
40977
40977
  this.value = !this.value;
40978
- } else if (c99 === "1") {
40978
+ } else if (c101 === "1") {
40979
40979
  this.value = true;
40980
- } else if (c99 === "0") {
40980
+ } else if (c101 === "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
- _(c99) {
41489
- if (/\d/.test(c99)) {
41490
- this.typed += c99;
41488
+ _(c101) {
41489
+ if (/\d/.test(c101)) {
41490
+ this.typed += c101;
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(c99) {
41600
- return c99 === `-` || c99 === `.` && this.float || isNumber.test(c99);
41599
+ valid(c101) {
41600
+ return c101 === `-` || c101 === `.` && this.float || isNumber.test(c101);
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
- _(c99, key) {
41694
- if (!this.valid(c99)) return this.bell();
41693
+ _(c101, key) {
41694
+ if (!this.valid(c101)) return this.bell();
41695
41695
  const now = Date.now();
41696
41696
  if (now - this.lastHit > 1e3) this.typed = ``;
41697
- this.typed += c99;
41697
+ this.typed += c101;
41698
41698
  this.lastHit = now;
41699
41699
  this.color = `cyan`;
41700
- if (c99 === `.`) return this.fire();
41700
+ if (c101 === `.`) 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
- _(c99, key) {
41865
- if (c99 === " ") {
41864
+ _(c101, key) {
41865
+ if (c101 === " ") {
41866
41866
  this.handleSpaceToggle();
41867
- } else if (c99 === "a") {
41867
+ } else if (c101 === "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
- _(c99, key) {
42108
+ _(c101, key) {
42109
42109
  let s1 = this.input.slice(0, this.cursor);
42110
42110
  let s2 = this.input.slice(this.cursor);
42111
- this.input = `${s1}${c99}${s2}`;
42111
+ this.input = `${s1}${c101}${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(c99) {
42312
- this.inputValue = this.inputValue + c99;
42311
+ handleInputChange(c101) {
42312
+ this.inputValue = this.inputValue + c101;
42313
42313
  this.updateFilteredOptions();
42314
42314
  }
42315
- _(c99, key) {
42316
- if (c99 === " ") {
42315
+ _(c101, key) {
42316
+ if (c101 === " ") {
42317
42317
  this.handleSpaceToggle();
42318
42318
  } else {
42319
- this.handleInputChange(c99);
42319
+ this.handleInputChange(c101);
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
- _(c99, key) {
42426
- if (c99.toLowerCase() === "y") {
42425
+ _(c101, key) {
42426
+ if (c101.toLowerCase() === "y") {
42427
42427
  this.value = true;
42428
42428
  return this.submit();
42429
42429
  }
42430
- if (c99.toLowerCase() === "n") {
42430
+ if (c101.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 c99 = require_kleur();
42871
+ var c101 = 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: c99.red(figures.cross),
42882
- done: c99.green(figures.tick),
42883
- exited: c99.yellow(figures.cross),
42884
- default: c99.cyan("?")
42881
+ aborted: c101.red(figures.cross),
42882
+ done: c101.green(figures.tick),
42883
+ exited: c101.yellow(figures.cross),
42884
+ default: c101.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) => c99.gray(completing ? figures.ellipsis : figures.pointerSmall);
42888
- var item = (expandable, expanded) => c99.gray(expandable ? expanded ? figures.pointerSmall : "+" : figures.line);
42887
+ var delimiter = (completing) => c101.gray(completing ? figures.ellipsis : figures.pointerSmall);
42888
+ var item = (expandable, expanded) => c101.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
- _(c99, key) {
43121
+ _(c101, key) {
43122
43122
  let s1 = this.value.slice(0, this.cursor);
43123
43123
  let s2 = this.value.slice(this.cursor);
43124
- this.value = `${s1}${c99}${s2}`;
43124
+ this.value = `${s1}${c101}${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
- _(c99, key) {
43299
- if (c99 === " ") return this.submit();
43298
+ _(c101, key) {
43299
+ if (c101 === " ") 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
- _(c99, key) {
43424
- if (c99 === " ") {
43423
+ _(c101, key) {
43424
+ if (c101 === " ") {
43425
43425
  this.value = !this.value;
43426
- } else if (c99 === "1") {
43426
+ } else if (c101 === "1") {
43427
43427
  this.value = true;
43428
- } else if (c99 === "0") {
43428
+ } else if (c101 === "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
- _(c99) {
43885
- if (/\d/.test(c99)) {
43886
- this.typed += c99;
43884
+ _(c101) {
43885
+ if (/\d/.test(c101)) {
43886
+ this.typed += c101;
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(c99) {
43969
- return c99 === `-` || c99 === `.` && this.float || isNumber.test(c99);
43968
+ valid(c101) {
43969
+ return c101 === `-` || c101 === `.` && this.float || isNumber.test(c101);
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
- _(c99, key) {
44057
- if (!this.valid(c99)) return this.bell();
44056
+ _(c101, key) {
44057
+ if (!this.valid(c101)) return this.bell();
44058
44058
  const now = Date.now();
44059
44059
  if (now - this.lastHit > 1e3) this.typed = ``;
44060
- this.typed += c99;
44060
+ this.typed += c101;
44061
44061
  this.lastHit = now;
44062
44062
  this.color = `cyan`;
44063
- if (c99 === `.`) return this.fire();
44063
+ if (c101 === `.`) 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
- _(c99, key) {
44226
- if (c99 === " ") {
44225
+ _(c101, key) {
44226
+ if (c101 === " ") {
44227
44227
  this.handleSpaceToggle();
44228
- } else if (c99 === "a") {
44228
+ } else if (c101 === "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
- _(c99, key) {
44425
+ _(c101, key) {
44426
44426
  let s1 = this.input.slice(0, this.cursor);
44427
44427
  let s2 = this.input.slice(this.cursor);
44428
- this.input = `${s1}${c99}${s2}`;
44428
+ this.input = `${s1}${c101}${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(c99) {
44632
- this.inputValue = this.inputValue + c99;
44631
+ handleInputChange(c101) {
44632
+ this.inputValue = this.inputValue + c101;
44633
44633
  this.updateFilteredOptions();
44634
44634
  }
44635
- _(c99, key) {
44636
- if (c99 === " ") {
44635
+ _(c101, key) {
44636
+ if (c101 === " ") {
44637
44637
  this.handleSpaceToggle();
44638
44638
  } else {
44639
- this.handleInputChange(c99);
44639
+ this.handleInputChange(c101);
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
- _(c99, key) {
44747
- if (c99.toLowerCase() === "y") {
44746
+ _(c101, key) {
44747
+ if (c101.toLowerCase() === "y") {
44748
44748
  this.value = true;
44749
44749
  return this.submit();
44750
44750
  }
44751
- if (c99.toLowerCase() === "n") {
44751
+ if (c101.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 c99 = getAliasCount(doc, item, anchors2);
45638
- if (c99 > count)
45639
- count = c99;
45637
+ const c101 = getAliasCount(doc, item, anchors2);
45638
+ if (c101 > count)
45639
+ count = c101;
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 c99 of classes) {
53180
- out.push(`.${c99}`);
53179
+ for (const c101 of classes) {
53180
+ out.push(`.${c101}`);
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
- (c99) => (
53412
+ (c101) => (
53413
53413
  // eslint-disable-next-line no-bitwise
53414
- (c99 ^ (getRandomByte() & 15) >> c99 / 4).toString(16)
53414
+ (c101 ^ (getRandomByte() & 15) >> c101 / 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(c99, next) {
72471
+ return function(c101, next) {
72472
72472
  if (!instrumentation.isEnabled()) {
72473
- return handler.apply(this, [c99, next]);
72473
+ return handler.apply(this, [c101, next]);
72474
72474
  }
72475
- const path3 = c99.req.path;
72475
+ const path3 = c101.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, [c99, next]);
72480
+ const result = handler.apply(this, [c101, 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.150.5",
74086
+ release: "9.150.7",
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.150.5",
74105
+ version: "9.150.7",
74106
74106
  command: process.argv.slice(2).join(" ")
74107
74107
  });
74108
74108
  setContext("runtime", {
@@ -77348,7 +77348,7 @@ var $ZodBase64 = /* @__PURE__ */ $constructor("$ZodBase64", (inst, def) => {
77348
77348
  function isValidBase64URL(data) {
77349
77349
  if (!base64url.test(data))
77350
77350
  return false;
77351
- const base643 = data.replace(/[-_]/g, (c99) => c99 === "-" ? "+" : "/");
77351
+ const base643 = data.replace(/[-_]/g, (c101) => c101 === "-" ? "+" : "/");
77352
77352
  const padded = base643.padEnd(Math.ceil(base643.length / 4) * 4, "=");
77353
77353
  return isValidBase64(padded);
77354
77354
  }
@@ -87459,9 +87459,9 @@ var ZodDate = /* @__PURE__ */ $constructor("ZodDate", (inst, def) => {
87459
87459
  inst._zod.processJSONSchema = (ctx, json2, params) => dateProcessor(inst, ctx, json2, params);
87460
87460
  inst.min = (value, params) => inst.check(_gte(value, params));
87461
87461
  inst.max = (value, params) => inst.check(_lte(value, params));
87462
- const c99 = inst._zod.bag;
87463
- inst.minDate = c99.minimum ? new Date(c99.minimum) : null;
87464
- inst.maxDate = c99.maximum ? new Date(c99.maximum) : null;
87462
+ const c101 = inst._zod.bag;
87463
+ inst.minDate = c101.minimum ? new Date(c101.minimum) : null;
87464
+ inst.maxDate = c101.maximum ? new Date(c101.maximum) : null;
87465
87465
  });
87466
87466
  function date3(params) {
87467
87467
  return _date(ZodDate, params);
@@ -95787,6 +95787,7 @@ var MODEL_PROVIDER_TYPES = {
95787
95787
  CLAUDE_CODE_SUBAGENT_MODEL: "$model"
95788
95788
  },
95789
95789
  models: [
95790
+ "anthropic/claude-opus-4.7",
95790
95791
  "anthropic/claude-opus-4.6",
95791
95792
  "anthropic/claude-opus-4.5",
95792
95793
  "anthropic/claude-sonnet-4.6",
@@ -95799,6 +95800,53 @@ var MODEL_PROVIDER_TYPES = {
95799
95800
  ],
95800
95801
  defaultModel: "anthropic/claude-sonnet-4.6"
95801
95802
  },
95803
+ // Codex-framework twin of openrouter-api-key. Same upstream gateway (OpenRouter)
95804
+ // and same API key (shared secretName), but routes through OpenRouter's
95805
+ // OpenAI-compatible endpoint surface for GPT models that codex CLI requires.
95806
+ // Pairing rule: the claude-code entry serves Anthropic Messages API
95807
+ // (/v1/messages); this codex entry serves OpenAI Chat Completions / Responses
95808
+ // (/v1/chat/completions, /v1/responses) under the same /api/v1 prefix.
95809
+ "openrouter-codex": {
95810
+ framework: "codex",
95811
+ secretName: "OPENROUTER_API_KEY",
95812
+ label: "OpenRouter (Codex)",
95813
+ secretLabel: "API key",
95814
+ helpText: "Get your API key at: https://openrouter.ai/settings/keys",
95815
+ environmentMapping: {
95816
+ OPENAI_API_KEY: "$secret",
95817
+ OPENAI_BASE_URL: "https://openrouter.ai/api/v1",
95818
+ OPENAI_MODEL: "$model"
95819
+ },
95820
+ models: [
95821
+ "openai/gpt-5.5",
95822
+ "openai/gpt-5.4",
95823
+ "openai/gpt-5.4-mini"
95824
+ ],
95825
+ defaultModel: "openai/gpt-5.5"
95826
+ },
95827
+ // Codex-framework twin of vercel-ai-gateway. Vercel exposes both
95828
+ // Anthropic Messages and OpenAI Chat Completions / Responses on the same
95829
+ // base URL, distinguished by path. The claude-code entry uses /v1/messages;
95830
+ // this codex entry uses /v1/chat/completions or /v1/responses (codex CLI
95831
+ // picks the path it needs).
95832
+ "vercel-ai-gateway-codex": {
95833
+ framework: "codex",
95834
+ secretName: "VERCEL_AI_GATEWAY_API_KEY",
95835
+ label: "Vercel AI Gateway (Codex)",
95836
+ secretLabel: "API key",
95837
+ helpText: "Get your API key from the Vercel AI Gateway dashboard",
95838
+ environmentMapping: {
95839
+ OPENAI_API_KEY: "$secret",
95840
+ OPENAI_BASE_URL: "https://ai-gateway.vercel.sh/v1",
95841
+ OPENAI_MODEL: "$model"
95842
+ },
95843
+ models: [
95844
+ "openai/gpt-5.5",
95845
+ "openai/gpt-5.4",
95846
+ "openai/gpt-5.4-mini"
95847
+ ],
95848
+ defaultModel: "openai/gpt-5.5"
95849
+ },
95802
95850
  "openai-api-key": {
95803
95851
  framework: "codex",
95804
95852
  secretName: "OPENAI_API_KEY",
@@ -96029,6 +96077,10 @@ function getFirewallBaseUrl(type) {
96029
96077
  return "https://chatgpt.com/backend-api/codex";
96030
96078
  }
96031
96079
  if (getFrameworkForType(type) === "codex") {
96080
+ const overrideBase = getEnvironmentMapping(type)?.OPENAI_BASE_URL;
96081
+ if (overrideBase) {
96082
+ return overrideBase.replace(/\/+$/, "");
96083
+ }
96032
96084
  return "https://api.openai.com/v1/responses";
96033
96085
  }
96034
96086
  const base = (getEnvironmentMapping(type)?.ANTHROPIC_BASE_URL ?? ANTHROPIC_API_BASE).replace(/\/+$/, "");
@@ -96114,6 +96166,25 @@ var MODEL_PROVIDER_FIREWALL_CONFIGS = {
96114
96166
  { name: "Authorization", valuePrefix: "Bearer" },
96115
96167
  "sk-CoffeeSafeLocalCoffeeSafeLocalCo"
96116
96168
  ),
96169
+ // Codex-framework twin of openrouter-api-key. Same key shape as the
96170
+ // claude-code entry; the difference is the firewall base URL — codex
96171
+ // SDK hits OpenAI-compatible paths (/chat/completions, /responses)
96172
+ // under https://openrouter.ai/api/v1, derived from the OPENAI_BASE_URL
96173
+ // mapping by getFirewallBaseUrl.
96174
+ "openrouter-codex": mpFirewall(
96175
+ "openrouter-codex",
96176
+ { name: "Authorization", valuePrefix: "Bearer" },
96177
+ "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"
96178
+ ),
96179
+ // Codex-framework twin of vercel-ai-gateway. Same placeholder format
96180
+ // (Vercel gateway proxies upstream); base URL scoped to /v1 prefix by
96181
+ // getFirewallBaseUrl so codex can use either /chat/completions or
96182
+ // /responses paths the gateway exposes.
96183
+ "vercel-ai-gateway-codex": mpFirewall(
96184
+ "vercel-ai-gateway-codex",
96185
+ { name: "Authorization", valuePrefix: "Bearer" },
96186
+ "sk-CoffeeSafeLocalCoffeeSafeLocalCo"
96187
+ ),
96117
96188
  // Placeholder: sk-proj-{156 chars}T3BlbkFJ{156 chars} (typical project key shape)
96118
96189
  // Source: matches turbo/packages/connectors/src/firewalls/openai.generated.ts
96119
96190
  "openai-api-key": mpFirewall(
@@ -96190,6 +96261,8 @@ var modelProviderTypeSchema = external_exports.enum([
96190
96261
  "deepseek-api-key",
96191
96262
  "zai-api-key",
96192
96263
  "vercel-ai-gateway",
96264
+ "openrouter-codex",
96265
+ "vercel-ai-gateway-codex",
96193
96266
  "openai-api-key",
96194
96267
  "codex-oauth-token",
96195
96268
  "azure-foundry",
@@ -98736,6 +98809,28 @@ var reportei = {
98736
98809
  }
98737
98810
  };
98738
98811
 
98812
+ // ../../packages/connectors/src/connectors/local-browser.ts
98813
+ init_esm_shims();
98814
+ var localBrowser = {
98815
+ "local-browser": {
98816
+ label: "Local Browser",
98817
+ category: "data-automation-infrastructure",
98818
+ environmentMapping: {},
98819
+ featureFlag: "localBrowserUse" /* LocalBrowserUse */,
98820
+ strictFeatureFlag: true,
98821
+ helpText: "Connect a local browser extension so Zero can use user-authorized browser context and page controls",
98822
+ authMethods: {
98823
+ api: {
98824
+ label: "Browser Extension",
98825
+ helpText: "1. Install the Zero Local Browser extension\n2. Pair the extension with your Zero account\n3. Keep the extension connected, then return here and click **Connect** once it appears online",
98826
+ secrets: {}
98827
+ }
98828
+ },
98829
+ defaultAuthMethod: "api",
98830
+ tags: ["browser", "chrome", "extension", "local", "web"]
98831
+ }
98832
+ };
98833
+
98739
98834
  // ../../packages/connectors/src/connectors/remote-agent.ts
98740
98835
  init_esm_shims();
98741
98836
  var remoteAgent = {
@@ -103064,6 +103159,79 @@ var square = {
103064
103159
  }
103065
103160
  };
103066
103161
 
103162
+ // ../../packages/connectors/src/connectors/gong.ts
103163
+ init_esm_shims();
103164
+ var gong = {
103165
+ gong: {
103166
+ label: "Gong",
103167
+ category: "sales-crm-business-operations",
103168
+ tags: ["sales", "calls", "transcripts", "revenue-intelligence"],
103169
+ environmentMapping: {
103170
+ GONG_ACCESS_KEY: "$secrets.GONG_ACCESS_KEY",
103171
+ GONG_ACCESS_KEY_SECRET: "$secrets.GONG_ACCESS_KEY_SECRET",
103172
+ GONG_API_BASE: "$vars.GONG_API_BASE"
103173
+ },
103174
+ helpText: "Connect your Gong account to access calls, transcripts, users, and revenue intelligence data",
103175
+ authMethods: {
103176
+ "api-token": {
103177
+ label: "Access Key",
103178
+ helpText: "1. In Gong, go to **Company Settings \u2192 Ecosystem \u2192 API** (requires the Technical Administrator permission profile)\n2. Click **Create** to generate an Access Key and Access Key Secret\n3. Copy both values \u2014 the secret is shown only once\n4. Copy the **API Base URL** shown on the same screen (e.g. `api.gong.io`, or your region-specific host)",
103179
+ secrets: {
103180
+ GONG_ACCESS_KEY: {
103181
+ label: "Access Key",
103182
+ required: true
103183
+ },
103184
+ GONG_ACCESS_KEY_SECRET: {
103185
+ label: "Access Key Secret",
103186
+ required: true
103187
+ },
103188
+ GONG_API_BASE: {
103189
+ label: "API Base URL",
103190
+ required: true,
103191
+ type: "variable",
103192
+ placeholder: "api.gong.io"
103193
+ }
103194
+ }
103195
+ }
103196
+ },
103197
+ defaultAuthMethod: "api-token"
103198
+ }
103199
+ };
103200
+
103201
+ // ../../packages/connectors/src/connectors/ironclad.ts
103202
+ init_esm_shims();
103203
+ var ironclad = {
103204
+ ironclad: {
103205
+ label: "Ironclad",
103206
+ category: "sales-crm-business-operations",
103207
+ tags: ["contracts", "clm", "workflows", "legal"],
103208
+ environmentMapping: {
103209
+ IRONCLAD_API_KEY: "$secrets.IRONCLAD_API_KEY",
103210
+ IRONCLAD_HOST: "$vars.IRONCLAD_HOST"
103211
+ },
103212
+ helpText: "Connect your Ironclad account to manage contract workflows, records, and documents",
103213
+ authMethods: {
103214
+ "api-token": {
103215
+ label: "API Key",
103216
+ helpText: "1. In Ironclad, go to **Company Settings \u2192 API**\n2. Generate an API key and copy it\n3. Set the API host to match your instance's data region: `ironcladapp.com` (North America), `eu1.ironcladapp.com` (Europe), or `demo.ironcladapp.com` (demo)",
103217
+ secrets: {
103218
+ IRONCLAD_API_KEY: {
103219
+ label: "API Key",
103220
+ required: true
103221
+ },
103222
+ IRONCLAD_HOST: {
103223
+ label: "API Host",
103224
+ required: true,
103225
+ type: "variable",
103226
+ placeholder: "ironcladapp.com"
103227
+ }
103228
+ }
103229
+ }
103230
+ },
103231
+ defaultAuthMethod: "api-token"
103232
+ }
103233
+ };
103234
+
103067
103235
  // ../../packages/connectors/src/connectors.ts
103068
103236
  var CONNECTOR_TYPES_DEF = {
103069
103237
  ...axiom,
@@ -103118,6 +103286,7 @@ var CONNECTOR_TYPES_DEF = {
103118
103286
  ...mercury,
103119
103287
  ...minimax,
103120
103288
  ...reportei,
103289
+ ...localBrowser,
103121
103290
  ...remoteAgent,
103122
103291
  ...serpapi,
103123
103292
  ...salesforce,
@@ -103252,7 +103421,9 @@ var CONNECTOR_TYPES_DEF = {
103252
103421
  ...servicenow,
103253
103422
  ...testrail,
103254
103423
  ...twilio,
103255
- ...square
103424
+ ...square,
103425
+ ...gong,
103426
+ ...ironclad
103256
103427
  };
103257
103428
  var CONNECTOR_TYPES = CONNECTOR_TYPES_DEF;
103258
103429
  var connectorTypeSchema = external_exports.enum(
@@ -103386,7 +103557,7 @@ var zeroConnectorAuthorizeContract = c16.router({
103386
103557
  summary: "Start connector OAuth authorization (zero proxy)"
103387
103558
  }
103388
103559
  });
103389
- var connectorSearchAuthMethodSchema = external_exports.enum(["oauth", "api-token"]);
103560
+ var connectorSearchAuthMethodSchema = external_exports.enum(["oauth", "api-token", "api"]);
103390
103561
  var connectorSearchItemSchema = external_exports.object({
103391
103562
  id: external_exports.string(),
103392
103563
  label: external_exports.string(),
@@ -103496,6 +103667,22 @@ var zeroRemoteAgentConnectorContract = c16.router({
103496
103667
  summary: "Connect remote-agent connector"
103497
103668
  }
103498
103669
  });
103670
+ var zeroLocalBrowserConnectorContract = c16.router({
103671
+ create: {
103672
+ method: "POST",
103673
+ path: "/api/zero/connectors/local-browser",
103674
+ headers: authHeadersSchema,
103675
+ body: external_exports.object({}).optional(),
103676
+ responses: {
103677
+ 200: connectorResponseSchema,
103678
+ 400: apiErrorSchema,
103679
+ 401: apiErrorSchema,
103680
+ 403: apiErrorSchema,
103681
+ 409: apiErrorSchema
103682
+ },
103683
+ summary: "Connect local-browser connector"
103684
+ }
103685
+ });
103499
103686
 
103500
103687
  // src/lib/api/domains/zero-connectors.ts
103501
103688
  async function listZeroConnectors() {
@@ -103633,6 +103820,27 @@ var integrationsPhoneMessageContract = c17.router({
103633
103820
  summary: "Send an AgentPhone message"
103634
103821
  }
103635
103822
  });
103823
+ var phoneDownloadFileQuerySchema = external_exports.object({
103824
+ file_id: external_exports.string().min(1, "file_id query parameter is required")
103825
+ });
103826
+ var integrationsPhoneDownloadFileContract = c17.router({
103827
+ download: {
103828
+ method: "GET",
103829
+ path: "/api/zero/integrations/phone/download-file",
103830
+ headers: authHeadersSchema,
103831
+ query: phoneDownloadFileQuerySchema,
103832
+ responses: {
103833
+ 200: c17.type(),
103834
+ 400: apiErrorSchema,
103835
+ 401: apiErrorSchema,
103836
+ 403: apiErrorSchema,
103837
+ 404: apiErrorSchema,
103838
+ 413: apiErrorSchema,
103839
+ 502: apiErrorSchema
103840
+ },
103841
+ summary: "Download an AgentPhone media attachment"
103842
+ }
103843
+ });
103636
103844
  var telegramBotTokenStatusSchema = external_exports.enum(["valid", "invalid", "unknown"]);
103637
103845
  var telegramConnectedUserSchema = external_exports.object({
103638
103846
  telegramUserId: external_exports.string(),
@@ -104403,17 +104611,229 @@ init_esm_shims();
104403
104611
 
104404
104612
  // ../../packages/api-contracts/src/contracts/webhooks.ts
104405
104613
  init_esm_shims();
104614
+
104615
+ // ../../packages/api-contracts/src/contracts/runners.ts
104616
+ init_esm_shims();
104406
104617
  var c19 = initContract();
104618
+ var runnerGroupSchema = external_exports.string().regex(
104619
+ /^[a-z0-9-]+\/[a-z0-9-]+$/,
104620
+ "Runner group must be in vm0/<name> format (e.g., vm0/production)"
104621
+ );
104622
+ var jobSchema = external_exports.object({
104623
+ runId: external_exports.uuid(),
104624
+ prompt: external_exports.string(),
104625
+ appendSystemPrompt: external_exports.string().nullable(),
104626
+ agentComposeVersionId: external_exports.string().nullable(),
104627
+ vars: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
104628
+ checkpointId: external_exports.uuid().nullable(),
104629
+ experimentalProfile: external_exports.string().optional()
104630
+ });
104631
+ var runnersPollContract = c19.router({
104632
+ poll: {
104633
+ method: "POST",
104634
+ path: "/api/runners/poll",
104635
+ headers: authHeadersSchema,
104636
+ body: external_exports.object({
104637
+ group: runnerGroupSchema,
104638
+ profiles: external_exports.array(external_exports.string()).optional(),
104639
+ heldSessions: external_exports.array(external_exports.string()).max(100).optional()
104640
+ }),
104641
+ responses: {
104642
+ 200: external_exports.object({
104643
+ job: jobSchema.nullable()
104644
+ }),
104645
+ 400: apiErrorSchema,
104646
+ 401: apiErrorSchema,
104647
+ 500: apiErrorSchema
104648
+ },
104649
+ summary: "Poll for pending jobs (long-polling with 30s timeout)"
104650
+ }
104651
+ });
104652
+ var storageEntrySchema = external_exports.object({
104653
+ name: external_exports.string(),
104654
+ mountPath: external_exports.string(),
104655
+ vasStorageName: external_exports.string(),
104656
+ vasVersionId: external_exports.string(),
104657
+ instructionsTargetFilename: external_exports.string().optional(),
104658
+ archiveUrl: external_exports.string()
104659
+ });
104660
+ var artifactEntrySchema = external_exports.object({
104661
+ mountPath: external_exports.string(),
104662
+ vasStorageName: external_exports.string(),
104663
+ vasStorageId: external_exports.string(),
104664
+ vasVersionId: external_exports.string(),
104665
+ archiveUrl: external_exports.string(),
104666
+ manifestUrl: external_exports.string().optional()
104667
+ });
104668
+ var storageManifestSchema = external_exports.object({
104669
+ storages: external_exports.array(storageEntrySchema),
104670
+ artifacts: external_exports.array(artifactEntrySchema)
104671
+ });
104672
+ var resumeSessionSchema = external_exports.object({
104673
+ sessionId: external_exports.string(),
104674
+ sessionHistory: external_exports.string()
104675
+ });
104676
+ var secretConnectorMetadataSchema = external_exports.object({
104677
+ sourceType: external_exports.enum(["connector", "model-provider"]),
104678
+ sourceUserId: external_exports.string().optional(),
104679
+ metadataKey: external_exports.string().optional()
104680
+ });
104681
+ var secretConnectorMetadataMapSchema = external_exports.record(
104682
+ external_exports.string(),
104683
+ secretConnectorMetadataSchema
104684
+ );
104685
+ var storedExecutionContextSchema = external_exports.object({
104686
+ workingDir: external_exports.string(),
104687
+ storageManifest: storageManifestSchema.nullable(),
104688
+ environment: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
104689
+ resumeSession: resumeSessionSchema.nullable(),
104690
+ encryptedSecrets: external_exports.string().nullable(),
104691
+ // AES-256-GCM encrypted Record<string, string> (secret name → value)
104692
+ // Maps secret names to OAuth connector types for runtime token refresh (e.g. { "GMAIL_ACCESS_TOKEN": "gmail" })
104693
+ secretConnectorMap: external_exports.record(external_exports.string(), external_exports.string()).nullable().optional(),
104694
+ // Per-secret refresh metadata, used when a handler needs owner-specific storage (e.g. personal model providers)
104695
+ secretConnectorMetadataMap: secretConnectorMetadataMapSchema.nullable().optional(),
104696
+ cliAgentType: external_exports.string(),
104697
+ // Debug flag to force real Claude in mock environments (internal use only)
104698
+ debugNoMockClaude: external_exports.boolean().optional(),
104699
+ // Debug flag to force real Codex in mock environments (internal use only)
104700
+ debugNoMockCodex: external_exports.boolean().optional(),
104701
+ // Capture HTTP request headers, request bodies, and response bodies in network logs
104702
+ captureNetworkBodies: external_exports.boolean().optional(),
104703
+ // Dispatch timestamp for E2E timing metrics
104704
+ apiStartTime: external_exports.number().optional(),
104705
+ // User's timezone preference (IANA format, e.g., "Asia/Shanghai")
104706
+ userTimezone: external_exports.string().optional(),
104707
+ // Firewall for proxy-side token replacement (complete config, all permissions)
104708
+ firewalls: firewallsSchema.optional(),
104709
+ // Per-firewall network policies: which permissions are granted + unknownPolicy
104710
+ networkPolicies: networkPoliciesSchema.optional(),
104711
+ // Tools to disable in Claude CLI (passed as --disallowed-tools)
104712
+ disallowedTools: external_exports.array(external_exports.string()).optional(),
104713
+ // Tools to make available in Claude CLI (passed as --tools)
104714
+ tools: external_exports.array(external_exports.string()).optional(),
104715
+ // Settings JSON to pass to Claude CLI (passed as --settings)
104716
+ settings: external_exports.string().optional(),
104717
+ // VM profile for resource allocation (e.g., "vm0/default")
104718
+ experimentalProfile: external_exports.string().optional(),
104719
+ // Feature flags evaluated at job creation time (all switch states for user/org)
104720
+ featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).optional(),
104721
+ billableFirewalls: external_exports.array(external_exports.string()).optional(),
104722
+ modelUsageProvider: external_exports.string().optional()
104723
+ });
104724
+ var executionContextSchema = external_exports.object({
104725
+ runId: external_exports.uuid(),
104726
+ prompt: external_exports.string(),
104727
+ appendSystemPrompt: external_exports.string().nullable(),
104728
+ agentComposeVersionId: external_exports.string().nullable(),
104729
+ vars: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
104730
+ checkpointId: external_exports.uuid().nullable(),
104731
+ sandboxToken: external_exports.string(),
104732
+ // New fields for E2B parity:
104733
+ workingDir: external_exports.string(),
104734
+ storageManifest: storageManifestSchema.nullable(),
104735
+ environment: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
104736
+ resumeSession: resumeSessionSchema.nullable(),
104737
+ secretValues: external_exports.array(external_exports.string()).nullable(),
104738
+ // AES-256-GCM encrypted Record<string, string> — passed through to mitm-addon for auth resolution
104739
+ encryptedSecrets: external_exports.string().nullable(),
104740
+ // Maps secret names to OAuth connector types for runtime token refresh
104741
+ secretConnectorMap: external_exports.record(external_exports.string(), external_exports.string()).nullable().optional(),
104742
+ // Per-secret refresh metadata, used when a handler needs owner-specific storage (e.g. personal model providers)
104743
+ secretConnectorMetadataMap: secretConnectorMetadataMapSchema.nullable().optional(),
104744
+ cliAgentType: external_exports.string(),
104745
+ // Debug flag to force real Claude in mock environments (internal use only)
104746
+ debugNoMockClaude: external_exports.boolean().optional(),
104747
+ // Debug flag to force real Codex in mock environments (internal use only)
104748
+ debugNoMockCodex: external_exports.boolean().optional(),
104749
+ // Capture HTTP request headers, request bodies, and response bodies in network logs
104750
+ captureNetworkBodies: external_exports.boolean().optional(),
104751
+ // Dispatch timestamp for E2E timing metrics
104752
+ apiStartTime: external_exports.number().optional(),
104753
+ // User's timezone preference (IANA format, e.g., "Asia/Shanghai")
104754
+ userTimezone: external_exports.string().optional(),
104755
+ // Firewall for proxy-side token replacement (complete config, all permissions)
104756
+ firewalls: firewallsSchema.optional(),
104757
+ // Per-firewall network policies: which permissions are granted + unknownPolicy
104758
+ networkPolicies: networkPoliciesSchema.optional(),
104759
+ // Tools to disable in Claude CLI (passed as --disallowed-tools)
104760
+ disallowedTools: external_exports.array(external_exports.string()).optional(),
104761
+ // Tools to make available in Claude CLI (passed as --tools)
104762
+ tools: external_exports.array(external_exports.string()).optional(),
104763
+ // Settings JSON to pass to Claude CLI (passed as --settings)
104764
+ settings: external_exports.string().optional(),
104765
+ // VM profile for resource allocation (e.g., "vm0/default")
104766
+ experimentalProfile: external_exports.string().optional(),
104767
+ // Feature flags evaluated at job creation time (all switch states for user/org)
104768
+ featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).optional(),
104769
+ billableFirewalls: external_exports.array(external_exports.string()).optional(),
104770
+ modelUsageProvider: external_exports.string().optional()
104771
+ });
104772
+ var runnersJobClaimContract = c19.router({
104773
+ claim: {
104774
+ method: "POST",
104775
+ path: "/api/runners/jobs/:id/claim",
104776
+ headers: authHeadersSchema,
104777
+ pathParams: external_exports.object({
104778
+ id: external_exports.uuid()
104779
+ }),
104780
+ body: external_exports.object({}),
104781
+ responses: {
104782
+ 200: executionContextSchema,
104783
+ 400: apiErrorSchema,
104784
+ 401: apiErrorSchema,
104785
+ 403: apiErrorSchema,
104786
+ // Job does not belong to user
104787
+ 404: apiErrorSchema,
104788
+ 409: apiErrorSchema,
104789
+ // Already claimed
104790
+ 500: apiErrorSchema
104791
+ },
104792
+ summary: "Claim a pending job for execution"
104793
+ }
104794
+ });
104795
+ var heartbeatBodySchema = external_exports.object({
104796
+ runnerId: external_exports.uuid(),
104797
+ runnerName: external_exports.string(),
104798
+ group: runnerGroupSchema,
104799
+ profiles: external_exports.array(external_exports.string()),
104800
+ totalVcpu: external_exports.number().int().nonnegative(),
104801
+ totalMemoryMb: external_exports.number().int().nonnegative(),
104802
+ maxConcurrent: external_exports.number().int().nonnegative(),
104803
+ allocatedVcpu: external_exports.number().int().nonnegative(),
104804
+ allocatedMemoryMb: external_exports.number().int().nonnegative(),
104805
+ runningCount: external_exports.number().int().nonnegative(),
104806
+ heldSessions: external_exports.array(external_exports.string()),
104807
+ mode: external_exports.enum(["running", "draining", "stopping"])
104808
+ });
104809
+ var runnersHeartbeatContract = c19.router({
104810
+ heartbeat: {
104811
+ method: "POST",
104812
+ path: "/api/runners/heartbeat",
104813
+ headers: authHeadersSchema,
104814
+ body: heartbeatBodySchema,
104815
+ responses: {
104816
+ 200: external_exports.object({ ok: external_exports.literal(true) }),
104817
+ 400: apiErrorSchema,
104818
+ 401: apiErrorSchema,
104819
+ 500: apiErrorSchema
104820
+ },
104821
+ summary: "Report runner heartbeat with capacity and state"
104822
+ }
104823
+ });
104824
+
104825
+ // ../../packages/api-contracts/src/contracts/webhooks.ts
104826
+ var c20 = initContract();
104407
104827
  var thirdPartyWebhookErrorSchema = external_exports.object({ error: external_exports.string() });
104408
104828
  var thirdPartyWebhookOkSchema = external_exports.union([
104409
104829
  external_exports.string(),
104410
104830
  external_exports.object({ message: external_exports.literal("pong") })
104411
104831
  ]);
104412
- var webhookClerkContract = c19.router({
104832
+ var webhookClerkContract = c20.router({
104413
104833
  post: {
104414
104834
  method: "POST",
104415
104835
  path: "/api/webhooks/clerk",
104416
- body: c19.type(),
104836
+ body: c20.type(),
104417
104837
  responses: {
104418
104838
  200: thirdPartyWebhookOkSchema,
104419
104839
  401: thirdPartyWebhookErrorSchema
@@ -104421,11 +104841,11 @@ var webhookClerkContract = c19.router({
104421
104841
  summary: "Handle Clerk organization and user webhooks"
104422
104842
  }
104423
104843
  });
104424
- var webhookGithubContract = c19.router({
104844
+ var webhookGithubContract = c20.router({
104425
104845
  post: {
104426
104846
  method: "POST",
104427
104847
  path: "/api/webhooks/github",
104428
- body: c19.type(),
104848
+ body: c20.type(),
104429
104849
  responses: {
104430
104850
  200: thirdPartyWebhookOkSchema,
104431
104851
  400: thirdPartyWebhookErrorSchema,
@@ -104435,11 +104855,11 @@ var webhookGithubContract = c19.router({
104435
104855
  summary: "Handle GitHub App webhooks"
104436
104856
  }
104437
104857
  });
104438
- var webhookStripeContract = c19.router({
104858
+ var webhookStripeContract = c20.router({
104439
104859
  post: {
104440
104860
  method: "POST",
104441
104861
  path: "/api/webhooks/stripe",
104442
- body: c19.type(),
104862
+ body: c20.type(),
104443
104863
  responses: {
104444
104864
  200: thirdPartyWebhookOkSchema,
104445
104865
  401: thirdPartyWebhookErrorSchema,
@@ -104470,7 +104890,54 @@ var artifactSnapshotsSchema2 = external_exports.array(
104470
104890
  var volumeVersionsSnapshotSchema2 = external_exports.object({
104471
104891
  versions: external_exports.record(external_exports.string(), external_exports.string())
104472
104892
  });
104473
- var webhookEventsContract = c19.router({
104893
+ var firewallAuthErrorSchema = external_exports.object({
104894
+ error: external_exports.object({
104895
+ message: external_exports.string(),
104896
+ code: external_exports.string(),
104897
+ connectors: external_exports.array(external_exports.string()).optional()
104898
+ })
104899
+ });
104900
+ var firewallAuthResponseSchema = external_exports.object({
104901
+ headers: external_exports.record(external_exports.string(), external_exports.string()),
104902
+ base: external_exports.string().optional(),
104903
+ query: external_exports.record(external_exports.string(), external_exports.string()).optional(),
104904
+ expiresAt: external_exports.number().nullable(),
104905
+ resolvedSecrets: external_exports.array(external_exports.string()),
104906
+ refreshedConnectors: external_exports.array(external_exports.string()),
104907
+ refreshedSecrets: external_exports.array(external_exports.string())
104908
+ });
104909
+ var webhookFirewallAuthContract = c20.router({
104910
+ /**
104911
+ * POST /api/webhooks/agent/firewall/auth
104912
+ * Resolve firewall auth templates and refresh OAuth tokens on demand.
104913
+ */
104914
+ resolve: {
104915
+ method: "POST",
104916
+ path: "/api/webhooks/agent/firewall/auth",
104917
+ headers: authHeadersSchema,
104918
+ body: external_exports.object({
104919
+ encryptedSecrets: external_exports.string().min(1),
104920
+ authHeaders: external_exports.record(external_exports.string(), external_exports.string()),
104921
+ authBase: external_exports.string().optional(),
104922
+ authQuery: external_exports.record(external_exports.string(), external_exports.string()).optional(),
104923
+ secretConnectorMap: external_exports.record(external_exports.string(), external_exports.string()).optional(),
104924
+ secretConnectorMetadataMap: secretConnectorMetadataMapSchema.optional(),
104925
+ vars: external_exports.record(external_exports.string(), external_exports.string()).optional(),
104926
+ forceRefresh: external_exports.boolean().optional()
104927
+ }),
104928
+ responses: {
104929
+ 200: firewallAuthResponseSchema,
104930
+ 400: apiErrorSchema,
104931
+ 401: apiErrorSchema,
104932
+ 403: apiErrorSchema,
104933
+ 424: firewallAuthErrorSchema,
104934
+ 502: firewallAuthErrorSchema,
104935
+ 500: apiErrorSchema
104936
+ },
104937
+ summary: "Resolve firewall auth templates"
104938
+ }
104939
+ });
104940
+ var webhookEventsContract = c20.router({
104474
104941
  /**
104475
104942
  * POST /api/webhooks/agent/events
104476
104943
  * Receive agent events from sandbox
@@ -104497,7 +104964,7 @@ var webhookEventsContract = c19.router({
104497
104964
  summary: "Receive agent events from sandbox"
104498
104965
  }
104499
104966
  });
104500
- var webhookCompleteContract = c19.router({
104967
+ var webhookCompleteContract = c20.router({
104501
104968
  /**
104502
104969
  * POST /api/webhooks/agent/complete
104503
104970
  * Handle agent run completion (success or failure)
@@ -104534,7 +105001,7 @@ var webhookCompleteContract = c19.router({
104534
105001
  summary: "Handle agent run completion"
104535
105002
  }
104536
105003
  });
104537
- var webhookCheckpointsContract = c19.router({
105004
+ var webhookCheckpointsContract = c20.router({
104538
105005
  /**
104539
105006
  * POST /api/webhooks/agent/checkpoints
104540
105007
  * Create a recoverable checkpoint for an agent run.
@@ -104573,7 +105040,7 @@ var webhookCheckpointsContract = c19.router({
104573
105040
  summary: "Create checkpoint for agent run"
104574
105041
  }
104575
105042
  });
104576
- var webhookCheckpointsPrepareHistoryContract = c19.router({
105043
+ var webhookCheckpointsPrepareHistoryContract = c20.router({
104577
105044
  prepare: {
104578
105045
  method: "POST",
104579
105046
  path: "/api/webhooks/agent/checkpoints/prepare-history",
@@ -104596,7 +105063,7 @@ var webhookCheckpointsPrepareHistoryContract = c19.router({
104596
105063
  summary: "Get presigned URL for uploading session history to S3"
104597
105064
  }
104598
105065
  });
104599
- var webhookHeartbeatContract = c19.router({
105066
+ var webhookHeartbeatContract = c20.router({
104600
105067
  /**
104601
105068
  * POST /api/webhooks/agent/heartbeat
104602
105069
  * Receive heartbeat signals from sandbox
@@ -104620,7 +105087,7 @@ var webhookHeartbeatContract = c19.router({
104620
105087
  summary: "Receive heartbeat from sandbox"
104621
105088
  }
104622
105089
  });
104623
- var webhookStoragesContract = c19.router({
105090
+ var webhookStoragesContract = c20.router({
104624
105091
  /**
104625
105092
  * POST /api/webhooks/agent/storages
104626
105093
  * Create a new version of a storage from sandbox
@@ -104636,7 +105103,7 @@ var webhookStoragesContract = c19.router({
104636
105103
  path: "/api/webhooks/agent/storages",
104637
105104
  headers: authHeadersSchema,
104638
105105
  contentType: "multipart/form-data",
104639
- body: c19.type(),
105106
+ body: c20.type(),
104640
105107
  responses: {
104641
105108
  200: external_exports.object({
104642
105109
  versionId: external_exports.string(),
@@ -104652,7 +105119,7 @@ var webhookStoragesContract = c19.router({
104652
105119
  summary: "Upload storage version from sandbox"
104653
105120
  }
104654
105121
  });
104655
- var webhookStoragesIncrementalContract = c19.router({
105122
+ var webhookStoragesIncrementalContract = c20.router({
104656
105123
  /**
104657
105124
  * POST /api/webhooks/agent/storages/incremental
104658
105125
  * Create a new version using incremental upload
@@ -104670,7 +105137,7 @@ var webhookStoragesIncrementalContract = c19.router({
104670
105137
  path: "/api/webhooks/agent/storages/incremental",
104671
105138
  headers: authHeadersSchema,
104672
105139
  contentType: "multipart/form-data",
104673
- body: c19.type(),
105140
+ body: c20.type(),
104674
105141
  responses: {
104675
105142
  200: external_exports.object({
104676
105143
  versionId: external_exports.string(),
@@ -104708,7 +105175,7 @@ var sandboxOperationSchema = external_exports.object({
104708
105175
  success: external_exports.boolean(),
104709
105176
  error: external_exports.string().optional()
104710
105177
  });
104711
- var webhookTelemetryContract = c19.router({
105178
+ var webhookTelemetryContract = c20.router({
104712
105179
  /**
104713
105180
  * POST /api/webhooks/agent/telemetry
104714
105181
  * Receive telemetry data (system log, metrics, network logs, and sandbox operations) from sandbox
@@ -104737,7 +105204,7 @@ var webhookTelemetryContract = c19.router({
104737
105204
  summary: "Receive telemetry data from sandbox"
104738
105205
  }
104739
105206
  });
104740
- var webhookStoragesPrepareContract = c19.router({
105207
+ var webhookStoragesPrepareContract = c20.router({
104741
105208
  prepare: {
104742
105209
  method: "POST",
104743
105210
  path: "/api/webhooks/agent/storages/prepare",
@@ -104771,7 +105238,7 @@ var webhookStoragesPrepareContract = c19.router({
104771
105238
  summary: "Prepare for direct S3 upload from sandbox"
104772
105239
  }
104773
105240
  });
104774
- var webhookStoragesCommitContract = c19.router({
105241
+ var webhookStoragesCommitContract = c20.router({
104775
105242
  commit: {
104776
105243
  method: "POST",
104777
105244
  path: "/api/webhooks/agent/storages/commit",
@@ -104813,7 +105280,7 @@ var webhookUsageEventItemSchema = external_exports.object({
104813
105280
  category: external_exports.string().min(1).max(100),
104814
105281
  quantity: external_exports.number().int().min(0)
104815
105282
  }).strict();
104816
- var webhookUsageEventContract = c19.router({
105283
+ var webhookUsageEventContract = c20.router({
104817
105284
  send: {
104818
105285
  method: "POST",
104819
105286
  path: "/api/webhooks/agent/usage-event",
@@ -104849,8 +105316,8 @@ var zeroRunRequestSchema = unifiedRunRequestSchema.omit({
104849
105316
  agentId: external_exports.string().optional(),
104850
105317
  modelProvider: external_exports.string().optional()
104851
105318
  });
104852
- var c20 = initContract();
104853
- var zeroRunsMainContract = c20.router({
105319
+ var c21 = initContract();
105320
+ var zeroRunsMainContract = c21.router({
104854
105321
  create: {
104855
105322
  method: "POST",
104856
105323
  path: "/api/zero/runs",
@@ -104869,7 +105336,7 @@ var zeroRunsMainContract = c20.router({
104869
105336
  summary: "Create and execute agent run (zero proxy)"
104870
105337
  }
104871
105338
  });
104872
- var zeroRunsByIdContract = c20.router({
105339
+ var zeroRunsByIdContract = c21.router({
104873
105340
  getById: {
104874
105341
  method: "GET",
104875
105342
  path: "/api/zero/runs/:id",
@@ -104887,7 +105354,7 @@ var zeroRunsByIdContract = c20.router({
104887
105354
  summary: "Get agent run by ID (zero proxy)"
104888
105355
  }
104889
105356
  });
104890
- var zeroRunsCancelContract = c20.router({
105357
+ var zeroRunsCancelContract = c21.router({
104891
105358
  cancel: {
104892
105359
  method: "POST",
104893
105360
  path: "/api/zero/runs/:id/cancel",
@@ -104906,7 +105373,7 @@ var zeroRunsCancelContract = c20.router({
104906
105373
  summary: "Cancel a pending or running run (zero proxy)"
104907
105374
  }
104908
105375
  });
104909
- var zeroRunsQueueContract = c20.router({
105376
+ var zeroRunsQueueContract = c21.router({
104910
105377
  getQueue: {
104911
105378
  method: "GET",
104912
105379
  path: "/api/zero/runs/queue",
@@ -104919,7 +105386,7 @@ var zeroRunsQueueContract = c20.router({
104919
105386
  summary: "Get org run queue status (zero proxy)"
104920
105387
  }
104921
105388
  });
104922
- var zeroRunAgentEventsContract = c20.router({
105389
+ var zeroRunAgentEventsContract = c21.router({
104923
105390
  getAgentEvents: {
104924
105391
  method: "GET",
104925
105392
  path: "/api/zero/runs/:id/telemetry/agent",
@@ -104981,7 +105448,7 @@ var runContextResponseSchema = external_exports.object({
104981
105448
  artifact: runContextArtifactSchema.nullable(),
104982
105449
  featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).nullable()
104983
105450
  });
104984
- var zeroRunContextContract = c20.router({
105451
+ var zeroRunContextContract = c21.router({
104985
105452
  getContext: {
104986
105453
  method: "GET",
104987
105454
  path: "/api/zero/runs/:id/context",
@@ -104999,7 +105466,7 @@ var zeroRunContextContract = c20.router({
104999
105466
  summary: "Get run execution context snapshot for debugging"
105000
105467
  }
105001
105468
  });
105002
- var zeroRunNetworkLogsContract = c20.router({
105469
+ var zeroRunNetworkLogsContract = c21.router({
105003
105470
  getNetworkLogs: {
105004
105471
  method: "GET",
105005
105472
  path: "/api/zero/runs/:id/network",
@@ -105025,7 +105492,7 @@ var zeroRunNetworkLogsContract = c20.router({
105025
105492
  var runRunnerResponseSchema = external_exports.object({
105026
105493
  sandboxReuseResult: sandboxReuseResultSchema.nullable()
105027
105494
  });
105028
- var zeroRunRunnerContract = c20.router({
105495
+ var zeroRunRunnerContract = c21.router({
105029
105496
  getRunner: {
105030
105497
  method: "GET",
105031
105498
  path: "/api/zero/runs/:id/runner",
@@ -105043,7 +105510,7 @@ var zeroRunRunnerContract = c20.router({
105043
105510
  summary: "Get runner-level metadata for a run"
105044
105511
  }
105045
105512
  });
105046
- var zeroLogsSearchContract = c20.router({
105513
+ var zeroLogsSearchContract = c21.router({
105047
105514
  searchLogs: {
105048
105515
  method: "GET",
105049
105516
  path: "/api/zero/logs/search",
@@ -105143,7 +105610,7 @@ init_esm_shims();
105143
105610
 
105144
105611
  // ../../packages/api-contracts/src/contracts/chat-threads.ts
105145
105612
  init_esm_shims();
105146
- var c21 = initContract();
105613
+ var c22 = initContract();
105147
105614
  var attachFileSchema = external_exports.object({
105148
105615
  id: external_exports.string(),
105149
105616
  filename: external_exports.string(),
@@ -105328,7 +105795,7 @@ var modelSelectionRequestSchema = external_exports.object({
105328
105795
  modelProviderId: external_exports.string().uuid(),
105329
105796
  selectedModel: external_exports.string().min(1)
105330
105797
  });
105331
- var chatThreadsContract = c21.router({
105798
+ var chatThreadsContract = c22.router({
105332
105799
  create: {
105333
105800
  method: "POST",
105334
105801
  path: "/api/zero/chat-threads",
@@ -105364,7 +105831,7 @@ var chatThreadsContract = c21.router({
105364
105831
  summary: "List chat threads. When agentId is omitted, returns every thread the caller owns scoped by orgId."
105365
105832
  }
105366
105833
  });
105367
- var chatThreadByIdContract = c21.router({
105834
+ var chatThreadByIdContract = c22.router({
105368
105835
  get: {
105369
105836
  method: "GET",
105370
105837
  path: "/api/zero/chat-threads/:id",
@@ -105387,7 +105854,7 @@ var chatThreadByIdContract = c21.router({
105387
105854
  draftAttachments: external_exports.array(persistedAttachmentSchema).nullable().optional()
105388
105855
  }),
105389
105856
  responses: {
105390
- 204: c21.noBody(),
105857
+ 204: c22.noBody(),
105391
105858
  401: apiErrorSchema,
105392
105859
  404: apiErrorSchema
105393
105860
  },
@@ -105399,21 +105866,21 @@ var chatThreadByIdContract = c21.router({
105399
105866
  headers: authHeadersSchema,
105400
105867
  pathParams: external_exports.object({ id: external_exports.string() }),
105401
105868
  responses: {
105402
- 204: c21.noBody(),
105869
+ 204: c22.noBody(),
105403
105870
  401: apiErrorSchema,
105404
105871
  404: apiErrorSchema
105405
105872
  },
105406
105873
  summary: "Delete a chat thread",
105407
- body: c21.noBody()
105874
+ body: c22.noBody()
105408
105875
  }
105409
105876
  });
105410
- var chatThreadMarkReadContract = c21.router({
105877
+ var chatThreadMarkReadContract = c22.router({
105411
105878
  markRead: {
105412
105879
  method: "POST",
105413
105880
  path: "/api/zero/chat-threads/:id/mark-read",
105414
105881
  headers: authHeadersSchema,
105415
105882
  pathParams: external_exports.object({ id: external_exports.string() }),
105416
- body: c21.noBody(),
105883
+ body: c22.noBody(),
105417
105884
  responses: {
105418
105885
  200: external_exports.object({
105419
105886
  lastReadMessageId: external_exports.string().nullable(),
@@ -105425,37 +105892,37 @@ var chatThreadMarkReadContract = c21.router({
105425
105892
  summary: "Mark a chat thread as read up to the latest message"
105426
105893
  }
105427
105894
  });
105428
- var chatThreadPinContract = c21.router({
105895
+ var chatThreadPinContract = c22.router({
105429
105896
  pin: {
105430
105897
  method: "POST",
105431
105898
  path: "/api/zero/chat-threads/:id/pin",
105432
105899
  headers: authHeadersSchema,
105433
105900
  pathParams: external_exports.object({ id: external_exports.string() }),
105434
- body: c21.noBody(),
105901
+ body: c22.noBody(),
105435
105902
  responses: {
105436
- 204: c21.noBody(),
105903
+ 204: c22.noBody(),
105437
105904
  401: apiErrorSchema,
105438
105905
  404: apiErrorSchema
105439
105906
  },
105440
105907
  summary: "Pin a chat thread to the top of the sidebar"
105441
105908
  }
105442
105909
  });
105443
- var chatThreadUnpinContract = c21.router({
105910
+ var chatThreadUnpinContract = c22.router({
105444
105911
  unpin: {
105445
105912
  method: "POST",
105446
105913
  path: "/api/zero/chat-threads/:id/unpin",
105447
105914
  headers: authHeadersSchema,
105448
105915
  pathParams: external_exports.object({ id: external_exports.string() }),
105449
- body: c21.noBody(),
105916
+ body: c22.noBody(),
105450
105917
  responses: {
105451
- 204: c21.noBody(),
105918
+ 204: c22.noBody(),
105452
105919
  401: apiErrorSchema,
105453
105920
  404: apiErrorSchema
105454
105921
  },
105455
105922
  summary: "Remove the pin from a chat thread"
105456
105923
  }
105457
105924
  });
105458
- var chatThreadRenameContract = c21.router({
105925
+ var chatThreadRenameContract = c22.router({
105459
105926
  rename: {
105460
105927
  method: "POST",
105461
105928
  path: "/api/zero/chat-threads/:id/rename",
@@ -105463,14 +105930,14 @@ var chatThreadRenameContract = c21.router({
105463
105930
  pathParams: external_exports.object({ id: external_exports.string() }),
105464
105931
  body: external_exports.object({ title: external_exports.string().min(1) }),
105465
105932
  responses: {
105466
- 204: c21.noBody(),
105933
+ 204: c22.noBody(),
105467
105934
  401: apiErrorSchema,
105468
105935
  404: apiErrorSchema
105469
105936
  },
105470
105937
  summary: "Rename a chat thread (suppresses automated title generation)"
105471
105938
  }
105472
105939
  });
105473
- var chatMessagesContract = c21.router({
105940
+ var chatMessagesContract = c22.router({
105474
105941
  send: {
105475
105942
  method: "POST",
105476
105943
  path: "/api/zero/chat/messages",
@@ -105599,7 +106066,7 @@ var chatSearchResponseSchema = external_exports.object({
105599
106066
  results: external_exports.array(chatSearchResultSchema),
105600
106067
  hasMore: external_exports.boolean()
105601
106068
  });
105602
- var chatSearchContract = c21.router({
106069
+ var chatSearchContract = c22.router({
105603
106070
  search: {
105604
106071
  method: "GET",
105605
106072
  path: "/api/zero/chat/search",
@@ -105621,7 +106088,7 @@ var chatSearchContract = c21.router({
105621
106088
  summary: "Search chat messages within caller's org (zero proxy)"
105622
106089
  }
105623
106090
  });
105624
- var chatThreadMessagesContract = c21.router({
106091
+ var chatThreadMessagesContract = c22.router({
105625
106092
  list: {
105626
106093
  method: "GET",
105627
106094
  path: "/api/zero/chat-threads/:threadId/messages",
@@ -105643,7 +106110,7 @@ var chatThreadMessagesContract = c21.router({
105643
106110
  summary: "Get paginated chat messages for a thread"
105644
106111
  }
105645
106112
  });
105646
- var chatThreadArtifactsContract = c21.router({
106113
+ var chatThreadArtifactsContract = c22.router({
105647
106114
  list: {
105648
106115
  method: "GET",
105649
106116
  path: "/api/zero/chat-threads/:threadId/artifacts",
@@ -105793,7 +106260,7 @@ init_esm_shims();
105793
106260
 
105794
106261
  // ../../packages/api-contracts/src/contracts/zero-developer-support.ts
105795
106262
  init_esm_shims();
105796
- var c22 = initContract();
106263
+ var c23 = initContract();
105797
106264
  var developerSupportBodySchema = external_exports.object({
105798
106265
  title: external_exports.string().min(1, "Title is required"),
105799
106266
  description: external_exports.string().min(1, "Description is required"),
@@ -105805,7 +106272,7 @@ var consentCodeResponseSchema = external_exports.object({
105805
106272
  var submitResponseSchema = external_exports.object({
105806
106273
  reference: external_exports.string()
105807
106274
  });
105808
- var zeroDeveloperSupportContract = c22.router({
106275
+ var zeroDeveloperSupportContract = c23.router({
105809
106276
  submit: {
105810
106277
  method: "POST",
105811
106278
  path: "/api/zero/developer-support",
@@ -105842,7 +106309,7 @@ init_esm_shims();
105842
106309
 
105843
106310
  // ../../packages/api-contracts/src/contracts/zero-computer-use.ts
105844
106311
  init_esm_shims();
105845
- var c23 = initContract();
106312
+ var c24 = initContract();
105846
106313
  var registerResponseSchema = external_exports.object({
105847
106314
  id: external_exports.string(),
105848
106315
  domain: external_exports.string(),
@@ -105854,12 +106321,12 @@ var hostResponseSchema = external_exports.object({
105854
106321
  domain: external_exports.string(),
105855
106322
  token: external_exports.string()
105856
106323
  });
105857
- var zeroComputerUseRegisterContract = c23.router({
106324
+ var zeroComputerUseRegisterContract = c24.router({
105858
106325
  register: {
105859
106326
  method: "POST",
105860
106327
  path: "/api/zero/computer-use/register",
105861
106328
  headers: authHeadersSchema,
105862
- body: c23.noBody(),
106329
+ body: c24.noBody(),
105863
106330
  responses: {
105864
106331
  200: registerResponseSchema,
105865
106332
  401: apiErrorSchema,
@@ -105869,14 +106336,14 @@ var zeroComputerUseRegisterContract = c23.router({
105869
106336
  summary: "Register a computer-use host"
105870
106337
  }
105871
106338
  });
105872
- var zeroComputerUseUnregisterContract = c23.router({
106339
+ var zeroComputerUseUnregisterContract = c24.router({
105873
106340
  unregister: {
105874
106341
  method: "DELETE",
105875
106342
  path: "/api/zero/computer-use/unregister",
105876
106343
  headers: authHeadersSchema,
105877
- body: c23.noBody(),
106344
+ body: c24.noBody(),
105878
106345
  responses: {
105879
- 204: c23.noBody(),
106346
+ 204: c24.noBody(),
105880
106347
  401: apiErrorSchema,
105881
106348
  403: apiErrorSchema,
105882
106349
  404: apiErrorSchema
@@ -105884,7 +106351,7 @@ var zeroComputerUseUnregisterContract = c23.router({
105884
106351
  summary: "Unregister a computer-use host"
105885
106352
  }
105886
106353
  });
105887
- var zeroComputerUseHostContract = c23.router({
106354
+ var zeroComputerUseHostContract = c24.router({
105888
106355
  getHost: {
105889
106356
  method: "GET",
105890
106357
  path: "/api/zero/computer-use/host",
@@ -105939,218 +106406,6 @@ init_esm_shims();
105939
106406
 
105940
106407
  // ../../packages/api-contracts/src/contracts/realtime.ts
105941
106408
  init_esm_shims();
105942
-
105943
- // ../../packages/api-contracts/src/contracts/runners.ts
105944
- init_esm_shims();
105945
- var c24 = initContract();
105946
- var runnerGroupSchema = external_exports.string().regex(
105947
- /^[a-z0-9-]+\/[a-z0-9-]+$/,
105948
- "Runner group must be in vm0/<name> format (e.g., vm0/production)"
105949
- );
105950
- var jobSchema = external_exports.object({
105951
- runId: external_exports.uuid(),
105952
- prompt: external_exports.string(),
105953
- appendSystemPrompt: external_exports.string().nullable(),
105954
- agentComposeVersionId: external_exports.string().nullable(),
105955
- vars: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
105956
- checkpointId: external_exports.uuid().nullable(),
105957
- experimentalProfile: external_exports.string().optional()
105958
- });
105959
- var runnersPollContract = c24.router({
105960
- poll: {
105961
- method: "POST",
105962
- path: "/api/runners/poll",
105963
- headers: authHeadersSchema,
105964
- body: external_exports.object({
105965
- group: runnerGroupSchema,
105966
- profiles: external_exports.array(external_exports.string()).optional(),
105967
- heldSessions: external_exports.array(external_exports.string()).max(100).optional()
105968
- }),
105969
- responses: {
105970
- 200: external_exports.object({
105971
- job: jobSchema.nullable()
105972
- }),
105973
- 400: apiErrorSchema,
105974
- 401: apiErrorSchema,
105975
- 500: apiErrorSchema
105976
- },
105977
- summary: "Poll for pending jobs (long-polling with 30s timeout)"
105978
- }
105979
- });
105980
- var storageEntrySchema = external_exports.object({
105981
- name: external_exports.string(),
105982
- mountPath: external_exports.string(),
105983
- vasStorageName: external_exports.string(),
105984
- vasVersionId: external_exports.string(),
105985
- instructionsTargetFilename: external_exports.string().optional(),
105986
- archiveUrl: external_exports.string()
105987
- });
105988
- var artifactEntrySchema = external_exports.object({
105989
- mountPath: external_exports.string(),
105990
- vasStorageName: external_exports.string(),
105991
- vasStorageId: external_exports.string(),
105992
- vasVersionId: external_exports.string(),
105993
- archiveUrl: external_exports.string(),
105994
- manifestUrl: external_exports.string().optional()
105995
- });
105996
- var storageManifestSchema = external_exports.object({
105997
- storages: external_exports.array(storageEntrySchema),
105998
- artifacts: external_exports.array(artifactEntrySchema)
105999
- });
106000
- var resumeSessionSchema = external_exports.object({
106001
- sessionId: external_exports.string(),
106002
- sessionHistory: external_exports.string()
106003
- });
106004
- var secretConnectorMetadataSchema = external_exports.object({
106005
- sourceType: external_exports.enum(["connector", "model-provider"]),
106006
- sourceUserId: external_exports.string().optional(),
106007
- metadataKey: external_exports.string().optional()
106008
- });
106009
- var secretConnectorMetadataMapSchema = external_exports.record(
106010
- external_exports.string(),
106011
- secretConnectorMetadataSchema
106012
- );
106013
- var storedExecutionContextSchema = external_exports.object({
106014
- workingDir: external_exports.string(),
106015
- storageManifest: storageManifestSchema.nullable(),
106016
- environment: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
106017
- resumeSession: resumeSessionSchema.nullable(),
106018
- encryptedSecrets: external_exports.string().nullable(),
106019
- // AES-256-GCM encrypted Record<string, string> (secret name → value)
106020
- // Maps secret names to OAuth connector types for runtime token refresh (e.g. { "GMAIL_ACCESS_TOKEN": "gmail" })
106021
- secretConnectorMap: external_exports.record(external_exports.string(), external_exports.string()).nullable().optional(),
106022
- // Per-secret refresh metadata, used when a handler needs owner-specific storage (e.g. personal model providers)
106023
- secretConnectorMetadataMap: secretConnectorMetadataMapSchema.nullable().optional(),
106024
- cliAgentType: external_exports.string(),
106025
- // Debug flag to force real Claude in mock environments (internal use only)
106026
- debugNoMockClaude: external_exports.boolean().optional(),
106027
- // Debug flag to force real Codex in mock environments (internal use only)
106028
- debugNoMockCodex: external_exports.boolean().optional(),
106029
- // Capture HTTP request headers, request bodies, and response bodies in network logs
106030
- captureNetworkBodies: external_exports.boolean().optional(),
106031
- // Dispatch timestamp for E2E timing metrics
106032
- apiStartTime: external_exports.number().optional(),
106033
- // User's timezone preference (IANA format, e.g., "Asia/Shanghai")
106034
- userTimezone: external_exports.string().optional(),
106035
- // Firewall for proxy-side token replacement (complete config, all permissions)
106036
- firewalls: firewallsSchema.optional(),
106037
- // Per-firewall network policies: which permissions are granted + unknownPolicy
106038
- networkPolicies: networkPoliciesSchema.optional(),
106039
- // Tools to disable in Claude CLI (passed as --disallowed-tools)
106040
- disallowedTools: external_exports.array(external_exports.string()).optional(),
106041
- // Tools to make available in Claude CLI (passed as --tools)
106042
- tools: external_exports.array(external_exports.string()).optional(),
106043
- // Settings JSON to pass to Claude CLI (passed as --settings)
106044
- settings: external_exports.string().optional(),
106045
- // VM profile for resource allocation (e.g., "vm0/default")
106046
- experimentalProfile: external_exports.string().optional(),
106047
- // Feature flags evaluated at job creation time (all switch states for user/org)
106048
- featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).optional(),
106049
- billableFirewalls: external_exports.array(external_exports.string()).optional(),
106050
- modelUsageProvider: external_exports.string().optional()
106051
- });
106052
- var executionContextSchema = external_exports.object({
106053
- runId: external_exports.uuid(),
106054
- prompt: external_exports.string(),
106055
- appendSystemPrompt: external_exports.string().nullable(),
106056
- agentComposeVersionId: external_exports.string().nullable(),
106057
- vars: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
106058
- checkpointId: external_exports.uuid().nullable(),
106059
- sandboxToken: external_exports.string(),
106060
- // New fields for E2B parity:
106061
- workingDir: external_exports.string(),
106062
- storageManifest: storageManifestSchema.nullable(),
106063
- environment: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
106064
- resumeSession: resumeSessionSchema.nullable(),
106065
- secretValues: external_exports.array(external_exports.string()).nullable(),
106066
- // AES-256-GCM encrypted Record<string, string> — passed through to mitm-addon for auth resolution
106067
- encryptedSecrets: external_exports.string().nullable(),
106068
- // Maps secret names to OAuth connector types for runtime token refresh
106069
- secretConnectorMap: external_exports.record(external_exports.string(), external_exports.string()).nullable().optional(),
106070
- // Per-secret refresh metadata, used when a handler needs owner-specific storage (e.g. personal model providers)
106071
- secretConnectorMetadataMap: secretConnectorMetadataMapSchema.nullable().optional(),
106072
- cliAgentType: external_exports.string(),
106073
- // Debug flag to force real Claude in mock environments (internal use only)
106074
- debugNoMockClaude: external_exports.boolean().optional(),
106075
- // Debug flag to force real Codex in mock environments (internal use only)
106076
- debugNoMockCodex: external_exports.boolean().optional(),
106077
- // Capture HTTP request headers, request bodies, and response bodies in network logs
106078
- captureNetworkBodies: external_exports.boolean().optional(),
106079
- // Dispatch timestamp for E2E timing metrics
106080
- apiStartTime: external_exports.number().optional(),
106081
- // User's timezone preference (IANA format, e.g., "Asia/Shanghai")
106082
- userTimezone: external_exports.string().optional(),
106083
- // Firewall for proxy-side token replacement (complete config, all permissions)
106084
- firewalls: firewallsSchema.optional(),
106085
- // Per-firewall network policies: which permissions are granted + unknownPolicy
106086
- networkPolicies: networkPoliciesSchema.optional(),
106087
- // Tools to disable in Claude CLI (passed as --disallowed-tools)
106088
- disallowedTools: external_exports.array(external_exports.string()).optional(),
106089
- // Tools to make available in Claude CLI (passed as --tools)
106090
- tools: external_exports.array(external_exports.string()).optional(),
106091
- // Settings JSON to pass to Claude CLI (passed as --settings)
106092
- settings: external_exports.string().optional(),
106093
- // VM profile for resource allocation (e.g., "vm0/default")
106094
- experimentalProfile: external_exports.string().optional(),
106095
- // Feature flags evaluated at job creation time (all switch states for user/org)
106096
- featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).optional(),
106097
- billableFirewalls: external_exports.array(external_exports.string()).optional(),
106098
- modelUsageProvider: external_exports.string().optional()
106099
- });
106100
- var runnersJobClaimContract = c24.router({
106101
- claim: {
106102
- method: "POST",
106103
- path: "/api/runners/jobs/:id/claim",
106104
- headers: authHeadersSchema,
106105
- pathParams: external_exports.object({
106106
- id: external_exports.uuid()
106107
- }),
106108
- body: external_exports.object({}),
106109
- responses: {
106110
- 200: executionContextSchema,
106111
- 400: apiErrorSchema,
106112
- 401: apiErrorSchema,
106113
- 403: apiErrorSchema,
106114
- // Job does not belong to user
106115
- 404: apiErrorSchema,
106116
- 409: apiErrorSchema,
106117
- // Already claimed
106118
- 500: apiErrorSchema
106119
- },
106120
- summary: "Claim a pending job for execution"
106121
- }
106122
- });
106123
- var heartbeatBodySchema = external_exports.object({
106124
- runnerId: external_exports.uuid(),
106125
- runnerName: external_exports.string(),
106126
- group: runnerGroupSchema,
106127
- profiles: external_exports.array(external_exports.string()),
106128
- totalVcpu: external_exports.number().int().nonnegative(),
106129
- totalMemoryMb: external_exports.number().int().nonnegative(),
106130
- maxConcurrent: external_exports.number().int().nonnegative(),
106131
- allocatedVcpu: external_exports.number().int().nonnegative(),
106132
- allocatedMemoryMb: external_exports.number().int().nonnegative(),
106133
- runningCount: external_exports.number().int().nonnegative(),
106134
- heldSessions: external_exports.array(external_exports.string()),
106135
- mode: external_exports.enum(["running", "draining", "stopping"])
106136
- });
106137
- var runnersHeartbeatContract = c24.router({
106138
- heartbeat: {
106139
- method: "POST",
106140
- path: "/api/runners/heartbeat",
106141
- headers: authHeadersSchema,
106142
- body: heartbeatBodySchema,
106143
- responses: {
106144
- 200: external_exports.object({ ok: external_exports.literal(true) }),
106145
- 400: apiErrorSchema,
106146
- 401: apiErrorSchema,
106147
- 500: apiErrorSchema
106148
- },
106149
- summary: "Report runner heartbeat with capacity and state"
106150
- }
106151
- });
106152
-
106153
- // ../../packages/api-contracts/src/contracts/realtime.ts
106154
106409
  var c25 = initContract();
106155
106410
  var ablyTokenRequestSchema = external_exports.object({
106156
106411
  keyName: external_exports.string(),
@@ -120322,6 +120577,49 @@ var squareFirewall = {
120322
120577
  ]
120323
120578
  };
120324
120579
 
120580
+ // ../../packages/connectors/src/firewalls/gong.generated.ts
120581
+ init_esm_shims();
120582
+ var gongFirewall = {
120583
+ name: "gong",
120584
+ description: "Gong API (Access Key auth)",
120585
+ placeholders: {
120586
+ GONG_ACCESS_KEY: "CoffeeSafeLocalCoffeeSafeLocalCo",
120587
+ GONG_ACCESS_KEY_SECRET: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLoca"
120588
+ },
120589
+ apis: [
120590
+ {
120591
+ base: "https://${{ vars.GONG_API_BASE }}",
120592
+ auth: {
120593
+ headers: {
120594
+ Authorization: "${{ basic(secrets.GONG_ACCESS_KEY, secrets.GONG_ACCESS_KEY_SECRET) }}"
120595
+ }
120596
+ },
120597
+ permissions: []
120598
+ }
120599
+ ]
120600
+ };
120601
+
120602
+ // ../../packages/connectors/src/firewalls/ironclad.generated.ts
120603
+ init_esm_shims();
120604
+ var ironcladFirewall = {
120605
+ name: "ironclad",
120606
+ description: "Ironclad API (API key auth)",
120607
+ placeholders: {
120608
+ IRONCLAD_API_KEY: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal"
120609
+ },
120610
+ apis: [
120611
+ {
120612
+ base: "https://${{ vars.IRONCLAD_HOST }}",
120613
+ auth: {
120614
+ headers: {
120615
+ Authorization: "Bearer ${{ secrets.IRONCLAD_API_KEY }}"
120616
+ }
120617
+ },
120618
+ permissions: []
120619
+ }
120620
+ ]
120621
+ };
120622
+
120325
120623
  // ../../packages/connectors/src/firewalls/index.ts
120326
120624
  var CONNECTOR_FIREWALLS = {
120327
120625
  agentmail: agentmailFirewall,
@@ -120505,7 +120803,9 @@ var CONNECTOR_FIREWALLS = {
120505
120803
  servicenow: servicenowFirewall,
120506
120804
  testrail: testrailFirewall,
120507
120805
  twilio: twilioFirewall,
120508
- square: squareFirewall
120806
+ square: squareFirewall,
120807
+ gong: gongFirewall,
120808
+ ironclad: ironcladFirewall
120509
120809
  };
120510
120810
  function expandPlaceholders(firewall, connectorType) {
120511
120811
  if (!firewall.placeholders) return firewall;
@@ -120794,9 +121094,43 @@ var internalCallbacksTelegramContract = c31.router({
120794
121094
  }
120795
121095
  });
120796
121096
 
120797
- // ../../packages/api-contracts/src/contracts/test-telegram-dispatch-probe.ts
121097
+ // ../../packages/api-contracts/src/contracts/internal-callbacks-agentphone.ts
120798
121098
  init_esm_shims();
120799
121099
  var c32 = initContract();
121100
+ var agentPhoneCallbackPayloadSchema = external_exports.object({
121101
+ messageId: external_exports.string(),
121102
+ conversationId: external_exports.string().nullable(),
121103
+ channel: external_exports.string().optional(),
121104
+ phoneHandle: external_exports.string(),
121105
+ fromNumber: external_exports.string(),
121106
+ toNumber: external_exports.string(),
121107
+ userLinkId: external_exports.string(),
121108
+ agentId: external_exports.string(),
121109
+ agentphoneAgentId: external_exports.string(),
121110
+ existingSessionId: external_exports.string().nullable().optional()
121111
+ }).passthrough();
121112
+ var internalCallbacksAgentPhoneContract = c32.router({
121113
+ post: {
121114
+ method: "POST",
121115
+ path: "/api/internal/callbacks/agentphone",
121116
+ headers: internalCallbackHeadersSchema,
121117
+ body: internalCallbackBodySchema.extend({
121118
+ payload: agentPhoneCallbackPayloadSchema
121119
+ }),
121120
+ responses: {
121121
+ 200: internalCallbackSuccessSchema,
121122
+ 400: internalCallbackErrorSchema,
121123
+ 401: internalCallbackErrorSchema,
121124
+ 404: internalCallbackErrorSchema,
121125
+ 502: internalCallbackErrorSchema
121126
+ },
121127
+ summary: "Handle callbacks for AgentPhone-triggered runs"
121128
+ }
121129
+ });
121130
+
121131
+ // ../../packages/api-contracts/src/contracts/test-telegram-dispatch-probe.ts
121132
+ init_esm_shims();
121133
+ var c33 = initContract();
120800
121134
  var testTelegramDispatchProbeBodySchema = external_exports.unknown().optional();
120801
121135
  var testTelegramDispatchProbeSuccessSchema = external_exports.object({
120802
121136
  ok: external_exports.literal(true)
@@ -120813,7 +121147,7 @@ var testTelegramDispatchProbeHandlerErrorSchema = external_exports.object({
120813
121147
  stack: external_exports.string().optional()
120814
121148
  })
120815
121149
  });
120816
- var testTelegramDispatchProbeContract = c32.router({
121150
+ var testTelegramDispatchProbeContract = c33.router({
120817
121151
  post: {
120818
121152
  method: "POST",
120819
121153
  path: "/api/test/telegram-dispatch-probe",
@@ -120832,7 +121166,7 @@ var testTelegramDispatchProbeContract = c32.router({
120832
121166
 
120833
121167
  // ../../packages/api-contracts/src/contracts/internal-callbacks-slack-org.ts
120834
121168
  init_esm_shims();
120835
- var c33 = initContract();
121169
+ var c34 = initContract();
120836
121170
  var slackOrgCallbackPayloadSchema = external_exports.object({
120837
121171
  workspaceId: external_exports.string(),
120838
121172
  channelId: external_exports.string(),
@@ -120842,7 +121176,7 @@ var slackOrgCallbackPayloadSchema = external_exports.object({
120842
121176
  agentId: external_exports.string(),
120843
121177
  existingSessionId: external_exports.string().optional()
120844
121178
  }).passthrough();
120845
- var internalCallbacksSlackOrgContract = c33.router({
121179
+ var internalCallbacksSlackOrgContract = c34.router({
120846
121180
  post: {
120847
121181
  method: "POST",
120848
121182
  path: "/api/internal/callbacks/slack/org",
@@ -120864,11 +121198,11 @@ var internalCallbacksSlackOrgContract = c33.router({
120864
121198
 
120865
121199
  // ../../packages/api-contracts/src/contracts/internal-callbacks-voice-chat.ts
120866
121200
  init_esm_shims();
120867
- var c34 = initContract();
121201
+ var c35 = initContract();
120868
121202
  var voiceChatCallbackPayloadSchema = external_exports.object({
120869
121203
  taskId: external_exports.string()
120870
121204
  }).passthrough();
120871
- var internalCallbacksVoiceChatContract = c34.router({
121205
+ var internalCallbacksVoiceChatContract = c35.router({
120872
121206
  post: {
120873
121207
  method: "POST",
120874
121208
  path: "/api/internal/callbacks/voice-chat",
@@ -120889,7 +121223,7 @@ var internalCallbacksVoiceChatContract = c34.router({
120889
121223
 
120890
121224
  // ../../packages/api-contracts/src/contracts/zero-email.ts
120891
121225
  init_esm_shims();
120892
- var c35 = initContract();
121226
+ var c36 = initContract();
120893
121227
  var emailRecipientsSchema = external_exports.array(external_exports.string()).optional();
120894
121228
  var zeroEmailReplyCallbackPayloadSchema = external_exports.object({
120895
121229
  emailThreadSessionId: external_exports.string(),
@@ -120912,7 +121246,7 @@ var zeroEmailTriggerCallbackPayloadSchema = external_exports.object({
120912
121246
  replyRecipientTo: emailRecipientsSchema,
120913
121247
  replyRecipientCc: emailRecipientsSchema
120914
121248
  }).passthrough();
120915
- var zeroEmailReplyCallbackContract = c35.router({
121249
+ var zeroEmailReplyCallbackContract = c36.router({
120916
121250
  post: {
120917
121251
  method: "POST",
120918
121252
  path: "/api/zero/email/callbacks/reply",
@@ -120929,7 +121263,7 @@ var zeroEmailReplyCallbackContract = c35.router({
120929
121263
  summary: "Handle Zero email reply completion callbacks"
120930
121264
  }
120931
121265
  });
120932
- var zeroEmailTriggerCallbackContract = c35.router({
121266
+ var zeroEmailTriggerCallbackContract = c36.router({
120933
121267
  post: {
120934
121268
  method: "POST",
120935
121269
  path: "/api/zero/email/callbacks/trigger",
@@ -120946,7 +121280,7 @@ var zeroEmailTriggerCallbackContract = c35.router({
120946
121280
  summary: "Handle Zero email trigger completion callbacks"
120947
121281
  }
120948
121282
  });
120949
- var zeroEmailInboundContract = c35.router({
121283
+ var zeroEmailInboundContract = c36.router({
120950
121284
  post: {
120951
121285
  method: "POST",
120952
121286
  path: "/api/zero/email/inbound",
@@ -120966,8 +121300,8 @@ var zeroEmailInboundContract = c35.router({
120966
121300
 
120967
121301
  // ../../packages/api-contracts/src/contracts/auth.ts
120968
121302
  init_esm_shims();
120969
- var c36 = initContract();
120970
- var authContract = c36.router({
121303
+ var c37 = initContract();
121304
+ var authContract = c37.router({
120971
121305
  /**
120972
121306
  * GET /api/auth/me
120973
121307
  * Get current user information
@@ -120992,7 +121326,7 @@ var authContract = c36.router({
120992
121326
 
120993
121327
  // ../../packages/api-contracts/src/contracts/user-export.ts
120994
121328
  init_esm_shims();
120995
- var c37 = initContract();
121329
+ var c38 = initContract();
120996
121330
  var exportJobStatusSchema = external_exports.enum([
120997
121331
  "pending",
120998
121332
  "running",
@@ -121017,7 +121351,7 @@ var userExportStartResponseSchema = external_exports.object({
121017
121351
  jobId: external_exports.string().uuid(),
121018
121352
  status: external_exports.enum(["pending", "running"])
121019
121353
  });
121020
- var userExportContract = c37.router({
121354
+ var userExportContract = c38.router({
121021
121355
  get: {
121022
121356
  method: "GET",
121023
121357
  path: "/api/user/export",
@@ -121048,7 +121382,7 @@ var userExportContract = c37.router({
121048
121382
 
121049
121383
  // ../../packages/api-contracts/src/contracts/email-unsubscribe.ts
121050
121384
  init_esm_shims();
121051
- var c38 = initContract();
121385
+ var c39 = initContract();
121052
121386
  var emailUnsubscribeQuerySchema = external_exports.object({
121053
121387
  token: external_exports.string().optional()
121054
121388
  });
@@ -121058,13 +121392,13 @@ var emailUnsubscribeResponseSchema = external_exports.object({
121058
121392
  var emailUnsubscribeErrorSchema = external_exports.object({
121059
121393
  error: external_exports.string()
121060
121394
  });
121061
- var emailUnsubscribeContract = c38.router({
121395
+ var emailUnsubscribeContract = c39.router({
121062
121396
  get: {
121063
121397
  method: "GET",
121064
121398
  path: "/api/email/unsubscribe",
121065
121399
  query: emailUnsubscribeQuerySchema,
121066
121400
  responses: {
121067
- 200: c38.otherResponse({
121401
+ 200: c39.otherResponse({
121068
121402
  contentType: "text/html",
121069
121403
  body: external_exports.unknown()
121070
121404
  }),
@@ -121087,8 +121421,8 @@ var emailUnsubscribeContract = c38.router({
121087
121421
 
121088
121422
  // ../../packages/api-contracts/src/contracts/connectors-type-authorize.ts
121089
121423
  init_esm_shims();
121090
- var c39 = initContract();
121091
- var connectorsTypeAuthorizeContract = c39.router({
121424
+ var c40 = initContract();
121425
+ var connectorsTypeAuthorizeContract = c40.router({
121092
121426
  authorize: {
121093
121427
  method: "GET",
121094
121428
  path: "/api/connectors/:type/authorize",
@@ -121096,7 +121430,7 @@ var connectorsTypeAuthorizeContract = c39.router({
121096
121430
  pathParams: external_exports.object({ type: external_exports.string() }),
121097
121431
  query: external_exports.object({ session: external_exports.string().optional() }),
121098
121432
  responses: {
121099
- 307: c39.noBody(),
121433
+ 307: c40.noBody(),
121100
121434
  400: external_exports.object({ error: external_exports.string() }),
121101
121435
  500: external_exports.object({ error: external_exports.string() })
121102
121436
  },
@@ -121106,8 +121440,8 @@ var connectorsTypeAuthorizeContract = c39.router({
121106
121440
 
121107
121441
  // ../../packages/api-contracts/src/contracts/connectors-type-callback.ts
121108
121442
  init_esm_shims();
121109
- var c40 = initContract();
121110
- var connectorsTypeCallbackContract = c40.router({
121443
+ var c41 = initContract();
121444
+ var connectorsTypeCallbackContract = c41.router({
121111
121445
  callback: {
121112
121446
  method: "GET",
121113
121447
  path: "/api/connectors/:type/callback",
@@ -121120,7 +121454,7 @@ var connectorsTypeCallbackContract = c40.router({
121120
121454
  error_description: external_exports.string().optional()
121121
121455
  }),
121122
121456
  responses: {
121123
- 307: c40.noBody()
121457
+ 307: c41.noBody()
121124
121458
  },
121125
121459
  summary: "Complete connector OAuth authorization"
121126
121460
  }
@@ -121128,7 +121462,7 @@ var connectorsTypeCallbackContract = c40.router({
121128
121462
 
121129
121463
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-authorize.ts
121130
121464
  init_esm_shims();
121131
- var c41 = initContract();
121465
+ var c42 = initContract();
121132
121466
  var testOAuthProviderAuthorizeErrorSchema = external_exports.object({
121133
121467
  error: external_exports.string()
121134
121468
  });
@@ -121140,13 +121474,13 @@ var testOAuthProviderAuthorizeQuerySchema = external_exports.object({
121140
121474
  scope: external_exports.string().optional(),
121141
121475
  state: external_exports.string().optional()
121142
121476
  });
121143
- var testOAuthProviderAuthorizeContract = c41.router({
121477
+ var testOAuthProviderAuthorizeContract = c42.router({
121144
121478
  authorize: {
121145
121479
  method: "GET",
121146
121480
  path: "/api/test/oauth-provider/authorize",
121147
121481
  query: testOAuthProviderAuthorizeQuerySchema,
121148
121482
  responses: {
121149
- 302: c41.noBody(),
121483
+ 302: c42.noBody(),
121150
121484
  400: testOAuthProviderAuthorizeErrorSchema,
121151
121485
  404: external_exports.string()
121152
121486
  },
@@ -121156,7 +121490,7 @@ var testOAuthProviderAuthorizeContract = c41.router({
121156
121490
 
121157
121491
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-echo.ts
121158
121492
  init_esm_shims();
121159
- var c42 = initContract();
121493
+ var c43 = initContract();
121160
121494
  var testOAuthProviderEchoErrorSchema = external_exports.object({
121161
121495
  error: external_exports.string()
121162
121496
  });
@@ -121164,7 +121498,7 @@ var testOAuthProviderEchoResponseSchema = external_exports.object({
121164
121498
  authorization: external_exports.string(),
121165
121499
  receivedAt: external_exports.string()
121166
121500
  });
121167
- var testOAuthProviderEchoContract = c42.router({
121501
+ var testOAuthProviderEchoContract = c43.router({
121168
121502
  echo: {
121169
121503
  method: "GET",
121170
121504
  path: "/api/test/oauth-provider/echo",
@@ -121179,7 +121513,7 @@ var testOAuthProviderEchoContract = c42.router({
121179
121513
 
121180
121514
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-token.ts
121181
121515
  init_esm_shims();
121182
- var c43 = initContract();
121516
+ var c44 = initContract();
121183
121517
  var testOAuthProviderTokenErrorSchema = external_exports.object({
121184
121518
  error: external_exports.string(),
121185
121519
  error_description: external_exports.string().optional()
@@ -121191,11 +121525,11 @@ var testOAuthProviderTokenResponseSchema = external_exports.object({
121191
121525
  expires_in: external_exports.number(),
121192
121526
  scope: external_exports.string()
121193
121527
  });
121194
- var testOAuthProviderTokenContract = c43.router({
121528
+ var testOAuthProviderTokenContract = c44.router({
121195
121529
  token: {
121196
121530
  method: "POST",
121197
121531
  path: "/api/test/oauth-provider/token",
121198
- body: c43.type(),
121532
+ body: c44.type(),
121199
121533
  responses: {
121200
121534
  200: testOAuthProviderTokenResponseSchema,
121201
121535
  400: testOAuthProviderTokenErrorSchema,
@@ -121208,7 +121542,7 @@ var testOAuthProviderTokenContract = c43.router({
121208
121542
 
121209
121543
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-userinfo.ts
121210
121544
  init_esm_shims();
121211
- var c44 = initContract();
121545
+ var c45 = initContract();
121212
121546
  var testOAuthProviderUserinfoErrorSchema = external_exports.object({
121213
121547
  error: external_exports.string()
121214
121548
  });
@@ -121217,7 +121551,7 @@ var testOAuthProviderUserinfoResponseSchema = external_exports.object({
121217
121551
  id: external_exports.string(),
121218
121552
  username: external_exports.string()
121219
121553
  });
121220
- var testOAuthProviderUserinfoContract = c44.router({
121554
+ var testOAuthProviderUserinfoContract = c45.router({
121221
121555
  userinfo: {
121222
121556
  method: "GET",
121223
121557
  path: "/api/test/oauth-provider/userinfo",
@@ -121232,7 +121566,7 @@ var testOAuthProviderUserinfoContract = c44.router({
121232
121566
 
121233
121567
  // ../../packages/api-contracts/src/contracts/test-slack-dispatch-probe.ts
121234
121568
  init_esm_shims();
121235
- var c45 = initContract();
121569
+ var c46 = initContract();
121236
121570
  var testSlackDispatchProbeBodySchema = external_exports.object({
121237
121571
  team_id: external_exports.string(),
121238
121572
  channel_id: external_exports.string(),
@@ -121260,7 +121594,7 @@ var testSlackDispatchProbeResponseSchema = external_exports.union([
121260
121594
  testSlackDispatchProbeSuccessResponseSchema,
121261
121595
  testSlackDispatchProbeFailureResponseSchema
121262
121596
  ]);
121263
- var testSlackDispatchProbeContract = c45.router({
121597
+ var testSlackDispatchProbeContract = c46.router({
121264
121598
  post: {
121265
121599
  method: "POST",
121266
121600
  path: "/api/test/slack-dispatch-probe",
@@ -121276,7 +121610,7 @@ var testSlackDispatchProbeContract = c45.router({
121276
121610
 
121277
121611
  // ../../packages/api-contracts/src/contracts/test-slack-state.ts
121278
121612
  init_esm_shims();
121279
- var c46 = initContract();
121613
+ var c47 = initContract();
121280
121614
  var testSlackStateErrorSchema = external_exports.object({
121281
121615
  error: external_exports.string()
121282
121616
  });
@@ -121361,7 +121695,7 @@ var testSlackStateResponseSchema = external_exports.object({
121361
121695
  })
121362
121696
  )
121363
121697
  });
121364
- var testSlackStateContract = c46.router({
121698
+ var testSlackStateContract = c47.router({
121365
121699
  get: {
121366
121700
  method: "GET",
121367
121701
  path: "/api/test/slack-state",
@@ -121403,7 +121737,7 @@ var testSlackStateContract = c46.router({
121403
121737
 
121404
121738
  // ../../packages/api-contracts/src/contracts/test-slack-mock.ts
121405
121739
  init_esm_shims();
121406
- var c47 = initContract();
121740
+ var c48 = initContract();
121407
121741
  var slackMockRequestBodySchema = external_exports.unknown().optional();
121408
121742
  var slackMockNotFoundSchema = external_exports.string();
121409
121743
  var testSlackMockOkResponseSchema = external_exports.object({
@@ -121469,7 +121803,7 @@ var testSlackMockUsersInfoResponseSchema = testSlackMockOkResponseSchema.extend(
121469
121803
  })
121470
121804
  })
121471
121805
  });
121472
- var testSlackMockContract = c47.router({
121806
+ var testSlackMockContract = c48.router({
121473
121807
  assistantThreadsSetStatus: {
121474
121808
  method: "POST",
121475
121809
  path: "/api/test/slack-mock/assistant.threads.setStatus",
@@ -121574,7 +121908,7 @@ var testSlackMockContract = c47.router({
121574
121908
 
121575
121909
  // ../../packages/api-contracts/src/contracts/test-telegram-mock.ts
121576
121910
  init_esm_shims();
121577
- var c48 = initContract();
121911
+ var c49 = initContract();
121578
121912
  var testTelegramMockPathParamsSchema = external_exports.object({
121579
121913
  botToken: external_exports.string(),
121580
121914
  method: external_exports.string()
@@ -121587,7 +121921,7 @@ var testTelegramMockErrorResponseSchema = external_exports.object({
121587
121921
  ok: external_exports.literal(false),
121588
121922
  description: external_exports.string()
121589
121923
  });
121590
- var testTelegramMockContract = c48.router({
121924
+ var testTelegramMockContract = c49.router({
121591
121925
  post: {
121592
121926
  method: "POST",
121593
121927
  path: "/api/test/telegram-mock/:botToken/:method",
@@ -121603,7 +121937,7 @@ var testTelegramMockContract = c48.router({
121603
121937
 
121604
121938
  // ../../packages/api-contracts/src/contracts/test-telegram-state.ts
121605
121939
  init_esm_shims();
121606
- var c49 = initContract();
121940
+ var c50 = initContract();
121607
121941
  var testTelegramStateQuerySchema = external_exports.object({
121608
121942
  bot_id: external_exports.string().optional()
121609
121943
  });
@@ -121645,7 +121979,7 @@ var testTelegramStateSeedResponseSchema = external_exports.object({
121645
121979
  user_link_id: external_exports.string().nullable(),
121646
121980
  default_agent_id: external_exports.string()
121647
121981
  });
121648
- var testTelegramStateContract = c49.router({
121982
+ var testTelegramStateContract = c50.router({
121649
121983
  get: {
121650
121984
  method: "GET",
121651
121985
  path: "/api/test/telegram-state",
@@ -121683,7 +122017,7 @@ var testTelegramStateContract = c49.router({
121683
122017
 
121684
122018
  // ../../packages/api-contracts/src/contracts/internal-event-consumers.ts
121685
122019
  init_esm_shims();
121686
- var c50 = initContract();
122020
+ var c51 = initContract();
121687
122021
  var eventConsumerHeadersSchema = external_exports.object({
121688
122022
  "x-vm0-signature": external_exports.string().optional(),
121689
122023
  "x-vm0-timestamp": external_exports.string().optional()
@@ -121703,7 +122037,7 @@ var eventConsumerPayloadSchema = external_exports.object({
121703
122037
  var eventConsumerUnauthorizedSchema = external_exports.object({
121704
122038
  error: external_exports.string()
121705
122039
  });
121706
- var internalEventConsumerTelegramTypingContract = c50.router({
122040
+ var internalEventConsumerTelegramTypingContract = c51.router({
121707
122041
  refresh: {
121708
122042
  method: "POST",
121709
122043
  path: "/api/internal/event-consumers/telegram-typing",
@@ -121716,7 +122050,7 @@ var internalEventConsumerTelegramTypingContract = c50.router({
121716
122050
  summary: "Refresh Telegram typing indicators for all pending callbacks of a run"
121717
122051
  }
121718
122052
  });
121719
- var internalEventConsumerAgentPhoneTypingContract = c50.router({
122053
+ var internalEventConsumerAgentPhoneTypingContract = c51.router({
121720
122054
  refresh: {
121721
122055
  method: "POST",
121722
122056
  path: "/api/internal/event-consumers/agentphone-typing",
@@ -121729,7 +122063,7 @@ var internalEventConsumerAgentPhoneTypingContract = c50.router({
121729
122063
  summary: "Refresh AgentPhone typing indicators for all pending iMessage callbacks of a run"
121730
122064
  }
121731
122065
  });
121732
- var internalEventConsumerAxiomContract = c50.router({
122066
+ var internalEventConsumerAxiomContract = c51.router({
121733
122067
  ingest: {
121734
122068
  method: "POST",
121735
122069
  path: "/api/internal/event-consumers/axiom",
@@ -121743,7 +122077,7 @@ var internalEventConsumerAxiomContract = c50.router({
121743
122077
  summary: "Ingest agent run events into Axiom"
121744
122078
  }
121745
122079
  });
121746
- var internalEventConsumerChatAssistantContract = c50.router({
122080
+ var internalEventConsumerChatAssistantContract = c51.router({
121747
122081
  process: {
121748
122082
  method: "POST",
121749
122083
  path: "/api/internal/event-consumers/chat-assistant",
@@ -121756,7 +122090,7 @@ var internalEventConsumerChatAssistantContract = c50.router({
121756
122090
  summary: "Persist assistant-visible run events into chat threads"
121757
122091
  }
121758
122092
  });
121759
- var internalEventConsumerVoiceChatContract = c50.router({
122093
+ var internalEventConsumerVoiceChatContract = c51.router({
121760
122094
  process: {
121761
122095
  method: "POST",
121762
122096
  path: "/api/internal/event-consumers/voice-chat",
@@ -121772,7 +122106,7 @@ var internalEventConsumerVoiceChatContract = c50.router({
121772
122106
 
121773
122107
  // ../../packages/api-contracts/src/contracts/cron.ts
121774
122108
  init_esm_shims();
121775
- var c51 = initContract();
122109
+ var c52 = initContract();
121776
122110
  var cleanupResultSchema = external_exports.object({
121777
122111
  runId: external_exports.string(),
121778
122112
  sandboxId: external_exports.string().nullable(),
@@ -121783,9 +122117,11 @@ var cleanupResultSchema = external_exports.object({
121783
122117
  var cleanupResponseSchema = external_exports.object({
121784
122118
  cleaned: external_exports.number(),
121785
122119
  errors: external_exports.number(),
121786
- results: external_exports.array(cleanupResultSchema)
122120
+ results: external_exports.array(cleanupResultSchema),
122121
+ exportJobsCleaned: external_exports.number(),
122122
+ exportJobsStuck: external_exports.number()
121787
122123
  });
121788
- var cronCleanupSandboxesContract = c51.router({
122124
+ var cronCleanupSandboxesContract = c52.router({
121789
122125
  /**
121790
122126
  * GET /api/cron/cleanup-sandboxes
121791
122127
  * Cron job to cleanup sandboxes that have stopped sending heartbeats
@@ -121817,6 +122153,29 @@ var cronReconcileBillingEntitlementsResponseSchema = external_exports.object({
121817
122153
  var cronTelegramCleanupResponseSchema = external_exports.object({
121818
122154
  deleted: external_exports.number()
121819
122155
  });
122156
+ var cronVoiceChatCleanupResponseSchema = external_exports.object({
122157
+ success: external_exports.literal(true),
122158
+ reasonerReset: external_exports.number()
122159
+ });
122160
+ var cronDrainEmailOutboxResponseSchema = external_exports.object({
122161
+ success: external_exports.literal(true),
122162
+ drained: external_exports.number(),
122163
+ cleaned: external_exports.number()
122164
+ });
122165
+ var cronSyncSkillsResponseSchema = external_exports.object({
122166
+ success: external_exports.literal(true),
122167
+ commitSha: external_exports.string(),
122168
+ synced: external_exports.number(),
122169
+ skipped: external_exports.number(),
122170
+ failed: external_exports.number(),
122171
+ removed: external_exports.number(),
122172
+ total: external_exports.number()
122173
+ });
122174
+ var cronExecuteSchedulesResponseSchema = external_exports.object({
122175
+ success: external_exports.literal(true),
122176
+ executed: external_exports.number(),
122177
+ skipped: external_exports.number()
122178
+ });
121820
122179
  var cronAggregateInsightsSkippedResponseSchema = external_exports.object({
121821
122180
  users: external_exports.number(),
121822
122181
  skipped: external_exports.literal(true)
@@ -121830,7 +122189,7 @@ var cronAggregateInsightsResponseSchema = external_exports.union([
121830
122189
  cronAggregateInsightsSkippedResponseSchema,
121831
122190
  cronAggregateInsightsAggregatedResponseSchema
121832
122191
  ]);
121833
- var cronAggregateUsageContract = c51.router({
122192
+ var cronAggregateUsageContract = c52.router({
121834
122193
  aggregate: {
121835
122194
  method: "GET",
121836
122195
  path: "/api/cron/aggregate-usage",
@@ -121842,7 +122201,7 @@ var cronAggregateUsageContract = c51.router({
121842
122201
  summary: "Aggregate daily usage cache"
121843
122202
  }
121844
122203
  });
121845
- var cronProcessUsageEventsContract = c51.router({
122204
+ var cronProcessUsageEventsContract = c52.router({
121846
122205
  process: {
121847
122206
  method: "GET",
121848
122207
  path: "/api/cron/process-usage-events",
@@ -121854,7 +122213,7 @@ var cronProcessUsageEventsContract = c51.router({
121854
122213
  summary: "Process pending usage events"
121855
122214
  }
121856
122215
  });
121857
- var cronReconcileBillingEntitlementsContract = c51.router({
122216
+ var cronReconcileBillingEntitlementsContract = c52.router({
121858
122217
  reconcile: {
121859
122218
  method: "GET",
121860
122219
  path: "/api/cron/reconcile-billing-entitlements",
@@ -121866,7 +122225,7 @@ var cronReconcileBillingEntitlementsContract = c51.router({
121866
122225
  summary: "Reconcile billing entitlements"
121867
122226
  }
121868
122227
  });
121869
- var cronTelegramCleanupContract = c51.router({
122228
+ var cronTelegramCleanupContract = c52.router({
121870
122229
  cleanup: {
121871
122230
  method: "GET",
121872
122231
  path: "/api/cron/telegram-cleanup",
@@ -121878,7 +122237,55 @@ var cronTelegramCleanupContract = c51.router({
121878
122237
  summary: "Delete expired Telegram messages"
121879
122238
  }
121880
122239
  });
121881
- var cronAggregateInsightsContract = c51.router({
122240
+ var cronVoiceChatCleanupContract = c52.router({
122241
+ cleanup: {
122242
+ method: "GET",
122243
+ path: "/api/cron/voice-chat-cleanup",
122244
+ headers: authHeadersSchema,
122245
+ responses: {
122246
+ 200: cronVoiceChatCleanupResponseSchema,
122247
+ 401: apiErrorSchema
122248
+ },
122249
+ summary: "Reset stuck voice-chat reasoners"
122250
+ }
122251
+ });
122252
+ var cronDrainEmailOutboxContract = c52.router({
122253
+ drain: {
122254
+ method: "GET",
122255
+ path: "/api/cron/drain-email-outbox",
122256
+ headers: authHeadersSchema,
122257
+ responses: {
122258
+ 200: cronDrainEmailOutboxResponseSchema,
122259
+ 401: apiErrorSchema
122260
+ },
122261
+ summary: "Drain pending email outbox messages"
122262
+ }
122263
+ });
122264
+ var cronSyncSkillsContract = c52.router({
122265
+ sync: {
122266
+ method: "GET",
122267
+ path: "/api/cron/sync-skills",
122268
+ headers: authHeadersSchema,
122269
+ responses: {
122270
+ 200: cronSyncSkillsResponseSchema,
122271
+ 401: apiErrorSchema
122272
+ },
122273
+ summary: "Sync official skills from the skills repository"
122274
+ }
122275
+ });
122276
+ var cronExecuteSchedulesContract = c52.router({
122277
+ execute: {
122278
+ method: "GET",
122279
+ path: "/api/cron/execute-schedules",
122280
+ headers: authHeadersSchema,
122281
+ responses: {
122282
+ 200: cronExecuteSchedulesResponseSchema,
122283
+ 401: apiErrorSchema
122284
+ },
122285
+ summary: "Execute due schedules"
122286
+ }
122287
+ });
122288
+ var cronAggregateInsightsContract = c52.router({
121882
122289
  aggregate: {
121883
122290
  method: "GET",
121884
122291
  path: "/api/cron/aggregate-insights",
@@ -121893,7 +122300,7 @@ var cronAggregateInsightsContract = c51.router({
121893
122300
 
121894
122301
  // ../../packages/api-contracts/src/contracts/chat-threads-v1.ts
121895
122302
  init_esm_shims();
121896
- var c52 = initContract();
122303
+ var c53 = initContract();
121897
122304
  var v1ThreadSchema = external_exports.object({
121898
122305
  id: external_exports.string(),
121899
122306
  title: external_exports.string().nullable(),
@@ -121907,7 +122314,7 @@ var v1MessageSchema = external_exports.object({
121907
122314
  error: external_exports.string().optional(),
121908
122315
  createdAt: external_exports.string()
121909
122316
  });
121910
- var chatThreadV1GetContract = c52.router({
122317
+ var chatThreadV1GetContract = c53.router({
121911
122318
  get: {
121912
122319
  method: "GET",
121913
122320
  path: "/api/v1/chat-threads/:threadId",
@@ -121922,7 +122329,7 @@ var chatThreadV1GetContract = c52.router({
121922
122329
  summary: "Get a chat thread"
121923
122330
  }
121924
122331
  });
121925
- var chatThreadV1MessagesContract = c52.router({
122332
+ var chatThreadV1MessagesContract = c53.router({
121926
122333
  list: {
121927
122334
  method: "GET",
121928
122335
  path: "/api/v1/chat-threads/:threadId/messages",
@@ -121942,7 +122349,7 @@ var chatThreadV1MessagesContract = c52.router({
121942
122349
  summary: "List messages in a chat thread"
121943
122350
  }
121944
122351
  });
121945
- var chatThreadV1SendContract = c52.router({
122352
+ var chatThreadV1SendContract = c53.router({
121946
122353
  send: {
121947
122354
  method: "POST",
121948
122355
  path: "/api/v1/chat-threads/messages",
@@ -121973,7 +122380,7 @@ var chatThreadV1SendContract = c52.router({
121973
122380
 
121974
122381
  // ../../packages/api-contracts/src/contracts/device-token.ts
121975
122382
  init_esm_shims();
121976
- var c53 = initContract();
122383
+ var c54 = initContract();
121977
122384
  var bb0DeviceCodeSchema = external_exports.string().regex(/^[A-Z2-9]{4}-[A-Z2-9]{4}$/);
121978
122385
  var bleSessionNonceSchema = external_exports.string().min(16).max(128).regex(/^[A-Za-z0-9._:-]+$/);
121979
122386
  var pollTokenSchema = external_exports.string().min(32).max(256).regex(/^[A-Za-z0-9._-]+$/);
@@ -122012,7 +122419,7 @@ var confirmBb0DeviceRequestSchema = external_exports.object({
122012
122419
  var confirmBb0DeviceResponseSchema = external_exports.object({
122013
122420
  status: external_exports.literal("approved")
122014
122421
  });
122015
- var deviceTokenContract = c53.router({
122422
+ var deviceTokenContract = c54.router({
122016
122423
  create: {
122017
122424
  method: "POST",
122018
122425
  path: "/api/device-token",
@@ -122037,7 +122444,7 @@ var deviceTokenContract = c53.router({
122037
122444
  summary: "Poll a bb0 device code for approval and final credentials"
122038
122445
  }
122039
122446
  });
122040
- var bb0DeviceConfirmContract = c53.router({
122447
+ var bb0DeviceConfirmContract = c54.router({
122041
122448
  confirm: {
122042
122449
  method: "POST",
122043
122450
  path: "/api/zero/devices/bb0/confirm",
@@ -122056,16 +122463,16 @@ var bb0DeviceConfirmContract = c53.router({
122056
122463
 
122057
122464
  // ../../packages/api-contracts/src/contracts/audio-transcriptions-v1.ts
122058
122465
  init_esm_shims();
122059
- var c54 = initContract();
122466
+ var c55 = initContract();
122060
122467
  var audioTranscriptionV1Schema = external_exports.object({
122061
122468
  text: external_exports.string()
122062
122469
  });
122063
- var audioTranscriptionsV1Contract = c54.router({
122470
+ var audioTranscriptionsV1Contract = c55.router({
122064
122471
  transcribe: {
122065
122472
  method: "POST",
122066
122473
  path: "/api/v1/audio/transcriptions",
122067
122474
  headers: authHeadersSchema,
122068
- body: c54.type(),
122475
+ body: c55.type(),
122069
122476
  responses: {
122070
122477
  200: audioTranscriptionV1Schema,
122071
122478
  400: apiErrorSchema,
@@ -122082,7 +122489,7 @@ var audioTranscriptionsV1Contract = c54.router({
122082
122489
 
122083
122490
  // ../../packages/api-contracts/src/contracts/generate-image.ts
122084
122491
  init_esm_shims();
122085
- var c55 = initContract();
122492
+ var c56 = initContract();
122086
122493
  var generateImageRequestSchema = external_exports.object({
122087
122494
  prompt: external_exports.unknown().optional()
122088
122495
  }).passthrough();
@@ -122093,7 +122500,7 @@ var generatedImageSchema = external_exports.object({
122093
122500
  var generateImageResponseSchema = external_exports.object({
122094
122501
  images: external_exports.array(generatedImageSchema)
122095
122502
  });
122096
- var generateImageContract = c55.router({
122503
+ var generateImageContract = c56.router({
122097
122504
  post: {
122098
122505
  method: "POST",
122099
122506
  path: "/api/generate-image",
@@ -122194,14 +122601,14 @@ function findMatchingPermissions(method, path3, config4) {
122194
122601
 
122195
122602
  // ../../packages/api-contracts/src/contracts/zero-feature-switches.ts
122196
122603
  init_esm_shims();
122197
- var c56 = initContract();
122604
+ var c57 = initContract();
122198
122605
  var featureSwitchesResponseSchema = external_exports.object({
122199
122606
  switches: external_exports.record(external_exports.string(), external_exports.boolean())
122200
122607
  });
122201
122608
  var updateFeatureSwitchesRequestSchema = external_exports.object({
122202
122609
  switches: external_exports.record(external_exports.string(), external_exports.boolean())
122203
122610
  });
122204
- var zeroFeatureSwitchesContract = c56.router({
122611
+ var zeroFeatureSwitchesContract = c57.router({
122205
122612
  get: {
122206
122613
  method: "GET",
122207
122614
  path: "/api/zero/feature-switches",
@@ -122230,7 +122637,7 @@ var zeroFeatureSwitchesContract = c56.router({
122230
122637
  method: "DELETE",
122231
122638
  path: "/api/zero/feature-switches",
122232
122639
  headers: authHeadersSchema,
122233
- body: c56.noBody(),
122640
+ body: c57.noBody(),
122234
122641
  responses: {
122235
122642
  200: external_exports.object({ deleted: external_exports.literal(true) }),
122236
122643
  401: apiErrorSchema,
@@ -122242,7 +122649,7 @@ var zeroFeatureSwitchesContract = c56.router({
122242
122649
 
122243
122650
  // ../../packages/api-contracts/src/contracts/onboarding.ts
122244
122651
  init_esm_shims();
122245
- var c57 = initContract();
122652
+ var c58 = initContract();
122246
122653
  var onboardingStatusResponseSchema = external_exports.object({
122247
122654
  needsOnboarding: external_exports.boolean(),
122248
122655
  isAdmin: external_exports.boolean(),
@@ -122255,7 +122662,7 @@ var onboardingStatusResponseSchema = external_exports.object({
122255
122662
  sound: external_exports.string().optional()
122256
122663
  }).nullable()
122257
122664
  });
122258
- var onboardingStatusContract = c57.router({
122665
+ var onboardingStatusContract = c58.router({
122259
122666
  getStatus: {
122260
122667
  method: "GET",
122261
122668
  path: "/api/zero/onboarding/status",
@@ -122267,7 +122674,7 @@ var onboardingStatusContract = c57.router({
122267
122674
  summary: "Get onboarding status for current user"
122268
122675
  }
122269
122676
  });
122270
- var onboardingCompleteContract = c57.router({
122677
+ var onboardingCompleteContract = c58.router({
122271
122678
  complete: {
122272
122679
  method: "POST",
122273
122680
  path: "/api/zero/onboarding/complete",
@@ -122282,7 +122689,7 @@ var onboardingCompleteContract = c57.router({
122282
122689
  summary: "Mark member onboarding as complete"
122283
122690
  }
122284
122691
  });
122285
- var onboardingSetupContract = c57.router({
122692
+ var onboardingSetupContract = c58.router({
122286
122693
  setup: {
122287
122694
  method: "POST",
122288
122695
  path: "/api/zero/onboarding/setup",
@@ -122313,14 +122720,68 @@ var skillFrontmatterSchema = external_exports.object({
122313
122720
  description: external_exports.string().optional()
122314
122721
  });
122315
122722
 
122723
+ // ../../packages/api-contracts/src/contracts/zero-connectors-cli-auth-stripe.ts
122724
+ init_esm_shims();
122725
+ var c59 = initContract();
122726
+ var cliAuthStripeStartResponseSchema = external_exports.object({
122727
+ sessionToken: external_exports.string(),
122728
+ type: external_exports.literal("stripe"),
122729
+ status: external_exports.literal("pending"),
122730
+ browserUrl: external_exports.url(),
122731
+ verificationCode: external_exports.string().min(1),
122732
+ expiresIn: external_exports.number().int().positive(),
122733
+ interval: external_exports.number().int().positive()
122734
+ });
122735
+ var cliAuthStripeCompleteResponseSchema = external_exports.discriminatedUnion("status", [
122736
+ external_exports.object({
122737
+ status: external_exports.literal("pending"),
122738
+ errorMessage: external_exports.string().nullable()
122739
+ }),
122740
+ external_exports.object({
122741
+ status: external_exports.literal("complete"),
122742
+ connector: connectorResponseSchema
122743
+ })
122744
+ ]);
122745
+ var zeroCliAuthStripeContract = c59.router({
122746
+ start: {
122747
+ method: "POST",
122748
+ path: "/api/zero/connectors/stripe/cli-auth/sessions",
122749
+ headers: authHeadersSchema,
122750
+ body: external_exports.object({}).optional(),
122751
+ responses: {
122752
+ 200: cliAuthStripeStartResponseSchema,
122753
+ 400: apiErrorSchema,
122754
+ 401: apiErrorSchema,
122755
+ 403: apiErrorSchema,
122756
+ 503: apiErrorSchema
122757
+ },
122758
+ summary: "Start CLI auth for Stripe in a sandbox"
122759
+ },
122760
+ complete: {
122761
+ method: "POST",
122762
+ path: "/api/zero/connectors/stripe/cli-auth/sessions/complete",
122763
+ headers: authHeadersSchema,
122764
+ body: external_exports.object({ sessionToken: external_exports.string().min(1) }),
122765
+ responses: {
122766
+ 200: cliAuthStripeCompleteResponseSchema,
122767
+ 400: apiErrorSchema,
122768
+ 401: apiErrorSchema,
122769
+ 403: apiErrorSchema,
122770
+ 404: apiErrorSchema,
122771
+ 503: apiErrorSchema
122772
+ },
122773
+ summary: "Complete CLI auth for Stripe and import the Stripe token"
122774
+ }
122775
+ });
122776
+
122316
122777
  // ../../packages/api-contracts/src/contracts/zero-org-logo.ts
122317
122778
  init_esm_shims();
122318
- var c58 = initContract();
122779
+ var c60 = initContract();
122319
122780
  var zeroOrgLogoResponseSchema = external_exports.object({
122320
122781
  logoUrl: external_exports.string().nullable(),
122321
122782
  hasImage: external_exports.boolean()
122322
122783
  });
122323
- var zeroOrgLogoContract = c58.router({
122784
+ var zeroOrgLogoContract = c60.router({
122324
122785
  get: {
122325
122786
  method: "GET",
122326
122787
  path: "/api/zero/org/logo",
@@ -122337,7 +122798,7 @@ var zeroOrgLogoContract = c58.router({
122337
122798
  path: "/api/zero/org/logo",
122338
122799
  headers: authHeadersSchema,
122339
122800
  contentType: "multipart/form-data",
122340
- body: c58.type(),
122801
+ body: c60.type(),
122341
122802
  responses: {
122342
122803
  200: zeroOrgLogoResponseSchema,
122343
122804
  400: apiErrorSchema,
@@ -122364,8 +122825,8 @@ var zeroOrgLogoContract = c58.router({
122364
122825
 
122365
122826
  // ../../packages/api-contracts/src/contracts/zero-org-domains.ts
122366
122827
  init_esm_shims();
122367
- var c59 = initContract();
122368
- var zeroOrgDomainsContract = c59.router({
122828
+ var c61 = initContract();
122829
+ var zeroOrgDomainsContract = c61.router({
122369
122830
  list: {
122370
122831
  method: "GET",
122371
122832
  path: "/api/zero/org/domains",
@@ -122422,8 +122883,8 @@ var zeroOrgDomainsContract = c59.router({
122422
122883
 
122423
122884
  // ../../packages/api-contracts/src/contracts/zero-composes.ts
122424
122885
  init_esm_shims();
122425
- var c60 = initContract();
122426
- var zeroComposesMainContract = c60.router({
122886
+ var c62 = initContract();
122887
+ var zeroComposesMainContract = c62.router({
122427
122888
  getByName: {
122428
122889
  method: "GET",
122429
122890
  path: "/api/zero/composes",
@@ -122441,7 +122902,7 @@ var zeroComposesMainContract = c60.router({
122441
122902
  summary: "Get agent compose by name (zero proxy)"
122442
122903
  }
122443
122904
  });
122444
- var zeroComposesByIdContract = c60.router({
122905
+ var zeroComposesByIdContract = c62.router({
122445
122906
  getById: {
122446
122907
  method: "GET",
122447
122908
  path: "/api/zero/composes/:id",
@@ -122465,9 +122926,9 @@ var zeroComposesByIdContract = c60.router({
122465
122926
  pathParams: external_exports.object({
122466
122927
  id: external_exports.string().uuid("Compose ID is required")
122467
122928
  }),
122468
- body: c60.noBody(),
122929
+ body: c62.noBody(),
122469
122930
  responses: {
122470
- 204: c60.noBody(),
122931
+ 204: c62.noBody(),
122471
122932
  401: apiErrorSchema,
122472
122933
  403: apiErrorSchema,
122473
122934
  404: apiErrorSchema,
@@ -122476,7 +122937,7 @@ var zeroComposesByIdContract = c60.router({
122476
122937
  summary: "Delete agent compose (zero proxy)"
122477
122938
  }
122478
122939
  });
122479
- var zeroComposesMetadataContract = c60.router({
122940
+ var zeroComposesMetadataContract = c62.router({
122480
122941
  update: {
122481
122942
  method: "PATCH",
122482
122943
  path: "/api/zero/composes/:id/metadata",
@@ -122497,7 +122958,7 @@ var zeroComposesMetadataContract = c60.router({
122497
122958
  summary: "Update agent compose metadata (zero proxy)"
122498
122959
  }
122499
122960
  });
122500
- var zeroComposesListContract = c60.router({
122961
+ var zeroComposesListContract = c62.router({
122501
122962
  list: {
122502
122963
  method: "GET",
122503
122964
  path: "/api/zero/composes/list",
@@ -122517,8 +122978,8 @@ var zeroComposesListContract = c60.router({
122517
122978
 
122518
122979
  // ../../packages/api-contracts/src/contracts/zero-personal-model-providers.ts
122519
122980
  init_esm_shims();
122520
- var c61 = initContract();
122521
- var zeroPersonalModelProvidersMainContract = c61.router({
122981
+ var c63 = initContract();
122982
+ var zeroPersonalModelProvidersMainContract = c63.router({
122522
122983
  list: {
122523
122984
  method: "GET",
122524
122985
  path: "/api/zero/me/model-providers",
@@ -122547,7 +123008,7 @@ var zeroPersonalModelProvidersMainContract = c61.router({
122547
123008
  summary: "Create or update a personal model provider for the requesting user"
122548
123009
  }
122549
123010
  });
122550
- var zeroPersonalModelProvidersByTypeContract = c61.router({
123011
+ var zeroPersonalModelProvidersByTypeContract = c63.router({
122551
123012
  delete: {
122552
123013
  method: "DELETE",
122553
123014
  path: "/api/zero/me/model-providers/:type",
@@ -122556,7 +123017,7 @@ var zeroPersonalModelProvidersByTypeContract = c61.router({
122556
123017
  type: modelProviderTypeSchema
122557
123018
  }),
122558
123019
  responses: {
122559
- 204: c61.noBody(),
123020
+ 204: c63.noBody(),
122560
123021
  401: apiErrorSchema,
122561
123022
  404: apiErrorSchema,
122562
123023
  500: apiErrorSchema
@@ -122564,13 +123025,13 @@ var zeroPersonalModelProvidersByTypeContract = c61.router({
122564
123025
  summary: "Delete a personal model provider for the requesting user"
122565
123026
  }
122566
123027
  });
122567
- var zeroPersonalModelProvidersCodexOauthContract = c61.router({
123028
+ var zeroPersonalModelProvidersCodexOauthContract = c63.router({
122568
123029
  authorize: {
122569
123030
  method: "GET",
122570
123031
  path: "/api/zero/me/model-providers/codex-oauth-token/oauth/authorize",
122571
123032
  headers: authHeadersSchema,
122572
123033
  responses: {
122573
- 307: c61.noBody(),
123034
+ 307: c63.noBody(),
122574
123035
  404: external_exports.object({ error: external_exports.string() }),
122575
123036
  500: external_exports.object({ error: external_exports.string() })
122576
123037
  },
@@ -122587,7 +123048,7 @@ var zeroPersonalModelProvidersCodexOauthContract = c61.router({
122587
123048
  error_description: external_exports.string().optional()
122588
123049
  }),
122589
123050
  responses: {
122590
- 307: c61.noBody()
123051
+ 307: c63.noBody()
122591
123052
  },
122592
123053
  summary: "Complete Codex OAuth for a personal model provider"
122593
123054
  }
@@ -122595,7 +123056,7 @@ var zeroPersonalModelProvidersCodexOauthContract = c61.router({
122595
123056
 
122596
123057
  // ../../packages/api-contracts/src/contracts/api-keys.ts
122597
123058
  init_esm_shims();
122598
- var c62 = initContract();
123059
+ var c64 = initContract();
122599
123060
  var apiKeyItemSchema = external_exports.object({
122600
123061
  id: external_exports.string().uuid(),
122601
123062
  name: external_exports.string(),
@@ -122614,7 +123075,7 @@ var createApiKeyRequestSchema = external_exports.object({
122614
123075
  var createApiKeyResponseSchema = apiKeyItemSchema.extend({
122615
123076
  token: external_exports.string()
122616
123077
  });
122617
- var apiKeysContract = c62.router({
123078
+ var apiKeysContract = c64.router({
122618
123079
  list: {
122619
123080
  method: "GET",
122620
123081
  path: "/api/zero/api-keys",
@@ -122640,14 +123101,14 @@ var apiKeysContract = c62.router({
122640
123101
  summary: "Create a new API key (token returned once)"
122641
123102
  }
122642
123103
  });
122643
- var apiKeysByIdContract = c62.router({
123104
+ var apiKeysByIdContract = c64.router({
122644
123105
  delete: {
122645
123106
  method: "DELETE",
122646
123107
  path: "/api/zero/api-keys/:id",
122647
123108
  headers: authHeadersSchema,
122648
123109
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
122649
123110
  responses: {
122650
- 204: c62.noBody(),
123111
+ 204: c64.noBody(),
122651
123112
  401: apiErrorSchema,
122652
123113
  404: apiErrorSchema,
122653
123114
  500: apiErrorSchema
@@ -122658,7 +123119,7 @@ var apiKeysByIdContract = c62.router({
122658
123119
 
122659
123120
  // ../../packages/api-contracts/src/contracts/zero-custom-connectors.ts
122660
123121
  init_esm_shims();
122661
- var c63 = initContract();
123122
+ var c65 = initContract();
122662
123123
  var customConnectorResponseSchema = external_exports.object({
122663
123124
  id: external_exports.string().uuid(),
122664
123125
  slug: external_exports.string(),
@@ -122686,7 +123147,7 @@ var setCustomConnectorSecretBodySchema = external_exports.object({
122686
123147
  var patchCustomConnectorBodySchema = external_exports.object({
122687
123148
  displayName: external_exports.string().min(1).max(128)
122688
123149
  });
122689
- var zeroCustomConnectorsContract = c63.router({
123150
+ var zeroCustomConnectorsContract = c65.router({
122690
123151
  list: {
122691
123152
  method: "GET",
122692
123153
  path: "/api/zero/custom-connectors",
@@ -122713,14 +123174,14 @@ var zeroCustomConnectorsContract = c63.router({
122713
123174
  summary: "Create an org custom connector"
122714
123175
  }
122715
123176
  });
122716
- var zeroCustomConnectorByIdContract = c63.router({
123177
+ var zeroCustomConnectorByIdContract = c65.router({
122717
123178
  delete: {
122718
123179
  method: "DELETE",
122719
123180
  path: "/api/zero/custom-connectors/:id",
122720
123181
  headers: authHeadersSchema,
122721
123182
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
122722
123183
  responses: {
122723
- 204: c63.noBody(),
123184
+ 204: c65.noBody(),
122724
123185
  401: apiErrorSchema,
122725
123186
  403: apiErrorSchema,
122726
123187
  404: apiErrorSchema,
@@ -122745,7 +123206,7 @@ var zeroCustomConnectorByIdContract = c63.router({
122745
123206
  summary: "Rename an org custom connector"
122746
123207
  }
122747
123208
  });
122748
- var zeroCustomConnectorSecretContract = c63.router({
123209
+ var zeroCustomConnectorSecretContract = c65.router({
122749
123210
  set: {
122750
123211
  method: "PUT",
122751
123212
  path: "/api/zero/custom-connectors/:id/secret",
@@ -122753,7 +123214,7 @@ var zeroCustomConnectorSecretContract = c63.router({
122753
123214
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
122754
123215
  body: setCustomConnectorSecretBodySchema,
122755
123216
  responses: {
122756
- 204: c63.noBody(),
123217
+ 204: c65.noBody(),
122757
123218
  400: apiErrorSchema,
122758
123219
  401: apiErrorSchema,
122759
123220
  404: apiErrorSchema,
@@ -122767,7 +123228,7 @@ var zeroCustomConnectorSecretContract = c63.router({
122767
123228
  headers: authHeadersSchema,
122768
123229
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
122769
123230
  responses: {
122770
- 204: c63.noBody(),
123231
+ 204: c65.noBody(),
122771
123232
  401: apiErrorSchema,
122772
123233
  404: apiErrorSchema,
122773
123234
  500: apiErrorSchema
@@ -122778,11 +123239,11 @@ var zeroCustomConnectorSecretContract = c63.router({
122778
123239
 
122779
123240
  // ../../packages/api-contracts/src/contracts/zero-agent-custom-connectors.ts
122780
123241
  init_esm_shims();
122781
- var c64 = initContract();
123242
+ var c66 = initContract();
122782
123243
  var agentCustomConnectorEnabledIdsSchema = external_exports.object({
122783
123244
  enabledIds: external_exports.array(external_exports.string().uuid())
122784
123245
  });
122785
- var zeroAgentCustomConnectorsContract = c64.router({
123246
+ var zeroAgentCustomConnectorsContract = c66.router({
122786
123247
  get: {
122787
123248
  method: "GET",
122788
123249
  path: "/api/zero/agents/:id/custom-connectors",
@@ -122815,7 +123276,7 @@ var zeroAgentCustomConnectorsContract = c64.router({
122815
123276
 
122816
123277
  // ../../packages/api-contracts/src/contracts/integrations-github.ts
122817
123278
  init_esm_shims();
122818
- var c65 = initContract();
123279
+ var c67 = initContract();
122819
123280
  var githubInstallationEnvironmentSchema = external_exports.object({
122820
123281
  requiredSecrets: external_exports.array(external_exports.string()),
122821
123282
  requiredVars: external_exports.array(external_exports.string()),
@@ -122849,7 +123310,7 @@ var patchGithubInstallationBodySchema = external_exports.object({
122849
123310
  var updateGithubInstallationResponseSchema = external_exports.object({
122850
123311
  ok: external_exports.literal(true)
122851
123312
  });
122852
- var integrationsGithubContract = c65.router({
123313
+ var integrationsGithubContract = c67.router({
122853
123314
  getInstallation: {
122854
123315
  method: "GET",
122855
123316
  path: "/api/integrations/github",
@@ -122867,7 +123328,7 @@ var integrationsGithubContract = c65.router({
122867
123328
  method: "DELETE",
122868
123329
  path: "/api/integrations/github",
122869
123330
  headers: authHeadersSchema,
122870
- body: c65.noBody(),
123331
+ body: c67.noBody(),
122871
123332
  responses: {
122872
123333
  200: deleteGithubInstallationResponseSchema,
122873
123334
  401: apiErrorSchema,
@@ -122896,7 +123357,7 @@ var integrationsGithubContract = c65.router({
122896
123357
 
122897
123358
  // ../../packages/api-contracts/src/contracts/github-oauth.ts
122898
123359
  init_esm_shims();
122899
- var c66 = initContract();
123360
+ var c68 = initContract();
122900
123361
  var jsonErrorSchema = external_exports.object({ error: external_exports.string() });
122901
123362
  var githubOauthInstallQuerySchema = external_exports.object({
122902
123363
  vm0UserId: external_exports.string().optional(),
@@ -122909,13 +123370,13 @@ var githubOauthCallbackQuerySchema = external_exports.object({
122909
123370
  target_id: external_exports.string().optional(),
122910
123371
  target_type: external_exports.string().optional()
122911
123372
  });
122912
- var githubOauthContract = c66.router({
123373
+ var githubOauthContract = c68.router({
122913
123374
  install: {
122914
123375
  method: "GET",
122915
123376
  path: "/api/github/oauth/install",
122916
123377
  query: githubOauthInstallQuerySchema,
122917
123378
  responses: {
122918
- 307: c66.noBody(),
123379
+ 307: c68.noBody(),
122919
123380
  503: jsonErrorSchema
122920
123381
  },
122921
123382
  summary: "Start GitHub App OAuth install"
@@ -122925,7 +123386,7 @@ var githubOauthContract = c66.router({
122925
123386
  path: "/api/github/oauth/callback",
122926
123387
  query: githubOauthCallbackQuerySchema,
122927
123388
  responses: {
122928
- 307: c66.noBody()
123389
+ 307: c68.noBody()
122929
123390
  },
122930
123391
  summary: "Handle GitHub App OAuth callback"
122931
123392
  }
@@ -122933,7 +123394,7 @@ var githubOauthContract = c66.router({
122933
123394
 
122934
123395
  // ../../packages/api-contracts/src/contracts/zero-billing.ts
122935
123396
  init_esm_shims();
122936
- var c67 = initContract();
123397
+ var c69 = initContract();
122937
123398
  var autoRechargeSchema = external_exports.object({
122938
123399
  enabled: external_exports.boolean(),
122939
123400
  threshold: external_exports.number().nullable(),
@@ -123021,7 +123482,7 @@ var redeemRequestSchema = external_exports.object({
123021
123482
  successUrl: external_exports.string().url(),
123022
123483
  cancelUrl: external_exports.string().url()
123023
123484
  });
123024
- var zeroBillingStatusContract = c67.router({
123485
+ var zeroBillingStatusContract = c69.router({
123025
123486
  get: {
123026
123487
  method: "GET",
123027
123488
  path: "/api/zero/billing/status",
@@ -123034,7 +123495,7 @@ var zeroBillingStatusContract = c67.router({
123034
123495
  summary: "Get billing status for current org"
123035
123496
  }
123036
123497
  });
123037
- var zeroBillingCheckoutContract = c67.router({
123498
+ var zeroBillingCheckoutContract = c69.router({
123038
123499
  create: {
123039
123500
  method: "POST",
123040
123501
  path: "/api/zero/billing/checkout",
@@ -123051,7 +123512,7 @@ var zeroBillingCheckoutContract = c67.router({
123051
123512
  summary: "Create Stripe checkout session"
123052
123513
  }
123053
123514
  });
123054
- var zeroBillingPortalContract = c67.router({
123515
+ var zeroBillingPortalContract = c69.router({
123055
123516
  create: {
123056
123517
  method: "POST",
123057
123518
  path: "/api/zero/billing/portal",
@@ -123068,7 +123529,7 @@ var zeroBillingPortalContract = c67.router({
123068
123529
  summary: "Create Stripe billing portal session"
123069
123530
  }
123070
123531
  });
123071
- var zeroBillingAutoRechargeContract = c67.router({
123532
+ var zeroBillingAutoRechargeContract = c69.router({
123072
123533
  get: {
123073
123534
  method: "GET",
123074
123535
  path: "/api/zero/billing/auto-recharge",
@@ -123106,7 +123567,7 @@ var invoiceSchema = external_exports.object({
123106
123567
  var billingInvoicesResponseSchema = external_exports.object({
123107
123568
  invoices: external_exports.array(invoiceSchema)
123108
123569
  });
123109
- var zeroBillingInvoicesContract = c67.router({
123570
+ var zeroBillingInvoicesContract = c69.router({
123110
123571
  get: {
123111
123572
  method: "GET",
123112
123573
  path: "/api/zero/billing/invoices",
@@ -123127,7 +123588,7 @@ var downgradeResponseSchema = external_exports.object({
123127
123588
  success: external_exports.boolean(),
123128
123589
  effectiveDate: external_exports.string().nullable()
123129
123590
  });
123130
- var zeroBillingDowngradeContract = c67.router({
123591
+ var zeroBillingDowngradeContract = c69.router({
123131
123592
  create: {
123132
123593
  method: "POST",
123133
123594
  path: "/api/zero/billing/downgrade",
@@ -123145,7 +123606,7 @@ var zeroBillingDowngradeContract = c67.router({
123145
123606
  summary: "Downgrade subscription to a lower tier"
123146
123607
  }
123147
123608
  });
123148
- var zeroBillingRedeemContract = c67.router({
123609
+ var zeroBillingRedeemContract = c69.router({
123149
123610
  create: {
123150
123611
  method: "POST",
123151
123612
  path: "/api/zero/billing/redeem/:campaign",
@@ -123166,7 +123627,7 @@ var zeroBillingRedeemContract = c67.router({
123166
123627
 
123167
123628
  // ../../packages/api-contracts/src/contracts/zero-usage.ts
123168
123629
  init_esm_shims();
123169
- var c68 = initContract();
123630
+ var c70 = initContract();
123170
123631
  var memberUsageSchema = external_exports.object({
123171
123632
  userId: external_exports.string(),
123172
123633
  email: external_exports.string(),
@@ -123184,7 +123645,7 @@ var usageMembersResponseSchema = external_exports.object({
123184
123645
  }).nullable(),
123185
123646
  members: external_exports.array(memberUsageSchema)
123186
123647
  });
123187
- var zeroUsageMembersContract = c68.router({
123648
+ var zeroUsageMembersContract = c70.router({
123188
123649
  get: {
123189
123650
  method: "GET",
123190
123651
  path: "/api/zero/usage/members",
@@ -123200,7 +123661,7 @@ var zeroUsageMembersContract = c68.router({
123200
123661
 
123201
123662
  // ../../packages/api-contracts/src/contracts/zero-usage-daily.ts
123202
123663
  init_esm_shims();
123203
- var c69 = initContract();
123664
+ var c71 = initContract();
123204
123665
  var usageRunSchema = external_exports.object({
123205
123666
  runId: external_exports.string(),
123206
123667
  agentName: external_exports.string().nullable(),
@@ -123227,7 +123688,7 @@ var usageRunsResponseSchema = external_exports.object({
123227
123688
  total: external_exports.number()
123228
123689
  })
123229
123690
  });
123230
- var zeroUsageRunsContract = c69.router({
123691
+ var zeroUsageRunsContract = c71.router({
123231
123692
  get: {
123232
123693
  method: "GET",
123233
123694
  path: "/api/zero/usage/runs",
@@ -123253,7 +123714,7 @@ var zeroUsageRunsContract = c69.router({
123253
123714
 
123254
123715
  // ../../packages/api-contracts/src/contracts/zero-usage-insight.ts
123255
123716
  init_esm_shims();
123256
- var c70 = initContract();
123717
+ var c72 = initContract();
123257
123718
  var usageInsightBucketSchema = external_exports.object({
123258
123719
  ts: external_exports.string(),
123259
123720
  // ISO string for the bucket start
@@ -123290,7 +123751,7 @@ var usageInsightResponseSchema = external_exports.object({
123290
123751
  grandTotalCredits: external_exports.number(),
123291
123752
  grandTotalTokens: external_exports.number()
123292
123753
  });
123293
- var zeroUsageInsightContract = c70.router({
123754
+ var zeroUsageInsightContract = c72.router({
123294
123755
  get: {
123295
123756
  method: "GET",
123296
123757
  path: "/api/zero/usage/insight",
@@ -123313,7 +123774,7 @@ var zeroUsageInsightContract = c70.router({
123313
123774
 
123314
123775
  // ../../packages/api-contracts/src/contracts/usage.ts
123315
123776
  init_esm_shims();
123316
- var c71 = initContract();
123777
+ var c73 = initContract();
123317
123778
  var dailyUsageSchema = external_exports.object({
123318
123779
  date: external_exports.string(),
123319
123780
  run_count: external_exports.number(),
@@ -123330,7 +123791,7 @@ var usageResponseSchema = external_exports.object({
123330
123791
  }),
123331
123792
  daily: external_exports.array(dailyUsageSchema)
123332
123793
  });
123333
- var usageContract = c71.router({
123794
+ var usageContract = c73.router({
123334
123795
  get: {
123335
123796
  method: "GET",
123336
123797
  path: "/api/usage",
@@ -123351,7 +123812,7 @@ var usageContract = c71.router({
123351
123812
 
123352
123813
  // ../../packages/api-contracts/src/contracts/zero-team.ts
123353
123814
  init_esm_shims();
123354
- var c72 = initContract();
123815
+ var c74 = initContract();
123355
123816
  var teamComposeItemSchema = external_exports.object({
123356
123817
  id: external_exports.string(),
123357
123818
  ownerId: external_exports.string().optional(),
@@ -123363,7 +123824,7 @@ var teamComposeItemSchema = external_exports.object({
123363
123824
  headVersionId: external_exports.string().nullable(),
123364
123825
  updatedAt: external_exports.string()
123365
123826
  });
123366
- var zeroTeamContract = c72.router({
123827
+ var zeroTeamContract = c74.router({
123367
123828
  list: {
123368
123829
  method: "GET",
123369
123830
  path: "/api/zero/team",
@@ -123380,7 +123841,7 @@ var zeroTeamContract = c72.router({
123380
123841
 
123381
123842
  // ../../packages/api-contracts/src/contracts/zero-integrations-slack.ts
123382
123843
  init_esm_shims();
123383
- var c73 = initContract();
123844
+ var c75 = initContract();
123384
123845
  var slackEnvironmentSchema = external_exports.object({
123385
123846
  requiredSecrets: external_exports.array(external_exports.string()),
123386
123847
  requiredVars: external_exports.array(external_exports.string()),
@@ -123402,7 +123863,7 @@ var slackOrgStatusSchema = external_exports.object({
123402
123863
  /** OAuth install URL for re-authorization (admin-only, when scopeMismatch). */
123403
123864
  reinstallUrl: external_exports.string().nullable().optional()
123404
123865
  });
123405
- var zeroIntegrationsSlackContract = c73.router({
123866
+ var zeroIntegrationsSlackContract = c75.router({
123406
123867
  getStatus: {
123407
123868
  method: "GET",
123408
123869
  path: "/api/zero/integrations/slack",
@@ -123417,7 +123878,7 @@ var zeroIntegrationsSlackContract = c73.router({
123417
123878
  method: "DELETE",
123418
123879
  path: "/api/zero/integrations/slack",
123419
123880
  headers: authHeadersSchema,
123420
- body: c73.noBody(),
123881
+ body: c75.noBody(),
123421
123882
  query: external_exports.object({
123422
123883
  action: external_exports.string().optional()
123423
123884
  }),
@@ -123433,7 +123894,7 @@ var zeroIntegrationsSlackContract = c73.router({
123433
123894
 
123434
123895
  // ../../packages/api-contracts/src/contracts/zero-slack-connect.ts
123435
123896
  init_esm_shims();
123436
- var c74 = initContract();
123897
+ var c76 = initContract();
123437
123898
  var slackConnectStatusSchema = external_exports.object({
123438
123899
  isConnected: external_exports.boolean(),
123439
123900
  isAdmin: external_exports.boolean(),
@@ -123445,7 +123906,7 @@ var slackConnectResponseSchema = external_exports.object({
123445
123906
  connectionId: external_exports.string(),
123446
123907
  role: external_exports.string()
123447
123908
  });
123448
- var zeroSlackConnectContract = c74.router({
123909
+ var zeroSlackConnectContract = c76.router({
123449
123910
  getStatus: {
123450
123911
  method: "GET",
123451
123912
  path: "/api/zero/integrations/slack/connect",
@@ -123479,12 +123940,12 @@ var zeroSlackConnectContract = c74.router({
123479
123940
 
123480
123941
  // ../../packages/api-contracts/src/contracts/zero-slack-commands.ts
123481
123942
  init_esm_shims();
123482
- var c75 = initContract();
123483
- var zeroSlackCommandsContract = c75.router({
123943
+ var c77 = initContract();
123944
+ var zeroSlackCommandsContract = c77.router({
123484
123945
  post: {
123485
123946
  method: "POST",
123486
123947
  path: "/api/zero/slack/commands",
123487
- body: c75.type(),
123948
+ body: c77.type(),
123488
123949
  responses: {
123489
123950
  200: external_exports.unknown(),
123490
123951
  401: external_exports.object({ error: external_exports.string() }),
@@ -123496,12 +123957,12 @@ var zeroSlackCommandsContract = c75.router({
123496
123957
 
123497
123958
  // ../../packages/api-contracts/src/contracts/zero-slack-events.ts
123498
123959
  init_esm_shims();
123499
- var c76 = initContract();
123500
- var zeroSlackEventsContract = c76.router({
123960
+ var c78 = initContract();
123961
+ var zeroSlackEventsContract = c78.router({
123501
123962
  post: {
123502
123963
  method: "POST",
123503
123964
  path: "/api/zero/slack/events",
123504
- body: c76.type(),
123965
+ body: c78.type(),
123505
123966
  responses: {
123506
123967
  200: external_exports.unknown(),
123507
123968
  400: external_exports.object({ error: external_exports.string() }),
@@ -123514,12 +123975,12 @@ var zeroSlackEventsContract = c76.router({
123514
123975
 
123515
123976
  // ../../packages/api-contracts/src/contracts/zero-slack-interactive.ts
123516
123977
  init_esm_shims();
123517
- var c77 = initContract();
123518
- var zeroSlackInteractiveContract = c77.router({
123978
+ var c79 = initContract();
123979
+ var zeroSlackInteractiveContract = c79.router({
123519
123980
  post: {
123520
123981
  method: "POST",
123521
123982
  path: "/api/zero/slack/interactive",
123522
- body: c77.type(),
123983
+ body: c79.type(),
123523
123984
  responses: {
123524
123985
  200: external_exports.unknown(),
123525
123986
  400: external_exports.object({ error: external_exports.string() }),
@@ -123532,7 +123993,7 @@ var zeroSlackInteractiveContract = c77.router({
123532
123993
 
123533
123994
  // ../../packages/api-contracts/src/contracts/zero-slack-browser-connect.ts
123534
123995
  init_esm_shims();
123535
- var c78 = initContract();
123996
+ var c80 = initContract();
123536
123997
  var zeroSlackBrowserConnectQuerySchema = external_exports.object({
123537
123998
  w: external_exports.string().optional(),
123538
123999
  u: external_exports.string().optional(),
@@ -123540,13 +124001,13 @@ var zeroSlackBrowserConnectQuerySchema = external_exports.object({
123540
124001
  t: external_exports.string().optional(),
123541
124002
  orgId: external_exports.string().optional()
123542
124003
  });
123543
- var zeroSlackBrowserConnectContract = c78.router({
124004
+ var zeroSlackBrowserConnectContract = c80.router({
123544
124005
  connect: {
123545
124006
  method: "GET",
123546
124007
  path: "/api/zero/slack/connect",
123547
124008
  query: zeroSlackBrowserConnectQuerySchema,
123548
124009
  responses: {
123549
- 307: c78.noBody(),
124010
+ 307: c80.noBody(),
123550
124011
  500: external_exports.object({ error: external_exports.string() })
123551
124012
  },
123552
124013
  summary: "Browser Slack connect flow"
@@ -123555,7 +124016,7 @@ var zeroSlackBrowserConnectContract = c78.router({
123555
124016
 
123556
124017
  // ../../packages/api-contracts/src/contracts/zero-slack-oauth.ts
123557
124018
  init_esm_shims();
123558
- var c79 = initContract();
124019
+ var c81 = initContract();
123559
124020
  var jsonErrorSchema2 = external_exports.object({ error: external_exports.string() });
123560
124021
  var zeroSlackOauthInstallQuerySchema = external_exports.object({
123561
124022
  orgId: external_exports.string().optional(),
@@ -123573,13 +124034,13 @@ var zeroSlackOauthCallbackQuerySchema = external_exports.object({
123573
124034
  error: external_exports.string().optional(),
123574
124035
  state: external_exports.string().optional()
123575
124036
  });
123576
- var zeroSlackOauthContract = c79.router({
124037
+ var zeroSlackOauthContract = c81.router({
123577
124038
  install: {
123578
124039
  method: "GET",
123579
124040
  path: "/api/zero/slack/oauth/install",
123580
124041
  query: zeroSlackOauthInstallQuerySchema,
123581
124042
  responses: {
123582
- 307: c79.noBody(),
124043
+ 307: c81.noBody(),
123583
124044
  503: jsonErrorSchema2
123584
124045
  },
123585
124046
  summary: "Start Slack bot OAuth install"
@@ -123589,7 +124050,7 @@ var zeroSlackOauthContract = c79.router({
123589
124050
  path: "/api/zero/slack/oauth/connect",
123590
124051
  query: zeroSlackOauthConnectQuerySchema,
123591
124052
  responses: {
123592
- 307: c79.noBody(),
124053
+ 307: c81.noBody(),
123593
124054
  400: jsonErrorSchema2,
123594
124055
  404: jsonErrorSchema2,
123595
124056
  503: jsonErrorSchema2
@@ -123601,7 +124062,7 @@ var zeroSlackOauthContract = c79.router({
123601
124062
  path: "/api/zero/slack/oauth/callback",
123602
124063
  query: zeroSlackOauthCallbackQuerySchema,
123603
124064
  responses: {
123604
- 307: c79.noBody(),
124065
+ 307: c81.noBody(),
123605
124066
  400: jsonErrorSchema2,
123606
124067
  503: jsonErrorSchema2
123607
124068
  },
@@ -123611,12 +124072,12 @@ var zeroSlackOauthContract = c79.router({
123611
124072
 
123612
124073
  // ../../packages/api-contracts/src/contracts/zero-slack-channels.ts
123613
124074
  init_esm_shims();
123614
- var c80 = initContract();
124075
+ var c82 = initContract();
123615
124076
  var slackChannelSchema = external_exports.object({
123616
124077
  id: external_exports.string(),
123617
124078
  name: external_exports.string()
123618
124079
  });
123619
- var zeroSlackChannelsContract = c80.router({
124080
+ var zeroSlackChannelsContract = c82.router({
123620
124081
  list: {
123621
124082
  method: "GET",
123622
124083
  path: "/api/zero/slack/channels",
@@ -123632,12 +124093,12 @@ var zeroSlackChannelsContract = c80.router({
123632
124093
 
123633
124094
  // ../../packages/api-contracts/src/contracts/zero-queue-position.ts
123634
124095
  init_esm_shims();
123635
- var c81 = initContract();
124096
+ var c83 = initContract();
123636
124097
  var queuePositionResponseSchema = external_exports.object({
123637
124098
  position: external_exports.number(),
123638
124099
  total: external_exports.number()
123639
124100
  });
123640
- var zeroQueuePositionContract = c81.router({
124101
+ var zeroQueuePositionContract = c83.router({
123641
124102
  getPosition: {
123642
124103
  method: "GET",
123643
124104
  path: "/api/zero/queue-position",
@@ -123657,13 +124118,13 @@ var zeroQueuePositionContract = c81.router({
123657
124118
 
123658
124119
  // ../../packages/api-contracts/src/contracts/zero-member-credit-cap.ts
123659
124120
  init_esm_shims();
123660
- var c82 = initContract();
124121
+ var c84 = initContract();
123661
124122
  var memberCreditCapResponseSchema = external_exports.object({
123662
124123
  userId: external_exports.string(),
123663
124124
  creditCap: external_exports.number().nullable(),
123664
124125
  creditEnabled: external_exports.boolean()
123665
124126
  });
123666
- var zeroMemberCreditCapContract = c82.router({
124127
+ var zeroMemberCreditCapContract = c84.router({
123667
124128
  get: {
123668
124129
  method: "GET",
123669
124130
  path: "/api/zero/org/members/credit-cap",
@@ -123698,7 +124159,7 @@ var zeroMemberCreditCapContract = c82.router({
123698
124159
 
123699
124160
  // ../../packages/api-contracts/src/contracts/zero-report-error.ts
123700
124161
  init_esm_shims();
123701
- var c83 = initContract();
124162
+ var c85 = initContract();
123702
124163
  var reportErrorBodySchema = external_exports.object({
123703
124164
  runId: external_exports.uuid("Run ID must be a valid UUID"),
123704
124165
  title: external_exports.string().min(1, "Title is required"),
@@ -123707,7 +124168,7 @@ var reportErrorBodySchema = external_exports.object({
123707
124168
  var reportErrorResponseSchema = external_exports.object({
123708
124169
  reference: external_exports.string()
123709
124170
  });
123710
- var zeroReportErrorContract = c83.router({
124171
+ var zeroReportErrorContract = c85.router({
123711
124172
  submit: {
123712
124173
  method: "POST",
123713
124174
  path: "/api/zero/report-error",
@@ -123726,7 +124187,7 @@ var zeroReportErrorContract = c83.router({
123726
124187
 
123727
124188
  // ../../packages/api-contracts/src/contracts/zero-insights.ts
123728
124189
  init_esm_shims();
123729
- var c84 = initContract();
124190
+ var c86 = initContract();
123730
124191
  var insightAgentSchema = external_exports.object({
123731
124192
  agentName: external_exports.string(),
123732
124193
  agentId: external_exports.string().nullable(),
@@ -123791,7 +124252,7 @@ var insightsRangeResponseSchema = external_exports.object({
123791
124252
  maxDate: external_exports.string().nullable(),
123792
124253
  totalDays: external_exports.number()
123793
124254
  });
123794
- var zeroInsightsContract = c84.router({
124255
+ var zeroInsightsContract = c86.router({
123795
124256
  get: {
123796
124257
  method: "GET",
123797
124258
  path: "/api/zero/insights",
@@ -123806,7 +124267,7 @@ var zeroInsightsContract = c84.router({
123806
124267
  summary: "Get daily insights for the authenticated org"
123807
124268
  }
123808
124269
  });
123809
- var zeroInsightsRangeContract = c84.router({
124270
+ var zeroInsightsRangeContract = c86.router({
123810
124271
  get: {
123811
124272
  method: "GET",
123812
124273
  path: "/api/zero/insights/range",
@@ -123821,8 +124282,8 @@ var zeroInsightsRangeContract = c84.router({
123821
124282
 
123822
124283
  // ../../packages/api-contracts/src/contracts/push-subscriptions.ts
123823
124284
  init_esm_shims();
123824
- var c85 = initContract();
123825
- var pushSubscriptionsContract = c85.router({
124285
+ var c87 = initContract();
124286
+ var pushSubscriptionsContract = c87.router({
123826
124287
  register: {
123827
124288
  method: "POST",
123828
124289
  path: "/api/zero/push-subscriptions",
@@ -123846,7 +124307,7 @@ var pushSubscriptionsContract = c85.router({
123846
124307
 
123847
124308
  // ../../packages/api-contracts/src/contracts/zero-image-io-generate.ts
123848
124309
  init_esm_shims();
123849
- var c86 = initContract();
124310
+ var c88 = initContract();
123850
124311
  var zeroImageIoGenerateRequestSchema = external_exports.object({
123851
124312
  prompt: external_exports.unknown().optional(),
123852
124313
  size: external_exports.unknown().optional(),
@@ -123879,7 +124340,7 @@ var zeroImageIoGenerateResponseSchema = external_exports.object({
123879
124340
  revisedPrompt: external_exports.string().optional(),
123880
124341
  usage: zeroImageIoUsageSchema
123881
124342
  });
123882
- var zeroImageIoGenerateContract = c86.router({
124343
+ var zeroImageIoGenerateContract = c88.router({
123883
124344
  post: {
123884
124345
  method: "POST",
123885
124346
  path: "/api/zero/image-io/generate",
@@ -123901,7 +124362,7 @@ var zeroImageIoGenerateContract = c86.router({
123901
124362
 
123902
124363
  // ../../packages/api-contracts/src/contracts/zero-video-io-generate.ts
123903
124364
  init_esm_shims();
123904
- var c87 = initContract();
124365
+ var c89 = initContract();
123905
124366
  var zeroVideoIoGenerateRequestSchema = external_exports.object({
123906
124367
  prompt: external_exports.unknown().optional(),
123907
124368
  model: external_exports.unknown().optional(),
@@ -123930,7 +124391,7 @@ var zeroVideoIoGenerateResponseSchema = external_exports.object({
123930
124391
  sourceUrl: external_exports.string(),
123931
124392
  requestId: external_exports.string().optional()
123932
124393
  });
123933
- var zeroVideoIoGenerateContract = c87.router({
124394
+ var zeroVideoIoGenerateContract = c89.router({
123934
124395
  post: {
123935
124396
  method: "POST",
123936
124397
  path: "/api/zero/video-io/generate",
@@ -123953,8 +124414,8 @@ var zeroVideoIoGenerateContract = c87.router({
123953
124414
 
123954
124415
  // ../../packages/api-contracts/src/contracts/internal-callbacks-agent.ts
123955
124416
  init_esm_shims();
123956
- var c88 = initContract();
123957
- var internalCallbacksAgentContract = c88.router({
124417
+ var c90 = initContract();
124418
+ var internalCallbacksAgentContract = c90.router({
123958
124419
  post: {
123959
124420
  method: "POST",
123960
124421
  path: "/api/internal/callbacks/agent",
@@ -123972,7 +124433,7 @@ var internalCallbacksAgentContract = c88.router({
123972
124433
 
123973
124434
  // ../../packages/api-contracts/src/contracts/internal-callbacks-github-issues.ts
123974
124435
  init_esm_shims();
123975
- var c89 = initContract();
124436
+ var c91 = initContract();
123976
124437
  var githubIssuesCallbackPayloadSchema = external_exports.object({
123977
124438
  installationId: external_exports.string(),
123978
124439
  repo: external_exports.string(),
@@ -123983,7 +124444,7 @@ var githubIssuesCallbackPayloadSchema = external_exports.object({
123983
124444
  triggerReactionId: external_exports.string().optional(),
123984
124445
  triggerCommentBody: external_exports.string().optional()
123985
124446
  }).passthrough();
123986
- var internalCallbacksGithubIssuesContract = c89.router({
124447
+ var internalCallbacksGithubIssuesContract = c91.router({
123987
124448
  post: {
123988
124449
  method: "POST",
123989
124450
  path: "/api/internal/callbacks/github/issues",
@@ -124004,7 +124465,7 @@ var internalCallbacksGithubIssuesContract = c89.router({
124004
124465
 
124005
124466
  // ../../packages/api-contracts/src/contracts/internal-callbacks-schedule.ts
124006
124467
  init_esm_shims();
124007
- var c90 = initContract();
124468
+ var c92 = initContract();
124008
124469
  var scheduleLoopCallbackPayloadSchema = external_exports.object({
124009
124470
  scheduleId: external_exports.string()
124010
124471
  }).passthrough();
@@ -124012,7 +124473,7 @@ var scheduleCronCallbackPayloadSchema = scheduleLoopCallbackPayloadSchema.extend
124012
124473
  timezone: external_exports.string(),
124013
124474
  cronExpression: external_exports.string().optional()
124014
124475
  }).passthrough();
124015
- var internalCallbacksScheduleContract = c90.router({
124476
+ var internalCallbacksScheduleContract = c92.router({
124016
124477
  cron: {
124017
124478
  method: "POST",
124018
124479
  path: "/api/internal/callbacks/schedule/cron",
@@ -124047,13 +124508,13 @@ var internalCallbacksScheduleContract = c90.router({
124047
124508
 
124048
124509
  // ../../packages/api-contracts/src/contracts/zero-voice-io-quota.ts
124049
124510
  init_esm_shims();
124050
- var c91 = initContract();
124511
+ var c93 = initContract();
124051
124512
  var audioInputQuotaResponseSchema = external_exports.object({
124052
124513
  allowed: external_exports.boolean(),
124053
124514
  count: external_exports.number().int().nonnegative(),
124054
124515
  limit: external_exports.number().int().positive().nullable()
124055
124516
  });
124056
- var zeroVoiceIoQuotaContract = c91.router({
124517
+ var zeroVoiceIoQuotaContract = c93.router({
124057
124518
  get: {
124058
124519
  method: "GET",
124059
124520
  path: "/api/zero/voice-io/quota",
@@ -124069,7 +124530,7 @@ var zeroVoiceIoQuotaContract = c91.router({
124069
124530
 
124070
124531
  // ../../packages/api-contracts/src/contracts/zero-voice-io-speech.ts
124071
124532
  init_esm_shims();
124072
- var c92 = initContract();
124533
+ var c94 = initContract();
124073
124534
  var zeroVoiceIoSpeechRequestSchema = external_exports.object({
124074
124535
  text: external_exports.unknown().optional(),
124075
124536
  voice: external_exports.unknown().optional(),
@@ -124086,7 +124547,7 @@ var zeroVoiceIoSpeechResponseSchema = external_exports.object({
124086
124547
  model: external_exports.string(),
124087
124548
  voice: external_exports.string()
124088
124549
  });
124089
- var zeroVoiceIoSpeechContract = c92.router({
124550
+ var zeroVoiceIoSpeechContract = c94.router({
124090
124551
  post: {
124091
124552
  method: "POST",
124092
124553
  path: "/api/zero/voice-io/speech",
@@ -124108,7 +124569,7 @@ var zeroVoiceIoSpeechContract = c92.router({
124108
124569
 
124109
124570
  // ../../packages/api-contracts/src/contracts/zero-voice-io-stt.ts
124110
124571
  init_esm_shims();
124111
- var c93 = initContract();
124572
+ var c95 = initContract();
124112
124573
  var zeroVoiceIoSttResponseSchema = external_exports.object({
124113
124574
  text: external_exports.string()
124114
124575
  });
@@ -124118,13 +124579,13 @@ var zeroVoiceIoSttQuotaErrorSchema = apiErrorSchema.extend({
124118
124579
  limit: external_exports.number().nullable()
124119
124580
  }).optional()
124120
124581
  });
124121
- var zeroVoiceIoSttContract = c93.router({
124582
+ var zeroVoiceIoSttContract = c95.router({
124122
124583
  post: {
124123
124584
  method: "POST",
124124
124585
  path: "/api/zero/voice-io/stt",
124125
124586
  headers: authHeadersSchema,
124126
124587
  contentType: "multipart/form-data",
124127
- body: c93.type(),
124588
+ body: c95.type(),
124128
124589
  responses: {
124129
124590
  200: zeroVoiceIoSttResponseSchema,
124130
124591
  400: apiErrorSchema,
@@ -124140,18 +124601,18 @@ var zeroVoiceIoSttContract = c93.router({
124140
124601
 
124141
124602
  // ../../packages/api-contracts/src/contracts/zero-voice-io-tts.ts
124142
124603
  init_esm_shims();
124143
- var c94 = initContract();
124604
+ var c96 = initContract();
124144
124605
  var zeroVoiceIoTtsRequestSchema = external_exports.object({
124145
124606
  text: external_exports.unknown().optional()
124146
124607
  }).passthrough();
124147
- var zeroVoiceIoTtsContract = c94.router({
124608
+ var zeroVoiceIoTtsContract = c96.router({
124148
124609
  post: {
124149
124610
  method: "POST",
124150
124611
  path: "/api/zero/voice-io/tts",
124151
124612
  headers: authHeadersSchema,
124152
124613
  body: zeroVoiceIoTtsRequestSchema,
124153
124614
  responses: {
124154
- 200: c94.otherResponse({
124615
+ 200: c96.otherResponse({
124155
124616
  contentType: "application/octet-stream",
124156
124617
  body: external_exports.unknown()
124157
124618
  }),
@@ -124166,7 +124627,7 @@ var zeroVoiceIoTtsContract = c94.router({
124166
124627
 
124167
124628
  // ../../packages/api-contracts/src/contracts/zero-voice-chat.ts
124168
124629
  init_esm_shims();
124169
- var c95 = initContract();
124630
+ var c97 = initContract();
124170
124631
  var voiceChatItemRoleSchema = external_exports.enum([
124171
124632
  "user",
124172
124633
  "assistant",
@@ -124263,7 +124724,7 @@ var sessionEndedBodySchema = external_exports.object({
124263
124724
  relaySessionId: external_exports.uuid()
124264
124725
  });
124265
124726
  var okResponseSchema = external_exports.object({ ok: external_exports.literal(true) });
124266
- var zeroVoiceChatContract = c95.router({
124727
+ var zeroVoiceChatContract = c97.router({
124267
124728
  createSession: {
124268
124729
  method: "POST",
124269
124730
  path: "/api/zero/voice-chat",
@@ -124438,7 +124899,7 @@ var zeroVoiceChatContract = c95.router({
124438
124899
 
124439
124900
  // ../../packages/api-contracts/src/contracts/zero-uploads.ts
124440
124901
  init_esm_shims();
124441
- var c96 = initContract();
124902
+ var c98 = initContract();
124442
124903
  var prepareRequestSchema = external_exports.object({
124443
124904
  filename: external_exports.string().min(1).max(255),
124444
124905
  contentType: external_exports.string().min(1).max(200),
@@ -124465,7 +124926,7 @@ var completeResponseSchema = external_exports.object({
124465
124926
  size: external_exports.number(),
124466
124927
  url: external_exports.string().url()
124467
124928
  });
124468
- var zeroUploadsContract = c96.router({
124929
+ var zeroUploadsContract = c98.router({
124469
124930
  prepare: {
124470
124931
  method: "POST",
124471
124932
  path: "/api/zero/uploads/prepare",
@@ -124499,7 +124960,7 @@ var zeroUploadsContract = c96.router({
124499
124960
 
124500
124961
  // ../../packages/api-contracts/src/contracts/zero-integrations-telegram.ts
124501
124962
  init_esm_shims();
124502
- var c97 = initContract();
124963
+ var c99 = initContract();
124503
124964
  var telegramEnvironmentSchema = external_exports.object({
124504
124965
  requiredSecrets: external_exports.array(external_exports.string()),
124505
124966
  requiredVars: external_exports.array(external_exports.string()),
@@ -124598,7 +125059,7 @@ var telegramSetupStatusSchema = external_exports.object({
124598
125059
  var telegramWebhookPathParamsSchema = external_exports.object({
124599
125060
  telegramBotId: external_exports.string().min(1)
124600
125061
  });
124601
- var zeroIntegrationsTelegramContract = c97.router({
125062
+ var zeroIntegrationsTelegramContract = c99.router({
124602
125063
  list: {
124603
125064
  method: "GET",
124604
125065
  path: "/api/integrations/telegram",
@@ -124641,9 +125102,9 @@ var zeroIntegrationsTelegramContract = c97.router({
124641
125102
  path: "/api/integrations/telegram/:botId",
124642
125103
  headers: authHeadersSchema,
124643
125104
  pathParams: external_exports.object({ botId: external_exports.string().min(1) }),
124644
- body: c97.noBody(),
125105
+ body: c99.noBody(),
124645
125106
  responses: {
124646
- 204: c97.noBody(),
125107
+ 204: c99.noBody(),
124647
125108
  401: apiErrorSchema,
124648
125109
  403: apiErrorSchema,
124649
125110
  404: apiErrorSchema
@@ -124654,10 +125115,10 @@ var zeroIntegrationsTelegramContract = c97.router({
124654
125115
  method: "DELETE",
124655
125116
  path: "/api/integrations/telegram/link",
124656
125117
  headers: authHeadersSchema,
124657
- body: c97.noBody(),
125118
+ body: c99.noBody(),
124658
125119
  query: external_exports.object({ botId: external_exports.string().optional() }),
124659
125120
  responses: {
124660
- 204: c97.noBody(),
125121
+ 204: c99.noBody(),
124661
125122
  401: apiErrorSchema,
124662
125123
  404: apiErrorSchema
124663
125124
  },
@@ -124688,7 +125149,7 @@ var zeroIntegrationsTelegramContract = c97.router({
124688
125149
  sig: external_exports.string().optional()
124689
125150
  }),
124690
125151
  responses: {
124691
- 200: c97.otherResponse({
125152
+ 200: c99.otherResponse({
124692
125153
  contentType: "application/octet-stream",
124693
125154
  body: external_exports.unknown()
124694
125155
  }),
@@ -124703,7 +125164,7 @@ var zeroIntegrationsTelegramContract = c97.router({
124703
125164
  method: "GET",
124704
125165
  path: "/api/integrations/telegram/auth-callback",
124705
125166
  responses: {
124706
- 200: c97.otherResponse({
125167
+ 200: c99.otherResponse({
124707
125168
  contentType: "text/html",
124708
125169
  body: external_exports.unknown()
124709
125170
  })
@@ -124762,19 +125223,19 @@ var zeroIntegrationsTelegramContract = c97.router({
124762
125223
  pathParams: telegramWebhookPathParamsSchema,
124763
125224
  body: external_exports.unknown(),
124764
125225
  responses: {
124765
- 200: c97.otherResponse({
125226
+ 200: c99.otherResponse({
124766
125227
  contentType: "text/plain",
124767
125228
  body: external_exports.string()
124768
125229
  }),
124769
- 400: c97.otherResponse({
125230
+ 400: c99.otherResponse({
124770
125231
  contentType: "text/plain",
124771
125232
  body: external_exports.string()
124772
125233
  }),
124773
- 401: c97.otherResponse({
125234
+ 401: c99.otherResponse({
124774
125235
  contentType: "text/plain",
124775
125236
  body: external_exports.string()
124776
125237
  }),
124777
- 404: c97.otherResponse({
125238
+ 404: c99.otherResponse({
124778
125239
  contentType: "text/plain",
124779
125240
  body: external_exports.string()
124780
125241
  })
@@ -124785,7 +125246,7 @@ var zeroIntegrationsTelegramContract = c97.router({
124785
125246
 
124786
125247
  // ../../packages/api-contracts/src/contracts/zero-integrations-agentphone.ts
124787
125248
  init_esm_shims();
124788
- var c98 = initContract();
125249
+ var c100 = initContract();
124789
125250
  var agentPhoneConnectBodySchema = external_exports.object({
124790
125251
  phoneHandle: external_exports.string().min(1),
124791
125252
  agentphoneAgentId: external_exports.string().min(1),
@@ -124796,6 +125257,12 @@ var agentPhoneConnectBodySchema = external_exports.object({
124796
125257
  var agentPhoneConnectResponseSchema = external_exports.object({
124797
125258
  phoneHandle: external_exports.string()
124798
125259
  });
125260
+ var agentPhoneWebhookHeadersSchema = external_exports.object({
125261
+ "x-webhook-signature": external_exports.string().optional(),
125262
+ "x-webhook-timestamp": external_exports.string().optional(),
125263
+ "x-webhook-event": external_exports.string().optional(),
125264
+ "x-webhook-id": external_exports.string().optional()
125265
+ });
124799
125266
  var agentPhoneLinkStatusResponseSchema = external_exports.discriminatedUnion("linked", [
124800
125267
  external_exports.object({
124801
125268
  linked: external_exports.literal(true),
@@ -124816,7 +125283,7 @@ var agentPhoneStartLinkResponseSchema = external_exports.object({
124816
125283
  phoneHandle: external_exports.string(),
124817
125284
  verificationSent: external_exports.literal(true)
124818
125285
  });
124819
- var zeroIntegrationsAgentPhoneContract = c98.router({
125286
+ var zeroIntegrationsAgentPhoneContract = c100.router({
124820
125287
  connectAgentPhone: {
124821
125288
  method: "POST",
124822
125289
  path: "/api/agentphone/connect",
@@ -124830,6 +125297,19 @@ var zeroIntegrationsAgentPhoneContract = c98.router({
124830
125297
  },
124831
125298
  summary: "Link the authenticated VM0 user to an AgentPhone phone handle"
124832
125299
  },
125300
+ webhook: {
125301
+ method: "POST",
125302
+ path: "/api/agentphone/webhook",
125303
+ headers: agentPhoneWebhookHeadersSchema,
125304
+ body: c100.type(),
125305
+ responses: {
125306
+ 200: external_exports.string(),
125307
+ 400: external_exports.string(),
125308
+ 401: external_exports.string(),
125309
+ 404: external_exports.string()
125310
+ },
125311
+ summary: "Handle AgentPhone inbound message webhooks"
125312
+ },
124833
125313
  getLinkStatus: {
124834
125314
  method: "GET",
124835
125315
  path: "/api/integrations/agentphone/link",
@@ -124861,9 +125341,9 @@ var zeroIntegrationsAgentPhoneContract = c98.router({
124861
125341
  method: "DELETE",
124862
125342
  path: "/api/integrations/agentphone/link",
124863
125343
  headers: authHeadersSchema,
124864
- body: c98.noBody(),
125344
+ body: c100.noBody(),
124865
125345
  responses: {
124866
- 204: c98.noBody(),
125346
+ 204: c100.noBody(),
124867
125347
  401: apiErrorSchema,
124868
125348
  403: apiErrorSchema,
124869
125349
  404: apiErrorSchema
@@ -125083,9 +125563,9 @@ var FEATURE_SWITCHES = {
125083
125563
  enabled: false,
125084
125564
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
125085
125565
  },
125086
- ["stripeCliAuth" /* StripeCliAuth */]: {
125566
+ ["cliAuthStripe" /* CliAuthStripe */]: {
125087
125567
  maintainer: "liangyou@vm0.ai",
125088
- description: "Gate Stripe-specific CLI auth UI and API surfaces. Stripe CLI auth consumers should also require CliAuth.",
125568
+ description: "Gate Stripe-specific CLI auth UI and API surfaces. CLI auth for Stripe consumers should also require CliAuth.",
125089
125569
  enabled: false,
125090
125570
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
125091
125571
  },
@@ -125129,6 +125609,12 @@ var FEATURE_SWITCHES = {
125129
125609
  description: "Enable remote desktop host registration",
125130
125610
  enabled: false
125131
125611
  },
125612
+ ["localBrowserUse" /* LocalBrowserUse */]: {
125613
+ maintainer: "ethan@vm0.ai",
125614
+ description: "Enable the Local Browser connector and user-authorized browser host lifecycle",
125615
+ enabled: false,
125616
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
125617
+ },
125132
125618
  ["remoteAgent" /* RemoteAgent */]: {
125133
125619
  maintainer: "lancy@vm0.ai",
125134
125620
  description: "Enable remote-agent device pairing and local Codex/Claude host heartbeat endpoints.",
@@ -125609,9 +126095,9 @@ var CodexEventParser = class {
125609
126095
  if (!item.changes || item.changes.length === 0) {
125610
126096
  return null;
125611
126097
  }
125612
- const changes = item.changes.map((c99) => {
125613
- const action = c99.kind === "add" ? "Created" : c99.kind === "modify" ? "Modified" : "Deleted";
125614
- return `${action}: ${c99.path}`;
126098
+ const changes = item.changes.map((c101) => {
126099
+ const action = c101.kind === "add" ? "Created" : c101.kind === "modify" ? "Modified" : "Deleted";
126100
+ return `${action}: ${c101.path}`;
125615
126101
  }).join("\n");
125616
126102
  return {
125617
126103
  type: "text",
@@ -126787,4 +127273,4 @@ undici/lib/web/fetch/body.js:
126787
127273
  undici/lib/web/websocket/frame.js:
126788
127274
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
126789
127275
  */
126790
- //# sourceMappingURL=chunk-USVVSPWL.js.map
127276
+ //# sourceMappingURL=chunk-VKCZANPE.js.map