@vm0/cli 9.146.1 → 9.147.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4629,8 +4629,8 @@ var require_browser = __commonJS({
4629
4629
  if (!this.useColors) {
4630
4630
  return;
4631
4631
  }
4632
- const c65 = "color: " + this.color;
4633
- args.splice(1, 0, c65, "color: inherit");
4632
+ const c79 = "color: " + this.color;
4633
+ args.splice(1, 0, c79, "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, c65);
4645
+ args.splice(lastC, 0, c79);
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 c65 = this.color;
4934
- const colorCode = "\x1B[3" + (c65 < 8 ? c65 : "8;5;" + c65);
4933
+ const c79 = this.color;
4934
+ const colorCode = "\x1B[3" + (c79 < 8 ? c79 : "8;5;" + c79);
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 c65;
8984
+ let c79;
8985
8985
  if (isAlphaSequence) {
8986
- c65 = String.fromCharCode(i);
8987
- if (c65 === "\\") {
8988
- c65 = "";
8986
+ c79 = String.fromCharCode(i);
8987
+ if (c79 === "\\") {
8988
+ c79 = "";
8989
8989
  }
8990
8990
  } else {
8991
- c65 = String(i);
8991
+ c79 = String(i);
8992
8992
  if (pad) {
8993
- const need = width - c65.length;
8993
+ const need = width - c79.length;
8994
8994
  if (need > 0) {
8995
8995
  const z3 = new Array(need + 1).join("0");
8996
8996
  if (i < 0) {
8997
- c65 = "-" + z3 + c65.slice(1);
8997
+ c79 = "-" + z3 + c79.slice(1);
8998
8998
  } else {
8999
- c65 = z3 + c65;
8999
+ c79 = z3 + c79;
9000
9000
  }
9001
9001
  }
9002
9002
  }
9003
9003
  }
9004
- N.push(c65);
9004
+ N.push(c79);
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 c65 = glob.charAt(i);
9088
- if ((c65 === "!" || c65 === "^") && i === pos + 1) {
9087
+ const c79 = glob.charAt(i);
9088
+ if ((c79 === "!" || c79 === "^") && i === pos + 1) {
9089
9089
  negate = true;
9090
9090
  i++;
9091
9091
  continue;
9092
9092
  }
9093
- if (c65 === "]" && sawStart && !escaping) {
9093
+ if (c79 === "]" && sawStart && !escaping) {
9094
9094
  endPos = i + 1;
9095
9095
  break;
9096
9096
  }
9097
9097
  sawStart = true;
9098
- if (c65 === "\\") {
9098
+ if (c79 === "\\") {
9099
9099
  if (!escaping) {
9100
9100
  escaping = true;
9101
9101
  i++;
9102
9102
  continue;
9103
9103
  }
9104
9104
  }
9105
- if (c65 === "[" && !escaping) {
9105
+ if (c79 === "[" && !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 (c65 > rangeStart) {
9124
- ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c65));
9125
- } else if (c65 === rangeStart) {
9126
- ranges.push(braceEscape(c65));
9123
+ if (c79 > rangeStart) {
9124
+ ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c79));
9125
+ } else if (c79 === rangeStart) {
9126
+ ranges.push(braceEscape(c79));
9127
9127
  }
9128
9128
  rangeStart = "";
9129
9129
  i++;
9130
9130
  continue;
9131
9131
  }
9132
9132
  if (glob.startsWith("-]", i + 1)) {
9133
- ranges.push(braceEscape(c65 + "-"));
9133
+ ranges.push(braceEscape(c79 + "-"));
9134
9134
  i += 2;
9135
9135
  continue;
9136
9136
  }
9137
9137
  if (glob.startsWith("-", i + 1)) {
9138
- rangeStart = c65;
9138
+ rangeStart = c79;
9139
9139
  i += 2;
9140
9140
  continue;
9141
9141
  }
9142
- ranges.push(braceEscape(c65));
9142
+ ranges.push(braceEscape(c79));
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 = (c65) => types.has(c65);
9193
- var isExtglobAST = (c65) => isExtglobType(c65.type);
9192
+ var isExtglobType = (c79) => types.has(c79);
9193
+ var isExtglobAST = (c79) => isExtglobType(c79.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 c65 = new _a2(this.type, parent);
9390
+ const c79 = new _a2(this.type, parent);
9391
9391
  for (const p of this.#parts) {
9392
- c65.copyIn(p);
9392
+ c79.copyIn(p);
9393
9393
  }
9394
- return c65;
9394
+ return c79;
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 c65 = str.charAt(i2++);
9407
- if (escaping || c65 === "\\") {
9406
+ const c79 = str.charAt(i2++);
9407
+ if (escaping || c79 === "\\") {
9408
9408
  escaping = !escaping;
9409
- acc2 += c65;
9409
+ acc2 += c79;
9410
9410
  continue;
9411
9411
  }
9412
9412
  if (inBrace) {
9413
9413
  if (i2 === braceStart + 1) {
9414
- if (c65 === "^" || c65 === "!") {
9414
+ if (c79 === "^" || c79 === "!") {
9415
9415
  braceNeg = true;
9416
9416
  }
9417
- } else if (c65 === "]" && !(i2 === braceStart + 2 && braceNeg)) {
9417
+ } else if (c79 === "]" && !(i2 === braceStart + 2 && braceNeg)) {
9418
9418
  inBrace = false;
9419
9419
  }
9420
- acc2 += c65;
9420
+ acc2 += c79;
9421
9421
  continue;
9422
- } else if (c65 === "[") {
9422
+ } else if (c79 === "[") {
9423
9423
  inBrace = true;
9424
9424
  braceStart = i2;
9425
9425
  braceNeg = false;
9426
- acc2 += c65;
9426
+ acc2 += c79;
9427
9427
  continue;
9428
9428
  }
9429
- const doRecurse = !opt.noext && isExtglobType(c65) && str.charAt(i2) === "(" && extDepth <= maxDepth;
9429
+ const doRecurse = !opt.noext && isExtglobType(c79) && str.charAt(i2) === "(" && extDepth <= maxDepth;
9430
9430
  if (doRecurse) {
9431
9431
  ast.push(acc2);
9432
9432
  acc2 = "";
9433
- const ext = new _a2(c65, ast);
9433
+ const ext = new _a2(c79, ast);
9434
9434
  i2 = _a2.#parseAST(str, ext, i2, opt, extDepth + 1);
9435
9435
  ast.push(ext);
9436
9436
  continue;
9437
9437
  }
9438
- acc2 += c65;
9438
+ acc2 += c79;
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 c65 = str.charAt(i++);
9449
- if (escaping || c65 === "\\") {
9448
+ const c79 = str.charAt(i++);
9449
+ if (escaping || c79 === "\\") {
9450
9450
  escaping = !escaping;
9451
- acc += c65;
9451
+ acc += c79;
9452
9452
  continue;
9453
9453
  }
9454
9454
  if (inBrace) {
9455
9455
  if (i === braceStart + 1) {
9456
- if (c65 === "^" || c65 === "!") {
9456
+ if (c79 === "^" || c79 === "!") {
9457
9457
  braceNeg = true;
9458
9458
  }
9459
- } else if (c65 === "]" && !(i === braceStart + 2 && braceNeg)) {
9459
+ } else if (c79 === "]" && !(i === braceStart + 2 && braceNeg)) {
9460
9460
  inBrace = false;
9461
9461
  }
9462
- acc += c65;
9462
+ acc += c79;
9463
9463
  continue;
9464
- } else if (c65 === "[") {
9464
+ } else if (c79 === "[") {
9465
9465
  inBrace = true;
9466
9466
  braceStart = i;
9467
9467
  braceNeg = false;
9468
- acc += c65;
9468
+ acc += c79;
9469
9469
  continue;
9470
9470
  }
9471
- const doRecurse = !opt.noext && isExtglobType(c65) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
9472
- (extDepth <= maxDepth || ast && ast.#canAdoptType(c65));
9471
+ const doRecurse = !opt.noext && isExtglobType(c79) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
9472
+ (extDepth <= maxDepth || ast && ast.#canAdoptType(c79));
9473
9473
  if (doRecurse) {
9474
- const depthAdd = ast && ast.#canAdoptType(c65) ? 0 : 1;
9474
+ const depthAdd = ast && ast.#canAdoptType(c79) ? 0 : 1;
9475
9475
  part.push(acc);
9476
9476
  acc = "";
9477
- const ext = new _a2(c65, part);
9477
+ const ext = new _a2(c79, part);
9478
9478
  part.push(ext);
9479
9479
  i = _a2.#parseAST(str, ext, i, opt, extDepth + depthAdd);
9480
9480
  continue;
9481
9481
  }
9482
- if (c65 === "|") {
9482
+ if (c79 === "|") {
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 (c65 === ")") {
9489
+ if (c79 === ")") {
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 += c65;
9498
+ acc += c79;
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(c65, map2 = adoptionAnyMap) {
9519
- return !!map2.get(this.type)?.includes(c65);
9518
+ #canAdoptType(c79, map2 = adoptionAnyMap) {
9519
+ return !!map2.get(this.type)?.includes(c79);
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(c65) {
9537
+ #canUsurpType(c79) {
9538
9538
  const m = usurpMap.get(this.type);
9539
- return !!m?.has(c65);
9539
+ return !!m?.has(c79);
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 c65 = this.#parts[i];
9753
- if (typeof c65 === "object") {
9754
- c65.#flatten();
9755
- if (this.#canAdopt(c65)) {
9752
+ const c79 = this.#parts[i];
9753
+ if (typeof c79 === "object") {
9754
+ c79.#flatten();
9755
+ if (this.#canAdopt(c79)) {
9756
9756
  done = false;
9757
- this.#adopt(c65, i);
9758
- } else if (this.#canAdoptWithSpace(c65)) {
9757
+ this.#adopt(c79, i);
9758
+ } else if (this.#canAdoptWithSpace(c79)) {
9759
9759
  done = false;
9760
- this.#adoptWithSpace(c65, i);
9761
- } else if (this.#canUsurp(c65)) {
9760
+ this.#adoptWithSpace(c79, i);
9761
+ } else if (this.#canUsurp(c79)) {
9762
9762
  done = false;
9763
- this.#usurp(c65);
9763
+ this.#usurp(c79);
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 c65 = glob.charAt(i);
9787
+ const c79 = glob.charAt(i);
9788
9788
  if (escaping) {
9789
9789
  escaping = false;
9790
- re += (reSpecials.has(c65) ? "\\" : "") + c65;
9790
+ re += (reSpecials.has(c79) ? "\\" : "") + c79;
9791
9791
  continue;
9792
9792
  }
9793
- if (c65 === "*") {
9793
+ if (c79 === "*") {
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 (c65 === "\\") {
9803
+ if (c79 === "\\") {
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 (c65 === "[") {
9811
+ if (c79 === "[") {
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 (c65 === "?") {
9821
+ if (c79 === "?") {
9822
9822
  re += qmark;
9823
9823
  hasMagic = true;
9824
9824
  continue;
9825
9825
  }
9826
- re += regExpEscape(c65);
9826
+ re += regExpEscape(c79);
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 c65 = pool.config.connectionConfig;
13750
+ const c79 = pool.config.connectionConfig;
13751
13751
  let poolName = "";
13752
- poolName += c65.host ? `host: '${c65.host}', ` : "";
13753
- poolName += c65.port ? `port: ${c65.port}, ` : "";
13754
- poolName += c65.database ? `database: '${c65.database}', ` : "";
13755
- poolName += c65.user ? `user: '${c65.user}'` : "";
13756
- if (!c65.user) {
13752
+ poolName += c79.host ? `host: '${c79.host}', ` : "";
13753
+ poolName += c79.port ? `port: ${c79.port}, ` : "";
13754
+ poolName += c79.database ? `database: '${c79.database}', ` : "";
13755
+ poolName += c79.user ? `user: '${c79.user}'` : "";
13756
+ if (!c79.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, (c65) => `%${c65.charCodeAt(0).toString(16).toUpperCase()}`);
14108
+ return encodeURIComponent(str).replace(/[!'()*]/g, (c79) => `%${c79.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(c65) {
22669
- switch (c65) {
22668
+ function isTokenCharCode(c79) {
22669
+ switch (c79) {
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 c65 >= 33 && c65 <= 126;
22689
+ return c79 >= 33 && c79 <= 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((c65) => c65 !== 44);
24278
+ exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c79) => c79 !== 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 c65 = statusText.charCodeAt(i);
25425
- if (!(c65 === 9 || // HTAB
25426
- c65 >= 32 && c65 <= 126 || // SP / VCHAR
25427
- c65 >= 128 && c65 <= 255)) {
25424
+ const c79 = statusText.charCodeAt(i);
25425
+ if (!(c79 === 9 || // HTAB
25426
+ c79 >= 32 && c79 <= 126 || // SP / VCHAR
25427
+ c79 >= 128 && c79 <= 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((c65) => c65.close())).then(pool[kClosedResolve]);
29401
+ Promise.all(pool[kClients].map((c79) => c79.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((c65) => c65.close()));
29450
+ await Promise.all(this[kClients].map((c79) => c79.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((c65) => c65.destroy(err)));
29465
+ await Promise.all(this[kClients].map((c79) => c79.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, c65] = ioQueue;
36236
- if (a === 239 && b === 187 && c65 === 191) {
36235
+ const [a, b, c79] = ioQueue;
36236
+ if (a === 239 && b === 187 && c79 === 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 c65 = require_kleur();
40359
+ var c79 = 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: c65.red(figures.cross),
40382
- done: c65.green(figures.tick),
40383
- exited: c65.yellow(figures.cross),
40384
- default: c65.cyan("?")
40381
+ aborted: c79.red(figures.cross),
40382
+ done: c79.green(figures.tick),
40383
+ exited: c79.yellow(figures.cross),
40384
+ default: c79.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) => c65.gray(completing ? figures.ellipsis : figures.pointerSmall);
40388
- var item = (expandable, expanded) => c65.gray(expandable ? expanded ? figures.pointerSmall : "+" : figures.line);
40387
+ var delimiter = (completing) => c79.gray(completing ? figures.ellipsis : figures.pointerSmall);
40388
+ var item = (expandable, expanded) => c79.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
- _(c65, key) {
40670
+ _(c79, key) {
40671
40671
  let s1 = this.value.slice(0, this.cursor);
40672
40672
  let s2 = this.value.slice(this.cursor);
40673
- this.value = `${s1}${c65}${s2}`;
40673
+ this.value = `${s1}${c79}${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
- _(c65, key) {
40849
- if (c65 === " ") return this.submit();
40848
+ _(c79, key) {
40849
+ if (c79 === " ") 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
- _(c65, key) {
40976
- if (c65 === " ") {
40975
+ _(c79, key) {
40976
+ if (c79 === " ") {
40977
40977
  this.value = !this.value;
40978
- } else if (c65 === "1") {
40978
+ } else if (c79 === "1") {
40979
40979
  this.value = true;
40980
- } else if (c65 === "0") {
40980
+ } else if (c79 === "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
- _(c65) {
41489
- if (/\d/.test(c65)) {
41490
- this.typed += c65;
41488
+ _(c79) {
41489
+ if (/\d/.test(c79)) {
41490
+ this.typed += c79;
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(c65) {
41600
- return c65 === `-` || c65 === `.` && this.float || isNumber.test(c65);
41599
+ valid(c79) {
41600
+ return c79 === `-` || c79 === `.` && this.float || isNumber.test(c79);
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
- _(c65, key) {
41694
- if (!this.valid(c65)) return this.bell();
41693
+ _(c79, key) {
41694
+ if (!this.valid(c79)) return this.bell();
41695
41695
  const now = Date.now();
41696
41696
  if (now - this.lastHit > 1e3) this.typed = ``;
41697
- this.typed += c65;
41697
+ this.typed += c79;
41698
41698
  this.lastHit = now;
41699
41699
  this.color = `cyan`;
41700
- if (c65 === `.`) return this.fire();
41700
+ if (c79 === `.`) 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
- _(c65, key) {
41865
- if (c65 === " ") {
41864
+ _(c79, key) {
41865
+ if (c79 === " ") {
41866
41866
  this.handleSpaceToggle();
41867
- } else if (c65 === "a") {
41867
+ } else if (c79 === "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
- _(c65, key) {
42108
+ _(c79, key) {
42109
42109
  let s1 = this.input.slice(0, this.cursor);
42110
42110
  let s2 = this.input.slice(this.cursor);
42111
- this.input = `${s1}${c65}${s2}`;
42111
+ this.input = `${s1}${c79}${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(c65) {
42312
- this.inputValue = this.inputValue + c65;
42311
+ handleInputChange(c79) {
42312
+ this.inputValue = this.inputValue + c79;
42313
42313
  this.updateFilteredOptions();
42314
42314
  }
42315
- _(c65, key) {
42316
- if (c65 === " ") {
42315
+ _(c79, key) {
42316
+ if (c79 === " ") {
42317
42317
  this.handleSpaceToggle();
42318
42318
  } else {
42319
- this.handleInputChange(c65);
42319
+ this.handleInputChange(c79);
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
- _(c65, key) {
42426
- if (c65.toLowerCase() === "y") {
42425
+ _(c79, key) {
42426
+ if (c79.toLowerCase() === "y") {
42427
42427
  this.value = true;
42428
42428
  return this.submit();
42429
42429
  }
42430
- if (c65.toLowerCase() === "n") {
42430
+ if (c79.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 c65 = require_kleur();
42871
+ var c79 = 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: c65.red(figures.cross),
42882
- done: c65.green(figures.tick),
42883
- exited: c65.yellow(figures.cross),
42884
- default: c65.cyan("?")
42881
+ aborted: c79.red(figures.cross),
42882
+ done: c79.green(figures.tick),
42883
+ exited: c79.yellow(figures.cross),
42884
+ default: c79.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) => c65.gray(completing ? figures.ellipsis : figures.pointerSmall);
42888
- var item = (expandable, expanded) => c65.gray(expandable ? expanded ? figures.pointerSmall : "+" : figures.line);
42887
+ var delimiter = (completing) => c79.gray(completing ? figures.ellipsis : figures.pointerSmall);
42888
+ var item = (expandable, expanded) => c79.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
- _(c65, key) {
43121
+ _(c79, key) {
43122
43122
  let s1 = this.value.slice(0, this.cursor);
43123
43123
  let s2 = this.value.slice(this.cursor);
43124
- this.value = `${s1}${c65}${s2}`;
43124
+ this.value = `${s1}${c79}${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
- _(c65, key) {
43299
- if (c65 === " ") return this.submit();
43298
+ _(c79, key) {
43299
+ if (c79 === " ") 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
- _(c65, key) {
43424
- if (c65 === " ") {
43423
+ _(c79, key) {
43424
+ if (c79 === " ") {
43425
43425
  this.value = !this.value;
43426
- } else if (c65 === "1") {
43426
+ } else if (c79 === "1") {
43427
43427
  this.value = true;
43428
- } else if (c65 === "0") {
43428
+ } else if (c79 === "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
- _(c65) {
43885
- if (/\d/.test(c65)) {
43886
- this.typed += c65;
43884
+ _(c79) {
43885
+ if (/\d/.test(c79)) {
43886
+ this.typed += c79;
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(c65) {
43969
- return c65 === `-` || c65 === `.` && this.float || isNumber.test(c65);
43968
+ valid(c79) {
43969
+ return c79 === `-` || c79 === `.` && this.float || isNumber.test(c79);
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
- _(c65, key) {
44057
- if (!this.valid(c65)) return this.bell();
44056
+ _(c79, key) {
44057
+ if (!this.valid(c79)) return this.bell();
44058
44058
  const now = Date.now();
44059
44059
  if (now - this.lastHit > 1e3) this.typed = ``;
44060
- this.typed += c65;
44060
+ this.typed += c79;
44061
44061
  this.lastHit = now;
44062
44062
  this.color = `cyan`;
44063
- if (c65 === `.`) return this.fire();
44063
+ if (c79 === `.`) 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
- _(c65, key) {
44226
- if (c65 === " ") {
44225
+ _(c79, key) {
44226
+ if (c79 === " ") {
44227
44227
  this.handleSpaceToggle();
44228
- } else if (c65 === "a") {
44228
+ } else if (c79 === "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
- _(c65, key) {
44425
+ _(c79, key) {
44426
44426
  let s1 = this.input.slice(0, this.cursor);
44427
44427
  let s2 = this.input.slice(this.cursor);
44428
- this.input = `${s1}${c65}${s2}`;
44428
+ this.input = `${s1}${c79}${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(c65) {
44632
- this.inputValue = this.inputValue + c65;
44631
+ handleInputChange(c79) {
44632
+ this.inputValue = this.inputValue + c79;
44633
44633
  this.updateFilteredOptions();
44634
44634
  }
44635
- _(c65, key) {
44636
- if (c65 === " ") {
44635
+ _(c79, key) {
44636
+ if (c79 === " ") {
44637
44637
  this.handleSpaceToggle();
44638
44638
  } else {
44639
- this.handleInputChange(c65);
44639
+ this.handleInputChange(c79);
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
- _(c65, key) {
44747
- if (c65.toLowerCase() === "y") {
44746
+ _(c79, key) {
44747
+ if (c79.toLowerCase() === "y") {
44748
44748
  this.value = true;
44749
44749
  return this.submit();
44750
44750
  }
44751
- if (c65.toLowerCase() === "n") {
44751
+ if (c79.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 c65 = getAliasCount(doc, item, anchors2);
45638
- if (c65 > count)
45639
- count = c65;
45637
+ const c79 = getAliasCount(doc, item, anchors2);
45638
+ if (c79 > count)
45639
+ count = c79;
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 c65 of classes) {
53180
- out.push(`.${c65}`);
53179
+ for (const c79 of classes) {
53180
+ out.push(`.${c79}`);
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
- (c65) => (
53412
+ (c79) => (
53413
53413
  // eslint-disable-next-line no-bitwise
53414
- (c65 ^ (getRandomByte() & 15) >> c65 / 4).toString(16)
53414
+ (c79 ^ (getRandomByte() & 15) >> c79 / 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(c65, next) {
72471
+ return function(c79, next) {
72472
72472
  if (!instrumentation.isEnabled()) {
72473
- return handler.apply(this, [c65, next]);
72473
+ return handler.apply(this, [c79, next]);
72474
72474
  }
72475
- const path3 = c65.req.path;
72475
+ const path3 = c79.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, [c65, next]);
72480
+ const result = handler.apply(this, [c79, 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.146.1",
74086
+ release: "9.147.0",
74087
74087
  sendDefaultPii: false,
74088
74088
  tracesSampleRate: 0,
74089
74089
  shutdownTimeout: 500,
@@ -74102,7 +74102,7 @@ if (DSN) {
74102
74102
  }
74103
74103
  });
74104
74104
  setContext("cli", {
74105
- version: "9.146.1",
74105
+ version: "9.147.0",
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, (c65) => c65 === "-" ? "+" : "/");
77351
+ const base643 = data.replace(/[-_]/g, (c79) => c79 === "-" ? "+" : "/");
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 c65 = inst._zod.bag;
87463
- inst.minDate = c65.minimum ? new Date(c65.minimum) : null;
87464
- inst.maxDate = c65.maximum ? new Date(c65.maximum) : null;
87462
+ const c79 = inst._zod.bag;
87463
+ inst.minDate = c79.minimum ? new Date(c79.minimum) : null;
87464
+ inst.maxDate = c79.maximum ? new Date(c79.maximum) : null;
87465
87465
  });
87466
87466
  function date3(params) {
87467
87467
  return _date(ZodDate, params);
@@ -93151,7 +93151,8 @@ var composesMainContract = c.router({
93151
93151
  200: composeResponseSchema,
93152
93152
  400: apiErrorSchema,
93153
93153
  401: apiErrorSchema,
93154
- 403: apiErrorSchema
93154
+ 403: apiErrorSchema,
93155
+ 404: apiErrorSchema
93155
93156
  },
93156
93157
  summary: "Get agent compose by name"
93157
93158
  },
@@ -94735,8 +94736,10 @@ var storagesListContract = c6.router({
94735
94736
  updatedAt: external_exports.string()
94736
94737
  })
94737
94738
  ),
94739
+ 400: apiErrorSchema,
94738
94740
  401: apiErrorSchema,
94739
94741
  403: apiErrorSchema,
94742
+ 404: apiErrorSchema,
94740
94743
  500: apiErrorSchema
94741
94744
  },
94742
94745
  summary: "List user storages by type"
@@ -94903,6 +94906,7 @@ var zeroOrgLeaveContract = c8.router({
94903
94906
  body: external_exports.object({}),
94904
94907
  responses: {
94905
94908
  200: orgMessageResponseSchema,
94909
+ 400: apiErrorSchema,
94906
94910
  401: apiErrorSchema,
94907
94911
  403: apiErrorSchema,
94908
94912
  500: apiErrorSchema
@@ -94921,6 +94925,7 @@ var zeroOrgDeleteContract = c8.router({
94921
94925
  400: apiErrorSchema,
94922
94926
  401: apiErrorSchema,
94923
94927
  403: apiErrorSchema,
94928
+ 404: apiErrorSchema,
94924
94929
  500: apiErrorSchema
94925
94930
  },
94926
94931
  summary: "Delete the current org (zero proxy)"
@@ -96378,6 +96383,7 @@ var zeroModelProvidersMainContract = c13.router({
96378
96383
  400: apiErrorSchema,
96379
96384
  401: apiErrorSchema,
96380
96385
  403: apiErrorSchema,
96386
+ 404: apiErrorSchema,
96381
96387
  500: apiErrorSchema
96382
96388
  },
96383
96389
  summary: "Create or update an org-level model provider (admin only)"
@@ -103923,6 +103929,7 @@ var zeroSchedulesByNameContract = c18.router({
103923
103929
  }),
103924
103930
  responses: {
103925
103931
  204: c18.noBody(),
103932
+ 400: apiErrorSchema,
103926
103933
  401: apiErrorSchema,
103927
103934
  403: apiErrorSchema,
103928
103935
  404: apiErrorSchema
@@ -105889,6 +105896,12 @@ var remoteAgentRunResponseSchema = external_exports.object({
105889
105896
  startedAt: external_exports.string().nullable(),
105890
105897
  completedAt: external_exports.string().nullable()
105891
105898
  });
105899
+ var remoteAgentRunListItemSchema = remoteAgentRunResponseSchema.omit({ output: true, error: true }).extend({
105900
+ hostName: external_exports.string().nullable()
105901
+ });
105902
+ var remoteAgentRunListResponseSchema = external_exports.object({
105903
+ runs: external_exports.array(remoteAgentRunListItemSchema)
105904
+ });
105892
105905
  var remoteAgentHostJobNextResponseSchema = external_exports.discriminatedUnion(
105893
105906
  "status",
105894
105907
  [
@@ -106004,6 +106017,23 @@ var zeroRemoteAgentHostRealtimeContract = c26.router({
106004
106017
  }
106005
106018
  });
106006
106019
  var zeroRemoteAgentRunContract = c26.router({
106020
+ list: {
106021
+ method: "GET",
106022
+ path: "/api/zero/remote-agent/runs",
106023
+ headers: authHeadersSchema,
106024
+ query: external_exports.object({
106025
+ status: remoteAgentJobStatusSchema.optional(),
106026
+ hostId: external_exports.string().min(1).optional(),
106027
+ hostName: external_exports.string().trim().min(1).max(128).optional(),
106028
+ limit: external_exports.coerce.number().int().min(1).max(100).default(20)
106029
+ }),
106030
+ responses: {
106031
+ 200: remoteAgentRunListResponseSchema,
106032
+ 401: apiErrorSchema,
106033
+ 403: apiErrorSchema
106034
+ },
106035
+ summary: "List remote-agent jobs"
106036
+ },
106007
106037
  create: {
106008
106038
  method: "POST",
106009
106039
  path: "/api/zero/remote-agent/run",
@@ -106217,7 +106247,7 @@ async function startRemoteAgentHost(params) {
106217
106247
  async function listRemoteAgentHosts() {
106218
106248
  const config4 = await getRemoteAgentClientConfig();
106219
106249
  const client = initClient(zeroRemoteAgentHostsContract, config4);
106220
- const result = await client.list();
106250
+ const result = await client.list({ headers: {} });
106221
106251
  if (result.status === 200) {
106222
106252
  return result.body;
106223
106253
  }
@@ -106243,6 +106273,21 @@ async function getRemoteAgentRun(jobId) {
106243
106273
  }
106244
106274
  handleError(result, "Failed to get remote-agent run");
106245
106275
  }
106276
+ async function listRemoteAgentRuns(params) {
106277
+ const config4 = await getRemoteAgentClientConfig();
106278
+ const client = initClient(zeroRemoteAgentRunContract, config4);
106279
+ const result = await client.list({
106280
+ headers: {},
106281
+ query: {
106282
+ ...params,
106283
+ limit: params.limit ?? 20
106284
+ }
106285
+ });
106286
+ if (result.status === 200) {
106287
+ return result.body;
106288
+ }
106289
+ handleError(result, "Failed to list remote-agent runs");
106290
+ }
106246
106291
  async function claimNextRemoteAgentHostJob(params) {
106247
106292
  const baseUrl = resolveRemoteAgentApiBaseUrl(await getBaseUrl());
106248
106293
  const client = initClient(zeroRemoteAgentHostJobsContract, {
@@ -107664,9 +107709,187 @@ var runCommand = new Command().name("run").description("Run on a connected remot
107664
107709
  })
107665
107710
  );
107666
107711
 
107712
+ // src/commands/zero/remote-agent/runs.ts
107713
+ init_esm_shims();
107714
+ var VALID_STATUSES = [
107715
+ "queued",
107716
+ "running",
107717
+ "succeeded",
107718
+ "failed"
107719
+ ];
107720
+ function formatStatus(status) {
107721
+ switch (status) {
107722
+ case "queued":
107723
+ return source_default.yellow(status);
107724
+ case "running":
107725
+ return source_default.green(status);
107726
+ case "succeeded":
107727
+ return source_default.dim(status);
107728
+ case "failed":
107729
+ return source_default.red(status);
107730
+ }
107731
+ }
107732
+ function formatTime(value) {
107733
+ if (!value) return "-";
107734
+ return new Date(value).toISOString().replace(/\.\d{3}Z$/, "Z");
107735
+ }
107736
+ function truncate2(value, maxLength) {
107737
+ if (value.length <= maxLength) return value;
107738
+ return `${value.slice(0, maxLength - 3)}...`;
107739
+ }
107740
+ function parseStatus(value) {
107741
+ if (!value) return void 0;
107742
+ if (!VALID_STATUSES.includes(value)) {
107743
+ throw new Error(
107744
+ `Invalid status "${value}". Valid values: ${VALID_STATUSES.join(",")}`
107745
+ );
107746
+ }
107747
+ return value;
107748
+ }
107749
+ function parseLimit(value) {
107750
+ if (!value) return void 0;
107751
+ const limit = Number.parseInt(value, 10);
107752
+ if (!Number.isFinite(limit) || limit < 1 || limit > 100) {
107753
+ throw new Error("--limit must be between 1 and 100");
107754
+ }
107755
+ return limit;
107756
+ }
107757
+ function printRunTable(runs) {
107758
+ if (runs.length === 0) {
107759
+ console.log(source_default.dim("No remote-agent runs found"));
107760
+ console.log(source_default.dim(' Run: zero remote-agent run "your prompt"'));
107761
+ return;
107762
+ }
107763
+ const rows = runs.map((run) => {
107764
+ return {
107765
+ id: run.id,
107766
+ status: formatStatus(run.status),
107767
+ host: run.hostName ?? run.hostId ?? "-",
107768
+ backend: run.backend ?? "-",
107769
+ created: formatTime(run.createdAt),
107770
+ prompt: truncate2(run.prompt.replace(/\s+/g, " "), 60)
107771
+ };
107772
+ });
107773
+ const idWidth = Math.max(
107774
+ "JOB ID".length,
107775
+ ...rows.map((row) => {
107776
+ return row.id.length;
107777
+ })
107778
+ );
107779
+ const statusWidth = Math.max(
107780
+ "STATUS".length,
107781
+ ...runs.map((run) => {
107782
+ return run.status.length;
107783
+ })
107784
+ );
107785
+ const hostWidth = Math.max(
107786
+ "HOST".length,
107787
+ ...rows.map((row) => {
107788
+ return row.host.length;
107789
+ })
107790
+ );
107791
+ const backendWidth = Math.max(
107792
+ "BACKEND".length,
107793
+ ...rows.map((row) => {
107794
+ return row.backend.length;
107795
+ })
107796
+ );
107797
+ console.log(
107798
+ source_default.dim(
107799
+ [
107800
+ "JOB ID".padEnd(idWidth),
107801
+ "STATUS".padEnd(statusWidth),
107802
+ "HOST".padEnd(hostWidth),
107803
+ "BACKEND".padEnd(backendWidth),
107804
+ "CREATED".padEnd(20),
107805
+ "PROMPT"
107806
+ ].join(" ")
107807
+ )
107808
+ );
107809
+ for (const row of rows) {
107810
+ console.log(
107811
+ [
107812
+ row.id.padEnd(idWidth),
107813
+ row.status.padEnd(statusWidth),
107814
+ row.host.padEnd(hostWidth),
107815
+ row.backend.padEnd(backendWidth),
107816
+ row.created.padEnd(20),
107817
+ row.prompt
107818
+ ].join(" ")
107819
+ );
107820
+ }
107821
+ }
107822
+ function printRunStatus(job) {
107823
+ console.log(`Job: ${job.id}`);
107824
+ console.log(`Status: ${formatStatus(job.status)}`);
107825
+ console.log(`Host: ${job.hostId ?? "-"}`);
107826
+ console.log(`Backend: ${job.backend ?? "-"}`);
107827
+ console.log(`Created: ${formatTime(job.createdAt)}`);
107828
+ console.log(`Started: ${formatTime(job.startedAt)}`);
107829
+ console.log(`Completed: ${formatTime(job.completedAt)}`);
107830
+ console.log(`Exit code: ${job.exitCode ?? "-"}`);
107831
+ if (job.status === "succeeded" || job.status === "failed") {
107832
+ console.log();
107833
+ console.log(source_default.dim(` Run: zero remote-agent runs result ${job.id}`));
107834
+ }
107835
+ }
107836
+ function printRunResult(job) {
107837
+ if (job.status === "queued" || job.status === "running") {
107838
+ throw new Error(`Remote-agent job is ${job.status}`, {
107839
+ cause: new Error(`Run: zero remote-agent runs status ${job.id}`)
107840
+ });
107841
+ }
107842
+ if (job.status === "failed") {
107843
+ if (job.error) {
107844
+ console.error(source_default.red(job.error));
107845
+ }
107846
+ process.exitCode = job.exitCode ?? 1;
107847
+ return;
107848
+ }
107849
+ if (job.output) {
107850
+ console.log(job.output);
107851
+ }
107852
+ }
107853
+ var listCommand2 = new Command().name("list").alias("ls").description("List remote-agent runs").option("--status <status>", `Filter by status: ${VALID_STATUSES.join(",")}`).option("--host <name>", "Filter by remote-agent host name").option("--host-id <id>", "Filter by remote-agent host id").option("--limit <n>", "Maximum number of results (default: 20, max: 100)").option("--json", "Output JSON").action(
107854
+ withErrorHandler(async (options) => {
107855
+ const result = await listRemoteAgentRuns({
107856
+ status: parseStatus(options.status),
107857
+ hostName: options.host,
107858
+ hostId: options.hostId,
107859
+ limit: parseLimit(options.limit)
107860
+ });
107861
+ if (options.json) {
107862
+ console.log(JSON.stringify(result));
107863
+ return;
107864
+ }
107865
+ printRunTable(result.runs);
107866
+ })
107867
+ );
107868
+ var statusCommand = new Command().name("status").description("Show remote-agent run status").argument("<job-id>", "Remote-agent job id").option("--json", "Output JSON").action(
107869
+ withErrorHandler(async (jobId, options) => {
107870
+ const job = await getRemoteAgentRun(jobId);
107871
+ if (options.json) {
107872
+ console.log(JSON.stringify(job));
107873
+ return;
107874
+ }
107875
+ printRunStatus(job);
107876
+ })
107877
+ );
107878
+ var resultCommand = new Command().name("result").description("Print remote-agent run result").argument("<job-id>", "Remote-agent job id").option("--json", "Output JSON").action(
107879
+ withErrorHandler(async (jobId, options) => {
107880
+ const job = await getRemoteAgentRun(jobId);
107881
+ if (options.json) {
107882
+ console.log(JSON.stringify(job));
107883
+ return;
107884
+ }
107885
+ printRunResult(job);
107886
+ })
107887
+ );
107888
+ var runsCommand = new Command().name("runs").description("List and inspect remote-agent runs").addCommand(listCommand2).addCommand(statusCommand).addCommand(resultCommand);
107889
+
107667
107890
  // src/commands/zero/remote-agent/index.ts
107668
- var remoteAgentCommand = new Command().name("remote-agent").description("Run local Codex or Claude hosts for vm0").addCommand(startCommand).addCommand(listCommand).addCommand(deleteCommand).addCommand(runCommand);
107669
- var zeroRemoteAgentCommand = new Command().name("remote-agent").description("Run jobs on remote-agent hosts").addCommand(listCommand).addCommand(runCommand);
107891
+ var remoteAgentCommand = new Command().name("remote-agent").description("Run local Codex or Claude hosts for vm0").addCommand(startCommand).addCommand(listCommand).addCommand(deleteCommand).addCommand(runCommand).addCommand(runsCommand);
107892
+ var zeroRemoteAgentCommand = new Command().name("remote-agent").description("Run jobs on remote-agent hosts").addCommand(listCommand).addCommand(runCommand).addCommand(runsCommand);
107670
107893
 
107671
107894
  // src/lib/command/index.ts
107672
107895
  init_esm_shims();
@@ -119874,9 +120097,88 @@ var authContract = c30.router({
119874
120097
  }
119875
120098
  });
119876
120099
 
119877
- // ../../packages/api-contracts/src/contracts/test-oauth-provider-authorize.ts
120100
+ // ../../packages/api-contracts/src/contracts/user-export.ts
119878
120101
  init_esm_shims();
119879
120102
  var c31 = initContract();
120103
+ var exportJobStatusSchema = external_exports.enum([
120104
+ "pending",
120105
+ "running",
120106
+ "completed",
120107
+ "failed"
120108
+ ]);
120109
+ var userExportJobSchema = external_exports.object({
120110
+ id: external_exports.string().uuid(),
120111
+ status: exportJobStatusSchema,
120112
+ createdAt: external_exports.string(),
120113
+ completedAt: external_exports.string().nullable(),
120114
+ expiresAt: external_exports.string().nullable(),
120115
+ downloadUrl: external_exports.string().url().nullable(),
120116
+ error: external_exports.string().nullable()
120117
+ });
120118
+ var userExportStatusResponseSchema = external_exports.object({
120119
+ job: userExportJobSchema.nullable(),
120120
+ canExport: external_exports.boolean(),
120121
+ nextExportAt: external_exports.string().nullable()
120122
+ });
120123
+ var userExportContract = c31.router({
120124
+ get: {
120125
+ method: "GET",
120126
+ path: "/api/user/export",
120127
+ headers: authHeadersSchema,
120128
+ responses: {
120129
+ 200: userExportStatusResponseSchema,
120130
+ 401: apiErrorSchema,
120131
+ 403: apiErrorSchema,
120132
+ 500: apiErrorSchema
120133
+ },
120134
+ summary: "Get current user export status"
120135
+ }
120136
+ });
120137
+
120138
+ // ../../packages/api-contracts/src/contracts/connectors-type-authorize.ts
120139
+ init_esm_shims();
120140
+ var c32 = initContract();
120141
+ var connectorsTypeAuthorizeContract = c32.router({
120142
+ authorize: {
120143
+ method: "GET",
120144
+ path: "/api/connectors/:type/authorize",
120145
+ headers: authHeadersSchema,
120146
+ pathParams: external_exports.object({ type: external_exports.string() }),
120147
+ query: external_exports.object({ session: external_exports.string().optional() }),
120148
+ responses: {
120149
+ 307: c32.noBody(),
120150
+ 400: external_exports.object({ error: external_exports.string() }),
120151
+ 500: external_exports.object({ error: external_exports.string() })
120152
+ },
120153
+ summary: "Start connector OAuth authorization"
120154
+ }
120155
+ });
120156
+
120157
+ // ../../packages/api-contracts/src/contracts/connectors-type-callback.ts
120158
+ init_esm_shims();
120159
+ var c33 = initContract();
120160
+ var connectorsTypeCallbackContract = c33.router({
120161
+ callback: {
120162
+ method: "GET",
120163
+ path: "/api/connectors/:type/callback",
120164
+ headers: authHeadersSchema,
120165
+ pathParams: external_exports.object({ type: external_exports.string() }),
120166
+ query: external_exports.object({
120167
+ code: external_exports.string().optional(),
120168
+ state: external_exports.string().optional(),
120169
+ error: external_exports.string().optional(),
120170
+ error_description: external_exports.string().optional()
120171
+ }),
120172
+ responses: {
120173
+ 307: c33.noBody()
120174
+ },
120175
+ summary: "Complete connector OAuth authorization"
120176
+ }
120177
+ });
120178
+
120179
+ // ../../packages/api-contracts/src/contracts/test-oauth-provider-authorize.ts
120180
+ init_esm_shims();
120181
+ var c34 = initContract();
119880
120182
  var testOAuthProviderAuthorizeErrorSchema = external_exports.object({
119881
120183
  error: external_exports.string()
119882
120184
  });
@@ -119888,13 +120190,13 @@ var testOAuthProviderAuthorizeQuerySchema = external_exports.object({
119888
120190
  scope: external_exports.string().optional(),
119889
120191
  state: external_exports.string().optional()
119890
120192
  });
119891
- var testOAuthProviderAuthorizeContract = c31.router({
120193
+ var testOAuthProviderAuthorizeContract = c34.router({
119892
120194
  authorize: {
119893
120195
  method: "GET",
119894
120196
  path: "/api/test/oauth-provider/authorize",
119895
120197
  query: testOAuthProviderAuthorizeQuerySchema,
119896
120198
  responses: {
119897
- 302: c31.noBody(),
120199
+ 302: c34.noBody(),
119898
120200
  400: testOAuthProviderAuthorizeErrorSchema,
119899
120201
  404: external_exports.string()
119900
120202
  },
@@ -119904,7 +120206,7 @@ var testOAuthProviderAuthorizeContract = c31.router({
119904
120206
 
119905
120207
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-echo.ts
119906
120208
  init_esm_shims();
119907
- var c32 = initContract();
120209
+ var c35 = initContract();
119908
120210
  var testOAuthProviderEchoErrorSchema = external_exports.object({
119909
120211
  error: external_exports.string()
119910
120212
  });
@@ -119912,7 +120214,7 @@ var testOAuthProviderEchoResponseSchema = external_exports.object({
119912
120214
  authorization: external_exports.string(),
119913
120215
  receivedAt: external_exports.string()
119914
120216
  });
119915
- var testOAuthProviderEchoContract = c32.router({
120217
+ var testOAuthProviderEchoContract = c35.router({
119916
120218
  echo: {
119917
120219
  method: "GET",
119918
120220
  path: "/api/test/oauth-provider/echo",
@@ -119925,9 +120227,38 @@ var testOAuthProviderEchoContract = c32.router({
119925
120227
  }
119926
120228
  });
119927
120229
 
120230
+ // ../../packages/api-contracts/src/contracts/test-oauth-provider-token.ts
120231
+ init_esm_shims();
120232
+ var c36 = initContract();
120233
+ var testOAuthProviderTokenErrorSchema = external_exports.object({
120234
+ error: external_exports.string(),
120235
+ error_description: external_exports.string().optional()
120236
+ });
120237
+ var testOAuthProviderTokenResponseSchema = external_exports.object({
120238
+ access_token: external_exports.string(),
120239
+ refresh_token: external_exports.string(),
120240
+ token_type: external_exports.literal("Bearer"),
120241
+ expires_in: external_exports.number(),
120242
+ scope: external_exports.string()
120243
+ });
120244
+ var testOAuthProviderTokenContract = c36.router({
120245
+ token: {
120246
+ method: "POST",
120247
+ path: "/api/test/oauth-provider/token",
120248
+ body: c36.type(),
120249
+ responses: {
120250
+ 200: testOAuthProviderTokenResponseSchema,
120251
+ 400: testOAuthProviderTokenErrorSchema,
120252
+ 401: testOAuthProviderTokenErrorSchema,
120253
+ 404: external_exports.string()
120254
+ },
120255
+ summary: "Synthetic OAuth token endpoint for test connector flows"
120256
+ }
120257
+ });
120258
+
119928
120259
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-userinfo.ts
119929
120260
  init_esm_shims();
119930
- var c33 = initContract();
120261
+ var c37 = initContract();
119931
120262
  var testOAuthProviderUserinfoErrorSchema = external_exports.object({
119932
120263
  error: external_exports.string()
119933
120264
  });
@@ -119936,7 +120267,7 @@ var testOAuthProviderUserinfoResponseSchema = external_exports.object({
119936
120267
  id: external_exports.string(),
119937
120268
  username: external_exports.string()
119938
120269
  });
119939
- var testOAuthProviderUserinfoContract = c33.router({
120270
+ var testOAuthProviderUserinfoContract = c37.router({
119940
120271
  userinfo: {
119941
120272
  method: "GET",
119942
120273
  path: "/api/test/oauth-provider/userinfo",
@@ -119949,9 +120280,387 @@ var testOAuthProviderUserinfoContract = c33.router({
119949
120280
  }
119950
120281
  });
119951
120282
 
120283
+ // ../../packages/api-contracts/src/contracts/test-slack-state.ts
120284
+ init_esm_shims();
120285
+ var c38 = initContract();
120286
+ var testSlackStateErrorSchema = external_exports.object({
120287
+ error: external_exports.string()
120288
+ });
120289
+ var testSlackStateDeleteResponseSchema = external_exports.object({
120290
+ ok: external_exports.literal(true)
120291
+ });
120292
+ var testSlackStatePostBodySchema = external_exports.object({
120293
+ team_id: external_exports.string().optional(),
120294
+ slack_user_id: external_exports.string().optional(),
120295
+ workspace_name: external_exports.string().optional(),
120296
+ bot_user_id: external_exports.string().optional(),
120297
+ email: external_exports.string().optional(),
120298
+ seed_connection: external_exports.boolean().optional(),
120299
+ seed_default_agent: external_exports.boolean().optional()
120300
+ });
120301
+ var testSlackStatePostResponseSchema = external_exports.object({
120302
+ ok: external_exports.literal(true),
120303
+ team_id: external_exports.string(),
120304
+ org_id: external_exports.string(),
120305
+ vm0_user_id: external_exports.string(),
120306
+ connection_id: external_exports.string().nullable(),
120307
+ default_agent_id: external_exports.string().nullable()
120308
+ });
120309
+ var nullableDateStringSchema = external_exports.string().nullable();
120310
+ var testSlackStateResponseSchema = external_exports.object({
120311
+ installation: external_exports.object({
120312
+ slackWorkspaceId: external_exports.string(),
120313
+ slackWorkspaceName: external_exports.string().nullable(),
120314
+ orgId: external_exports.string().nullable(),
120315
+ botUserId: external_exports.string(),
120316
+ installedByUserId: external_exports.string().nullable(),
120317
+ createdAt: external_exports.string()
120318
+ }).nullable(),
120319
+ connections: external_exports.array(
120320
+ external_exports.object({
120321
+ id: external_exports.string(),
120322
+ slackUserId: external_exports.string(),
120323
+ vm0UserId: external_exports.string(),
120324
+ dmWelcomeSent: external_exports.boolean(),
120325
+ createdAt: external_exports.string()
120326
+ })
120327
+ ),
120328
+ recent_runs: external_exports.array(
120329
+ external_exports.object({
120330
+ id: external_exports.string(),
120331
+ status: external_exports.string(),
120332
+ createdAt: external_exports.string(),
120333
+ triggerSource: external_exports.string().nullable(),
120334
+ userId: external_exports.string(),
120335
+ error: external_exports.string().nullable(),
120336
+ promptPreview: external_exports.string().nullable()
120337
+ })
120338
+ ),
120339
+ org_metadata: external_exports.object({
120340
+ orgId: external_exports.string(),
120341
+ defaultAgentId: external_exports.string().nullable(),
120342
+ credits: external_exports.number(),
120343
+ tier: external_exports.string()
120344
+ }).nullable(),
120345
+ default_agent: external_exports.object({
120346
+ id: external_exports.string(),
120347
+ name: external_exports.string(),
120348
+ orgId: external_exports.string()
120349
+ }).nullable(),
120350
+ default_compose: external_exports.object({
120351
+ id: external_exports.string(),
120352
+ name: external_exports.string(),
120353
+ headVersionId: external_exports.string().nullable()
120354
+ }).nullable(),
120355
+ default_compose_version: external_exports.object({
120356
+ id: external_exports.string(),
120357
+ content_keys: external_exports.array(external_exports.string())
120358
+ }).nullable(),
120359
+ resolved_slack_api_url: external_exports.string().nullable(),
120360
+ mock_calls: external_exports.array(
120361
+ external_exports.object({
120362
+ method: external_exports.string(),
120363
+ teamId: external_exports.string().nullable(),
120364
+ channelId: external_exports.string().nullable(),
120365
+ bodyJson: external_exports.unknown(),
120366
+ createdAt: nullableDateStringSchema
120367
+ })
120368
+ )
120369
+ });
120370
+ var testSlackStateContract = c38.router({
120371
+ get: {
120372
+ method: "GET",
120373
+ path: "/api/test/slack-state",
120374
+ query: external_exports.object({
120375
+ team_id: external_exports.string().optional()
120376
+ }),
120377
+ responses: {
120378
+ 200: testSlackStateResponseSchema,
120379
+ 400: testSlackStateErrorSchema,
120380
+ 404: external_exports.string()
120381
+ },
120382
+ summary: "Read Slack e2e diagnostic state for a test workspace"
120383
+ },
120384
+ post: {
120385
+ method: "POST",
120386
+ path: "/api/test/slack-state",
120387
+ body: testSlackStatePostBodySchema,
120388
+ responses: {
120389
+ 200: testSlackStatePostResponseSchema,
120390
+ 400: testSlackStateErrorSchema,
120391
+ 404: external_exports.string()
120392
+ },
120393
+ summary: "Seed Slack e2e diagnostic state for a test workspace"
120394
+ },
120395
+ delete: {
120396
+ method: "DELETE",
120397
+ path: "/api/test/slack-state",
120398
+ query: external_exports.object({
120399
+ team_id: external_exports.string().optional()
120400
+ }),
120401
+ responses: {
120402
+ 200: testSlackStateDeleteResponseSchema,
120403
+ 400: testSlackStateErrorSchema,
120404
+ 404: external_exports.string()
120405
+ },
120406
+ summary: "Clear Slack e2e diagnostic state for a test workspace"
120407
+ }
120408
+ });
120409
+
120410
+ // ../../packages/api-contracts/src/contracts/test-slack-mock.ts
120411
+ init_esm_shims();
120412
+ var c39 = initContract();
120413
+ var slackMockRequestBodySchema = external_exports.unknown().optional();
120414
+ var slackMockNotFoundSchema = external_exports.string();
120415
+ var testSlackMockOkResponseSchema = external_exports.object({
120416
+ ok: external_exports.literal(true)
120417
+ });
120418
+ var testSlackMockAuthTestResponseSchema = testSlackMockOkResponseSchema.extend({
120419
+ url: external_exports.string(),
120420
+ team: external_exports.string(),
120421
+ user: external_exports.string(),
120422
+ team_id: external_exports.string(),
120423
+ user_id: external_exports.string(),
120424
+ bot_id: external_exports.string()
120425
+ });
120426
+ var testSlackMockOauthAccessResponseSchema = testSlackMockOkResponseSchema.extend({
120427
+ access_token: external_exports.string(),
120428
+ token_type: external_exports.literal("bot"),
120429
+ scope: external_exports.string(),
120430
+ bot_user_id: external_exports.string(),
120431
+ app_id: external_exports.string(),
120432
+ team: external_exports.object({
120433
+ id: external_exports.string(),
120434
+ name: external_exports.string()
120435
+ }),
120436
+ enterprise: external_exports.null(),
120437
+ authed_user: external_exports.object({
120438
+ id: external_exports.string(),
120439
+ scope: external_exports.string(),
120440
+ access_token: external_exports.string(),
120441
+ token_type: external_exports.literal("user")
120442
+ })
120443
+ });
120444
+ var testSlackMockChatPostMessageResponseSchema = testSlackMockOkResponseSchema.extend({
120445
+ channel: external_exports.string(),
120446
+ ts: external_exports.string(),
120447
+ message: external_exports.object({
120448
+ ts: external_exports.string(),
120449
+ text: external_exports.string()
120450
+ })
120451
+ });
120452
+ var testSlackMockChatPostEphemeralResponseSchema = testSlackMockOkResponseSchema.extend({
120453
+ message_ts: external_exports.string()
120454
+ });
120455
+ var testSlackMockConversationsOpenResponseSchema = testSlackMockOkResponseSchema.extend({
120456
+ channel: external_exports.object({
120457
+ id: external_exports.string()
120458
+ })
120459
+ });
120460
+ var testSlackMockConversationMessagesResponseSchema = testSlackMockOkResponseSchema.extend({
120461
+ messages: external_exports.array(external_exports.unknown()),
120462
+ has_more: external_exports.literal(false)
120463
+ });
120464
+ var testSlackMockUsersInfoResponseSchema = testSlackMockOkResponseSchema.extend({
120465
+ user: external_exports.object({
120466
+ id: external_exports.string(),
120467
+ name: external_exports.string(),
120468
+ real_name: external_exports.string(),
120469
+ tz: external_exports.string(),
120470
+ tz_label: external_exports.string(),
120471
+ profile: external_exports.object({
120472
+ display_name: external_exports.string(),
120473
+ real_name: external_exports.string(),
120474
+ email: external_exports.string()
120475
+ })
120476
+ })
120477
+ });
120478
+ var testSlackMockContract = c39.router({
120479
+ assistantThreadsSetStatus: {
120480
+ method: "POST",
120481
+ path: "/api/test/slack-mock/assistant.threads.setStatus",
120482
+ body: slackMockRequestBodySchema,
120483
+ responses: {
120484
+ 200: testSlackMockOkResponseSchema,
120485
+ 404: slackMockNotFoundSchema
120486
+ },
120487
+ summary: "Mock Slack assistant.threads.setStatus for e2e tests"
120488
+ },
120489
+ authTest: {
120490
+ method: "POST",
120491
+ path: "/api/test/slack-mock/auth.test",
120492
+ body: slackMockRequestBodySchema,
120493
+ responses: {
120494
+ 200: testSlackMockAuthTestResponseSchema,
120495
+ 404: slackMockNotFoundSchema
120496
+ },
120497
+ summary: "Mock Slack auth.test for e2e tests"
120498
+ },
120499
+ chatPostEphemeral: {
120500
+ method: "POST",
120501
+ path: "/api/test/slack-mock/chat.postEphemeral",
120502
+ body: slackMockRequestBodySchema,
120503
+ responses: {
120504
+ 200: testSlackMockChatPostEphemeralResponseSchema,
120505
+ 404: slackMockNotFoundSchema
120506
+ },
120507
+ summary: "Mock Slack chat.postEphemeral for e2e tests"
120508
+ },
120509
+ chatPostMessage: {
120510
+ method: "POST",
120511
+ path: "/api/test/slack-mock/chat.postMessage",
120512
+ body: slackMockRequestBodySchema,
120513
+ responses: {
120514
+ 200: testSlackMockChatPostMessageResponseSchema,
120515
+ 404: slackMockNotFoundSchema
120516
+ },
120517
+ summary: "Mock Slack chat.postMessage for e2e tests"
120518
+ },
120519
+ conversationsHistory: {
120520
+ method: "POST",
120521
+ path: "/api/test/slack-mock/conversations.history",
120522
+ body: slackMockRequestBodySchema,
120523
+ responses: {
120524
+ 200: testSlackMockConversationMessagesResponseSchema,
120525
+ 404: slackMockNotFoundSchema
120526
+ },
120527
+ summary: "Mock Slack conversations.history for e2e tests"
120528
+ },
120529
+ conversationsOpen: {
120530
+ method: "POST",
120531
+ path: "/api/test/slack-mock/conversations.open",
120532
+ body: slackMockRequestBodySchema,
120533
+ responses: {
120534
+ 200: testSlackMockConversationsOpenResponseSchema,
120535
+ 404: slackMockNotFoundSchema
120536
+ },
120537
+ summary: "Mock Slack conversations.open for e2e tests"
120538
+ },
120539
+ conversationsReplies: {
120540
+ method: "POST",
120541
+ path: "/api/test/slack-mock/conversations.replies",
120542
+ body: slackMockRequestBodySchema,
120543
+ responses: {
120544
+ 200: testSlackMockConversationMessagesResponseSchema,
120545
+ 404: slackMockNotFoundSchema
120546
+ },
120547
+ summary: "Mock Slack conversations.replies for e2e tests"
120548
+ },
120549
+ oauthV2Access: {
120550
+ method: "POST",
120551
+ path: "/api/test/slack-mock/oauth.v2.access",
120552
+ body: slackMockRequestBodySchema,
120553
+ responses: {
120554
+ 200: testSlackMockOauthAccessResponseSchema,
120555
+ 404: slackMockNotFoundSchema
120556
+ },
120557
+ summary: "Mock Slack oauth.v2.access for e2e tests"
120558
+ },
120559
+ usersInfo: {
120560
+ method: "POST",
120561
+ path: "/api/test/slack-mock/users.info",
120562
+ body: slackMockRequestBodySchema,
120563
+ responses: {
120564
+ 200: testSlackMockUsersInfoResponseSchema,
120565
+ 404: slackMockNotFoundSchema
120566
+ },
120567
+ summary: "Mock Slack users.info for e2e tests"
120568
+ },
120569
+ viewsPublish: {
120570
+ method: "POST",
120571
+ path: "/api/test/slack-mock/views.publish",
120572
+ body: slackMockRequestBodySchema,
120573
+ responses: {
120574
+ 200: testSlackMockOkResponseSchema,
120575
+ 404: slackMockNotFoundSchema
120576
+ },
120577
+ summary: "Mock Slack views.publish for e2e tests"
120578
+ }
120579
+ });
120580
+
120581
+ // ../../packages/api-contracts/src/contracts/test-telegram-state.ts
120582
+ init_esm_shims();
120583
+ var c40 = initContract();
120584
+ var testTelegramStateQuerySchema = external_exports.object({
120585
+ bot_id: external_exports.string().optional()
120586
+ });
120587
+ var testTelegramStateErrorSchema = external_exports.object({
120588
+ error: external_exports.string()
120589
+ });
120590
+ var testTelegramStateSeedBodySchema = external_exports.object({
120591
+ bot_id: external_exports.unknown().optional(),
120592
+ telegram_user_id: external_exports.unknown().optional(),
120593
+ bot_username: external_exports.unknown().optional(),
120594
+ webhook_secret: external_exports.unknown().optional(),
120595
+ email: external_exports.unknown().optional(),
120596
+ seed_link: external_exports.unknown().optional()
120597
+ }).passthrough();
120598
+ var testTelegramStateComposeVersionSchema = external_exports.object({
120599
+ id: external_exports.string(),
120600
+ content_keys: external_exports.array(external_exports.string())
120601
+ });
120602
+ var testTelegramStateResponseSchema = external_exports.object({
120603
+ installation: external_exports.unknown().nullable(),
120604
+ links: external_exports.array(external_exports.unknown()),
120605
+ message_count: external_exports.number(),
120606
+ recent_runs: external_exports.array(external_exports.unknown()),
120607
+ org_metadata: external_exports.unknown().nullable(),
120608
+ default_agent: external_exports.unknown().nullable(),
120609
+ default_compose: external_exports.unknown().nullable(),
120610
+ default_compose_version: testTelegramStateComposeVersionSchema.nullable(),
120611
+ resolved_telegram_api_url: external_exports.string().nullable(),
120612
+ mock_calls: external_exports.array(external_exports.unknown())
120613
+ });
120614
+ var testTelegramStateDeleteResponseSchema = external_exports.object({
120615
+ ok: external_exports.literal(true)
120616
+ });
120617
+ var testTelegramStateSeedResponseSchema = external_exports.object({
120618
+ ok: external_exports.literal(true),
120619
+ bot_id: external_exports.string(),
120620
+ org_id: external_exports.string(),
120621
+ vm0_user_id: external_exports.string(),
120622
+ user_link_id: external_exports.string().nullable(),
120623
+ default_agent_id: external_exports.string()
120624
+ });
120625
+ var testTelegramStateContract = c40.router({
120626
+ get: {
120627
+ method: "GET",
120628
+ path: "/api/test/telegram-state",
120629
+ query: testTelegramStateQuerySchema,
120630
+ responses: {
120631
+ 200: testTelegramStateResponseSchema,
120632
+ 400: testTelegramStateErrorSchema,
120633
+ 404: external_exports.string()
120634
+ },
120635
+ summary: "Inspect Telegram E2E test state"
120636
+ },
120637
+ delete: {
120638
+ method: "DELETE",
120639
+ path: "/api/test/telegram-state",
120640
+ query: testTelegramStateQuerySchema,
120641
+ responses: {
120642
+ 200: testTelegramStateDeleteResponseSchema,
120643
+ 400: testTelegramStateErrorSchema,
120644
+ 404: external_exports.string()
120645
+ },
120646
+ summary: "Delete Telegram E2E test state"
120647
+ },
120648
+ post: {
120649
+ method: "POST",
120650
+ path: "/api/test/telegram-state",
120651
+ body: testTelegramStateSeedBodySchema,
120652
+ responses: {
120653
+ 200: testTelegramStateSeedResponseSchema,
120654
+ 400: testTelegramStateErrorSchema,
120655
+ 404: external_exports.string()
120656
+ },
120657
+ summary: "Seed Telegram E2E test state"
120658
+ }
120659
+ });
120660
+
119952
120661
  // ../../packages/api-contracts/src/contracts/cron.ts
119953
120662
  init_esm_shims();
119954
- var c34 = initContract();
120663
+ var c41 = initContract();
119955
120664
  var cleanupResultSchema = external_exports.object({
119956
120665
  runId: external_exports.string(),
119957
120666
  sandboxId: external_exports.string().nullable(),
@@ -119964,7 +120673,7 @@ var cleanupResponseSchema = external_exports.object({
119964
120673
  errors: external_exports.number(),
119965
120674
  results: external_exports.array(cleanupResultSchema)
119966
120675
  });
119967
- var cronCleanupSandboxesContract = c34.router({
120676
+ var cronCleanupSandboxesContract = c41.router({
119968
120677
  /**
119969
120678
  * GET /api/cron/cleanup-sandboxes
119970
120679
  * Cron job to cleanup sandboxes that have stopped sending heartbeats
@@ -119984,7 +120693,7 @@ var cronCleanupSandboxesContract = c34.router({
119984
120693
 
119985
120694
  // ../../packages/api-contracts/src/contracts/chat-threads-v1.ts
119986
120695
  init_esm_shims();
119987
- var c35 = initContract();
120696
+ var c42 = initContract();
119988
120697
  var v1ThreadSchema = external_exports.object({
119989
120698
  id: external_exports.string(),
119990
120699
  title: external_exports.string().nullable(),
@@ -119998,7 +120707,7 @@ var v1MessageSchema = external_exports.object({
119998
120707
  error: external_exports.string().optional(),
119999
120708
  createdAt: external_exports.string()
120000
120709
  });
120001
- var chatThreadV1GetContract = c35.router({
120710
+ var chatThreadV1GetContract = c42.router({
120002
120711
  get: {
120003
120712
  method: "GET",
120004
120713
  path: "/api/v1/chat-threads/:threadId",
@@ -120013,7 +120722,7 @@ var chatThreadV1GetContract = c35.router({
120013
120722
  summary: "Get a chat thread"
120014
120723
  }
120015
120724
  });
120016
- var chatThreadV1MessagesContract = c35.router({
120725
+ var chatThreadV1MessagesContract = c42.router({
120017
120726
  list: {
120018
120727
  method: "GET",
120019
120728
  path: "/api/v1/chat-threads/:threadId/messages",
@@ -120033,7 +120742,7 @@ var chatThreadV1MessagesContract = c35.router({
120033
120742
  summary: "List messages in a chat thread"
120034
120743
  }
120035
120744
  });
120036
- var chatThreadV1SendContract = c35.router({
120745
+ var chatThreadV1SendContract = c42.router({
120037
120746
  send: {
120038
120747
  method: "POST",
120039
120748
  path: "/api/v1/chat-threads/messages",
@@ -120062,7 +120771,7 @@ var chatThreadV1SendContract = c35.router({
120062
120771
 
120063
120772
  // ../../packages/api-contracts/src/contracts/device-token.ts
120064
120773
  init_esm_shims();
120065
- var c36 = initContract();
120774
+ var c43 = initContract();
120066
120775
  var bb0DeviceCodeSchema = external_exports.string().regex(/^[A-Z2-9]{4}-[A-Z2-9]{4}$/);
120067
120776
  var bleSessionNonceSchema = external_exports.string().min(16).max(128).regex(/^[A-Za-z0-9._:-]+$/);
120068
120777
  var pollTokenSchema = external_exports.string().min(32).max(256).regex(/^[A-Za-z0-9._-]+$/);
@@ -120101,7 +120810,7 @@ var confirmBb0DeviceRequestSchema = external_exports.object({
120101
120810
  var confirmBb0DeviceResponseSchema = external_exports.object({
120102
120811
  status: external_exports.literal("approved")
120103
120812
  });
120104
- var deviceTokenContract = c36.router({
120813
+ var deviceTokenContract = c43.router({
120105
120814
  create: {
120106
120815
  method: "POST",
120107
120816
  path: "/api/device-token",
@@ -120126,7 +120835,7 @@ var deviceTokenContract = c36.router({
120126
120835
  summary: "Poll a bb0 device code for approval and final credentials"
120127
120836
  }
120128
120837
  });
120129
- var bb0DeviceConfirmContract = c36.router({
120838
+ var bb0DeviceConfirmContract = c43.router({
120130
120839
  confirm: {
120131
120840
  method: "POST",
120132
120841
  path: "/api/zero/devices/bb0/confirm",
@@ -120145,16 +120854,16 @@ var bb0DeviceConfirmContract = c36.router({
120145
120854
 
120146
120855
  // ../../packages/api-contracts/src/contracts/audio-transcriptions-v1.ts
120147
120856
  init_esm_shims();
120148
- var c37 = initContract();
120857
+ var c44 = initContract();
120149
120858
  var audioTranscriptionV1Schema = external_exports.object({
120150
120859
  text: external_exports.string()
120151
120860
  });
120152
- var audioTranscriptionsV1Contract = c37.router({
120861
+ var audioTranscriptionsV1Contract = c44.router({
120153
120862
  transcribe: {
120154
120863
  method: "POST",
120155
120864
  path: "/api/v1/audio/transcriptions",
120156
120865
  headers: authHeadersSchema,
120157
- body: c37.type(),
120866
+ body: c44.type(),
120158
120867
  responses: {
120159
120868
  200: audioTranscriptionV1Schema,
120160
120869
  400: apiErrorSchema,
@@ -120252,14 +120961,14 @@ function findMatchingPermissions(method, path3, config4) {
120252
120961
 
120253
120962
  // ../../packages/api-contracts/src/contracts/zero-feature-switches.ts
120254
120963
  init_esm_shims();
120255
- var c38 = initContract();
120964
+ var c45 = initContract();
120256
120965
  var featureSwitchesResponseSchema = external_exports.object({
120257
120966
  switches: external_exports.record(external_exports.string(), external_exports.boolean())
120258
120967
  });
120259
120968
  var updateFeatureSwitchesRequestSchema = external_exports.object({
120260
120969
  switches: external_exports.record(external_exports.string(), external_exports.boolean())
120261
120970
  });
120262
- var zeroFeatureSwitchesContract = c38.router({
120971
+ var zeroFeatureSwitchesContract = c45.router({
120263
120972
  get: {
120264
120973
  method: "GET",
120265
120974
  path: "/api/zero/feature-switches",
@@ -120288,7 +120997,7 @@ var zeroFeatureSwitchesContract = c38.router({
120288
120997
  method: "DELETE",
120289
120998
  path: "/api/zero/feature-switches",
120290
120999
  headers: authHeadersSchema,
120291
- body: c38.noBody(),
121000
+ body: c45.noBody(),
120292
121001
  responses: {
120293
121002
  200: external_exports.object({ deleted: external_exports.literal(true) }),
120294
121003
  401: apiErrorSchema,
@@ -120300,7 +121009,7 @@ var zeroFeatureSwitchesContract = c38.router({
120300
121009
 
120301
121010
  // ../../packages/api-contracts/src/contracts/onboarding.ts
120302
121011
  init_esm_shims();
120303
- var c39 = initContract();
121012
+ var c46 = initContract();
120304
121013
  var onboardingStatusResponseSchema = external_exports.object({
120305
121014
  needsOnboarding: external_exports.boolean(),
120306
121015
  isAdmin: external_exports.boolean(),
@@ -120313,7 +121022,7 @@ var onboardingStatusResponseSchema = external_exports.object({
120313
121022
  sound: external_exports.string().optional()
120314
121023
  }).nullable()
120315
121024
  });
120316
- var onboardingStatusContract = c39.router({
121025
+ var onboardingStatusContract = c46.router({
120317
121026
  getStatus: {
120318
121027
  method: "GET",
120319
121028
  path: "/api/zero/onboarding/status",
@@ -120325,7 +121034,7 @@ var onboardingStatusContract = c39.router({
120325
121034
  summary: "Get onboarding status for current user"
120326
121035
  }
120327
121036
  });
120328
- var onboardingCompleteContract = c39.router({
121037
+ var onboardingCompleteContract = c46.router({
120329
121038
  complete: {
120330
121039
  method: "POST",
120331
121040
  path: "/api/zero/onboarding/complete",
@@ -120340,7 +121049,7 @@ var onboardingCompleteContract = c39.router({
120340
121049
  summary: "Mark member onboarding as complete"
120341
121050
  }
120342
121051
  });
120343
- var onboardingSetupContract = c39.router({
121052
+ var onboardingSetupContract = c46.router({
120344
121053
  setup: {
120345
121054
  method: "POST",
120346
121055
  path: "/api/zero/onboarding/setup",
@@ -120373,12 +121082,12 @@ var skillFrontmatterSchema = external_exports.object({
120373
121082
 
120374
121083
  // ../../packages/api-contracts/src/contracts/zero-org-logo.ts
120375
121084
  init_esm_shims();
120376
- var c40 = initContract();
121085
+ var c47 = initContract();
120377
121086
  var zeroOrgLogoResponseSchema = external_exports.object({
120378
121087
  logoUrl: external_exports.string().nullable(),
120379
121088
  hasImage: external_exports.boolean()
120380
121089
  });
120381
- var zeroOrgLogoContract = c40.router({
121090
+ var zeroOrgLogoContract = c47.router({
120382
121091
  get: {
120383
121092
  method: "GET",
120384
121093
  path: "/api/zero/org/logo",
@@ -120389,13 +121098,41 @@ var zeroOrgLogoContract = c40.router({
120389
121098
  404: apiErrorSchema
120390
121099
  },
120391
121100
  summary: "Get current organization logo"
121101
+ },
121102
+ post: {
121103
+ method: "POST",
121104
+ path: "/api/zero/org/logo",
121105
+ headers: authHeadersSchema,
121106
+ contentType: "multipart/form-data",
121107
+ body: c47.type(),
121108
+ responses: {
121109
+ 200: zeroOrgLogoResponseSchema,
121110
+ 400: apiErrorSchema,
121111
+ 401: apiErrorSchema,
121112
+ 403: apiErrorSchema,
121113
+ 404: apiErrorSchema,
121114
+ 500: apiErrorSchema
121115
+ },
121116
+ summary: "Upload current organization logo"
121117
+ },
121118
+ delete: {
121119
+ method: "DELETE",
121120
+ path: "/api/zero/org/logo",
121121
+ headers: authHeadersSchema,
121122
+ responses: {
121123
+ 200: zeroOrgLogoResponseSchema,
121124
+ 401: apiErrorSchema,
121125
+ 403: apiErrorSchema,
121126
+ 404: apiErrorSchema
121127
+ },
121128
+ summary: "Remove current organization logo"
120392
121129
  }
120393
121130
  });
120394
121131
 
120395
121132
  // ../../packages/api-contracts/src/contracts/zero-org-domains.ts
120396
121133
  init_esm_shims();
120397
- var c41 = initContract();
120398
- var zeroOrgDomainsContract = c41.router({
121134
+ var c48 = initContract();
121135
+ var zeroOrgDomainsContract = c48.router({
120399
121136
  list: {
120400
121137
  method: "GET",
120401
121138
  path: "/api/zero/org/domains",
@@ -120415,6 +121152,7 @@ var zeroOrgDomainsContract = c41.router({
120415
121152
  body: addDomainRequestSchema,
120416
121153
  responses: {
120417
121154
  200: orgMessageResponseSchema,
121155
+ 400: apiErrorSchema,
120418
121156
  401: apiErrorSchema,
120419
121157
  403: apiErrorSchema,
120420
121158
  500: apiErrorSchema
@@ -120451,8 +121189,8 @@ var zeroOrgDomainsContract = c41.router({
120451
121189
 
120452
121190
  // ../../packages/api-contracts/src/contracts/zero-composes.ts
120453
121191
  init_esm_shims();
120454
- var c42 = initContract();
120455
- var zeroComposesMainContract = c42.router({
121192
+ var c49 = initContract();
121193
+ var zeroComposesMainContract = c49.router({
120456
121194
  getByName: {
120457
121195
  method: "GET",
120458
121196
  path: "/api/zero/composes",
@@ -120470,7 +121208,7 @@ var zeroComposesMainContract = c42.router({
120470
121208
  summary: "Get agent compose by name (zero proxy)"
120471
121209
  }
120472
121210
  });
120473
- var zeroComposesByIdContract = c42.router({
121211
+ var zeroComposesByIdContract = c49.router({
120474
121212
  getById: {
120475
121213
  method: "GET",
120476
121214
  path: "/api/zero/composes/:id",
@@ -120494,9 +121232,9 @@ var zeroComposesByIdContract = c42.router({
120494
121232
  pathParams: external_exports.object({
120495
121233
  id: external_exports.string().uuid("Compose ID is required")
120496
121234
  }),
120497
- body: c42.noBody(),
121235
+ body: c49.noBody(),
120498
121236
  responses: {
120499
- 204: c42.noBody(),
121237
+ 204: c49.noBody(),
120500
121238
  401: apiErrorSchema,
120501
121239
  403: apiErrorSchema,
120502
121240
  404: apiErrorSchema,
@@ -120505,7 +121243,7 @@ var zeroComposesByIdContract = c42.router({
120505
121243
  summary: "Delete agent compose (zero proxy)"
120506
121244
  }
120507
121245
  });
120508
- var zeroComposesMetadataContract = c42.router({
121246
+ var zeroComposesMetadataContract = c49.router({
120509
121247
  update: {
120510
121248
  method: "PATCH",
120511
121249
  path: "/api/zero/composes/:id/metadata",
@@ -120526,7 +121264,7 @@ var zeroComposesMetadataContract = c42.router({
120526
121264
  summary: "Update agent compose metadata (zero proxy)"
120527
121265
  }
120528
121266
  });
120529
- var zeroComposesListContract = c42.router({
121267
+ var zeroComposesListContract = c49.router({
120530
121268
  list: {
120531
121269
  method: "GET",
120532
121270
  path: "/api/zero/composes/list",
@@ -120546,8 +121284,8 @@ var zeroComposesListContract = c42.router({
120546
121284
 
120547
121285
  // ../../packages/api-contracts/src/contracts/zero-personal-model-providers.ts
120548
121286
  init_esm_shims();
120549
- var c43 = initContract();
120550
- var zeroPersonalModelProvidersMainContract = c43.router({
121287
+ var c50 = initContract();
121288
+ var zeroPersonalModelProvidersMainContract = c50.router({
120551
121289
  list: {
120552
121290
  method: "GET",
120553
121291
  path: "/api/zero/me/model-providers",
@@ -120576,7 +121314,7 @@ var zeroPersonalModelProvidersMainContract = c43.router({
120576
121314
  summary: "Create or update a personal model provider for the requesting user"
120577
121315
  }
120578
121316
  });
120579
- var zeroPersonalModelProvidersByTypeContract = c43.router({
121317
+ var zeroPersonalModelProvidersByTypeContract = c50.router({
120580
121318
  delete: {
120581
121319
  method: "DELETE",
120582
121320
  path: "/api/zero/me/model-providers/:type",
@@ -120585,7 +121323,7 @@ var zeroPersonalModelProvidersByTypeContract = c43.router({
120585
121323
  type: modelProviderTypeSchema
120586
121324
  }),
120587
121325
  responses: {
120588
- 204: c43.noBody(),
121326
+ 204: c50.noBody(),
120589
121327
  401: apiErrorSchema,
120590
121328
  404: apiErrorSchema,
120591
121329
  500: apiErrorSchema
@@ -120593,10 +121331,38 @@ var zeroPersonalModelProvidersByTypeContract = c43.router({
120593
121331
  summary: "Delete a personal model provider for the requesting user"
120594
121332
  }
120595
121333
  });
121334
+ var zeroPersonalModelProvidersCodexOauthContract = c50.router({
121335
+ authorize: {
121336
+ method: "GET",
121337
+ path: "/api/zero/me/model-providers/codex-oauth-token/oauth/authorize",
121338
+ headers: authHeadersSchema,
121339
+ responses: {
121340
+ 307: c50.noBody(),
121341
+ 404: external_exports.object({ error: external_exports.string() }),
121342
+ 500: external_exports.object({ error: external_exports.string() })
121343
+ },
121344
+ summary: "Start Codex OAuth for a personal model provider"
121345
+ },
121346
+ callback: {
121347
+ method: "GET",
121348
+ path: "/api/zero/me/model-providers/codex-oauth-token/oauth/callback",
121349
+ headers: authHeadersSchema,
121350
+ query: external_exports.object({
121351
+ code: external_exports.string().optional(),
121352
+ state: external_exports.string().optional(),
121353
+ error: external_exports.string().optional(),
121354
+ error_description: external_exports.string().optional()
121355
+ }),
121356
+ responses: {
121357
+ 307: c50.noBody()
121358
+ },
121359
+ summary: "Complete Codex OAuth for a personal model provider"
121360
+ }
121361
+ });
120596
121362
 
120597
121363
  // ../../packages/api-contracts/src/contracts/api-keys.ts
120598
121364
  init_esm_shims();
120599
- var c44 = initContract();
121365
+ var c51 = initContract();
120600
121366
  var apiKeyItemSchema = external_exports.object({
120601
121367
  id: external_exports.string().uuid(),
120602
121368
  name: external_exports.string(),
@@ -120615,7 +121381,7 @@ var createApiKeyRequestSchema = external_exports.object({
120615
121381
  var createApiKeyResponseSchema = apiKeyItemSchema.extend({
120616
121382
  token: external_exports.string()
120617
121383
  });
120618
- var apiKeysContract = c44.router({
121384
+ var apiKeysContract = c51.router({
120619
121385
  list: {
120620
121386
  method: "GET",
120621
121387
  path: "/api/zero/api-keys",
@@ -120641,14 +121407,14 @@ var apiKeysContract = c44.router({
120641
121407
  summary: "Create a new API key (token returned once)"
120642
121408
  }
120643
121409
  });
120644
- var apiKeysByIdContract = c44.router({
121410
+ var apiKeysByIdContract = c51.router({
120645
121411
  delete: {
120646
121412
  method: "DELETE",
120647
121413
  path: "/api/zero/api-keys/:id",
120648
121414
  headers: authHeadersSchema,
120649
121415
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120650
121416
  responses: {
120651
- 204: c44.noBody(),
121417
+ 204: c51.noBody(),
120652
121418
  401: apiErrorSchema,
120653
121419
  404: apiErrorSchema,
120654
121420
  500: apiErrorSchema
@@ -120659,7 +121425,7 @@ var apiKeysByIdContract = c44.router({
120659
121425
 
120660
121426
  // ../../packages/api-contracts/src/contracts/zero-custom-connectors.ts
120661
121427
  init_esm_shims();
120662
- var c45 = initContract();
121428
+ var c52 = initContract();
120663
121429
  var customConnectorResponseSchema = external_exports.object({
120664
121430
  id: external_exports.string().uuid(),
120665
121431
  slug: external_exports.string(),
@@ -120687,7 +121453,7 @@ var setCustomConnectorSecretBodySchema = external_exports.object({
120687
121453
  var patchCustomConnectorBodySchema = external_exports.object({
120688
121454
  displayName: external_exports.string().min(1).max(128)
120689
121455
  });
120690
- var zeroCustomConnectorsContract = c45.router({
121456
+ var zeroCustomConnectorsContract = c52.router({
120691
121457
  list: {
120692
121458
  method: "GET",
120693
121459
  path: "/api/zero/custom-connectors",
@@ -120714,14 +121480,14 @@ var zeroCustomConnectorsContract = c45.router({
120714
121480
  summary: "Create an org custom connector"
120715
121481
  }
120716
121482
  });
120717
- var zeroCustomConnectorByIdContract = c45.router({
121483
+ var zeroCustomConnectorByIdContract = c52.router({
120718
121484
  delete: {
120719
121485
  method: "DELETE",
120720
121486
  path: "/api/zero/custom-connectors/:id",
120721
121487
  headers: authHeadersSchema,
120722
121488
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120723
121489
  responses: {
120724
- 204: c45.noBody(),
121490
+ 204: c52.noBody(),
120725
121491
  401: apiErrorSchema,
120726
121492
  403: apiErrorSchema,
120727
121493
  404: apiErrorSchema,
@@ -120746,7 +121512,7 @@ var zeroCustomConnectorByIdContract = c45.router({
120746
121512
  summary: "Rename an org custom connector"
120747
121513
  }
120748
121514
  });
120749
- var zeroCustomConnectorSecretContract = c45.router({
121515
+ var zeroCustomConnectorSecretContract = c52.router({
120750
121516
  set: {
120751
121517
  method: "PUT",
120752
121518
  path: "/api/zero/custom-connectors/:id/secret",
@@ -120754,7 +121520,7 @@ var zeroCustomConnectorSecretContract = c45.router({
120754
121520
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120755
121521
  body: setCustomConnectorSecretBodySchema,
120756
121522
  responses: {
120757
- 204: c45.noBody(),
121523
+ 204: c52.noBody(),
120758
121524
  400: apiErrorSchema,
120759
121525
  401: apiErrorSchema,
120760
121526
  404: apiErrorSchema,
@@ -120768,7 +121534,7 @@ var zeroCustomConnectorSecretContract = c45.router({
120768
121534
  headers: authHeadersSchema,
120769
121535
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120770
121536
  responses: {
120771
- 204: c45.noBody(),
121537
+ 204: c52.noBody(),
120772
121538
  401: apiErrorSchema,
120773
121539
  404: apiErrorSchema,
120774
121540
  500: apiErrorSchema
@@ -120779,11 +121545,11 @@ var zeroCustomConnectorSecretContract = c45.router({
120779
121545
 
120780
121546
  // ../../packages/api-contracts/src/contracts/zero-agent-custom-connectors.ts
120781
121547
  init_esm_shims();
120782
- var c46 = initContract();
121548
+ var c53 = initContract();
120783
121549
  var agentCustomConnectorEnabledIdsSchema = external_exports.object({
120784
121550
  enabledIds: external_exports.array(external_exports.string().uuid())
120785
121551
  });
120786
- var zeroAgentCustomConnectorsContract = c46.router({
121552
+ var zeroAgentCustomConnectorsContract = c53.router({
120787
121553
  get: {
120788
121554
  method: "GET",
120789
121555
  path: "/api/zero/agents/:id/custom-connectors",
@@ -120814,9 +121580,106 @@ var zeroAgentCustomConnectorsContract = c46.router({
120814
121580
  }
120815
121581
  });
120816
121582
 
121583
+ // ../../packages/api-contracts/src/contracts/integrations-github.ts
121584
+ init_esm_shims();
121585
+ var c54 = initContract();
121586
+ var githubInstallationEnvironmentSchema = external_exports.object({
121587
+ requiredSecrets: external_exports.array(external_exports.string()),
121588
+ requiredVars: external_exports.array(external_exports.string()),
121589
+ missingSecrets: external_exports.array(external_exports.string()),
121590
+ missingVars: external_exports.array(external_exports.string())
121591
+ });
121592
+ var githubInstallationResponseSchema = external_exports.object({
121593
+ installation: external_exports.object({
121594
+ id: external_exports.string(),
121595
+ installationId: external_exports.string().nullable(),
121596
+ status: external_exports.string(),
121597
+ targetName: external_exports.string().nullable(),
121598
+ targetType: external_exports.string().nullable(),
121599
+ isAdmin: external_exports.boolean()
121600
+ }),
121601
+ agent: external_exports.object({
121602
+ id: external_exports.string(),
121603
+ name: external_exports.string()
121604
+ }).nullable(),
121605
+ environment: githubInstallationEnvironmentSchema
121606
+ });
121607
+ var githubInstallationNotFoundResponseSchema = apiErrorSchema.extend({
121608
+ installUrl: external_exports.string().nullable()
121609
+ });
121610
+ var deleteGithubInstallationResponseSchema = external_exports.object({
121611
+ ok: external_exports.literal(true)
121612
+ });
121613
+ var integrationsGithubContract = c54.router({
121614
+ getInstallation: {
121615
+ method: "GET",
121616
+ path: "/api/integrations/github",
121617
+ headers: authHeadersSchema,
121618
+ responses: {
121619
+ 200: githubInstallationResponseSchema,
121620
+ 400: apiErrorSchema,
121621
+ 401: apiErrorSchema,
121622
+ 404: githubInstallationNotFoundResponseSchema,
121623
+ 500: apiErrorSchema
121624
+ },
121625
+ summary: "Get the authenticated user's GitHub App installation"
121626
+ },
121627
+ deleteInstallation: {
121628
+ method: "DELETE",
121629
+ path: "/api/integrations/github",
121630
+ headers: authHeadersSchema,
121631
+ body: c54.noBody(),
121632
+ responses: {
121633
+ 200: deleteGithubInstallationResponseSchema,
121634
+ 401: apiErrorSchema,
121635
+ 403: apiErrorSchema,
121636
+ 404: apiErrorSchema,
121637
+ 500: apiErrorSchema
121638
+ },
121639
+ summary: "Uninstall the authenticated user's GitHub App installation"
121640
+ }
121641
+ });
121642
+
121643
+ // ../../packages/api-contracts/src/contracts/github-oauth.ts
121644
+ init_esm_shims();
121645
+ var c55 = initContract();
121646
+ var jsonErrorSchema = external_exports.object({ error: external_exports.string() });
121647
+ var githubOauthInstallQuerySchema = external_exports.object({
121648
+ vm0UserId: external_exports.string().optional(),
121649
+ composeId: external_exports.string().optional()
121650
+ });
121651
+ var githubOauthCallbackQuerySchema = external_exports.object({
121652
+ installation_id: external_exports.string().optional(),
121653
+ setup_action: external_exports.string().optional(),
121654
+ state: external_exports.string().optional(),
121655
+ target_id: external_exports.string().optional(),
121656
+ target_type: external_exports.string().optional()
121657
+ });
121658
+ var githubOauthContract = c55.router({
121659
+ install: {
121660
+ method: "GET",
121661
+ path: "/api/github/oauth/install",
121662
+ query: githubOauthInstallQuerySchema,
121663
+ responses: {
121664
+ 307: c55.noBody(),
121665
+ 503: jsonErrorSchema
121666
+ },
121667
+ summary: "Start GitHub App OAuth install"
121668
+ },
121669
+ callback: {
121670
+ method: "GET",
121671
+ path: "/api/github/oauth/callback",
121672
+ query: githubOauthCallbackQuerySchema,
121673
+ responses: {
121674
+ 307: c55.noBody()
121675
+ },
121676
+ summary: "Handle GitHub App OAuth callback"
121677
+ }
121678
+ });
121679
+
120817
121680
  // ../../packages/api-contracts/src/contracts/zero-billing.ts
120818
121681
  init_esm_shims();
120819
- var c47 = initContract();
121682
+ var c56 = initContract();
120820
121683
  var autoRechargeSchema = external_exports.object({
120821
121684
  enabled: external_exports.boolean(),
120822
121685
  threshold: external_exports.number().nullable(),
@@ -120904,7 +121767,7 @@ var redeemRequestSchema = external_exports.object({
120904
121767
  successUrl: external_exports.string().url(),
120905
121768
  cancelUrl: external_exports.string().url()
120906
121769
  });
120907
- var zeroBillingStatusContract = c47.router({
121770
+ var zeroBillingStatusContract = c56.router({
120908
121771
  get: {
120909
121772
  method: "GET",
120910
121773
  path: "/api/zero/billing/status",
@@ -120917,7 +121780,7 @@ var zeroBillingStatusContract = c47.router({
120917
121780
  summary: "Get billing status for current org"
120918
121781
  }
120919
121782
  });
120920
- var zeroBillingCheckoutContract = c47.router({
121783
+ var zeroBillingCheckoutContract = c56.router({
120921
121784
  create: {
120922
121785
  method: "POST",
120923
121786
  path: "/api/zero/billing/checkout",
@@ -120934,7 +121797,7 @@ var zeroBillingCheckoutContract = c47.router({
120934
121797
  summary: "Create Stripe checkout session"
120935
121798
  }
120936
121799
  });
120937
- var zeroBillingPortalContract = c47.router({
121800
+ var zeroBillingPortalContract = c56.router({
120938
121801
  create: {
120939
121802
  method: "POST",
120940
121803
  path: "/api/zero/billing/portal",
@@ -120951,7 +121814,7 @@ var zeroBillingPortalContract = c47.router({
120951
121814
  summary: "Create Stripe billing portal session"
120952
121815
  }
120953
121816
  });
120954
- var zeroBillingAutoRechargeContract = c47.router({
121817
+ var zeroBillingAutoRechargeContract = c56.router({
120955
121818
  get: {
120956
121819
  method: "GET",
120957
121820
  path: "/api/zero/billing/auto-recharge",
@@ -120989,7 +121852,7 @@ var invoiceSchema = external_exports.object({
120989
121852
  var billingInvoicesResponseSchema = external_exports.object({
120990
121853
  invoices: external_exports.array(invoiceSchema)
120991
121854
  });
120992
- var zeroBillingInvoicesContract = c47.router({
121855
+ var zeroBillingInvoicesContract = c56.router({
120993
121856
  get: {
120994
121857
  method: "GET",
120995
121858
  path: "/api/zero/billing/invoices",
@@ -121010,7 +121873,7 @@ var downgradeResponseSchema = external_exports.object({
121010
121873
  success: external_exports.boolean(),
121011
121874
  effectiveDate: external_exports.string().nullable()
121012
121875
  });
121013
- var zeroBillingDowngradeContract = c47.router({
121876
+ var zeroBillingDowngradeContract = c56.router({
121014
121877
  create: {
121015
121878
  method: "POST",
121016
121879
  path: "/api/zero/billing/downgrade",
@@ -121028,7 +121891,7 @@ var zeroBillingDowngradeContract = c47.router({
121028
121891
  summary: "Downgrade subscription to a lower tier"
121029
121892
  }
121030
121893
  });
121031
- var zeroBillingRedeemContract = c47.router({
121894
+ var zeroBillingRedeemContract = c56.router({
121032
121895
  create: {
121033
121896
  method: "POST",
121034
121897
  path: "/api/zero/billing/redeem/:campaign",
@@ -121049,7 +121912,7 @@ var zeroBillingRedeemContract = c47.router({
121049
121912
 
121050
121913
  // ../../packages/api-contracts/src/contracts/zero-usage.ts
121051
121914
  init_esm_shims();
121052
- var c48 = initContract();
121915
+ var c57 = initContract();
121053
121916
  var memberUsageSchema = external_exports.object({
121054
121917
  userId: external_exports.string(),
121055
121918
  email: external_exports.string(),
@@ -121067,7 +121930,7 @@ var usageMembersResponseSchema = external_exports.object({
121067
121930
  }).nullable(),
121068
121931
  members: external_exports.array(memberUsageSchema)
121069
121932
  });
121070
- var zeroUsageMembersContract = c48.router({
121933
+ var zeroUsageMembersContract = c57.router({
121071
121934
  get: {
121072
121935
  method: "GET",
121073
121936
  path: "/api/zero/usage/members",
@@ -121083,7 +121946,7 @@ var zeroUsageMembersContract = c48.router({
121083
121946
 
121084
121947
  // ../../packages/api-contracts/src/contracts/zero-usage-daily.ts
121085
121948
  init_esm_shims();
121086
- var c49 = initContract();
121949
+ var c58 = initContract();
121087
121950
  var usageRunSchema = external_exports.object({
121088
121951
  runId: external_exports.string(),
121089
121952
  agentName: external_exports.string().nullable(),
@@ -121110,7 +121973,7 @@ var usageRunsResponseSchema = external_exports.object({
121110
121973
  total: external_exports.number()
121111
121974
  })
121112
121975
  });
121113
- var zeroUsageRunsContract = c49.router({
121976
+ var zeroUsageRunsContract = c58.router({
121114
121977
  get: {
121115
121978
  method: "GET",
121116
121979
  path: "/api/zero/usage/runs",
@@ -121136,7 +121999,7 @@ var zeroUsageRunsContract = c49.router({
121136
121999
 
121137
122000
  // ../../packages/api-contracts/src/contracts/zero-usage-insight.ts
121138
122001
  init_esm_shims();
121139
- var c50 = initContract();
122002
+ var c59 = initContract();
121140
122003
  var usageInsightBucketSchema = external_exports.object({
121141
122004
  ts: external_exports.string(),
121142
122005
  // ISO string for the bucket start
@@ -121173,7 +122036,7 @@ var usageInsightResponseSchema = external_exports.object({
121173
122036
  grandTotalCredits: external_exports.number(),
121174
122037
  grandTotalTokens: external_exports.number()
121175
122038
  });
121176
- var zeroUsageInsightContract = c50.router({
122039
+ var zeroUsageInsightContract = c59.router({
121177
122040
  get: {
121178
122041
  method: "GET",
121179
122042
  path: "/api/zero/usage/insight",
@@ -121196,7 +122059,7 @@ var zeroUsageInsightContract = c50.router({
121196
122059
 
121197
122060
  // ../../packages/api-contracts/src/contracts/usage.ts
121198
122061
  init_esm_shims();
121199
- var c51 = initContract();
122062
+ var c60 = initContract();
121200
122063
  var dailyUsageSchema = external_exports.object({
121201
122064
  date: external_exports.string(),
121202
122065
  run_count: external_exports.number(),
@@ -121213,7 +122076,7 @@ var usageResponseSchema = external_exports.object({
121213
122076
  }),
121214
122077
  daily: external_exports.array(dailyUsageSchema)
121215
122078
  });
121216
- var usageContract = c51.router({
122079
+ var usageContract = c60.router({
121217
122080
  get: {
121218
122081
  method: "GET",
121219
122082
  path: "/api/usage",
@@ -121234,7 +122097,7 @@ var usageContract = c51.router({
121234
122097
 
121235
122098
  // ../../packages/api-contracts/src/contracts/zero-team.ts
121236
122099
  init_esm_shims();
121237
- var c52 = initContract();
122100
+ var c61 = initContract();
121238
122101
  var teamComposeItemSchema = external_exports.object({
121239
122102
  id: external_exports.string(),
121240
122103
  ownerId: external_exports.string().optional(),
@@ -121246,7 +122109,7 @@ var teamComposeItemSchema = external_exports.object({
121246
122109
  headVersionId: external_exports.string().nullable(),
121247
122110
  updatedAt: external_exports.string()
121248
122111
  });
121249
- var zeroTeamContract = c52.router({
122112
+ var zeroTeamContract = c61.router({
121250
122113
  list: {
121251
122114
  method: "GET",
121252
122115
  path: "/api/zero/team",
@@ -121263,7 +122126,7 @@ var zeroTeamContract = c52.router({
121263
122126
 
121264
122127
  // ../../packages/api-contracts/src/contracts/zero-integrations-slack.ts
121265
122128
  init_esm_shims();
121266
- var c53 = initContract();
122129
+ var c62 = initContract();
121267
122130
  var slackEnvironmentSchema = external_exports.object({
121268
122131
  requiredSecrets: external_exports.array(external_exports.string()),
121269
122132
  requiredVars: external_exports.array(external_exports.string()),
@@ -121285,7 +122148,7 @@ var slackOrgStatusSchema = external_exports.object({
121285
122148
  /** OAuth install URL for re-authorization (admin-only, when scopeMismatch). */
121286
122149
  reinstallUrl: external_exports.string().nullable().optional()
121287
122150
  });
121288
- var zeroIntegrationsSlackContract = c53.router({
122151
+ var zeroIntegrationsSlackContract = c62.router({
121289
122152
  getStatus: {
121290
122153
  method: "GET",
121291
122154
  path: "/api/zero/integrations/slack",
@@ -121300,7 +122163,7 @@ var zeroIntegrationsSlackContract = c53.router({
121300
122163
  method: "DELETE",
121301
122164
  path: "/api/zero/integrations/slack",
121302
122165
  headers: authHeadersSchema,
121303
- body: c53.noBody(),
122166
+ body: c62.noBody(),
121304
122167
  query: external_exports.object({
121305
122168
  action: external_exports.string().optional()
121306
122169
  }),
@@ -121316,7 +122179,7 @@ var zeroIntegrationsSlackContract = c53.router({
121316
122179
 
121317
122180
  // ../../packages/api-contracts/src/contracts/zero-slack-connect.ts
121318
122181
  init_esm_shims();
121319
- var c54 = initContract();
122182
+ var c63 = initContract();
121320
122183
  var slackConnectStatusSchema = external_exports.object({
121321
122184
  isConnected: external_exports.boolean(),
121322
122185
  isAdmin: external_exports.boolean(),
@@ -121328,7 +122191,7 @@ var slackConnectResponseSchema = external_exports.object({
121328
122191
  connectionId: external_exports.string(),
121329
122192
  role: external_exports.string()
121330
122193
  });
121331
- var zeroSlackConnectContract = c54.router({
122194
+ var zeroSlackConnectContract = c63.router({
121332
122195
  getStatus: {
121333
122196
  method: "GET",
121334
122197
  path: "/api/zero/integrations/slack/connect",
@@ -121360,14 +122223,93 @@ var zeroSlackConnectContract = c54.router({
121360
122223
  }
121361
122224
  });
121362
122225
 
122226
+ // ../../packages/api-contracts/src/contracts/zero-slack-browser-connect.ts
122227
+ init_esm_shims();
122228
+ var c64 = initContract();
122229
+ var zeroSlackBrowserConnectQuerySchema = external_exports.object({
122230
+ w: external_exports.string().optional(),
122231
+ u: external_exports.string().optional(),
122232
+ c: external_exports.string().optional(),
122233
+ t: external_exports.string().optional(),
122234
+ orgId: external_exports.string().optional()
122235
+ });
122236
+ var zeroSlackBrowserConnectContract = c64.router({
122237
+ connect: {
122238
+ method: "GET",
122239
+ path: "/api/zero/slack/connect",
122240
+ query: zeroSlackBrowserConnectQuerySchema,
122241
+ responses: {
122242
+ 307: c64.noBody(),
122243
+ 500: external_exports.object({ error: external_exports.string() })
122244
+ },
122245
+ summary: "Browser Slack connect flow"
122246
+ }
122247
+ });
122248
+
122249
+ // ../../packages/api-contracts/src/contracts/zero-slack-oauth.ts
122250
+ init_esm_shims();
122251
+ var c65 = initContract();
122252
+ var jsonErrorSchema2 = external_exports.object({ error: external_exports.string() });
122253
+ var zeroSlackOauthInstallQuerySchema = external_exports.object({
122254
+ orgId: external_exports.string().optional(),
122255
+ vm0UserId: external_exports.string().optional(),
122256
+ reinstall: external_exports.string().optional(),
122257
+ prompt: external_exports.string().optional()
122258
+ });
122259
+ var zeroSlackOauthConnectQuerySchema = external_exports.object({
122260
+ orgId: external_exports.string().optional(),
122261
+ vm0UserId: external_exports.string().optional(),
122262
+ prompt: external_exports.string().optional()
122263
+ });
122264
+ var zeroSlackOauthCallbackQuerySchema = external_exports.object({
122265
+ code: external_exports.string().optional(),
122266
+ error: external_exports.string().optional(),
122267
+ state: external_exports.string().optional()
122268
+ });
122269
+ var zeroSlackOauthContract = c65.router({
122270
+ install: {
122271
+ method: "GET",
122272
+ path: "/api/zero/slack/oauth/install",
122273
+ query: zeroSlackOauthInstallQuerySchema,
122274
+ responses: {
122275
+ 307: c65.noBody(),
122276
+ 503: jsonErrorSchema2
122277
+ },
122278
+ summary: "Start Slack bot OAuth install"
122279
+ },
122280
+ connect: {
122281
+ method: "GET",
122282
+ path: "/api/zero/slack/oauth/connect",
122283
+ query: zeroSlackOauthConnectQuerySchema,
122284
+ responses: {
122285
+ 307: c65.noBody(),
122286
+ 400: jsonErrorSchema2,
122287
+ 404: jsonErrorSchema2,
122288
+ 503: jsonErrorSchema2
122289
+ },
122290
+ summary: "Start Slack user OAuth connect"
122291
+ },
122292
+ callback: {
122293
+ method: "GET",
122294
+ path: "/api/zero/slack/oauth/callback",
122295
+ query: zeroSlackOauthCallbackQuerySchema,
122296
+ responses: {
122297
+ 307: c65.noBody(),
122298
+ 400: jsonErrorSchema2,
122299
+ 503: jsonErrorSchema2
122300
+ },
122301
+ summary: "Handle Slack OAuth callback"
122302
+ }
122303
+ });
122304
+
121363
122305
  // ../../packages/api-contracts/src/contracts/zero-slack-channels.ts
121364
122306
  init_esm_shims();
121365
- var c55 = initContract();
122307
+ var c66 = initContract();
121366
122308
  var slackChannelSchema = external_exports.object({
121367
122309
  id: external_exports.string(),
121368
122310
  name: external_exports.string()
121369
122311
  });
121370
- var zeroSlackChannelsContract = c55.router({
122312
+ var zeroSlackChannelsContract = c66.router({
121371
122313
  list: {
121372
122314
  method: "GET",
121373
122315
  path: "/api/zero/slack/channels",
@@ -121383,12 +122325,12 @@ var zeroSlackChannelsContract = c55.router({
121383
122325
 
121384
122326
  // ../../packages/api-contracts/src/contracts/zero-queue-position.ts
121385
122327
  init_esm_shims();
121386
- var c56 = initContract();
122328
+ var c67 = initContract();
121387
122329
  var queuePositionResponseSchema = external_exports.object({
121388
122330
  position: external_exports.number(),
121389
122331
  total: external_exports.number()
121390
122332
  });
121391
- var zeroQueuePositionContract = c56.router({
122333
+ var zeroQueuePositionContract = c67.router({
121392
122334
  getPosition: {
121393
122335
  method: "GET",
121394
122336
  path: "/api/zero/queue-position",
@@ -121408,13 +122350,13 @@ var zeroQueuePositionContract = c56.router({
121408
122350
 
121409
122351
  // ../../packages/api-contracts/src/contracts/zero-member-credit-cap.ts
121410
122352
  init_esm_shims();
121411
- var c57 = initContract();
122353
+ var c68 = initContract();
121412
122354
  var memberCreditCapResponseSchema = external_exports.object({
121413
122355
  userId: external_exports.string(),
121414
122356
  creditCap: external_exports.number().nullable(),
121415
122357
  creditEnabled: external_exports.boolean()
121416
122358
  });
121417
- var zeroMemberCreditCapContract = c57.router({
122359
+ var zeroMemberCreditCapContract = c68.router({
121418
122360
  get: {
121419
122361
  method: "GET",
121420
122362
  path: "/api/zero/org/members/credit-cap",
@@ -121449,7 +122391,7 @@ var zeroMemberCreditCapContract = c57.router({
121449
122391
 
121450
122392
  // ../../packages/api-contracts/src/contracts/zero-report-error.ts
121451
122393
  init_esm_shims();
121452
- var c58 = initContract();
122394
+ var c69 = initContract();
121453
122395
  var reportErrorBodySchema = external_exports.object({
121454
122396
  runId: external_exports.uuid("Run ID must be a valid UUID"),
121455
122397
  title: external_exports.string().min(1, "Title is required"),
@@ -121458,7 +122400,7 @@ var reportErrorBodySchema = external_exports.object({
121458
122400
  var reportErrorResponseSchema = external_exports.object({
121459
122401
  reference: external_exports.string()
121460
122402
  });
121461
- var zeroReportErrorContract = c58.router({
122403
+ var zeroReportErrorContract = c69.router({
121462
122404
  submit: {
121463
122405
  method: "POST",
121464
122406
  path: "/api/zero/report-error",
@@ -121468,7 +122410,8 @@ var zeroReportErrorContract = c58.router({
121468
122410
  200: reportErrorResponseSchema,
121469
122411
  400: apiErrorSchema,
121470
122412
  401: apiErrorSchema,
121471
- 403: apiErrorSchema
122413
+ 403: apiErrorSchema,
122414
+ 500: apiErrorSchema
121472
122415
  },
121473
122416
  summary: "Submit error report for a failed run"
121474
122417
  }
@@ -121476,7 +122419,7 @@ var zeroReportErrorContract = c58.router({
121476
122419
 
121477
122420
  // ../../packages/api-contracts/src/contracts/zero-insights.ts
121478
122421
  init_esm_shims();
121479
- var c59 = initContract();
122422
+ var c70 = initContract();
121480
122423
  var insightAgentSchema = external_exports.object({
121481
122424
  agentName: external_exports.string(),
121482
122425
  agentId: external_exports.string().nullable(),
@@ -121541,7 +122484,7 @@ var insightsRangeResponseSchema = external_exports.object({
121541
122484
  maxDate: external_exports.string().nullable(),
121542
122485
  totalDays: external_exports.number()
121543
122486
  });
121544
- var zeroInsightsContract = c59.router({
122487
+ var zeroInsightsContract = c70.router({
121545
122488
  get: {
121546
122489
  method: "GET",
121547
122490
  path: "/api/zero/insights",
@@ -121556,7 +122499,7 @@ var zeroInsightsContract = c59.router({
121556
122499
  summary: "Get daily insights for the authenticated org"
121557
122500
  }
121558
122501
  });
121559
- var zeroInsightsRangeContract = c59.router({
122502
+ var zeroInsightsRangeContract = c70.router({
121560
122503
  get: {
121561
122504
  method: "GET",
121562
122505
  path: "/api/zero/insights/range",
@@ -121571,8 +122514,8 @@ var zeroInsightsRangeContract = c59.router({
121571
122514
 
121572
122515
  // ../../packages/api-contracts/src/contracts/push-subscriptions.ts
121573
122516
  init_esm_shims();
121574
- var c60 = initContract();
121575
- var pushSubscriptionsContract = c60.router({
122517
+ var c71 = initContract();
122518
+ var pushSubscriptionsContract = c71.router({
121576
122519
  register: {
121577
122520
  method: "POST",
121578
122521
  path: "/api/zero/push-subscriptions",
@@ -121596,13 +122539,13 @@ var pushSubscriptionsContract = c60.router({
121596
122539
 
121597
122540
  // ../../packages/api-contracts/src/contracts/zero-voice-io-quota.ts
121598
122541
  init_esm_shims();
121599
- var c61 = initContract();
122542
+ var c72 = initContract();
121600
122543
  var audioInputQuotaResponseSchema = external_exports.object({
121601
122544
  allowed: external_exports.boolean(),
121602
122545
  count: external_exports.number().int().nonnegative(),
121603
122546
  limit: external_exports.number().int().positive().nullable()
121604
122547
  });
121605
- var zeroVoiceIoQuotaContract = c61.router({
122548
+ var zeroVoiceIoQuotaContract = c72.router({
121606
122549
  get: {
121607
122550
  method: "GET",
121608
122551
  path: "/api/zero/voice-io/quota",
@@ -121616,9 +122559,106 @@ var zeroVoiceIoQuotaContract = c61.router({
121616
122559
  }
121617
122560
  });
121618
122561
 
122562
+ // ../../packages/api-contracts/src/contracts/zero-voice-io-speech.ts
122563
+ init_esm_shims();
122564
+ var c73 = initContract();
122565
+ var zeroVoiceIoSpeechRequestSchema = external_exports.object({
122566
+ text: external_exports.unknown().optional(),
122567
+ voice: external_exports.unknown().optional(),
122568
+ instructions: external_exports.unknown().optional()
122569
+ }).passthrough();
122570
+ var zeroVoiceIoSpeechResponseSchema = external_exports.object({
122571
+ id: external_exports.string(),
122572
+ filename: external_exports.string(),
122573
+ contentType: external_exports.string(),
122574
+ size: external_exports.number(),
122575
+ url: external_exports.string(),
122576
+ durationSeconds: external_exports.number(),
122577
+ creditsCharged: external_exports.number(),
122578
+ model: external_exports.string(),
122579
+ voice: external_exports.string()
122580
+ });
122581
+ var zeroVoiceIoSpeechContract = c73.router({
122582
+ post: {
122583
+ method: "POST",
122584
+ path: "/api/zero/voice-io/speech",
122585
+ headers: authHeadersSchema,
122586
+ body: zeroVoiceIoSpeechRequestSchema,
122587
+ responses: {
122588
+ 200: zeroVoiceIoSpeechResponseSchema,
122589
+ 400: apiErrorSchema,
122590
+ 401: apiErrorSchema,
122591
+ 402: apiErrorSchema,
122592
+ 403: apiErrorSchema,
122593
+ 500: apiErrorSchema,
122594
+ 502: apiErrorSchema,
122595
+ 503: apiErrorSchema
122596
+ },
122597
+ summary: "Generate and persist WAV speech audio"
122598
+ }
122599
+ });
122600
+
122601
+ // ../../packages/api-contracts/src/contracts/zero-voice-io-stt.ts
122602
+ init_esm_shims();
122603
+ var c74 = initContract();
122604
+ var zeroVoiceIoSttResponseSchema = external_exports.object({
122605
+ text: external_exports.string()
122606
+ });
122607
+ var zeroVoiceIoSttQuotaErrorSchema = apiErrorSchema.extend({
122608
+ quota: external_exports.object({
122609
+ count: external_exports.number(),
122610
+ limit: external_exports.number().nullable()
122611
+ }).optional()
122612
+ });
122613
+ var zeroVoiceIoSttContract = c74.router({
122614
+ post: {
122615
+ method: "POST",
122616
+ path: "/api/zero/voice-io/stt",
122617
+ headers: authHeadersSchema,
122618
+ contentType: "multipart/form-data",
122619
+ body: c74.type(),
122620
+ responses: {
122621
+ 200: zeroVoiceIoSttResponseSchema,
122622
+ 400: apiErrorSchema,
122623
+ 401: apiErrorSchema,
122624
+ 402: zeroVoiceIoSttQuotaErrorSchema,
122625
+ 403: apiErrorSchema,
122626
+ 429: zeroVoiceIoSttQuotaErrorSchema,
122627
+ 500: apiErrorSchema
122628
+ },
122629
+ summary: "Transcribe audio input"
122630
+ }
122631
+ });
122632
+
122633
+ // ../../packages/api-contracts/src/contracts/zero-voice-io-tts.ts
122634
+ init_esm_shims();
122635
+ var c75 = initContract();
122636
+ var zeroVoiceIoTtsRequestSchema = external_exports.object({
122637
+ text: external_exports.unknown().optional()
122638
+ }).passthrough();
122639
+ var zeroVoiceIoTtsContract = c75.router({
122640
+ post: {
122641
+ method: "POST",
122642
+ path: "/api/zero/voice-io/tts",
122643
+ headers: authHeadersSchema,
122644
+ body: zeroVoiceIoTtsRequestSchema,
122645
+ responses: {
122646
+ 200: c75.otherResponse({
122647
+ contentType: "application/octet-stream",
122648
+ body: external_exports.unknown()
122649
+ }),
122650
+ 400: apiErrorSchema,
122651
+ 401: apiErrorSchema,
122652
+ 403: apiErrorSchema,
122653
+ 500: apiErrorSchema
122654
+ },
122655
+ summary: "Generate PCM text-to-speech audio"
122656
+ }
122657
+ });
122658
+
121619
122659
  // ../../packages/api-contracts/src/contracts/zero-voice-chat.ts
121620
122660
  init_esm_shims();
121621
- var c62 = initContract();
122661
+ var c76 = initContract();
121622
122662
  var voiceChatItemRoleSchema = external_exports.enum([
121623
122663
  "user",
121624
122664
  "assistant",
@@ -121715,7 +122755,7 @@ var sessionEndedBodySchema = external_exports.object({
121715
122755
  relaySessionId: external_exports.uuid()
121716
122756
  });
121717
122757
  var okResponseSchema = external_exports.object({ ok: external_exports.literal(true) });
121718
- var zeroVoiceChatContract = c62.router({
122758
+ var zeroVoiceChatContract = c76.router({
121719
122759
  createSession: {
121720
122760
  method: "POST",
121721
122761
  path: "/api/zero/voice-chat",
@@ -121887,7 +122927,7 @@ var zeroVoiceChatContract = c62.router({
121887
122927
 
121888
122928
  // ../../packages/api-contracts/src/contracts/zero-uploads.ts
121889
122929
  init_esm_shims();
121890
- var c63 = initContract();
122930
+ var c77 = initContract();
121891
122931
  var prepareRequestSchema = external_exports.object({
121892
122932
  filename: external_exports.string().min(1).max(255),
121893
122933
  contentType: external_exports.string().min(1).max(200),
@@ -121914,7 +122954,7 @@ var completeResponseSchema = external_exports.object({
121914
122954
  size: external_exports.number(),
121915
122955
  url: external_exports.string().url()
121916
122956
  });
121917
- var zeroUploadsContract = c63.router({
122957
+ var zeroUploadsContract = c77.router({
121918
122958
  prepare: {
121919
122959
  method: "POST",
121920
122960
  path: "/api/zero/uploads/prepare",
@@ -121948,7 +122988,7 @@ var zeroUploadsContract = c63.router({
121948
122988
 
121949
122989
  // ../../packages/api-contracts/src/contracts/zero-integrations-telegram.ts
121950
122990
  init_esm_shims();
121951
- var c64 = initContract();
122991
+ var c78 = initContract();
121952
122992
  var telegramEnvironmentSchema = external_exports.object({
121953
122993
  requiredSecrets: external_exports.array(external_exports.string()),
121954
122994
  requiredVars: external_exports.array(external_exports.string()),
@@ -122038,7 +123078,7 @@ var telegramSetupStatusSchema = external_exports.object({
122038
123078
  domainConfigured: external_exports.boolean(),
122039
123079
  privacyDisabled: external_exports.boolean()
122040
123080
  });
122041
- var zeroIntegrationsTelegramContract = c64.router({
123081
+ var zeroIntegrationsTelegramContract = c78.router({
122042
123082
  list: {
122043
123083
  method: "GET",
122044
123084
  path: "/api/integrations/telegram",
@@ -122081,9 +123121,9 @@ var zeroIntegrationsTelegramContract = c64.router({
122081
123121
  path: "/api/integrations/telegram/:botId",
122082
123122
  headers: authHeadersSchema,
122083
123123
  pathParams: external_exports.object({ botId: external_exports.string().min(1) }),
122084
- body: c64.noBody(),
123124
+ body: c78.noBody(),
122085
123125
  responses: {
122086
- 204: c64.noBody(),
123126
+ 204: c78.noBody(),
122087
123127
  401: apiErrorSchema,
122088
123128
  403: apiErrorSchema,
122089
123129
  404: apiErrorSchema
@@ -122094,10 +123134,10 @@ var zeroIntegrationsTelegramContract = c64.router({
122094
123134
  method: "DELETE",
122095
123135
  path: "/api/integrations/telegram/link",
122096
123136
  headers: authHeadersSchema,
122097
- body: c64.noBody(),
123137
+ body: c78.noBody(),
122098
123138
  query: external_exports.object({ botId: external_exports.string().optional() }),
122099
123139
  responses: {
122100
- 204: c64.noBody(),
123140
+ 204: c78.noBody(),
122101
123141
  401: apiErrorSchema,
122102
123142
  404: apiErrorSchema
122103
123143
  },
@@ -122113,10 +123153,43 @@ var zeroIntegrationsTelegramContract = c64.router({
122113
123153
  }),
122114
123154
  responses: {
122115
123155
  200: telegramLinkStatusResponseSchema,
122116
- 401: apiErrorSchema
123156
+ 401: apiErrorSchema,
123157
+ 403: apiErrorSchema
122117
123158
  },
122118
123159
  summary: "Check if the authenticated user is linked to a Telegram bot"
122119
123160
  },
123161
+ avatar: {
123162
+ method: "GET",
123163
+ path: "/api/integrations/telegram/:botId/avatar",
123164
+ headers: authHeadersSchema,
123165
+ pathParams: external_exports.object({ botId: external_exports.string().min(1) }),
123166
+ query: external_exports.object({
123167
+ exp: external_exports.string().optional(),
123168
+ sig: external_exports.string().optional()
123169
+ }),
123170
+ responses: {
123171
+ 200: c78.otherResponse({
123172
+ contentType: "application/octet-stream",
123173
+ body: external_exports.unknown()
123174
+ }),
123175
+ 401: apiErrorSchema,
123176
+ 404: apiErrorSchema,
123177
+ 413: apiErrorSchema,
123178
+ 502: apiErrorSchema
123179
+ },
123180
+ summary: "Proxy a Telegram bot avatar"
123181
+ },
123182
+ authCallback: {
123183
+ method: "GET",
123184
+ path: "/api/integrations/telegram/auth-callback",
123185
+ responses: {
123186
+ 200: c78.otherResponse({
123187
+ contentType: "text/html",
123188
+ body: external_exports.unknown()
123189
+ })
123190
+ },
123191
+ summary: "Return the Telegram auth callback bridge page"
123192
+ },
122120
123193
  link: {
122121
123194
  method: "POST",
122122
123195
  path: "/api/integrations/telegram/link",
@@ -122477,6 +123550,12 @@ var FEATURE_SWITCHES = {
122477
123550
  enabled: false,
122478
123551
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
122479
123552
  },
123553
+ ["docsSite" /* DocsSite */]: {
123554
+ maintainer: "linghan@vm0.ai",
123555
+ description: "Enable the authenticated Strapi-backed docs site routes, navigation entry, and docs pages. Staff-only during rollout; per-user toggle via Lab.",
123556
+ enabled: false,
123557
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
123558
+ },
122480
123559
  ["freshdeskConnector" /* FreshdeskConnector */]: {
122481
123560
  maintainer: "ethan@vm0.ai",
122482
123561
  description: "Enable the Freshdesk helpdesk connector",
@@ -122914,9 +123993,9 @@ var CodexEventParser = class {
122914
123993
  if (!item.changes || item.changes.length === 0) {
122915
123994
  return null;
122916
123995
  }
122917
- const changes = item.changes.map((c65) => {
122918
- const action = c65.kind === "add" ? "Created" : c65.kind === "modify" ? "Modified" : "Deleted";
122919
- return `${action}: ${c65.path}`;
123996
+ const changes = item.changes.map((c79) => {
123997
+ const action = c79.kind === "add" ? "Created" : c79.kind === "modify" ? "Modified" : "Deleted";
123998
+ return `${action}: ${c79.path}`;
122920
123999
  }).join("\n");
122921
124000
  return {
122922
124001
  type: "text",
@@ -122958,7 +124037,7 @@ init_esm_shims();
122958
124037
  function pluralize(count, singular, plural) {
122959
124038
  return count === 1 ? singular : plural;
122960
124039
  }
122961
- function truncate2(text, maxLength) {
124040
+ function truncate3(text, maxLength) {
122962
124041
  if (text.length <= maxLength) return text;
122963
124042
  return text.slice(0, maxLength - 3) + "...";
122964
124043
  }
@@ -122978,7 +124057,7 @@ var toolHeadlineFormatters = {
122978
124057
  return `Write${source_default.dim(`(${String(input.file_path || "")})`)}`;
122979
124058
  },
122980
124059
  Bash: (input) => {
122981
- return `Bash${source_default.dim(`(${truncate2(String(input.command || ""), 60)})`)}`;
124060
+ return `Bash${source_default.dim(`(${truncate3(String(input.command || ""), 60)})`)}`;
122982
124061
  },
122983
124062
  Glob: (input) => {
122984
124063
  return `Glob${source_default.dim(`(${String(input.pattern || "")})`)}`;
@@ -122987,13 +124066,13 @@ var toolHeadlineFormatters = {
122987
124066
  return `Grep${source_default.dim(`(${String(input.pattern || "")})`)}`;
122988
124067
  },
122989
124068
  Task: (input) => {
122990
- return `Task${source_default.dim(`(${truncate2(String(input.description || ""), 60)})`)}`;
124069
+ return `Task${source_default.dim(`(${truncate3(String(input.description || ""), 60)})`)}`;
122991
124070
  },
122992
124071
  WebFetch: (input) => {
122993
- return `WebFetch${source_default.dim(`(${truncate2(String(input.url || ""), 60)})`)}`;
124072
+ return `WebFetch${source_default.dim(`(${truncate3(String(input.url || ""), 60)})`)}`;
122994
124073
  },
122995
124074
  WebSearch: (input) => {
122996
- return `WebSearch${source_default.dim(`(${truncate2(String(input.query || ""), 60)})`)}`;
124075
+ return `WebSearch${source_default.dim(`(${truncate3(String(input.query || ""), 60)})`)}`;
122997
124076
  },
122998
124077
  TodoWrite: () => {
122999
124078
  return "TodoWrite";
@@ -123028,7 +124107,7 @@ function formatToolResult(toolUse, result, verbose) {
123028
124107
  return lines;
123029
124108
  }
123030
124109
  if (isError2) {
123031
- const errorMsg = resultText ? truncate2(resultText, 80) : "Error";
124110
+ const errorMsg = resultText ? truncate3(resultText, 80) : "Error";
123032
124111
  lines.push(`\u2514 \u2717 ${source_default.dim(errorMsg)}`);
123033
124112
  return lines;
123034
124113
  }
@@ -123143,7 +124222,7 @@ function formatEditDiff(input, verbose) {
123143
124222
  const showOld = Math.min(previewLimit, oldLines.length);
123144
124223
  const showNew = Math.min(previewLimit, newLines.length);
123145
124224
  for (let i = 0; i < showOld; i++) {
123146
- lines.push(` - ${source_default.dim(truncate2(oldLines[i] ?? "", 60))}`);
124225
+ lines.push(` - ${source_default.dim(truncate3(oldLines[i] ?? "", 60))}`);
123147
124226
  }
123148
124227
  const remainingOld = oldLines.length - previewLimit;
123149
124228
  if (remainingOld > 0) {
@@ -123152,7 +124231,7 @@ function formatEditDiff(input, verbose) {
123152
124231
  );
123153
124232
  }
123154
124233
  for (let i = 0; i < showNew; i++) {
123155
- lines.push(` + ${source_default.dim(truncate2(newLines[i] ?? "", 60))}`);
124234
+ lines.push(` + ${source_default.dim(truncate3(newLines[i] ?? "", 60))}`);
123156
124235
  }
123157
124236
  const remainingNew = newLines.length - previewLimit;
123158
124237
  if (remainingNew > 0) {
@@ -124029,4 +125108,4 @@ undici/lib/web/fetch/body.js:
124029
125108
  undici/lib/web/websocket/frame.js:
124030
125109
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
124031
125110
  */
124032
- //# sourceMappingURL=chunk-DQVPONJ6.js.map
125111
+ //# sourceMappingURL=chunk-43RGRAS4.js.map